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 |
---|
|
|
|
Posição 1: Codigo da Verba
Posição 2: Descrição da Verba
Posição 3: Tipo
Posição 4: Horas Lanç.
Posição 5: Valor Lançamento
Posição 6: Data do Pagamento
Posição 7: Numero da Semana
Posição 8: Centro de Custo
Posição 9: Numero de Parcelas
Posição 10: Origem
Posição 11: Sequencia da Verba
Posição 12: Emprestimo Consignado
Posição 13: Coluna reservada para o sistema
Posição 14: Alias
Posição 15: Recno
Posição 16: Verifica se está deletado ou não.
| |
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]
EndIf
Next nX
EndIf
Return (lRet) |
Retorno:
Lógico (.T. ou .F.)
Exemplo:
#Include 'Protheus.ch'
User Function CN120ALT()
Local aCab:= PARAMIXB[1]
Local cTipo:= PARAMIXB[2]
If cTipo == '1'
aCab[4][2]:= 'NF' //Validações do usuário
EndIf
Return aCab