Árvore de páginas

Versões comparadas

Chave

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

01. CN121PED -

Tratamento

 Tratamento especifico antes da geração do Pedido de Compra ou de Venda

Produto:

Solucoes_totvs_cross
SolucaoCrossTOTVS Backoffice

Linha de Produto:
Microsiga Protheus®

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

Segmento:
Serviços

Segmentos_totvs
SegmentoBackoffice

Módulo:Gestão de Contratos
Rotina
Função:

Rotina

Nome Técnico
CNTA121

Medições do Contrato

Parâmetro(s):

aCab - PARAMIXB[1]

aItem - PARAMIXB[2]
- Medições
Ponto de Entrada:CN121PED
Versão:
Protheus 12.1.16

Ponto de Entrada

Descrição:

O ponto de entrada poderá ser utilizado para tratamentos específicos antes da geração do pedido de compra ou de venda, podendo manipular o cabeçalho, itens e rateio se necessário.

Este ponto de entrada irá substituir os PE's CN120IT7, CN120ITM, CN120PED e CN120AEP da rotina de medições nas versões anteriores ao Protheus 12.1.16

Eventos:

Na função da rotina CNTA121

Programa Fonte:

CNTA121.prw

Função:

CN121GerDoc()

Retorno:

Nome

Tipo

 aRet (aCab,aItem)

Array


02. DETALHES


Descrição:

Possibilita ao desenvolvedor realizar tratamentos específicos antes da geração do pedido de compra ou de venda, podendo manipular o cabeçalho e itens se necessário.

Eventos:

Executado uma vez por pedido gerado pela medição

Programa Fonte:

CNTA121.PRW

Função:

CN121GerDoc

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

Contêm o cabeçalho do pedido. Se for pedido de compra, será a tabela SC7, se for de venda, tabela SC5.

O vetor contêm a estrutura abaixo:

PosiçãoTipoDescrição
1Caractere

Nome do campo

2VariávelValor do campo
3Nulo

Compatibilidade

PARAMIXB[2]Vetor

Contêm os itens do pedido. Se for pedido de compra, será a tabela SC7, se for de venda, tabela SC6.

Cada posição do vetor contêm a estrutura abaixo:

PosiçãoTipoDescrição
1CaractereNome do campo
2VariávelValor do campo
3NuloCompatibilidade
Retorno:
ValorTipoDescrição
Nilnulo

Não é necessário nenhum retorno


 

Informações
titleImportante

Este ponto de entrada irá substituir os PE's CN120IT7, CN120ITM, CN120PED e CN120AEP da antiga rotina de medições(CNTA120)


Bloco de código
titleExemplo simples
linenumberstrue
#include "PROTHEUS.CH"
#INCLUDE "FWMVCDEF.CH"
#INCLUDE "RWMAKE.CH"
#INCLUDE "TBICONN.CH"

User Function CN121PED()	
	Local aCab		:= PARAMIXB[1]	
	Local aItens	:= PARAMIXB[2]
	Local aResult	:= Array(2)
	Local oModel	:= Nil
	Local lVenda	:= .F.
	Local lCompra	:= .F.

	If !(Empty(aCab) .Or. Empty(aItens))
		oModel := FwModelActive()//Modelo do CNTA121		
		/*Para obter dados do modelo, usar oModel:GetValue(cModelId, cCampo). 
		  Exemplo: oModel:GetValue("CNDMASTER", "CND_CONTRA")		  
		*/

		lVenda	:= Cn121RetSt( "VENDA"	, 0, /*cPlan*/, /*cContra*/, .T., oModel )
		lCompra	:= Cn121RetSt( "COMPRA"	, 0, /*cPlan*/, /*cContra*/, .T., oModel )		

		/*Realizar a operação desejada aqui...*/
	EndIf

	aResult[1] := aCab
	aResult[2] := aItens
Return aResult
Bloco de código
firstline1
titleLiberando um pedido de venda
linenumberstrue


Exemplo:

#Include 'Protheus.ch'

User Function CN121PED()

Local aCab := PARAMIXB[1] 

Local aItem := PARAMIXB[2]

//Validações do usuario

Return {aCab,aItem}