Histórico da Página
Aviso | ||
---|---|---|
| ||
|
Ponto de Entrada GP100OK - Validação Adicional em Lançamentos por Verba
Características do Requisito
Linha de Produto: | Microsiga Protheus®. | ||||||||
Segmento: | Serviços. | ||||||||
Módulo: | SIGAGPE. | ||||||||
Rotina: |
| ||||||||
Cadastros Iniciais: | Relacione os cadastros necessários que precisam ser preenchidos antes da utilização desse requisito. | ||||||||
Ponto de Entrada: | GP100ALT GP090OK GPROXFUN | ||||||||
Chamados Relacionados | TVVHM2. | ||||||||
Tabelas Utilizadas: | Informe as 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:
Bloco de código | ||||
---|---|---|---|---|
| ||||
USER FUNCTION GP100OK()
Local lRet := .T.
Local nX := 0
Local nY := 0
Local 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
EndIf
Return ( lRet ) |