Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

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:

Rotina

Nome Técnico

GPEA090

Manipulação de Lançamentos Mensais / Por Funcionário.

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.

Aviso
titleAtualização válida a partir do Release 12.1.7 - Expedição Outubro/2016 e superiores.

Feita atualização para permitir a passagem pelo PE também quando a linha está com estado de Deletada. Validando assim, todas as linhas: incluídas, alteradas e deletadas.

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:
 
NomeTipoDescrição
ParamArray of RecordContém o array com as informações da linha que está sendo validada. 

Retorno:

Lógico (.T. ou .F.)

 

 

Exemplos:

 
Bloco de código
 
theme
 
Eclipse
 
title
                          

 

 

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.

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)
Bloco de código
themeEclipse
titleGP090OK - P12
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