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.
|
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.