Árvore de páginas

01. CN121EST - Realizar operações ao final do processo de estorno da Medição


Produto:

TOTVS Backoffice

Linha de Produto:

Linha Protheus

Segmento:

Backoffice

Módulo:Gestão de Contratos
Função:CNTA121 - Medições
Ponto de Entrada:CN121EST

02. DETALHES


Descrição:

Possibilita ao desenvolvedor realizar operações após o estorno da medição que tenha ocorrido com sucesso, ou seja, esse ponto de entrada não é chamado caso a operação falhe.

Eventos:

Executado uma vez ao fim do estorno ainda dentro da transação e mais uma vez após o fim da transação.

Programa Fonte:

CNTA121.PRW

Função:

CN121MedEst

Parâmetros:
PosiçãoTipoDescrição
PARAMIXB[1]Vetor

Contêm os documentos que foram estornados durante o processamento.

O vetor contêm a estrutura abaixo:

PosiçãoTipoDescrição
1Caractere

Tipo do Documento.

Valores possíveis são:

  • 1 = Pedido de Compra
  • 2 = Pedido de Venda
  • 3 = Título à Pagar
  • 4 = Título à Receber
2CaractereIdentificador do documento, ou seja, o número do pedido ou do título.
3Variável

A terceira posição varia entre o tipo numérico para títulos, nesse caso armazena o RecNo da Medição(CND).

Para pedidos de compra/venda, a terceira posição é do tipo caractere e armazena a filial da medição(CND_FILMED).

PARAMIXB[2]LógicoVerdadeiro caso a chamada esteja dentro da transação, Falso para chamada fora da transação.
Retorno:
ValorTipoDescrição
Nilnulo

Não é necessário nenhum retorno



 

Exemplo
#INCLUDE "Protheus.ch"

/*{Protheus.doc} CN121EST()
	Possibilita ao desenvolvedor realizar operações após o estorno da medição que tenha ocorrido com sucesso.
*/
User Function CN121EST()
	Local aDocuments:= PARAMIXB[1] //Listagem de documentos estornados pela medição.
	Local lInTrans 	:= PARAMIXB[2] //Verdadeiro caso seja dentro da transação, Falso fora da transação
	Local nX		:= 0
	Local cTipo		:= ""
	Local cIdDoc	:= ""
	Local xTemp		:= Nil
	Local cMensagem	:= ""

	If lInTrans
		MsgInfo("Chamada dentro da transação."	,"U_CN121EST")
	Else
		MsgInfo("Chamada fora da transação."	,"U_CN121EST")
	EndIf

	for nX := 1 to Len(aDocuments)
		cMensagem := ""
		cTipo := aDocuments[nX, 1]
		cIdDoc:= aDocuments[nX, 2]
		xTemp := aDocuments[nX, 3]//Para pedidos, guarda a filial da medição. Para títulos, o RecNo da CND.

		Do Case
			Case(cTipo == "1")//Pedido de Compra
				cMensagem += "Pedido de Compra:"+cIdDoc
				cMensagem += ". Filial Medicao := "+ xTemp
			Case(cTipo == "2")//Pedido de Venda
				cMensagem += "Pedido de Venda:"+cIdDoc
				cMensagem += ". Filial Medicao := "+ xTemp
			Case(cTipo == "3")//Titulo a Pagar - SE2
				cMensagem += "Titulo a Pagar:"+cIdDoc
				cMensagem += ". RecNo Medicao := "+ cValToChar(xTemp)
			Case(cTipo == "4")//Titulo a Receber - SE1
				cMensagem += "Titulo a Receber:"+cIdDoc
				cMensagem += ". RecNo Medicao := "+ cValToChar(xTemp)
		EndCase

		MsgInfo(cMensagem , "U_CN121EST")
	next nX
Return