Árvore de páginas

Versões comparadas

Chave

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

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


Produto:

Solucoes_totvs_cross
SolucaoCrossTOTVS Backoffice

Linha de Produto:

Linhas_totvs
SegmentoDistribuição
RegionConstrução Projetos
LinhaLinha Protheus

Segmento:

Segmentos_totvs
SegmentoBackoffice

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

02. DETALHES


Descrição:

Possibilita ao desenvolvedor realizar operações após o estorno encerramento 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 encerramento ainda dentro da transação e mais uma vez após o fim da transação.

Programa Fonte:

CNTA121.PRW

Função:

CN121MedEnc

Parâmetros:
PosiçãoTipoDescrição
PARAMIXB[1]LógicoSubmodelo da CNA(Planilha)Verdadeiro caso seja dentro da transação, Falso fora da transação
PARAMIXB[2]Lógico

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).

Verdadeiro caso encerramento tenha ocorrido com sucesso, falso caso tenha falhado por algum motivo

Retorno:
ValorTipoDescrição
Nilnulo

Não é necessário nenhum retorno



 

Bloco de código
titleExemplo
linenumberstrue
#INCLUDE "Protheus.ch"

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

	tenha falhado por algum motivo.	

	If lInTrans
		MsgInfo("Chamada dentro da transação."	,"U_CN121ESTCN121ENC")
	Else
		MsgInfo("Chamada fora da transação."	,"U_CN121ESTCN121ENC")
	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

If lResult
		MsgInfo("Encerramento OK."		,"U_CN121ENC")
	Else
		MsgInfo("Encerramento Falhou."	,"U_CN121ENC")
	EndIf

Return

Aviso
titleImportante

Esse ponto de entrada será acionado exclusivamente para medições que foram incluídas pelo CNTA121.

Medições que tenham sido incluídas pelo CNTA120, mesmo que sejam encerradas pela nova rotina(CNTA121), internamente o sistema identifica a origem da medição e a encerra utilizando a rotina antiga, nesse cenário o ponto de entrada CN121ENC não será acionado, e sim o antigo CN120ENCMD.