Tempo aproximado para leitura: 00:02:00 min
Dúvida
Utilização do Ponto de Entrada GP100OK
Ambiente
TOTVS RH - TOTVS RH (Linha Protheus) - Gestão de Pessoal - A partir da versão 12.1.17
Solução
Este Ponto de Entrada tem como objetivo permitir validações extras nas linhas de lançamentos nas rotinas de Inclusão/Alteração de Lançamentos Por Verbas.
A validação será feita no momento do LinhaOK, verificando se a linha posicionada atende às validações.
Deve retornar verdadeiro (.T.) se linha for válida, permitindo alterar foco para próxima linha ou salvar registros.
Deve retornar falso (.F.) caso linha não atender à validação realizada, impedindo retirada de foco da linha ou gravação dos registros.
Programa Fonte: GPEA100.prx
Função: GPEA100
Retorno: Lógico (.T. ou .F.)
Exemplo:
USER FUNCTION GP100OK()Local lRet := .T.Local nX := 0Local nY := 0Local nPosDeleted := GdFieldPos( "GDDELETED" )Local nPosValor := GdFieldPos("RGB_VALOR")Local nPosHorasC := GdFieldPos("RGB_HORAS")Local nPosDtRef := GdFieldPos("RGB_DTREF")Local nPosMat := GdFieldPos("RGB_MAT")/*Neste exemplo, verifico se a verba editada em questão é uma verba específica que escolhi. Caso seja essa verba, realizo a validação para não permitir alteração no lançamento.*/If cCod == "013" For nX := 1 to Len(aCols)
nY := aScan(aColsAnt, { |x| x[nPosMat] == aCols[nX][nPosMat] })
If aCols[nX][nPosDeleted] == .T. //se verba esta como deletada
MsgAlert("Verba não pode ser deletada.","ATENCAO")
aCols[nX][nPosDeleted] := .F.
lRet := .F.
ElseIf aCols[nX][nPosValor] != aColsAnt[nY][nPosValor] .OR. aCols[nX][nPosDtRef] != aColsAnt[nY][nPosDtRef]
MsgAlert("Verba não pode ser alterada.","ATENCAO")
lRet := .F.
aCols[nX][nPosValor] := aColsAnt[nY][nPosValor]
aCols[nX][nPosDtRef] := aColsAnt[nY][nPosDtRef]
EndIf
Next nX
EndIfReturn ( lRet ) |
Saiba Mais
Boletim Técnico
RH - Linha Protheus - GPE - Ponto de entrada GP090ALT - Lançamentos Mensais
RH - Linha Protheus - GPE - Ponto de entrada disponível na rotina GPEA590 - Lançamentos por Verba
RH - Linha Protheus - GPE - Quais os pontos de entrada disponíveis na rotina GPEA240-Lançamentos de Ausências
0 Comentários