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 se llama en el momento de hacer la localización del título, después de recibir del API del banco el archivo JSON con el campo correspondiente al IDCNAB.

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 a través 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 ha posicionado 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
Ponto de entrada para substituição da pesquisa do Título a Receber para Baixa Títulos (Retorno) FINA715.
  
paramixb[1]:
    cIdCnab          , Código que o programa padrão iria procurar no E1_IDCNAB caso não tivesse esse PE, exemplo: "NDC0085358"
 
 
@type       Function
@author     TOTVS
@since      25/05/2021
@return     Nil
/*/
User function NGFPOSE1()
 
     
    Local cIdCnab   := paramIXB[1]
    Local cQuery    := ""
    Local cAlias    := GetNextAlias()
 
 
    // Atenção - Nesse momento não estamos com o ambiente na filial correta, somente abrimos a filial correta após encontrar o 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ção
            Para o programa padrão considerar que o PE encontrou o título é obrigatório utilizar a função DbSeek/MsSeek.
            Caso utilize DbGoTo, DbSkip ou qualquer outra função de manipulação, depois é obrigatório posicionar no título correto com DbSeek/MsSeek.
            Utilizamos a função Found() para validar o posicionamento da 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ção -> Caso despocisione outras tabelas, utilizar RestArea() ponteirado apenas nas tabelas desposicionadas.
        Exemplo:
        aAreaSA6 := SA6->(GetArea())
            ...
        RestArea(aAreaSA6)

        *** Não utilizar RestArea para area ativa nem para tabela SE1.
            --> Não utilizar:
            aArea := GetArea()
                ...
            RestArea(aArea)
            --> Não utilizar:
            aAreaSE1 := SE1->(GetArea())
                ...
            RestArea(aAreaSE1)
    */
     
Return