Línea de producto: | Microsiga Protheus® |
---|---|
Segmento: | Backoffice |
Módulo: | Financiero |
Idiomas | Portugués - Español |
Función: | FINA710 - Nuevo Administrador Financiero |
El punto de entrada NGFPOSE1 permite sustituir el posicionamiento del título del programa estándar, en la tabla del cuentas por cobrar (SE1), que se realiza por medio del IDCNAB.
Este punto de entrada se 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: En este momento no estamos con el entorno en la sucursal correcta, solamente abrimos la sucursal correcta después de encontrar el título.
Obs 2: Para que el programa estándar considere que este punto de entrada encontró el título, es obligatorio utilizar la función DbSeek/MsSeek.
Nombre | Tipo | Descripción |
PARAMIXB[1] | Caracter | IDCNAB de la boleta que el programa estándar buscaría en el campo E1_IDCNAB, recibido por medio del JSON de devolución del banco. |
Este punto de entrada no tiene devolución. El programa estándar valida si se hubiera marcado correctamente el registro SE1 con DbSeek/MsSeek.
#INCLUDE "PROTHEUS.CH" #INCLUDE "TBICONN.CH" /*/{Protheus.doc} NGFPOSE1 Punto de entrada para sustitución de la búsqueda del Título por cobrar para Baja Títulos (Devolución) FINA715. paramixb[1]: cIdCnab , Código que el programa estándar buscará en E1_IDCNAB si no tuviera este PE, por ejemplo: "NDC0085358" @type Function @author TOTVS @since 25/05/2021 @return Nil /*/ User function NGFPOSE1() Local cIdCnab := paramIXB[1] Local cQuery := "" Local cAlias := GetNextAlias() // Atención - En este momento no estamos con el entorno en la sucursal correcta, solamente abrimos la sucursal correcta después de encontrar el 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)) /* Atención Para que el programa estándar considere que el PE encontró el título, es obligatorio utilizar la función DbSeek/MsSeek. Si utiliza DbGoTo, DbSkip o cualquier otra función de manejo, después es obligatoorio marcar en el título correcto con DbSeek/MsSeek. Utilizamos la función Found() para validar el posicionamiento de 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()) /* Atención -> Si desmarca otras tablas, utilice RestArea() punteado solamente en las tablas desmarcadas. Ejemplo: aAreaSA6 := SA6->(GetArea()) ... RestArea(aAreaSA6) *** No utilice RestArea para área activa ni para tabla SE1. --> No utilice: aArea := GetArea() ... RestArea(aArea) --> No utilice: aAreaSE1 := SE1->(GetArea()) ... RestArea(aAreaSE1) */ Return