Tempo aproximado para leitura: 02:00: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
Características do Requisito
|
Linha de Produto: |
Microsiga Protheus®. |
||||||||
|
Segmento: |
Serviços. |
||||||||
|
Módulo: |
SIGAGPE. |
||||||||
|
Rotina: |
|
||||||||
|
Chamados Relacionados |
TVVHM2. |
||||||||
|
Tabelas Utilizadas: |
RGB - Lançamentos |
Ponto de Entrada
|
Descriçã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. 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. |
|
Localização: |
SIGAGPE - Atualizações - Lançamentos - Por Verba |
|
Eventos: |
Lançamentos por Verba |
|
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
https://tdn.totvs.com.br/pages/releaseview.action?pageId=244742667
0 Comentários