Histórico da Página
Ponto de Entrada GP090OK - Validação Adicional em Lançamentos Mensais / Por Funcionáiro
Características do Requisito
Linha de Produto: | Microsiga Protheus®. | ||||
Segmento: | Serviços. | ||||
Módulo: | SIGAGPE. | ||||
Rotina: |
| ||||
Chamados Relacionados | TVVHM2. | ||||
País(es): | Brasil. |
Ponto de Entrada
Descrição: | Este Ponto de Entrada tem como objetivo a verificação extra nas rotinas de Inclusão/Alteração/Exclusão de Lançamentos Mensais. 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 - Lançamentos Mensais (P11.8 e anteriores) SIGAGPE - Atualizações - Lançamentos - Por Funcionário (P12 e superiores) | ||||||
Eventos: | Lançamentos Mensais (P11.8 e anteriores) Lançamentos Por Funcionário (P12 e superiores) | ||||||
Programa Fonte: | GPEA090.prx | ||||||
Função: | GPEA090 | ||||||
Parâmetros: |
| ||||||
Retorno: | Lógico (.T. ou .F.) |
Exemplos:
Bloco de código | ||||
---|---|---|---|---|
| ||||
User function GP090OK() Local aCols := PARAMIXB[1] Local lOk := .F. Alert ('Passou pelo ponto GP090OK') //Neste ponto sera exibido o alert e interrompida a adicao/exclusao/alteracao, pois o lOk esta falso Return(lOk) |
Bloco de código | ||||
---|---|---|---|---|
| ||||
USER FUNCTION GP090OK() 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") If Len(aColsAnt) > 0 For nX := 1 to Len(aCols) nY := aScan(aColsAnt, { |x| x[2] == aCols[nx][2] }) If aCols[nx][2] == "013" .AND. aCols[nx][nPosDeleted] == .T. //se verba esta como deletada MsgAlert("Verba não pode ser deletada - GP090OK","ATENCAO") aCols[nx][nPosDeleted] := .F. lRet := .F. ElseIf nY > 0 .AND. (aCols[nx][nPosValor] != aColsAnt[ny][nPosValor] .OR. aCols[nx][nPosDtRef] != aColsAnt[ny][nPosDtRef]) MsgAlert("Verba não pode ser alterada - GP090OK","ATENCAO") lRet := .F. aCols[nx][nPosValor] := aColsAnt[ny][nPosValor] aCols[nx][nPosDtRef] := aColsAnt[ny][nPosDtRef] MsgAlert("Verba não pode ser alterada - GP090OK","ATENCAO") EndIf Next nX EndIf Return (lRet) |