Histórico da Página
Puntos de entrada disponibles para todos los países :
...
Tiene el objetivo de que el usuario pueda agregar más filtros a la consulta (Query) de selección de recibos al momento de dar click en "Aplicar filtros" en el programa TOTVS Recibos.
Parámetros recibidos:
Nombre | Tipo | Descripción |
---|---|---|
PARAMIXB[1] | C | Expresión SQL estándar para la consulta (SELECT) que contará los registros a seleccionar. |
PARAMIXB[2] | C | Expresión SQL estándar con filtros por campo que se utilizada para filtrar (WHERE) los registros a seleccionar. |
PARAMIXB[3] | C | Este punto de entrada se ejecuta en dos partes, este parámetro indica el tipo de consulta (expresión SQL para el Query a la base de datos) que se debe retornar: "complete" - El punto de entrada debe retornar una expresión de consulta (Query) completa, la cual se utiliza para determinar el total de registros que se visualizaran. "where" - El punto de entrada solo complementa la expresión de condiciones (WHERE) para la selección de registros a visualizar. |
Retorno:
Nombre | Tipo | Descripción |
---|---|---|
queryNew | C | Retorna la expresión SQL de la consulta a realizar de acuerdo al tipo de Query; "complete" o "where". |
Este punto de entrada sustituye al "F088FLT" de la rutina Cobros Diversos (FINA087A).
Más información: DT PE F998BRFLT Agregar más filtros al momento de buscar recibos TOTVS Recibo MEX
Ejemplo:
#Include 'Protheus.ch'
User Function F998BRFLT
Local querySelect := Paramixb[1]
Local queryWhere := Paramixb[2]
Local queryOption := Paramixb[3]
Local whereNew := " AND SEL.EL_RECIBO >= 0040"
Local queryNew := ""
...
Tiene el objetivo de que el usuario pueda personalizar validaciones para ejecutar la opción de "Anular/Borrar" un recibo de cobro.
Parámetros recibidos:
Nombre | Tipo | Descripción |
---|---|---|
PARAMIXB[1] | C | Serie del recibo |
PARAMIXB[2] | C | Número del recibo |
Retorno: Flag que indica si procede o no la anulación.
Nombre | Tipo | Descripción |
---|---|---|
aRet[1] | L | Retorna .T. si procede el Anulado/Borrado o .F. si no se permite. |
aRet[2] | C | Mensaje de la causa de rechazo de anulación . |
Este punto de entrada sustituye al "FA088OK" de la rutina Cobros Diversos (FINA087A).
Más información: DT PE F998BRANU Pre-validaciones para la anulación de un recibo en TOTVS Recibo MEX
Ejemplo:
#Include 'Protheus.ch'
User Function F998BRANU
Local cSerie := Paramixb[1]
Local cRecibo := Paramixb[2]
Local cQueryWhere := ""
Local cQueryFields := ""
Local cAlias := GetNextAlias()
Local aRet := {.T.,""}
...
cQuery := ChangeQuery(cQuery)
MPSysOpenQuery(cQuery, cAlias)
WHILE (cAlias)->(!EOF())
IF (cAlias)->FJT_DTDIGI == DTOS(ddatabase)
aRet := {.F.,"No se puede eliminar un recibo que haya sido generado el dia de hoy"}
EndIf
(cAlias)->(DbSkip())
END
Return aRet
...
Tiene el objetivo de que el usuario pueda indicar campos/columnas que se desean incluir en el GRID de visualización de los recibos desde la opción de "Buscar recibos".
Parámetros recibidos:
Nombre | Tipo | Descripción |
---|---|---|
PARAMIXB[1] | C | Serie del recibo |
PARAMIXB[2] | C | Número del recibo |
PARAMIXB[3] | C | Cliente |
Retorno: Arreglo de configuraciones para agregar a la lista de campos que se pueden visualizar en la lista de recibos.
Nombre | Tipo | Descripción |
---|---|---|
aRet[1] | C | Título de la columna que se desea agregar en la lista de recibos. |
aRet[2] | C | Valor del campo, de cualquier tabla en la DB vinculada a los recibos de cobro. |
aRet[3] | L | Mostrar marca de seleccionado en la lista de campos a visualizar: .T. = Sí, .F. = No. |
aRet[4] | C | Nombre para asignar al campo a visualizar, debe ser con estilo de escritura "camelCase". Comienza con minúscula, puede tener mayúsculas intermedias, no permite espacios ni signos especiales. |
Este punto de entrada sustituye al "F088NP2K" de la rutina Cobros Diversos (FINA087A).
Más información: DT PE F998BRMCOL Incluir columnas a visualizar en el GRID de buscar recibos
Ejemplo:
#Include 'Protheus.ch'
...
//Se forman las condicionales de la consulta
cQueryWhere := " FJT_FILIAL = '"+xFilial("FJT")+"' AND FJT_SERIE = '"+cSerie+"' AND FJT_RECIBO = '"+cReceipt+"' AND FJT_CLIENT = '"+cClient+"' "
//Se estructura la parte de los campos a obtener
cQueryFields := " SELECT "
For nCont := 1 to LEN(aCampos)
cQueryFields += " "+aCampos[nCont][1]+" "
If nCont != LEN(aCampos)
cQueryFields += ","
EndIf
Next nCont
...
aAux := {}
//Se asignan los campos deseados al arreglo a retornar
WHILE (cAlias)->(!EOF())
AADD( aAux,{aCampos[1][2],(cAlias)->FJT_VERSAO,aCampos[1][3],aCampos[1][4]})
AADD( aAux,{aCampos[2][2],(cAlias)->FJT_DTDIGI,aCampos[2][3],aCampos[2][4]})
(cAlias)->(DbSkip())
END
Return aAux
...
Tiene el objetivo de agregar validaciones y mensajes de confirmación o error antes de guardar, de manera que si no cumple las condiciones del punto de entrada no permita el guardado del recibo y este pueda ser modificado.
Parámetros recibidos:
Nombre | Tipo | Descripción |
---|---|---|
PARAMIXB[1] | Json | Objeto Json que contiene la información de los métodos de pago que contiene el recibo a guardar. |
PARAMIXB[2] | Json | Objeto Json que contiene la información de los títulos que contiene el recibo a guardar. |
PARAMIXB[3] | Json | Objeto Json que contiene la información del encabezado del recibo a guardar. |
Retorno:
Nombre | Tipo | Descripción |
---|---|---|
aRet[1][1] | B | Si el valor obtenido en este campo es .T. se permitirá el guardado del recibo, de lo contrario no se permitirá el guardado del recibo. |
aRet[1][2] | C | Mensaje que se visualizara en el aplicativo en caso de que el campo aRet[1][1] sea Falso. |
Este punto de entrada sustituye al "A087TUDOK" de la rutina Cobros Diversos (FINA087A).
Más información: DT PE F998NROK Incluir validaciones antes del guardado del recibo desde Nuevo Recibo
Ejemplo:
#INCLUDE "Totvs.ch"
/*/{Protheus.doc} F998NROK
Punto de entrada que permite agregar validaciones al recibo antes del guardado
Si retorna un .T. procedera con el guardado del recibo
Si retorna un .F. no continuara con el guardado del recibo
/*/
USER FUNCTION F998NROK()
Local jFormasPago := Paramixb[1] //Json que contiene todas las formas de pago del recibo
Local jTitulos := Paramixb[2] //Json que contiene todos los titulos que contiene el recibo
Local jEncabezado := Paramixb[3] //Json que contiene los datos que conforman el encabezado del recibo
Local lRet := .T. As Logical
Local aRet := {} As Array
Local nCont As Numeric
Local cMensaje := "" As Character
Local nTipoDoc As Numeric
//Ejemplo de validaciones en las formas de pago que contiene el recibo
FOR nCont := 1 TO LEN(jFormasPago)
nTipoDoc := AScan(jFormasPago[nCont],{|x|x['property'] == "tipodoc"})
IF jFormasPago[nCont][nTipoDoc]['value'] == "EF"
lRet := .F.
cMensaje := "No se permite guardar recibos con forma de pago tipo EF-Efectivo"
AADD(aRet,{lRet,cMensaje})
ENDIF
NEXT
/*
//Ejemplo de validaciones en los titulos que contiene el recibo
FOR nCont := 1 TO LEN(jTitulos)
IF jTitulos[nCont]['series'] == "A"
lRet := .F.
cMensaje := "No se permite guardar un recibo con un titulo de serie A"
AADD(aRet,{lRet,cMensaje})
ENDIF
NEXT
*/
/*
//Ejemplo de validaciones sobre el encabezado del recibo
IF ALLTRIM(jEncabezado['modalidad']) == "COBRO"
lRet := .F.
cMensaje := "No se permite guardar un recibo con una modalidad dde tipo COBRO"
AADD(aRet,{lRet,cMensaje})
ENDIF
*/
RETURN aRet
...
Tiene el objetivo de llenar el campo del Cobrador cuando se seleccione el código del cliente.
Parámetros recibidos:
Nombre | Tipo | Descripción |
---|---|---|
PARAMIXB[1] | C | Cliente seleccionado. |
PARAMIXB[2] | C | Tienda del cliente seleccionado. |
Retorno:
Nombre | Tipo | Descripción |
---|---|---|
cCobrador | C | Retorna el Cobrador que será colocado en el box del cobrador. |
Este punto de entrada sustituye al "F087VLCO" de la rutina Cobros Diversos (FINA087A).
Más información: DT PE F998NRDCOB Llenar el campo del Cobrador cuando seleccione el código del cliente en Nuevo Recibo
Ejemplo:
User Function F998NRDCOB()
Local cCobrador := ""
Local cClient := Paramixb[1]
Local cLoja := Paramixb[2]
dbselectarea("SAR")
("SAR")->(dbGoTop())
While ("SAR")->(!eof())
If xFilial("SAR")== SAR->AR_FILIAL .AND. cClient == SAR->AR_CODCLI .AND. cLoja == SAR->AR_LOJCLI
cCobrador :=AR_CODCOBR
EndIf
("SAR")->(dbskip())
EndDo
...
Tiene el objetivo de agregar más columnas a visualizar en los títulos financieros en la pantalla de Nuevo Recibo.
Parámetros recibidos:
- N/A
Retorno: Arreglo de configuraciones para agregar a la lista de campos que se pueden visualizar en la lista de títulos.
Nombre | Tipo | Descripción |
---|---|---|
aRet[1] | C | Campo a visualizar en la lista de títulos. |
aRet[2] | C | Título de la columna que se desea agregar en la lista de títulos. |
aRet[3] | L | Mostrar marca de seleccionado en la lista de campos a visualizar: .T. = Sí, .F. = No. |
Este punto de entrada sustituye al "F087COL" de la rutina Cobros Diversos (FINA087A).
Más información: DT PE F998NRMCOL Agregar más columnas en la lista de títulos por cobrar TOTVS Recibo
Ejemplo:
User Function F998NRMCOL()
Local aCampos := {}
Aadd(aCampos, { "E1_DTACRED","Fecha cred",.T.})
Aadd(aCampos, { "E1_TXMOEDA","TX moneda",.T.}
...
Tiene el objetivo de agregar más filtros en la selección de registros (Query) que se usa en la pantalla de "Agregar otros títulos".
Parámetros recibidos:
Nombre | Tipo | Descripción |
---|---|---|
PARAMIXB[1] | C | Expresión SQL correspondiente al filtro estándar (Where) de selección (Query) de documentos. |
Retorno:
Nombre | Tipo | Descripción |
---|---|---|
cQuery | C | Expresión SQL del filtro de selección de documentos. Debe retornar la expresión recibida, complementada con los criterios específicos. |
Este punto de entrada sustituye al "F087AFCL" de la rutina Cobros Diversos (FINA087A).
Más información: DT PE F998NRIOFLT Agregar más filtros en el query de Agregar otros títulos TOTVS Recibo
Ejemplo:
User Function F998NRIOFLT()
...
Tiene el objetivo de agregar nuevos tipos de títulos a los recibos generados desde la sección de "Nuevo Recibo"
Parámetros recibidos:
- N/A
Retorno:
Nombre | Tipo | Descripción |
---|---|---|
cTipos | C | Cadena que contiene los tipos de títulos adicionales, separados por diagonal ("/"). |
Este punto de entrada sustituye al "A087TIPTI" de la rutina Cobros Diversos (FINA087A).
Más información: DT PE F998FLOTIT Agregar otros tipos de títulos a los recibos de cobro en TOTVS recibo
Ejemplo:
#INCLUDE "Totvs.ch"
User Function F998FLOTIT()
Local cTipos := ""
cTipos += "/CC/CN"
Return cTipos
...
Tiene el objetivo de que se puedan realizar acciones antes de generar los asientos contables.
Parámetros recibidos:
- N/A
Retorno:
- N/A
Este punto de entrada sustituye al "FA087GRV" de la rutina Cobros Diversos (FINA087A).
Más información:
#Include 'Protheus.ch'
User Function F998NRG1()
If MsgYesNo("¿Desea ejecutar el punto de entrada F998NRGR1? ", "Confirmar")
FINR270()
EndIf
Return
...
Tiene el objetivo de que se puedan realizar acciones después de grabar el recibo de cobro.
Parámetros recibidos:
- N/A
Retorno:
- N/A
Este punto de entrada sustituye al "FA087SEL" y "FA087BAIXA" de la rutina Cobros Diversos (FINA087A).
Más información: DT PE F998NRG2 Agregar acciones después de grabar el recibo de cobro en TOTVS recibo
Ejemplo:
#Include 'Protheus.ch'
User Function F998NRG2()
If MsgYesNo("¿Desea imprimir el recibo? ", "Confirmar")
Finr087()
EndIf
...
A continuación se presentan los puntos de entrada disponibles dentro de la rutina FINA998 así como los equivalentes que se desarrollaron para realizar procesos ya existentes en otras rutinas.