Case Exemplo Tabela Precos Dinamica/Encerramento Tabela Pessoa

Fonte: Touch ERP
Saltar para a navegação Saltar para a pesquisa

1538_Tabela_Precos_Dinamica

Este caso/exemplo ilustra a aplicação prática de uma tabela de preços dinâmica como substituto da tabela de preços pessoal, um módulo recentemente descontinuado. Para uma abordagem mais avançada, o exemplo será expandido para incluir uma indústria que opera com esquemas de comissionamento diferenciados para cada representante.

1- Antes de começar

  • Tabela de Preços Base

Para que a tabela dinâmica funcione de forma adequada, é necessário possuir o registro 177 - Tabela de Preços Base Cadastrado. Para mais informações, consulte: 177_Tabela_Precos_Base

  • Faça o Planejamento

Recomendamos que seja feito um esboço, utilizando o bloco de notas, para estabelecer os critérios e condições a serem aplicados aos avaliadores de desempenho. A título de exemplo, vamos considerar as seguintes diretrizes para o comissionamento dos representantes com base nas vendas:

  • Lucas: Será atribuída uma comissão de 5% sobre o valor de venda para todos os itens comercializados.
  • Bruno: Receberá uma comissão de 10% sobre o valor de venda, porém exclusivamente para produtos destinados à revenda.
  • Demais Representantes: Não receberão comissão sobre as vendas realizadas.

2- Cadastre os avaliadores de Preço e comissão

Neste exemplo, os avaliadores serão simples, pois não será necessário cálculos adicionais. Para replicar o valor de venda da tabela base, vincule o token Valor Venda (x), incluso no recurso de Avaliação de Expressões, aba Fórmula.

3- Cadastre as condições de aplicações de preços e tabelas

Defina as condições no recurso Avaliação de Expressões. Selecione o tipo de Item Variáveis para cálculo preço pedido.

Avaliador Preço Padrão

Condição de Aplicação: 1

Fórmula: @valorVenda@

Avaliador Comissão Lucas

Representante Lucas possui o identificador igual a 1.

Condição de Aplicação: @id_representante@ == 1

Fórmula: 5

Avaliador Comissão Bruno

Representante Lucas possui o identificador igual a 2. A espécie de Revenda possui o identificador igual a 5.

Condição de Aplicação: @id_representante@ == 2 && @id_especie@ == 5

Fórmula: 10

Avaliador Comissão Padrão

Aqui, é importante construir as exceções:

Condição de Aplicação: @id_representante@ != 1 && @id_representante@ != 2

Fórmula: 0

5- Construa a Tabela Dinamica

Faça a criação do recurso 1538, utilizando os avaliadores criados.

6- Defina a ordem de pesquisa

Este item, apesar do ultimo passo, é importante como visto no recurso 1538 que a política e planejamento de preços deve ser o primeiro item a ser definido.

Informe conforme os produtos que utilizar da Touch Comp a configuração de pesquisa abaixo. Lembre também de mudar para Tabela De Preços Dinâmica.

Configuração: 1;2;5;3,7;3;9; Esta é a configuração padrão, você pode simplificá-la para ganhar performance.

  • 107 - Opções de Faturamento

Majoração/Minoração de Preços

O Touch Comp ERP possui a capacidade de ajustar automaticamente o preço sugerido na tabela de preços base, conforme a inclusão de juros para cada condição de pagamento.

Na tabela de preços pessoa, o cálculo era realizado internamente, permitindo a majoração ou minoração do valor unitário do item ao incluir o percentual no recurso 104 - Condições de Pagamento.

A fórmula interna ocorria da seguinte forma: ((valorTotalNota * (condicoesPagamento.getMajoracaoPreco() / 100)) / 30) * nrDiasMedios)

Para melhor entendimento, vamos dividi-la em partes:

  • valorTotalNota:

Este é o valor total da nota fiscal, ou seja, o preço original do produto ou serviço antes de qualquer alteração.

  • condicoesPagamento.getMajoracaoPreco:

Aqui, estamos acessando as condições de pagamento para obter a porcentagem de majoração do preço. Se o valor retornado for positivo, indica que há um acréscimo no preço; se for negativo, indica um desconto.

  • nrDiasMedios: Este é o número de dias médios informados na condição de pagamento.

Agora, vamos à operação:

  • (condicoesPagamento.getMajoracaoPreco() / 100): Aqui, estamos convertendo a porcentagem de majoração em um valor decimal, dividindo por 100.
  • valorTotalNota * (condicoesPagamento.getMajoracaoPreco() / 100): Esta parte calcula o valor do acréscimo ou desconto com base na porcentagem e no preço total.
  • ((valorTotalNota * (condicoesPagamento.getMajoracaoPreco() / 100)) / 30): Agora, estamos dividindo esse valor pelo número de dias médios (30) para calcular o valor do acréscimo ou desconto por dia.
  • ((valorTotalNota * (condicoesPagamento.getMajoracaoPreco() / 100)) / 30) * nrDiasMedios): Por fim, multiplicamos esse valor pelo número de dias médios informados na condição de pagamento para obter o total do acréscimo ou desconto.

Então, no final, a fórmula realiza um cálculo para determinar o valor do acréscimo ou desconto com base na porcentagem de majoração/preço e no número de dias médios informados na condição de pagamento, que poderá ser utilizada para ajustar o preço de venda final.

Transformando para a estrutura padrão da Avaliação de Expressões:

  • ((((@valorVenda@ * @majoracaoPreco@) / 100) / 30) * @pre_nr_dias_medios_cond_pag@) + @valorVenda@

Por fim, foi adicionado a somatória do acrescimo/desconto encontrado sob o valor de venda vinculado na tabela base.