Identificador de Regra

VEN-120ALPRE01

Módulo: VEN - Vendas.

Finalidade: alterar o preço unitário e o percentual de desconto do item de produto.

Características: é executado na tela de entrada de pedidos sempre que o preço unitário do item for alterado. Já na tela Entrada de Pedidos com Avaliação de Produto (F120GPC), o identificador em questão não é executado quando a tabela de preço for alterada por meio do Identificador VEN-120ALTPR01, independente se o preço foi ou não alterado, com a mudança da tabela de preço. Caso haja interesse em atribuir valores para os campos Preço Bruto, Percentual de Acréscimo, Percentual de Oferta e/ou Preço Unitário, após a alteração da tabela de preço na tela F120GPC, então deve ser feito o uso do Identificador VEN-120ALPRE02.

Já no que diz respeito às rotinas, em algumas delas, dado que todo processamento é feito em memória e grava o pedido somente no final da execução, não será possivel acessar o número do pedido na base antes de processar a inclusão, uma vez que ele não estará gravado. Em uma alteração, o número do pedido será válido. Nas telas de geração Agrupada e Individual essa situação não ocorre, ou seja, o identificador trará um número de pedido já presente na base de dados em qualquer situação.

Ao receber os valores VSPerAcr, VSBruRet e VSPerOfe de volta, o sistema analisa se o cálculo Preço Unitário = Preço Bruto - Oferta1 - Oferta2 - Oferta + Acréscimo é válido. Se o sistema encontrar divergências, ele invalida o retorno desses campos.

 

Transação: não se aplica.

Regras:

Exemplo 1:

Definir Numero VSPreUni;
Definir Numero VSPerDsc;

VSPreUni = VSPreUni / 0.95;
VSPerDsc = 5;
ArredondarValor(VSPreUni,5);

Exemplo 2:

//Variáveis só irão funcionar para rotina 120GPD 
definir alfa VenAConsistindoVen120ALTPR01;
definir alfa VenAConsistindoTabelaPreco;

//Validação para quando for WS não barrar o processo. 
se ((VenAConsistindoVen120ALTPR01 = "") ou (VenAConsistindoTabelaPreco = ""))
inicio
  @ nao faz nada @
fim
senao
inicio
  se (VenAConsistindoVen120ALTPR01 = "S")
  inicio
    @ nao faz nada @
  fim
  senao
  inicio
    se (VenAConsistindoTabelaPreco = "S")
    inicio
      @ nao faz nada @
    fim
    senao
    inicio
      mensagem(retorna, "");
    fim;
  fim;
fim; 

Variáveis Disponibilizadas:

Nome Tipo Observações Retorna Valor
VSCODCLI NÚMERO Código do Cliente N
VSCODPRO ALFA Código do Produto N
VSCODDER ALFA Código da Derivação N
VSUNIMED ALFA Unidade de Medida N
VSQTDPED NÚMERO Quantidade Pedida N
VSCODFAM ALFA Família do Produto N
VSTNSPRO ALFA Transação do Item de Produto N
VSCODTRD ALFA Código de Redução de ICMS N
VSPERICM NÚMERO Percentual de ICMS N
VSCODCPG ALFA Código da Condição de Pagamento N
VSCODTPR ALFA Código da Tabela de Preço N
VSCHAMADA ALFA Identifica a origem da chamada do identificador: se for da consistência do preço bruto, valor = BRUTO e se a chamada é originada na digitação do preço unitário, o valor é = UNITARIO N
VSESTADO ALFA Identifica o estado do registro no momento da chamada da regra: o valor INSERINDO ao inserir um registro e ALTERANDO ao alterar um registro já gravado N
VSPREBRU NÚMERO Preço bruto N
VSCODEMP NÚMERO Código da Empresa N
VSCODFIL NÚMERO Código da Filial N
VSNUMPED NÚMERO Número do Pedido N
VSPEROF1 NÚMERO Percentual de Oferta 1 dos dados gerais do pedido N
VSPEROF2 NÚMERO Percentual de Oferta 2 dos dados gerais do pedido N
VSTelaOrigem ALFA Representa uma tela em específico ou o processo do sistema responsável pela execução da rotina de pedido N
VSCodCpg ALFA Condição de Pagamento do Pedido N
VSCodTpr ALFA Código da Tabela de Preço do Item de Produto N
VSPerCom NÚMERO Percentual de Comissão do Item de Produto N
VSSeqIpd NÚMERO Sequência do item de produto do pedido N
VSCodDep ALFA Depósito do item de produto do pedido N
VSPREUNI NÚMERO Preço Unitário S
VSPERDSC NÚMERO Percentual de Desconto S
VSPEROFE NÚMERO Percentual de oferta S
VSPERACR NÚMERO Percentual de acréscimo do item de pedido S
VSBRURET NÚMERO Preço Bruto do item do pedido, mas essa variável retorna valor, ao contrário da VSPreBru S
VSInteracao ALFA Definir a natureza da alteração dos dados no pedido com os seguintes valores: INTERATIVO e AUTOMATICO, sendo: Interativo quando o usuário alterar os valores na tela e Automático quando o sistema faz alterações no pedido durante o processamento N
VSPreUniAnt NÚMERO Preço Unitário Anterior. Utilizada para que, ao incluir um item, a validação seja feita com base no preço inicial dele -
VenAConsistindoVen120ALTPR01 ALFA Sinaliza se o identificador de regra VEN-120ALTPR01 está em execução. Por padrão, essa variável fica em branco. Ela funciona apenas na tela F120GPD S
VenAConsistindoTabelaPreco ALFA Sinaliza se a tabela de preço foi alterada. Por padrão, essa variável fica em branco. Ela funciona apenas na tela F120GPD S

Atenção

Caso o parâmetro global LisVarReg esteja habilitado, a variável ListaVariaveis estará disponível em todos os identificadores de regras do sistema. O conteúdo desta variável lista os campos disponibilizados no identificador de regras em questão.

Não é aconselhada a ativação desse parâmetro global para o uso cotidiano. Esse recurso de listagem dos campos de identificadores auxilia a construção de regras e o Suporte para, por exemplo, depuração ou quando não houver acesso à documentação dos identificadores de regras.

Este artigo ajudou você?