Esta versão do sistema foi descontinuada e não recebe atualizações e novas implementações. Acesse a documentação da versão 5.10.3 aqui

Identificador de Regra

VEN-120ALPRE04

Módulo: VEN - Vendas.

Finalidade: esse identificador disponibiliza as mesmas variáveis do identificador VEN-120ALPRE03. Disponibiliza também todos os campos (exceto campos de usuário) das tabelas de item de produto do pedido (tabela E120IPD) e dados gerais do pedido (tabela E120PED). Os campos dessas tabelas podem ser acessados de forma simples sem declaração de variáveis, bastando utilizar o Nome_Da_Tabela ou Nome_Do_Campo no corpo da regra.

Ao utilizar o identificador de regra VEN-120ALPRE03 e o VEN-120ALPRE04 ao mesmo tempo, os valores de VSUniAnt, VSBruAnt, VSOfeAnt e VSAcrAnt do identificador VEN-120ALPRE04 serão os valores passados nas variáveis VSPreUni, VSPreBru, VSPerOfe e VSPerAcr do identificador VEN-120ALPRE03.

Caso não seja passado nenhum valor para as variáveis VSPreUni, VSPreBru, VSPerOfe e VSPerAcr no identificador VEN-120ALPRE03, o sistema considerará como 0. Dessa forma, as variáveis VSUniAnt, VSBruAnt, VSOfeAnt e VSAcrAnt do identificador VEN-120ALPRE04 ficarão zeradas.

Importante

Quando o pedido é gerado a partir de um web service, o sistema não executa os identificadores de regra VEN-120PREIP02 e VEN-120ALPRE04. Nesse caso, utilize os identificadores CPR-000CONIT01, VEN-120CONIP01, VEN-120CONDG01 ou VEN120CONDG03.

Tela: Pedidos.

Transação: não se aplica.

Regra:

Definir Numero VSPreUni;
Definir Numero VSPreBru;
Definir Numero VSPerOfe;
Definir Numero VSPerOf1;
Definir Numero VSPerOf2;
Definir Numero VSPerAcr;

Definir Numero VSUniAnt;
Definir Numero VSBruAnt;
Definir Numero VSOfeAnt;
Definir Numero VSPerOf1;
Definir Numero VSPerOf2;
Definir Numero VSAcrAnt;

Definir Numero VVlrCal;
Definir Numero VVlrDif;

VVlrCal = VSPreBru;

@ se o preço bruto é diferente ao bruto anterior, existe a necessidade de calcular o oferta ou acréscimo para o novo bruto, sem alterar o unitário@
se (VSPreBru <> VSBruAnt)
inicio
VVlrDif = VSPreBru - VSUniAnt;
Arredonda(VVlrDif, 5);
VSPreUni = VSUniAnt; @ Garante que o preço unitário seguirá fixo pois devolve o anterior ao atual@

se (VVlrDif = 0)
inicio
VSPerOfe = 0;
VSPerAcr = 0;
fim;

se ((VVlrDif < 0) e (VSPreBru > 0))
inicio
VSPerOfe = 0;
VSPerAcr = -VVlrDif * 100/VSPreBru ;
Arredonda(VSPerAcr, 2);
fim;

se ((VVlrDif > 0) e (VSPreBru > 0))
inicio
VSPerAcr = 0;
VSPerOfe = VVlrDif * 100/VSPreBru;
Arredonda(VSPerOfe, 2);
fim;
fim;

Variáveis Disponibilizadas:

Nome Tipo Observações Retorna Valor
VSCodEmp NÚMERO Empresa do pedido N
VSCodFil NÚMERO Filial do pedido N
VSNumPed NÚMERO Número do pedido N
VSUniAnt NÚMERO Preço Unitário anterior do item pedido (antes da busca da tabela) N
VSBruAnt NÚMERO Preço Bruto anterior do item pedido (antes da busca da tabela) N
VSOfeAnt NÚMERO Percentual de Oferta anterior do item do pedido (antes da busca da tabela ou sugestões) N
VSAcrAnt ALFA Percentual de Acréscimo anterior do item pedido (antes da busca da tabela) N
VSPerOf1 ALFA Percentual de Oferta 1 dos dados gerais do pedido N
VSPerOf2 ALFA Percentual de Oferta 2 dos dados gerais do pedido N
VSPreUni NÚMERO Preço Unitário do item do pedido (calculado conforme bruto obtido da tabela + acrésicmos e descontos) S
VSPreBru NÚMERO Preço Bruto do item do pedido (obtido da tabela) S
VSPerOfe NÚMERO Percentual de Oferta do item do pedido (informado manualmente ou obtido por sugestão) S
VSPerAcr NÚMERO Percentual de Acréscimo do item do pedido (informando manualmente ou obtido por sugestão) S
VSTelaOrigem ALFA Identifica o nome da tela de origem da chamada do identificador N
VSVldPre ALFA

Define qual operação será utilizada. Caso não passe uma operação coerente com as que podem ser passadas, o sistema atribuirá o valor padrão CSB.
Valores disponíveis:

  • CSB (Consistir Preço Bruto);
  • CSU (Consistir Preço Unitário);
  • CLB(Calcular Preço Bruto);
  • CLU (Calcular Preço Unitário).
N

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ê?