Não existe transação em curso quando o ponto de entrada está chamado depois o registo de uma linha (orçamento, encomenda, fatura, nota de crédito).
Existe uma transação em curso quando o ponto de entrada está chamado depois :
. O botão entrega depois a gestão encomenda, o botão validação depois a gestão entrega
As funções entrega automática das encomendas, validação automática das entregas.
. O botão fatura depois a gestão encomenda, o botão validação depois a gestão fatura
As funções faturação automática das encomendas, validação automática das faturas.
. A gestão dos contratos.
A criação de uma linha de nota de crédito com movimento de stock
A janela de modificação das saídas de stock em gestão das entregas.
A função de pagamento dos preços
Não existe ficheiro rasto aberto quando o ponto de entrada foi chamado no registo de uma linha (orçamento, encomenda, entrega, fatura, nota de crédito), a criação de uma linha de nota de crédito com movimento de stock, a janela de modificação das saídas de stock em gestão das entregas.
Existe um ficheiro rasto aberto quando se está nas funções de entrega ou faturação automática das encomendas, validação automatica das entregas ou das faturas, pagamento dos preços.
Uma variável global "GCALPFM" permite de identificar estes diferentes casos de chamadas.
GCALPFM = 0 Registo linha orçamento, encomenda, entrega, fatura ou nota de crédito.
GCALPFM = 1 Botão "entrega" ou função "entrega automática"
GCALPFM = 2 Botão "validação entrega" ou função "Validação das entregas"
GCALPFM = 3 Botão "fatura" (depois uma encomenda) ou função "faturação automática das encomendas"
GCALPFM = 4 Botão "validação fatura" ou função "validação das faturas"
GCALPFM = 5 Registo dos contratos
GCALPFM = 6 Criação de uma linha de nota de crédito com movimento de stock
GCALPFM = 7 Janela de modificação das saídas de stock em gestão das entregas.
GCALPFM = 8 Função de regularização dos preços
Poderá então ser necessário de testar esta variável para utilizar o bom contexto.
Este ponto de entrada é chamado :
. No caso de sub-programa de cálculo da margem ( GCALPFM=0 )
Este sub-programa é um sub-programa comum a todas as funções de venda Está chamado em cada registo de uma linha (orçamento, encomenda, entrega, fatura, nota de crédito), cada vez que é necessário de recalcular a margem :
Após registo da quantidade
Efetua-se a pesquisa tarifa cujo se recupera o preço bruto. Calcula-se em seguida o preço líquido e logo a margem
Após modificação do preço bruto ou de uma coluna despesas/desconto. Uma tal modificação engendra um recálculo do preço líquido e por consequência um recálculo da margem.
Após validação da linha
A classe ecrã ligada ao objecto tratado está carregada ([M:SQH], [M:SOH], [M:SDH], [M:SIH]). Encontra-se ao interior do sub-programa CALPFM
As variáveis seguintes são as variáveis passadas em parâmetro do sub-programa :
· MSK : Classe ecrã (Se não preenchido, MSK está carregado com [M])
· NLIG : Índice da linha no quadro.
· PRI : Preço líquido da linha
· VAT : Quadro dos 3 códigos taxas da linha (VAT(0), VAT(1), VAT(2))
· PRITYP : Tipo de preço do documento
· SIT : Estabelecimento de stock
LITM :Referência artigo
· CHGTYP : Tipo de cursos
DAT: Data do documento
CUR : Divisa do documento
COEF : Coeficiente de conversão unidade de enc/unidade de stock da linha
· INICPRPRI : "Flag" inicio do preço de custo (0=Sem início,1=Inic sem caz,2=Inic com caz)
· XSTOMGTCOD : "Flag" atualização dos stocks
As variáveis seguintes são variáveis de trabalho calculadas pelos sub-programas :
· PHTNET : Prieço líquido servindo ao cálculo da margem (preço líquido)
WQTY: Quantidade em unidade de stock
· COUTHT : Preço de custo calculado
As variáveis seguintes são variáveis calculadas e reenviadas pelos sub-programas :
· XPFM : Margem
· XCPRPRI : Preço de custo
O cálculo da margem e então o ponto de entrada são chamados unicamente quando a variável INICPRPRI está igual a 1 ou 2.
. No momento de entrega de uma encomenda por botão ou para a função de entrega automática ( GCALPFM=1 )
O recálculo da margem se efetua no momento de alimentação da linha detalhe a partir da linha detalhe encomenda no momento da criação de uma linha de entrega. Situa-se justo antes o registo da linha detalhe entrega.
Os buffers [F :SOH], [F :SOQ], [F :SOP] são carregados com a encomenda a entregar. [F :SDH], [F :SDD] são carregados com a entrega em curso de criação Os buffers [F :ITM], [F :ITS], estão carregados com o artigo.
. No momento da validação de uma entrega por botão ou para a função validação automática das entregas ( GCALPFM=2 )
O recálculo da margem se efetua para os artigos geridos em stock, antes a atualização dos stocks
Os buffers [F :SDH], [F :SDD] estão carregados assim que os buffers [F :ITM], [F :ITS].
. No momento da faturação de um encomenda por botão ou para a função de faturação automática das encomendas ( GCALPFM=3 )
O cálculo da margem se efetua no momento de alimentação da linha detalhe fatura a partir da linha detalhe encomenda no momento da criação de uma linha de fatura. Situa-se justo antes o registo da linha detalhe entrega.
Os buffers [F :SOH], [F :SOP], [F :SOQ] são carregados com a encomenda a faturar. [F :SIH], [F :SIV], [F :SID] são carregados com a fatura em curso de criação. Os buffers [F :ITM], [F :ITS], estão carregados com o artigo.
. No momento da validação de uma fatura por botão ou para a função validação automática das faturas ( GCALPFM=4 )
O recálculo da margem se efetua para as faturas de encomendas, para os artigos geridos em stock, e isto antes a atualização dos stocks.
Os buffers [F :SIH], [F :SIV], [F :SDD] estão carregados assim que os buffers [F :ITM], [F :ITS].
. Na gestão dos contratos (GCALPFM=5)
O recálculo da margem se efetua no momento da modificação de um contrato se o regime de taxa foi modificado. Com efeito, é necessário, para cada linha artigo, de refazer a pesquisa dos códigos taxas. Se as linhas de preço foram registadas para esta linha artigo, falta igualmente recalcular os preços líquido e bruto e a margem.
Este tratamento se efetua no momento do registo da modificação, numa transação de atualização do contrato, ao nível da ação AVANT_MODFIC.
Os buffers [F :SOH], [F :SOC], [F :SOP] estão carregados com o contrato, a linha artigo e a linha de preço A classe ecrã [M:SOR1] está igualmente carregada com o contrato. Os buffers [F :ITM], [F :ITS], estão carregados com o artigo.
. No momento de criação de uma linha de nota de crédito com movimento de stock para um artigo cuja base de cálculo de margem é o preço médio lote ( GCALPFM=6 )
O cálculo da margem está re-efetuado no momento da criação da linha. Neste nível, o contexto não é o mesmo que no momento do registo da linha. O cálculo se efetua na ação INICRE_LIG do objecto, no momento de alimentação da linha detalhe fatura [F:SID] a partir do ecrã [M:SIH4]. A variável NOL (nolign-1) contém o índice da linha em curso de criação de quadro das linhas [M:SIH4].
Os buffers [F :SIH], [F :SIV], [F :SID] estão carregados com a nota de crédito em curso de criação. Os ecrãs de objeto fatura são carregados com a entrega em curso de criação. Situa-se justo antes registo do registo [F:SID]. Os registos [F :SIH], [F :SIV], estão escritos. Os buffers [F :ITM], [F :ITS], estão carregados com o artigo.
. No momento da sua modificação das saidas de stocks sobre uma entrega validada depois o click direito sobre as linhas "Modificação das saídas" em gestão das entregas ( GCALPFM=7 )
A modificação das saídas pode registar um recálculo de preço de custo no caso onde se modifica o lote e ou a base de cálculo de margem é o preço médio lote. O cálculo se efetua na ação ENR da ação SAISTOSORM no momento das atualizações complementares efetuadas após registo das modificações nos stocks.
Os buffers [F :SDH], [F :SDD], estão carregados com a entrega. Os buffers [F :ITM], [F :ITS] estão carregados com o artigo. A classe ecrã [M:SOM] (ecrã de modificação das saidas) está em linha.
. No momento da regularização dos preços depois a função regularização dos preços ( GCALPFM=8 )podendo atualizar o valor dos movimentos de stock ligados a uma entrega
Esta função pode atualizar o valor dos movimentos de stocks ligados a uma entrega. Ela recalcula o PMP assim que as margens.
Os buffers [F :SDH], [F :SDD], estão carregados com a entrega. Os buffers [F :ITM], [F :ITS], estão carregados com o artigo.
Em todos os casos.
A variável COUTHT contém o preço de custo calculado.
O ponto de entrada se situa justo após à chamada ao sub-programa de cálculo do preço de custo e justo antes o cálculo da margem. As variáveis seguintes são utilizadas :
· WPOINT_COUT (local decimal) :
Ela está declarada antes a chamada do ponto de entrada. É o custo suplementar a impactar sobre a margem. O ponto de entrada deve alimentar.
· WPOINT_RET (local integer) :
Ela está inicializada a 0 antes a chamada do ponto de entrada. É a variável de estatuto de devolução O ponto de entrada deve posicioná-la a 1 para que WPOINT_COUT seja utilizado.
O ponto de entrada deve então posicionar estas 2 variáveis.
Na saida do ponto de entrada, se WPOINT_RET vale 1, o novo preço de custo está calculado :
COUTHT= COUTHT+WPOINT_COUT
A margem está calculada :
PFM=PHTNET-COUTHT
Notes importantes :
O preço de custo X3 está calculado na divisa da sociedade (dado pela variável global GLOCALDEV). Está convertido na divisa do documento se esta divisa é diferente de GLOCALDEV.
Falta então que WPOINT_COUT seja reenviado na divisa do documento.
O preço de custo X3 está calculado em unidade de stock. É convertido em unidade de encomenda. (Multiplica-se pela variável COEF que é o coeficiente de conversão UV-US)
Falta então que WPOINT_COUT seja enviado em unidade de encomenda.
O sub-programa de cálculo de margem sendo comum a todas as funções, é necessário de conhecer o contexto, falta utilizar a variável GCALPFM tal que indicada anteriormente.
Este ponto de entrada afeta o cálculo do preço de custo e da margem nas vendas.
Permite intervir diretamente sobre o preço de custo calculado e a margem afim de as modificar.
É chamado em cada tratamento efetuando um cálculo de margem.
Não existe transação em curso quando o ponto de entrada está chamado depois o registo de uma linha (orçamento, encomenda, fatura, nota de crédito).
Existe uma transação em curso quando o ponto de entrada está chamado depois :
. O botão entrega depois a gestão encomenda, o botão validação depois a gestão entrega
As funções entrega automática das encomendas, validação automática das entregas.
. O botão fatura depois a gestão encomenda, o botão validação depois a gestão fatura
As funções faturação automática das encomendas, validação automática das faturas.
. A gestão dos contratos.
A criação de uma linha de nota de crédito com movimento de stock
A janela de modificação das saídas de stock em gestão das entregas.
A função de pagamento dos preços
Não existe ficheiro rasto aberto quando o ponto de entrada foi chamado no registo de uma linha (orçamento, encomenda, entrega, fatura, nota de crédito), a criação de uma linha de nota de crédito com movimento de stock, a janela de modificação das saídas de stock em gestão das entregas.
Existe um ficheiro rasto aberto quando se está nas funções de entrega ou faturação automática das encomendas, validação automatica das entregas ou das faturas, regularização dos preços.
Uma variável global "GCALPFM" permite de identificar estes diferentes casos de chamadas.
GCALPFM = 0 Registo linha orçamento, encomenda, entrega, fatura ou nota de crédito.
GCALPFM = 1 Botão "entrega" ou função "entrega automática"
GCALPFM = 2 Botão "validação entrega" ou função "Validação das entregas"
GCALPFM = 3 Botão "fatura" (depois uma encomenda) ou função "faturação automática das encomendas"
GCALPFM = 4 Botão "validação fatura" ou função "validação das faturas"
GCALPFM = 5 Registo dos contratos
GCALPFM = 6 Criação de uma linha de nota de crédito com movimento de stock
GCALPFM = 7 Janela de modificação das saídas em gestão das entregas.
GCALPFM = 8 Função de regularização dos preços
Poderá então ser necessário de testar esta variável para utilizar o bom contexto.
Este ponto de entrada é chamado :
. No caso de sub-programa de cálculo da margem ( GCALPFM=0 )
Este sub-programa é um sub-programa comum a todas as funções de venda. Está chamado em cada registo de uma linha (orçamento, encomenda, entrega, fatura, nota de crédito), cada vez que é necessário de recalcular a margem :
Após registo da quantidade
Efetua-se a pesquisa tarifa cujo se recupera o preço bruto. Calcula-se em seguida o preço líquido e logo a margem
Após modificação do preço bruto ou de uma coluna despesas/desconto. Uma tal modificação engendra um recálculo do preço líquido e por consequência um recálculo da margem.
Após validação da linha
A classe ecrã ligada ao objecto tratado está carregada ([M:SQH], [M:SOH], [M:SDH], [M:SIH]). Encontra-se no interior do sub-programa CALPFM
As variáveis seguintes são as variáveis passadas em parâmetro do sub-programa :
· MSK : Classe ecrã (Se não preenchido, MSK está carregado com [M])
· NLIG : Índice da linha no quadro.
· PRI : Preço líquido da linha
· VAT : Quadro dos 3 códigos taxas da linha (VAT(0), VAT(1), VAT(2))
· PRITYP : Tipo de preço do documento
· SIT : Estabelecimento de stock
LITM :Referência artigo
· CHGTYP : Tipo de cursos
DAT: Data do documento
CUR : Divisa do documento
COEF : Coeficiente de conversão unidade de enc/unidade de stock da linha
· INICPRPRI : "Flag" inicio do preço de custo (0=Sem início,1=Inic sem caz,2=Inic com caz)
· XSTOMGTCOD : "Flag" atualização dos stocks
As variáveis seguintes são variáveis de trabalho calculadas pelos sub-programas :
· PHTNET : Prieço líquido servindo ao cálculo da margem (preço líquido)
WQTY: Quantidade em unidade de stock
· COUTHT : Preço de custo calculado
As variáveis seguintes são variáveis calculadas e reenviadas pelos sub-programas :
· XPFM : Margem
· XCPRPRI : Preço de custo
O ponto de entrada foi chamado qualquer que seja o valor da variável INICPRPRI.
. No momento de entrega de uma encomenda por botão ou para a função de entrega automática ( GCALPFM=1 )
O recálculo da margem se efetua no momento de alimentação da linha detalhe a partir da linha detalhe encomenda no momento da criação de uma linha de entrega. Situa-se justo antes o registo da linha detalhe entrega.
Os buffers [F :SOH], [F :SOQ], [F :SOP] são carregados com a encomenda a entregar. [F :SDH], [F :SDD] são carregados com a entrega em curso de criação Os buffers [F :ITM], [F :ITS], estão carregados com o artigo.
. No momento da validação de uma entrega por botão ou para a função validação automática das entregas ( GCALPFM=2 )
O recálculo da margem se efetua para os artigos geridos em stock, antes a atualização dos stocks
Os buffers [F :SDH], [F :SDD] estão carregados assim que os buffers [F :ITM], [F :ITS].
. No momento da faturação de um encomenda por botão ou para a função de faturação automática das encomendas ( GCALPFM=3 )
O cálculo da margem se efetua no momento de alimentação da linha detalhe fatura a partir da linha detalhe encomenda no momento da criação de uma linha de fatura. Situa-se justo antes o registo da linha detalhe entrega.
Os buffers [F :SOH], [F :SOP], [F :SOQ] estão carregados com a encomenda a faturar. [F :SIH], [F :SIV], [F :SID] são carregados com a fatura em curso de criação. Os buffers [F :ITM], [F :ITS], estão carregados com o artigo.
. No momento da validação de uma fatura por botão ou para a função validação automática das faturas ( GCALPFM=4 )
O recálculo da margem se efetua para as faturas de encomendas, para os artigos geridos em stock, e isto antes a atualização dos stocks.
Os buffers [F :SIH], [F :SIV], [F :SDD] estão carregados assim que os buffers [F :ITM], [F :ITS].
. Na gestão dos contratos (GCALPFM=5)
O recálculo da margem se efetua no momento da modificação de um contrato se o regime de taxa foi modificado. Com efeito, é necessário, para cada linha artigo, de refazer a pesquisa dos códigos taxas. Se as linhas de preço foram registadas para esta linha artigo, falta igualmente recalcular os preços líquido e bruto e a margem.
Este tratamento se efetua no momento do registo da modificação, numa transação de atualização do contrato, ao nível da ação AVANT_MODFIC.
Os buffers [F :SOH], [F :SOC], [F :SOP] estão carregados com o contrato, a linha artigo e a linha de preço A classe ecrã [M:SOR1] está igualmente carregada com o contrato. Os buffers [F :ITM], [F :ITS], estão carregados com o artigo.
. No momento de criação de uma linha de nota de crédito com movimento de stock para um artigo cuja base de cálculo de margem é o preço médio do lote ( GCALPFM=6 )
O cálculo da margem está re-efetuado no momento da criação da linha. Neste nível, o contexto não é o mesmo que no momento do registo da linha. O cálculo se efetua na ação INICRE_LIG do objecto, no momento de alimentação da linha detalhe fatura [F:SID] a partir do ecrã [M:SIH4]. A variável NOL (nolign-1) contém o índice da linha em curso de criação de quadro das linhas [M:SIH4].
Os buffers [F :SIH], [F :SIV], [F :SID] estão carregados com a nota de crédito em curso de criação. Os ecrãs de objeto fatura são carregados com a entrega em curso de criação. Situa-se justo antes da escrita do registo [F:SID]. Os registos [F :SIH], [F :SIV], estão escritos. Os buffers [F :ITM], [F :ITS], estão carregados com o artigo.
. No momento da sua modificação das saidas de stocks sobre uma entrega validada depois o click direito sobre as linhas "Modificação das saídas" em gestão das entregas ( GCALPFM=7 )
A modificação das saídas pode registar um recálculo de preço de custo no caso onde se modifica o lote e ou a base de cálculo de margem é o preço médio lote. O cálculo se efetua na ação ENR da ação SAISTOSORM no momento das atualizações complementares efetuadas após registo das modificações nos stocks.
Os buffers [F :SDH], [F :SDD], estão carregados com a entrega. Os buffers [F :ITM], [F :ITS] estão carregados com o artigo. A classe ecrã [M:SOM] (ecrã de modificação das saidas) está em linha.
. No momento da regularização dos preços depois a função regularização dos preços ( GCALPFM=8 )podendo atualizar o valor dos movimentos de stock ligados a uma entrega
Esta função pode atualizar o valor dos movimentos de stocks ligados a uma entrega. Ela recalcula o PMP assim que as margens.
Os buffers [F :SDH], [F :SDD] estão carregados com a entrega assim que os buffers [F :ITM], [F :ITS].
Em todos os casos.
O ponto de entrada se situa justo após à chamada ao sub-programa de cálculo do preço de custo e justo antes o cálculo da margem.
A variável XPFM contém a margem calculada.
A variável XCPRPRI contém o preço de custo calculado.
Este ponto de entrada permite intervir sobre estas 2 variáveis.
Notes importantes :
O preço de custo XCPRPRI e a margem XPFM são calculados por unidade de venda e na divisa do documento.
Estes 2 valores devem estar arredondados em função do número de decimais do preço GDECPRI
O sub-programa de cálculo de margem sendo comum a todas as funções, é necessário conhecer o contexto, falta utilizar a variável GCALPFM tal que ela é indicada precedentemente.
Este ponto de entrada afeta o cálculo da margem das vendas.
Permite intervir no momento de afixação da mensagem de advertência utilizador que a margem é inferior à margem mínima definida no artigo venda. Permite seja de modificar seja de não fazer o controlo.
É chamado no momento de cada controlo do cálculo de margem.
Não existe transação em curso.
Não existe ficheiro rasto aberto.
O PE está chamado no sub-programa CTLPFM do controlo da margem.
O sub-programa está chamado no momento do registo de linhas de orçamentos,encomendas, contrato-artigo, entregas, faturas, em fim de linha e a cada vez que se modifica um elemento entrando no cálculo da margem (após cada pesquisa tarifa, após modificação do estabelecimento, despesas/descontos, do preço de custo). Este sub-programa é comum a todas as funções de venda
A classe ecrã ligada ao objeto tratado está carregado ([M:SQH], [M:SOH], [M:SDH], [M:SIH], [M:SOI]). Encontra-se no interior do sub-programa CTLPFM
As variáveis seguintes são as variáveis passadas em parâmetro do sub-programa :
CUR : Divisa do documento
· XCPRPRI : Preço de custo da linha
· NLIG : Índice da linha no quadro. Não preenchidos e não significativo se contrato-artigo
As variáveis seguintes são utilizadas :
· WITMREF : Referência artigo
· WSAU : Unidade de venda
· PFMRAT : % de margem calculada.
Quando o PE está chamado, o cálculo da % de margem foi realizada, esta % é inferior à % mínima definida no artigo-venda.
GMESSAGE está carregada com a mensagem a afixar.
O PE permite modificar esta mensagem Para tal, falta modificar a variável GMESSAGE. Se GMESSAGE está colocada a branco, nenhuma mensagem será afixada e o controlo não estará ativo (sem advertência ou sem bloqueio).
No quadro a seguir, a flag conteúdo significativo significa que o conteúdo está em fase com o contexto (o cliente corrente está carregado…).
Tabela | Conteúdo significativo | Título Tabela |
ITMSALES | Sim | Artigo venda |
Este ponto de entrada afeta o controlo do preço líquido nas vendas.
Permite intervir no momento de afixação da mensagem de advertência utilizador que o preço líquido é inferior ao preço limite inferior no artigo venda. Permite seja de modificar seja de não fazer o controlo.
É chamado no momento de cada controlo do cálculo do preço líquido.
Não existe transação em curso.
Não existe ficheiro rasto aberto.
O PE está chamado no sub-programa CTLNETPRI do controlo do preço líquido.
Este sub-programa está chamado no momento do registo de linhas de orçamentos,encomendas, contrato-artigo, entregas, faturas, em fim de linha e a cada vez que se modifica um elemento entrando no cálculo do preço líquido (após cada pesquisa tarifa, após modificação do coeficiente de conversão UV-US, das despesas/descontos). Este sub-programa é comum a todas as funções de venda
A classe ecrã ligada ao objeto tratado está carregado ([M:SQH], [M:SOH], [M:SDH], [M:SIH], [M:SOI]). Encontra-se ao interior do sub-programa CTLNETPRI.
As variáveis seguintes são as variáveis passadas em parâmetro do sub-programa :
· BPC : Cliente
· CHGTYP : Tipo de preço
· DAT : Data
· CUR : Divisa
· NLIG : Índice da linha no quadro. Não preenchidos e não significativo se contrato-artigo
As variáveis seguintes são utilizadas :
· WITMREF : Referência artigo
· WSAU : Unidade de venda
· WNETPRINOT : Prix net HT
· MONT : Preço limite inferior calculado (convertido no limite unidade e a boa divisa).
Quando o PE está chamado, o cálculo do preço líquido foi realizado, este preço líquido é inferior ao preço linite inferior definido no artigo venda.
GMESSAGE está carregada com a mensagem a afixar.
O PE permite modificar esta mensagem Para tal, falta modificar a variável GMESSAGE. Se GMESSAGE está colocada a branco, nenhuma mensagem será afixada e o controlo não estará ativo (sem advertência ou sem bloqueio).
No quadro a seguir, a flag conteúdo significativo significa que o conteúdo está em fase com o contexto (o cliente corrente está carregado…).
Tabela | Conteúdo significativo | Título Tabela |
ITMSALES | Sim | Artigo venda |
ITMMASTER | Sim | Artigo |
Este ponto de entrada afeta o cálculo do preço líquido e bruto e da margem nas vendas.
Permite intervir antes o cálculo da margem no momento do preço líquido e do preço bruto.
É chamado no momento do registo de uma linha de documento venda (orçamento, encomeda, fatura, nota de crédito)
Não existe transação em curso.
Não existe ficheiro rasto aberto.
Uma variável WABREV permite identificar o contexto e mais particularmente o documento tratado :
WABREV= SQH2 Registo linha orçamento
WABREV= SOH4 Registo linha encomenda
WABREV= SDH1 Registo linha entrega
WABREV= SIH4 Registo linha fatura
Este ponto de entrada está chamado no sub-programa de cálculo da margem. Este sub-programa é um sub-programa comum a todas as funções de venda. Está chamado em cada registo de uma linha (orçamento, encomenda, entrega, fatura, nota de crédito), cada vez que é necessário de recalcular a margem :
Após registo da quantidade
Efetua-se a pesquisa tarifa cujo se recupera o preço bruto. Calcula-se em seguida o preço líquido e a margem.
Após modificação do preço bruto ou de uma coluna despesas/desconto. Uma tal modificação engendra um recálculo do preço líquido e da margem.
Após validação da linha
A classe ecrã ligada ao objecto tratado está carregada ([M:SQH], [M:SOH], [M:SDH], [M:SIH]). Encontra-se no interior do sub-programa CALPFM
As variáveis seguintes são as variáveis passadas em parâmetro do sub-programa :
· MSK : Classe ecrã (Se não preenchido, MSK está carregado com [M])
NLIG : : Índice da linha no quadro.
· PRI : Preço líquido da linha
· VAT : Quadro dos 3 códigos taxas da linha (VAT(0), VAT(1), VAT(2))
· PRITYP : Tipo de preço do documento
- SIT : Estabelecimento de stock
- LITM Referência artigo.
· CHGTYP : Tipo de câmbio
- DAT : Data do documento
- CUR : Divisa do documento
- COEF : Coeficiente de conversão unidade de enc/unidade de stock da linha
· INICPRPRI : "Flag" inicio do preço de custo (0=Sem início,1=Inic sem caz,2=Inic com caz)
· XSTOMGTCOD : "Flag" atualização dos stocks
As variáveis seguintes são variáveis de trabalho calculadas pelos sub-programas :
. LQTY : Quantidade em unidade de venda
. WITMREF : Referência artigo.
. LCLCAMT1 : Montante de base de cálculo de taxa1
. LCLCAMT2 : Montante de base de cálculo de taxa2
O ponto de entrada se situa antes a chamada ao sub-programa de cálculo do preço líquido em função do preço líquido no caso de um documento em líquido, ou do preço líquido em função do preço líquido bruto num caso de um documento Bruto.
O sub-programa de cálculo de margem sendo comum a todas as funções, é necessário conhecer o contexto, falta utilizar a variável WABREV tal que ela é indicada precedentemente.