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.