Histórico da Página
Ponto de Entrada PNM08001
...
para tratamento de saldos descartados.
Descrição: | Este Ponto de Entrada tem como objetivo o tratamento de saldos descartados. Necessidade original: ao obter um saldo negativo, quando solicitado crédito, deve-se dar baixa nos lançamentos que compuseram o saldo. | ||||||||||||||||||||||||||||||||
Eventos: | Fechamento do Banco de Horas. Este ponto de entrada é chamado após o cálculo do saldo absoluto dos valores da SPI, de acordo com o tipo de fechamento e saldo diferente de zero (Fechamento por crédito e saldo negativo OU fechamento por débito e saldo positivo). Consiste Saldo Escolhido X Saldo Efetivo (A consistência do Tipo de Fechamento não se aplica a Fechamento Por Período com limitação de desconto ao total de proventos visto que o saldo será reajustado SEMPRE para ZERO ou Positivo). | ||||||||||||||||||||||||||||||||
Programa Fonte: | PONM080.prx | ||||||||||||||||||||||||||||||||
Função: | PNM080Processa | ||||||||||||||||||||||||||||||||
Parâmetros: | Estrutura da variável PARAMIXB:
| ||||||||||||||||||||||||||||||||
Retorno: |
|
...
...
theme | Eclipse |
---|---|
title | GP090OK - P11 |
...
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)
(Nil) |
Exemplo:
Bloco de código | ||||
---|---|---|---|---|
| ||||
User Function PNM08001()
MsgInfo("Evento Provento: "+PARAMIXB[1]+CRLF+"Evento Desconto: "+PARAMIXB[2]+CRLF+"Data: "+ DTOC(PARAMIXB[5]) +CRLF+"Saldo: "+PARAMIXB[6]+CRLF+"Tp.Fech: "+PARAMIXB[7],"PE PNM08001")
Return(Nil |
Exemplos:
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])
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) |