Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Composition Setup
import.css=/download/attachments/327912/newLayout.css

...

Ponto-de-Entrada: MT103CPO - Gatilho do código de produto para dados contabeis

...

Versões:Microsiga Protheus

...

11
Compatível Países:Todos
Sistemas Operacionais:Todos
Compatível às Bases de Dados:Todos
Idiomas:

...

Português, Espanhol, Inglês

 

Descrição:

...

 Altera a forma como alguns dados do cadastro de produto são carregados no item da nota fiscal quando o código do produto é inserido.

Relação entre os campos das tabelas SD1 (Itens da nota fiscal) e SB1 (Cadastro de produtos):

D1_CONTA       => B1_CONTA
D1_CC              => B1_CC
D1_ITEMCTA     => B1_ITEMCC
D1_CLVL           => B1_CLVL
D1_TES             => B1_TE

O preenchimento dos campos no item da nota fiscal obedece as seguintes regras:

1) Caso o campo estiver vazio, o mesmo é preenchido com o conteúdo do campo do cadastro de produto

2) Caso estiver preenchido, ao alterar o produto do item da nota, o conteúdo dos campos acima são mantidos conforme o que já estava preenchido, exceto para o campo D1_CONTA. No caso do campo D1_CONTA, o padrão de preenchimento é sempre carregar o conteúdo do cadastro de produtos

3) Caso o ponto de entrada MT103CPO estiver compilado e alguma posição do vetor de retorno possuir algum campo da nota, dentre os descritos acima, o conteúdo será preenchido conforme o cadastro de produto. Porém, no caso específico do campo D1_CONTA, se este for informado no vetor de retorno, o mesmo não será carregado o conteúdo do cadastro de produto.

Localização: Função A103INICPO - Responsável pela carga dos dados de item da nota fiscal a partir do código do produto selecionado.

...

Eventos

Antes da execução do gatilho de carga dos campos do aCols

...

do item da nota fiscal de entrada, após o preenchimento do código do produto.

 Programa

...

fonteMATA103X.PRX

 Sintaxe

...

: MT103CPO - Gatilho do código de produto para dados contabeis ( [ PARAMIXB[1] ] ) --> aCpo

Parâmetros:

...

 

...

NOME

...

TIPO

...

DESCRIÇÃO

...

OBRIGATÓRIO

...

PARAMIXB[1]

...

Array of records

Vetor contendo

...

o campo padrão que sempre é carregado no item da nota a partir do cadastro de produto (D1_CONTA)

X

 

...

Retorno: aCpo - 
Vetor contendo em cada elemento o nome do campo que deverá preservar as informações quando previamente informadas no aCols.

...

 

Observações: Este ponto de entrada foi criado com o objetivo de permitir alterar o comportamento original de preenchimento da conta contábil no item da nota (Sempre substituir conforme cadastro). Se no retorno do vetor existir o nome do campo (D1_CONTA) o gatilho irá preservar a informação já preenchida no campo.
Já para os campos D1_CC, D1_ITEMCTA, D1_CLVL e D1_TES, o comportamento padrão de preenchimento é manter o conteúdo já existente nos respectivos campos. Dessa forma, caso seja necessário alterar o comportamento padrão e sempre preencher de acordo com o cadastro de produtos, o vetor de retorno deve deve possuir em alguma posição o nome dos campos desejados.
Bloco de código
themeMidnight
languagedelphi
titleExemplo
#Include 'Protheus.ch'

Exemplos
User Function MT103CPO()

//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Permite que os campos D1_CONTA, D1_ITEMCTA, D1_CLVL e D1_TES  sejam carregados ³
//³ do cadastro de produtos. Correspondencia abaixo:                              ³
//³ D1_CONTA 	-> B1_CONTA                                                       ³
//³ D1_CC 		-> B1_CC                                                          ³
//³ D1_ITEMCTA 	-> B1_ITEMCC                                                      ³
//³ D1_CLVL 		-> B1_CLVL                                                        ³
//³ D1_TES 		-> B1_TE                                                          ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

Local aCpo:= 
PARAMIB
PARAMIXB[1]
// Customização desejadaReturn
 //Padrao = D1_CONTA

AADD(aCpo,  "D1_CONTA" 	 ) // Faz com que seja mantido o conteudo pre-existente no campo
AADD(aCpo,  "D1_TES" 	 ) // Faz com seja carregado o valor do cadastro de produto
AADD(aCpo,	  "D1_CC" 		 ) // Faz com seja carregado o valor do cadastro de produto
AADD(aCpo,	  "D1_ITEMCTA" ) // Faz com seja carregado o valor do cadastro de produto
AADD(aCpo,	  "D1_CLVL"    ) // Faz com seja carregado o valor do cadastro de produto

Return aCpo