Tempo aproximado para leitura: 00:05:00 min
Duda
¿Cúal es la función del punto de entrada F998BRBOR?
Ambiente
Cross Segmento - TOTVS Backoffice (Linea Protheus) MI - Financiero (SIGAFIN) - Todas las versiones
Solución
Se crea el punto de entrada F998BRBOR en la rutina FINA998- TOTVS Recibo, con el objetivo de que el usuario pueda incluir validaciones para la opción de "Borrar" en la rutina.
- Crear la función de usuario "F998BRBOR" con las validaciones personalizadas tanto para aceptar, así como para rechazar el borrado 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 Borrar (El recibo tiene que estar previamente anulado) recibo se ejecutará el punto de entrada "F998BRBOR".
- La función de usuario efectúa las validaciones personalizadas y retorna una respuesta que indica si procede o no el borrado.
- Se mostrará una ventana con el mensaje correspondiente y en caso de que proceda, el sistema continuará con el borrado del recibo.
Ejemplo
#Include 'Protheus.ch'
User Function F998BRBOR 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 BORRAR un recibo que haya sido generado el dia de hoy"}
EndIf
(cAlias)->(DbSkip())
END
Return aRet
0 Comentarios