Tempo aproximado para leitura: 00:05:00 min
Duda
¿Cúal es la función del punto de entrada F998BRANU?
Ambiente
Cross Segmento - TOTVS Backoffice (Linea Protheus) MI - Financiero (SIGAFIN) - Todas las versiones
Solución
Se crea el punto de entrada F998BRANU en la rutina FINA998- TOTVS Recibo, con el objetivo de que el usuario pueda incluir validaciones para la opción de "Anular" en la rutina.
-
Crear la función de usuario F998BRANU con las validaciones personalizadas tanto para aceptar así como para rechazar la anulación del recibo.
- Debe retornar un arreglo con dos parámetros, en donde el primero es un valor lógico, .T. (Verdadero) o .F. (Falso), de aceptación o rechazo, y el segundo es un mensaje personalizado según sea el caso. - Dentro del módulo Financiero ejecutar la rutina TOTVS Recibo (Actualizaciones | Cuentas por cobrar).
- Dentro del aplicativo de TOTVS Recibo, ir a Buscar recibo, llenar los campos de consulta de acuerdo a los recibos que se desea buscar y visualizar.
- Se mostrará la lista de los recibos.
- Seleccionar el recibo deseado y al dar clic en el botón de Anular recibo se ejecutará el punto de entrada F998BRANU.
- La función de usuario efectúa las validaciones personalizadas y retorna una respuesta que indica si procede o no la anulación.
- Se mostrará una ventana con el mensaje correspondiente y en caso de que proceda, el sistema continuará con la anulacióndel recibo.
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.,""}
cQueryWhere := " FJT_FILIAL = '"+xFilial("FJT")+"' AND FJT_SERIE = '"+cSerie+"' AND FJT_RECIBO = '"+cRecibo+"' "
cQueryFields := " FJT_SERIE,FJT_RECIBO,FJT_CLIENT,FJT_DTDIGI "
cQuery := " SELECT "+cQueryFields+" FROM "+ RetSqlName("FJT") + " WHERE "+cQueryWhere
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
0 Comentarios