Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

01. 

...

DATOS GENERALES

Linha Línea de Produtoproducto:Microsiga Protheus®
Segmento:Backoffice
Módulo:FinanceiroFinanciero
IdiomasPortuguêsPortugués - Español
FunçãoFunción:

FINA710 - Novo Gestor FinanceiroNuevo Administrador Financiero

02. 

...

DESCRIPCIÓN

O ponto El punto de entrada NGFPOSE1 permite substituir o posicionamento do título do programa padrão, na tabela de contas a receber sustituir el posicionamiento del título del programa estándar, en la tabla del cuentas por cobrar (SE1), que é realizada se realiza por medio del IDCNAB

Este ponto punto de entrada é chamado no momento da localização do título, após receber do API do banco o JSON com o campo correspondente ao IDCNABse activa en el momento de la localización del título, después de recibir del API del banco el archivo JSON con el campo correspondiente al IDCNAB.

Se activa en la ejecución del job FINA715 y también para el webhook.

Obs 1: Nesse En este momento não estamos com o ambiente na filial correta, somente abrimos a filial correta após encontrar o no estamos con el entorno en la sucursal correcta, solamente abrimos la sucursal correcta después de encontrar el título.

Obs 2: Para o programa padrão considerar que el programa estándar considere que este ponto punto de entrada encontrou o título é obrigatório utilizar a função encontró el título, es obligatorio utilizar la función DbSeek/MsSeek.

03. 

...

PARÁMETROS

NomeNombre

Tipo

DescriçãoDescripción

PARAMIXB[1]

CaractereCaracter

IDCNAB do boleto que o programa padrão pesquisaria no de la boleta que el programa estándar buscaría en el campo E1_IDCNAB, recebido através do recibido por medio del JSON de retorno do devolución del banco.

04. 

...

DEVOLUCIÓN

Este ponto punto de entrada não tem retorno. O programa padrão valida se foi posicionado registro SE1 com no tiene devolución. El programa estándar valida si se hubiera marcado correctamente el registro SE1 con DbSeek/MsSeekcorretamente.

05. 

...

EJEMPLO DE

...

UTILIZACIÓN

Bloco de código
languagevb
themeMidnight
firstline1
titleNGFEMBOL
linenumberstrue
#INCLUDE "PROTHEUS.CH"
#INCLUDE "TBICONN.CH"
 
/*/{Protheus.doc} NGFPOSE1
PontoPunto de entrada para sustitución substituiçãode dala pesquisabúsqueda dodel Título apor Recebercobrar para BaixaBaja Títulos (RetornoDevolución) FINA715.
  
paramixb[1]:
    cIdCnab          , Código que oel programa padrãoestándar iriabuscará procurar noen E1_IDCNAB casosi nãono tivessetuviera esseeste PE, exemplopor ejemplo: "NDC0085358"
 
 
@type       Function
@author     TOTVS
@since      25/05/2021
@return     Nil
/*/
User function NGFPOSE1()
 
     
    Local cIdCnab   := paramIXB[1]
    Local cQuery    := ""
    Local cAlias    := GetNextAlias()
 
 
    // AtençãoAtención - En Nesseeste momento nãono estamos comcon el oentorno ambienteen nala filialsucursal corretacorrecta, somentesolamente abrimos ala sucursal filialcorrecta corretadespués apósde encontrar oel título.
     
    cQuery := " SELECT R_E_C_N_O_ AS RECNO FROM " + RetSqlName("SE1")
    cQuery += " WHERE D_E_L_E_T_ = ' ' "
    cQuery += " AND E1_IDCNAB = '" + cIdCnab + "' "
 
    DbUseArea(.T., "TOPCONN", TCGenQry(,, cQuery), cAlias, .F., .T.)
 
    If (cAlias)->(!EOF())
 
        SE1->(DbGoTo((cAlias)->RECNO))
        /*
            AtençãoAtención
            Para que oel programa padrãoestándar considerarconsidere que oel PE encontrouencontró oel título, ées obrigatórioobligatorio utilizar ala funçãofunción DbSeek/MsSeek.
            CasoSi utilizeutiliza DbGoTo, DbSkip ouo qualquercualquier outraotra funçãofunción de manipulaçãomanejo, depoisdespués es éobligatoorio obrigatóriomarcar posicionaren noel título corretocorrecto comcon DbSeek/MsSeek.
            Utilizamos ala funçãofunción Found() para validar oel posicionamentoposicionamiento dade SE1.
        */
        DbSelectArea("SE1")
        SE1->(DbSetOrder(1)) // E1_FILIAL+E1_PREFIXO+E1_NUM+E1_PARCELA+E1_TIPO
        SE1->(DbSeek(SE1->E1_FILIAL+SE1->E1_PREFIXO+SE1->E1_NUM+SE1->E1_PARCELA+SE1->E1_TIPO)) 
 
    EndIf
 
    (cAlias)->(DbCloseArea())

    /*
        AtençãoAtención -> CasoSi despocisionedesmarca outrasotras tabelastablas, utilizarutilice RestArea() ponteiradopunteado solamente apenasen naslas tabelastablas desposicionadasdesmarcadas.
        ExemploEjemplo:
        aAreaSA6 := SA6->(GetArea())
            ...
        RestArea(aAreaSA6)

        *** NãoNo utilizarutilice RestArea para areaárea ativaactiva nemni para tabelatabla SE1.
            --> NãoNo utilizarutilice:
            aArea := GetArea()
                ...
            RestArea(aArea)
            --> NãoNo utilizarutilice:
            aAreaSE1 := SE1->(GetArea())
                ...
            RestArea(aAreaSE1)
    */
     
Return