Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Comentário: Migration of unmigrated content due to installation of a new plugin

Ponto de Entrada GP100OK - Validação Adicional em Lançamentos por Verba

Aviso
titleEste Ponto de Entrada é válido a partir do Release 12.1.7 - Expedição Outubro/2016 e superiores.

 

Ponto de Entrada GP100OK - Validação Adicional em Lançamentos por Verba

Características do Requisito

 

Informe o ponto de entrada relacionado (link) 

Linha de Produto:

Microsiga Protheus®.

Segmento:

Serviços.

Módulo:

SIGAGPE.

Rotina:

Ponto de Entrada:

Rotina

Nome Técnico

GPEA100.

Manipulacao de Lançamentos por Verba.

Rotina(s) envolvida(s)

Nome Técnico

GPEA590

Lançamentos por Verba.

Cadastros Iniciais:

Relacione os cadastros necessários que precisam ser preenchidos antes da utilização desse requisito.

.

Chamados Relacionados

TVVHM2.

Tabelas Utilizadas:

Informe as tabelas utilizadas.RGB - Lançamentos

Ponto de Entrada

Descrição:

Informe o Menu em que estará localizada a rotina

Localização:

Informe o Submenu em que estará localizada a rotina

Eventos:

Informe o Título da rotina

Programa Fonte:

Informe o Fonte da rotina

Função:

Informe o Nome do(s) produto(s) a ser utilizado ou “Todos”

Retorno:

Nome

Tipo

Descrição

Obrigatório

 

 

 

 

 

 

 

 

 

 

 

 

 

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

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
themeEclipse
titleGP100OK
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 )