Duda
En modulo Gestión de Personal ¿Cómo ejecutar el punto de entrada GPA110EXC para excluir registros futuros?
Ambiente
TOTVS RH - TOTVS RH (LINEA PROTHEUS) - MI – Gestión de Personal (SIGAGPE) – Release 11 en adelante
Solución
El punto de entrada le permite la exclusión de nuevos registros capturados en la rutina GPEA110
Consideraciones Previas:
- Si el retorno de la función es verdadero (.T.), los nuevos registros de valores futuros serán eliminados;
- Para los valores futuros que ya tienen movimientos históricos en la rutina "Cuenta corriente valores futuros - GPEA415" no pueden ser eliminados los registros;
Ejemplo User Function Gpa110Exc:
#INCLUDE "PROTHEUS.CH"
User Function Gpa110Exc()
Local cAliasSRC := "SRC"
Local cAliasRCK := "SRK"
Local nExistReg := 0
Local nPosID := 0
Local cFil := SRA->RA_FILIAL
Local cMat := SRA->RA_MAT
Local lRet := .T.
nPosID := GdFieldPos( "RK_NUMID", aHeader )
cIDLcto := If( nPosID > 0, aCols[n,nPosID], "")
Alert("Ejecución del Punto de Entrada: Gpa110Exc")
cAliasSRC := GetNextAlias()
cAliasRCK := GetNextAlias()
BeginSql Alias cAliasSRC
SELECT COUNT( RC_MAT ) MATMOVTO
FROM %table:SRC% WHERE RC_FILIAL = %exp:cFil% AND RC_MAT = %exp:cMat% AND RC_NUMID = %exp:cIDLcto%
EndSql
BeginSql Alias cAliasRCK
SELECT COUNT( RCK_MAT ) MATLACTO
FROM %table:RCK% WHERE RCK_FILIAL = %exp:cFil% AND RCK_MAT = %exp:cMat% AND RCK_NUMID = %exp:cIDLcto%
EndSql
nExistReg += (cAliasSRC)->MATMOVTO
nExistReg += (cAliasRCK)->MATLACTO
If nExistReg > 0
lRet := .F.
Alert("El registro no se puede eliminar. Hay movimientos generados" + CRLF + "Na(s) tabela(s): " + If( (cAliasSRC)->MATMOVTO > 0, " SRC /", "" ) + If( (cAliasRCK)->MATLACTO > 0, " RCK", "" ) )
EndIf
(cAliasSRC)->( DbCloseArea() )
(cAliasRCK)->( DbCloseArea() )
Return( lRet )
Importante: El análisis, debug, ajustes de los puntos de entrada y/o funciones de usuario, exceden el alcance del soporte TOTVS al producto estándar;
Al final del artículo por favor revise y descargue la evidencia de soporte “p12117_Gpa110Exc_hdmi” que contienen la validación del escenario reportado una vez compilado el ejemplo del punto de entrada “Gpa110Exc” se obtienen resultados favorables en la exclusión de nuevos registros futuros.
0 Comentarios