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: |
| ||||||||
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:
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 ) |