<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pt-BR">
	<id>http://wiki.geosales.com.br:8000/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Leo2s</id>
	<title>GeoSales - Contribuições do(a) usuário(a) [pt-br]</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.geosales.com.br:8000/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Leo2s"/>
	<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php/Especial:Contribui%C3%A7%C3%B5es/Leo2s"/>
	<updated>2026-05-05T14:50:17Z</updated>
	<subtitle>Contribuições do(a) usuário(a)</subtitle>
	<generator>MediaWiki 1.35.0</generator>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Busca_de_produtos_por_Refer%C3%AAncia&amp;diff=15158</id>
		<title>Busca de produtos por Referência</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Busca_de_produtos_por_Refer%C3%AAncia&amp;diff=15158"/>
		<updated>2021-04-12T14:44:33Z</updated>

		<summary type="html">&lt;p&gt;Leo2s: Desfeita a edição 15157 de Ramon.queiroz (Discussão)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Histórico de Alterações ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data&lt;br /&gt;
! Quem &lt;br /&gt;
! Comentários &lt;br /&gt;
|-&lt;br /&gt;
|  12/04/2021  || João Ramon || Criação do documento &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
&lt;br /&gt;
Ao realizar estoques de produtos, muitas vezes é necessário possuir mais de um fornecedor, a fim de que tal produto esteja sempre disponível. Para fins de cadastro, um produto com as mesmas especificações (tomemos como exemplo parafusos com mesmas dimensões e tamanhos, ou fios com mesma bitola e corrente máxima, etc), possuem o mesmo '''código de referência''', muito embora possuam códigos de produtos diferenciados. Na plataforma GeoSales, ao realizar um determinado tipo de consulta de produtos na tela de pedidos, ao pesquisar o produto pela sua referência, o portal irá retornar todos os produtos vinculados a este código de referência, mas o contrário não se obseva; Ao realizar a pesquisa por meio de um produto, o portal retornará apenas o produto especificado, e não as vinculações dos códigos de referência. Haja visto que tal pesquisa é de fundamental importância para o cliente, aponta-se a necessidade de, ao realizar pesquisa por código de produto, o sistema consiga retornar todos os produtos com o código de referência a eles vinculados.&lt;br /&gt;
&lt;br /&gt;
== Solução ==&lt;br /&gt;
&lt;br /&gt;
== Implementação ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Cenários ==&lt;br /&gt;
&lt;br /&gt;
Para a formação e entendimento dos cenários considere a seguinte tabela:&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! CD_PRODUTO&lt;br /&gt;
! CD_REFERENCIA&lt;br /&gt;
|-&lt;br /&gt;
| P001 || R001&lt;br /&gt;
|-&lt;br /&gt;
| P002 || R001&lt;br /&gt;
|-&lt;br /&gt;
| P003 || R002&lt;br /&gt;
|-&lt;br /&gt;
| P004 || R002&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Aqui temos 4 produtos cadastrados, vinculados a 2 referencias distintas.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 1 (Pesquisa atual por referência) ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ao realizar a pesquisa na tela de produtos no acompanhamento de vendas, caso seja desejado verificar qual(is) produto(s) está(ão) cadastrado(s) em determinada referência, realizo, por exemplo, a pesquisa digitando 'R001'.&lt;br /&gt;
&lt;br /&gt;
A pesquisa retornará os dados constantes da tabela abaixo:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! CD_PRODUTO&lt;br /&gt;
! CD_REFERENCIA&lt;br /&gt;
|-&lt;br /&gt;
| P001 || R001&lt;br /&gt;
|-&lt;br /&gt;
| P002 || R001&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Ou seja, pela pesquisa, sabemos que os produtos P001 e P002 estão vinculados à referência R001.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 2 (Pesquisa atual por produto) ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ao realizar a pesquisa na tela de produtos no acompanhamento de vendas, caso seja desejado verificar qual(is) referências(s) está(ão) cadastrada(s) em determinado(s) produto(s), realizo, por exemplo, a pesquisa digitando 'P001'.&lt;br /&gt;
&lt;br /&gt;
A pesquisa retornará os dados constantes da tabela abaixo:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! CD_PRODUTO&lt;br /&gt;
! CD_REFERENCIA&lt;br /&gt;
|-&lt;br /&gt;
| P001 || R001&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Ou seja, pela pesquisa, sabemos que o produto P001 está vinculado à referência R001, '''mas a busca não traz, por exemplo, o produto P003, cuja referência também é R001.'''&lt;br /&gt;
&lt;br /&gt;
=== Cenário 3 (Pesquisa desejada por referência) ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ao realizar a pesquisa na tela de produtos no acompanhamento de vendas, caso seja desejado verificar qual(is) produto(s) está(ão) cadastrado(s) em determinada referência, realizo, por exemplo, a pesquisa digitando 'R002'.&lt;br /&gt;
&lt;br /&gt;
A pesquisa retornará os dados constantes da tabela abaixo:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! CD_PRODUTO&lt;br /&gt;
! CD_REFERENCIA&lt;br /&gt;
|-&lt;br /&gt;
| P003 || R002&lt;br /&gt;
|-&lt;br /&gt;
| P004 || R002&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Ou seja, pela pesquisa, sabemos que os produtos P003 e P004 estão vinculados à referência R002. Em outras palavras, vimos que o cenário 3 possui mecanismo de pesquisa idêntico ao Cenário 1 e, portanto, já atende ao Cenário desejado.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Cenário 4 (Pesquisa desejada por produto) ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ao realizar a pesquisa na tela de produtos no acompanhamento de vendas, caso seja desejado verificar qual(is) referências(s) está(ão) cadastrada(s) em determinado(s) produto(s), realizo, por exemplo, a pesquisa digitando 'P001'.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A pesquisa retornará os dados constantes da tabela abaixo:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! CD_PRODUTO&lt;br /&gt;
! CD_REFERENCIA&lt;br /&gt;
|-&lt;br /&gt;
| P001 || R001&lt;br /&gt;
|-&lt;br /&gt;
| P002 || R001&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Ou seja, pela pesquisa, sabemos que os produtos P001 e P002 estão vinculados à referência R001. À semelhança do Cenário 1, os valores obtidos são similares, ''com a diferença'' que o meio de busca não foi por meio da '''referência''', mas dos '''produtos vinculados à ela'''.&lt;br /&gt;
&lt;br /&gt;
== Regras de Negócios ==&lt;br /&gt;
&lt;br /&gt;
'''[RN1] - ''' &lt;br /&gt;
&lt;br /&gt;
'''[RN2] - ''' &lt;br /&gt;
&lt;br /&gt;
'''[RN3] - ''' &lt;br /&gt;
&lt;br /&gt;
=== Protótipos ===&lt;br /&gt;
&lt;br /&gt;
== Aprovação ==&lt;br /&gt;
&lt;br /&gt;
Considero aprovada a documentação da funcionalidade especificada acima, e autorizo a implementação da mesma no Sistema GeoSales, em nome da Organização a qual estou vinculado. &lt;br /&gt;
&lt;br /&gt;
=== GeoSales ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Desenvolvimento - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|- &lt;br /&gt;
| Integração - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
| Configurações - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Empresa solicitante === &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
! Assinatura&lt;br /&gt;
|-&lt;br /&gt;
| Gerente TI - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente de Projeto - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente Comercial - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Leo2s</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=15121</id>
		<title>Precificação</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=15121"/>
		<updated>2021-04-08T22:32:07Z</updated>

		<summary type="html">&lt;p&gt;Leo2s: /* Cenário 4 ( Fórmula com utilização de Quantidade) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Histórico de Alterações ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data&lt;br /&gt;
! Quem &lt;br /&gt;
! Comentários &lt;br /&gt;
|-&lt;br /&gt;
| 01/10/2020  || Ana Júlia || Criação do documento &lt;br /&gt;
|-&lt;br /&gt;
| 01/04/2021 || João Ramon || Atualização do documento&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
&lt;br /&gt;
No processo de formação de preços, conta-se com um número definido de variáveis que irão fazer a composição do valor final que será apresentado ao cliente final. Informações como custos operacionais, inclusão de markups, fatores de compensação por quebra e/ou comissionamento de venda devem estar contemplados na composição dos preços. A empresa deseja fazer esta composição dentro da Plataforma GeoSales EVO, inserindo todas as informações de custo, taxas e demais dados customizáveis, permitindo que o próprio usuário consiga fazer esta composição.&lt;br /&gt;
&lt;br /&gt;
O cenário de precificação atual não possui um processo uniformizado para cada cliente. Portanto, a necessidade de criar um processo padronizado para composição de preços, assim como a atualização customizável de algumas dessas variáveis, por se tratarem de variáveis cujos valores podem oscilar por motivos externos (oscilações de mercado, variação na política de preços, etc), é imperativa.&lt;br /&gt;
&lt;br /&gt;
== Solução ==&lt;br /&gt;
&lt;br /&gt;
Visto que a formação de preços, e seu processo de elaboração, devem ser totalmente customizáveis pelo cliente, primeiramente deve ser possível que ele não apenas determine quais as variáveis e seus respectivos valores devem ser atribuídos na plataforma para precificação, mas também como estas variáveis se relacionarão matematicamente, a fim de formular um preço baseado nas entradas fornecidas pelo cliente. Além disso, tais variáveis, uma vez inseridas no cadastro de preços, deverão ser passíveis de edição, feitas pelo próprio cliente, de forma manual.&lt;br /&gt;
&lt;br /&gt;
Como instrumento de parametrização das fórmulas contendo as variáveis criadas e seus operadores apropriados, será utilizada a '''''notação polonesa  reversa (RPN)''''' (a mesma lógica de cálculo das calculadoras HP 12 C), ferramenta de uso familiar a pessoas ligadas ao trabalho que envolva matemática financeira. Assim, a formação de preço deverá ser mais flexível e intuitiva na sua formação, além de facilitar em eventuais futuras modificações. As formulas serão definidas dentro de uma tabela de preço para um determinado grupo de produto facilitando o cadastro. &lt;br /&gt;
&lt;br /&gt;
Também visando a facilidade da manutenção dos valores de cada variável da fórmula, iremos construir o preço por um conjunto de parâmetros, podendo ser definido de forma atrelada às seguintes dimensões: produto e tabela de preço.&lt;br /&gt;
&lt;br /&gt;
Após a definição dos parâmetros, a fórmula será construída por meio da utilização destes. Finalizando esta etapa, basta pedir para processar a tabela, onde a mesma passará a ser vigente para a equipe de venda.&lt;br /&gt;
&lt;br /&gt;
== Implementação ==&lt;br /&gt;
&lt;br /&gt;
O processo terá como bases os seguintes passos: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Criação de Tabela;&lt;br /&gt;
# Definição de Variáveis que deverão compor a fórmula de criação de preço, além da definição do atributo a qual tal variável está vinculada (produto ou Tabela);&lt;br /&gt;
# Definição de fórmula de formação de preços, utilizando RPN, e vinculações a grupos de produtos;&lt;br /&gt;
# Concluída a fórmula, com as relações operacionais entre as variáveis, os valores gerados devem ser processados para compor a Tabela de Preços.&lt;br /&gt;
&lt;br /&gt;
=== Cadastro tabela de preço ===&lt;br /&gt;
Para criação da tabela de preço, será criada uma tela onde o usuário irá fazer o cadastro da tabela de preço. Nela será possível fazer a inserção e edição de cadastros, não sendo possível excluir qualquer cadastro de tabela de preço já realizado, mas, apenas desativa-los.&lt;br /&gt;
&lt;br /&gt;
Ao entrar na tela o sistema deve apresentar campos de filtros, os quais, o usuário poderá localizar um cadastro já inserido ou realizar edição dos campos descrição e datas inicial e final de vigência. Além, disso no rodapé da tela, terá o acesso para fazer um novo cadastro. na qual, o usuário vai preencher os seguintes campos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Campos de cadastro ====&lt;br /&gt;
* '''Descrição''' -  Campo de texto limitados ao máximo de 70 caracteres;&lt;br /&gt;
* '''Data inicial vigência''' -  Campo de data, onde definirá o inicio da vigência da tabela;&lt;br /&gt;
* '''Data final vigência''' -  Campo de data, onde definirá o final da vigência da tabela;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Uma tabela de preço não poderá ser excluída, só poderá ser desativada ou ativada através dos campos de data inicial e data final. Para desativar, basta colocar a data final inferior a data atual;&lt;br /&gt;
* Caso uma tabela de preço tenha uma data inicial posterior à data atual, essa tabela de preço específica não deverá ser exibida para seleção no cadastro do pedido;&lt;br /&gt;
* Caso uma tabela de preço esteja com a data final de vigência vencida, a tabela de preço não será exibida para seleção no cadastro do pedido;&lt;br /&gt;
* Os campos de datas não serão obrigatórios. Quando não estiverem preenchidos, indica que aquela tabela estará disponível para uso;&lt;br /&gt;
* Não será possível utilizar a integração e cadastro da tabela de preço ao mesmo tempo, sendo necessário que haja uma única escolha: Integrar a tabela de preço do ERP ao GeoSales ou cadastrar a tabela de preço no próprio GeoSales. Caso tentem utilizar os dois cadastros ao mesmo tempo ERP e GeoSales, a integração apagará todos os registros cadastrados no GeoSales.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tabelapreco.jpg|500px]] &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tabelapreco2.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tela1.jpg|700px]]&lt;br /&gt;
&lt;br /&gt;
=== Declaração de variáveis ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dentro da tela de Variáveis de preço, deve ser possível definir uma variável de forma livre, mas que atenda as seguintes regras:&lt;br /&gt;
&lt;br /&gt;
* O campo chave, que será utilizado como referência na formula de preço, não deve conter caracteres especiais, espaço em branco e está limitada ao máximo de 8 caracteres, sendo todos minúsculos obrigatoriamente, seguindo o padrão &amp;lt;code&amp;gt;[a-z0-9]&amp;lt;/code&amp;gt;. &lt;br /&gt;
* A variável deve estar associada a um produto ou uma tabela de preço&lt;br /&gt;
* Para valores do tipo '''numérico (18,6)''', serão aceitos como possibilidade, podendo ser positivos ou negativos.&lt;br /&gt;
* Será criado um log de históricos de alterações de valores destas variáveis e passível de ser exportado em relatórios em excel.&lt;br /&gt;
* As variáveis fs, fmm e fmx, especificamente, não poderão ser utilizadas, por tratarem-se de variáveis protegidas em uso no sistema.&lt;br /&gt;
&lt;br /&gt;
==== Campos de cadastro ====&lt;br /&gt;
&lt;br /&gt;
* '''Descrição''' -  Campo de texto limitados ao máximo de 70 caracteres;&lt;br /&gt;
* '''Chave''' -  Campo de texto de 8 caracteres;&lt;br /&gt;
* '''Produto / Tabela''' -  A seleção de um produto ou de uma tabela, dados previamente alimentados;&lt;br /&gt;
* '''Valor''' -  Campo numérico(18:6);&lt;br /&gt;
&lt;br /&gt;
A chave poderá ser associada a mais de um produto/tabela, mas o valor é específico pela unidade de um destes dois atributos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tela2.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
=== Definição da formula de preço ===&lt;br /&gt;
&lt;br /&gt;
* Será necessário selecionar uma tabela de preço, a organização de venda e um ou mais produtos aos quais o preço deve ser inserido.&lt;br /&gt;
* Para a regra de preço teremos que informar a '''formula''' do preço mínimo, sugerido e máximo com a quantidade mínima, que valida sua aplicação.&lt;br /&gt;
* Nos campos de preço (mínimo, sugerido e máximo) teremos um espaço para a inserção da fórmula para composição de preço. Esta fórmula fará a relação matemática entre as variáveis criadas no processo anterior, por meio de '''operadores matemáticos (+, -, *, / )''', organizados em '''RPN''', notação comum para analistas financeiros, sendo bastante difundido, inclusive, na lógica de cálculo das calculadoras HP 12 C.&lt;br /&gt;
* Será possível visualizar uma prévia da fórmula escrita, além do valor encontrado, a fim de que o usuário possa confirmar os valores que foram inseridos pelas variáveis e seus respectivos operadores.&lt;br /&gt;
* Quando um dos campos das formulas não houver definição de formula, o valor será gerado com o valor zero ou o resultado da formula apresentar um valor negativo, esse valor também se apresentará como zero.&lt;br /&gt;
* Ao gerar os valores da faixa de preço, caso o valor mínimo, seja maior que o valor sugerido, esse valor será replicado para para o sugerido.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como exemplo de notação polonesa reversa, tomemos a expressão '''''(A+B)*C'''''. Em RPN, a notação ficaria '''''AB+C*'''''.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tela3.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
=== Processar tabela ===&lt;br /&gt;
&lt;br /&gt;
É importante frisar que os valores estão vinculados a uma tabela de preços, que consequentemente está vinculada a um cliente, organização de vendas, vendedores, e tabelas afins.&lt;br /&gt;
&lt;br /&gt;
As variáveis comuns a todos os clientes deverão ter valores diferenciados de acordo com a cidade onde a organização de venda está alocada.&lt;br /&gt;
Há dois grupos de variáveis: aquelas que são relacionadas ao '''produto''' em si (tamanho, cor, embalagem, Tipo) e aquelas relacionadas à '''Tabela''' (Valor de partida, comissão promotor, frete, por exemplo). É importante determinar corretamente para qual grupo tal variável estará vinculada.&lt;br /&gt;
&lt;br /&gt;
Se mais de um produto possui a mesma característica, será possível fazer a precificação por grupos de produtos. Ou seja, será possível realizar a seleção de produtos e colocar dentro de um mesmo Agrupamento. Ao fim do processo, os produtos vinculados aquele agrupamento e a tabela de preço, receberam seus preços baseados nas formulas inseridas para a tabela preço especificada.&lt;br /&gt;
&lt;br /&gt;
Para geração do preço, necessariamente o produto precisa está vinculado a tabela de preço, seja de forma individual ou como já citado dentro de um agrupamento. &lt;br /&gt;
&lt;br /&gt;
Sempre que uma das variáveis ou formulas de calculo for alteradas, para que ocorra atualização de valores da faixa de preço baseados na alteração, deve ser feito um reprocessamento, assim os valores serão atualizados levando em consideração as alterações feitas.&lt;br /&gt;
&lt;br /&gt;
Na aba de reprocessamento, sempre que houver uma solicitação de processamento devemos salvar as informações para eventual consulta. Ao entrar no detalhe podemos acompanhar o status do processamento.&lt;br /&gt;
&lt;br /&gt;
Ao iniciar um processamento ou reprocessamento, qualquer alteração só refletirá nos valores, depois de um novo reprocessamento, já que o iniciado, foi antes da alteração realizada.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tela4.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
== Cenários ==&lt;br /&gt;
&lt;br /&gt;
===DICIONÁRIO DE DADOS ===&lt;br /&gt;
&lt;br /&gt;
Considere  tabela abaixo com as seguintes tabelas cadastradas e suas respectivas vigências:&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! TABELA &lt;br /&gt;
! DESCRIÇÃO&lt;br /&gt;
! INICIO DA VIGÊNCIA&lt;br /&gt;
! FINAL DA VIGÊNCIA &lt;br /&gt;
|-&lt;br /&gt;
| '''01'''  || TABELA SP || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| '''02''' || TABELA RJ || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| '''03''' ||TABELA RS ||01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| '''04''' || TABELA SP - CARREFU || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| '''05'''  || TABELA BA || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| '''06''' || TABELA ES || 01/05/2020 || 01/01/2022&lt;br /&gt;
|- &lt;br /&gt;
| '''07''' || TABELA SP - CAPITAL ||01/05/2020 || 01/01/2022&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Selecionada a tabela desejada, o próximo passo é fazer a declaração das variáveis.&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! CHAVE&lt;br /&gt;
! DESCRIÇÃO DA VARIÁVEL &lt;br /&gt;
! TABELA / PRODUTO&lt;br /&gt;
! VALOR&lt;br /&gt;
|-&lt;br /&gt;
| '''pp''' || Preço de Partida || Tabela - 01  ||  R$ 106,00&lt;br /&gt;
|-&lt;br /&gt;
| '''fc''' || Cor / Tamanho || Produto - 001 || 1,5&lt;br /&gt;
|-&lt;br /&gt;
| '''ce''' ||Custo de Embalagem || Tabela - 01 ||  R$ 12,20&lt;br /&gt;
|-&lt;br /&gt;
| '''fr''' || Frete || Tabela - 01 ||  - 5&lt;br /&gt;
|-&lt;br /&gt;
| '''pr'''  || Promotor || Tabela - 01 || 1,02&lt;br /&gt;
|-&lt;br /&gt;
| '''qu''' || Fator Quebra || Tabela - 01 || 3,5&lt;br /&gt;
|- &lt;br /&gt;
| '''cf''' || Contrato de Fidelidade || Tabela - 01 || 1,02&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Cenário 1 (Formula com utilização integral de variáveis) ===&lt;br /&gt;
&lt;br /&gt;
Elaborando o preço do produto 'P001' para o cliente 'C001' por um período de 6 meses.&lt;br /&gt;
&lt;br /&gt;
No portal GeoSales, na tela de variáveis, serão utilizadas as seguintes informações:&lt;br /&gt;
&lt;br /&gt;
'''Enumeração das variáveis'''&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pelo exposto, temos que 7 variáveis foram declaradas. As fórmulas que devemos gerar (Fórmula de valor mínimo, fórmula de valor Sugerido e Fórmula de Valor Máximo) serão derivadas destas variáveis que apontamos. &lt;br /&gt;
&lt;br /&gt;
Supondo que, para a fórmula de valor Sugerido, iremos adotar a seguinte fórmula: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;code&amp;gt;fs = pp fc / * qu * cf *&amp;lt;/code&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Com esta composição, o valor Sugerido do produto será '''''R$ 252,28'''''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Supondo que, para a fórmula de valor Mínimo, iremos adotar a seguinte fórmula: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;code&amp;gt;fmm = pp fc /&amp;lt;/code&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Com esta composição, o valor mínimo do produto será '''''R$ 70,66'''''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Supondo que, para a fórmula de valor Máximo, iremos adotar a seguinte fórmula: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;code&amp;gt;fmx = pp fc / ce + fr + pr * qu  * cf * &amp;lt;/code&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Com esta composição, o valor máximo do produto será ''''' R$ 283,54'''''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 2 (fórmula com utilização de variáveis protegidas ''fs'', ''fmm'' e ''fmx'') ===&lt;br /&gt;
&lt;br /&gt;
Elaborando o preço do produto 'P002' para o cliente 'C002' por um período de 6 meses.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pelo exposto, temos que 7 variáveis foram declaradas. As fórmulas que devemos gerar (Fórmula de valor mínimo, fórmula de valor Sugerido e Fórmula de Valor Máximo) serão derivadas destas variáveis que apontamos. &lt;br /&gt;
&lt;br /&gt;
Supondo que, para a fórmula de valor Sugerido, iremos adotar a seguinte fórmula: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;code&amp;gt;fs = pp fc / * qu * cf *&amp;lt;/code&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Com esta composição, o valor Sugerido do produto será '''''R$ 252,28'''''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Supondo que, para a fórmula de valor Mínimo, iremos adotar a seguinte fórmula: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;code&amp;gt;fmm = fs fc /&amp;lt;/code&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Onde fs é o valor sugerido, criado a partir da formação de valor do procedimento anterior.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Com esta composição, o valor mínimo do produto será '''''R$ 168,18'''''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Supondo que, para a fórmula de valor Máximo, iremos adotar a seguinte fórmula: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;code&amp;gt;fmx = fmm qu  * &amp;lt;/code&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Com esta composição, o valor máximo do produto será ''''' R$ 588,63'''''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 3 ( Fórmula com utilização de variáveis protegidas e constantes) ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P003' para o cliente 'C003'&lt;br /&gt;
&lt;br /&gt;
'''Enumeração das variáveis'''&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Supondo que, para a fórmula de valor Sugerido, iremos adotar a seguinte fórmula: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;code&amp;gt;fs = pp fc / * qu * cf *&amp;lt;/code&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Com esta composição, o valor Sugerido do produto será '''''R$ 252,28'''''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Supondo que, para a fórmula de valor Mínimo, iremos adotar a seguinte fórmula: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;code&amp;gt;fmm = fs 100 -&amp;lt;/code&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Com esta composição, o valor mínimo do produto será '''''R$ 152,28'''''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Supondo que, para a fórmula de valor Máximo, iremos adotar a seguinte fórmula: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;code&amp;gt;fmx = fs 100 +&amp;lt;/code&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Com esta composição, o valor máximo do produto será ''''' R$ 352,28'''''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Cenário 4 ( Fórmula com utilização de Quantidade) ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
O campo quantidade fornece um escalonamento de valores, permitindo que pequenos reajustes esttratégicos de preço possam ser realizados de forma automática de acordo com a quantidade de produtos solicitados. Para a elaboração deste cenário, utilizaremos esta Tabela de Quantidade:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Quantidade (between) &lt;br /&gt;
! Fator de dedução&lt;br /&gt;
|-&lt;br /&gt;
|0 - 10 || 1,00&lt;br /&gt;
|-&lt;br /&gt;
|11 - 20 || 1,01&lt;br /&gt;
|-&lt;br /&gt;
|Acima de 20 || 1,02&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P003' para o cliente 'C003'&lt;br /&gt;
&lt;br /&gt;
'''Enumeração das variáveis'''&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Supondo que, para a fórmula de valor Sugerido, iremos adotar a seguinte fórmula: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;code&amp;gt;fs = pp fc / * qu * cf *&amp;lt;/code&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Com esta composição, o valor Sugerido do produto será '''''R$ 252,28'''''.&lt;br /&gt;
&lt;br /&gt;
# Supondo que, para a fórmula de valor sugerido, associei uma quantidade de 05 unidades de produto. Logo o valor sugerido na quantidade solicitada será &amp;lt;code&amp;gt;fs * fator de dedução&amp;lt;/code&amp;gt;, em valores reais, ''''' R$ 252,58'''''.&lt;br /&gt;
# Supondo que, para a fórmula de valor sugerido, associei uma quantidade de 15 unidades de produto. Logo o valor sugerido na quantidade solicitada será &amp;lt;code&amp;gt;fs * fator de dedução&amp;lt;/code&amp;gt;, em valores reais, ''''' R$ 250,05'''''.&lt;br /&gt;
# Supondo que, para a fórmula de valor sugerido, associei uma quantidade de 25 unidades de produto. Logo o valor sugerido na quantidade solicitada será &amp;lt;code&amp;gt;fs * fator de dedução&amp;lt;/code&amp;gt;, em valores reais, ''''' R$ 247,23'''''.&lt;br /&gt;
&lt;br /&gt;
== Regras de Negócios ==&lt;br /&gt;
&lt;br /&gt;
'''[RN1] - ''' Não poderá conter a mesma regra para o mesmo estado e filial;&lt;br /&gt;
&lt;br /&gt;
'''[RN2] - ''' Não deverá haver sobreposição de cadastros, e sim edição deste cadastro. Caso o usuário tente cadastrar o mesmo cenário mais de uma vez, a plataforma irá alertar informando que já existe uma regra, e que essa regra poderá ser sobreposta;&lt;br /&gt;
&lt;br /&gt;
'''[RN3] - ''' Essa funcionalidade será desenvolvida exclusivamente no GeoSales EVO.&lt;br /&gt;
&lt;br /&gt;
'''[RN4] - ''' Durante o processo, o portal não deverá travar, ou seja, o batch irá apresentar os dados apenas referentes às variáveis relacionadas (via GSOload). A medida visa evitar um carregamento excessivamente pesado de dados para determinada função. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''[RN5] - ''' Os históricos do log de alterações das variáveis ficarão registrados por um período de 1 (um) ano.&lt;br /&gt;
&lt;br /&gt;
'''[RN6] - ''' Um determinado produto poderá ser vinculado a mais de um grupo, mas a quantidade deve ser diferente.&lt;br /&gt;
&lt;br /&gt;
'''[RN7] - ''' A chave poderá ser associada a mais de um produto/tabela, mas o valor é específico pela unidade de um destes dois atributos.&lt;br /&gt;
&lt;br /&gt;
'''[RN8] - ''' As variáveis '''''fs''''', '''''fmm''''' e '''''fmx''''' corresponderão aos valores resultantes das fórmulas de valor Sugerido, Valor Mínimo e Valor Máximo, respectivamente. Portanto, tais variáveis serão protegidas.&lt;br /&gt;
&lt;br /&gt;
'''[RN9] - ''' As variáveis permitidas para cadastro pelo usuário deverão atender ao padrão &amp;lt;code&amp;gt;[a-z0-9]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''[RN10] - ''' As formulas não poderão ter valor nulo, nem valores negativos. Caso não haja valor sugerido cadastrado, o valor mínimo será igual ao valor sugerido, ou o resultado da formula ser um valor negativo, o campo receberá o valor zero.&lt;br /&gt;
&lt;br /&gt;
== Aprovação ==&lt;br /&gt;
&lt;br /&gt;
Considero aprovada a documentação da funcionalidade especificada acima, e autorizo a implementação da mesma no Sistema GeoSales, em nome da Organização a qual estou vinculado. &lt;br /&gt;
&lt;br /&gt;
=== GeoSales ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Desenvolvimento - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|- &lt;br /&gt;
| Integração - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
| Configurações - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Empresa solicitante === &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
! Assinatura&lt;br /&gt;
|-&lt;br /&gt;
| Gerente TI - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente de Projeto - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente Comercial - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Leo2s</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=15108</id>
		<title>Precificação</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=15108"/>
		<updated>2021-04-08T21:26:12Z</updated>

		<summary type="html">&lt;p&gt;Leo2s: /* Composição de preço */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Histórico de Alterações ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data&lt;br /&gt;
! Quem &lt;br /&gt;
! Comentários &lt;br /&gt;
|-&lt;br /&gt;
| 01/10/2020  || Ana Júlia || Criação do documento &lt;br /&gt;
|-&lt;br /&gt;
| 01/04/2021 || João Ramon || Atualização do documento&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
&lt;br /&gt;
No processo de formação de preços, conta-se com um número definido de variáveis que irão fazer a composição do valor final que será apresentado ao cliente final. Informações como custos operacionais, inclusão de markups, fatores de compensação por quebra e/ou comissionamento de venda devem estar contemplados na composição dos preços. A empresa deseja fazer esta composição dentro da Plataforma GeoSales EVO, inserindo todas as informações de custo, taxas e demais dados customizáveis, permitindo que o próprio usuário consiga fazer esta composição.&lt;br /&gt;
&lt;br /&gt;
O cenário de precificação atual não possui um processo uniformizado para cada cliente. Portanto, a necessidade de criar um processo padronizado para composição de preços, assim como a atualização customizável de algumas dessas variáveis, por se tratarem de variáveis cujos valores podem oscilar por motivos externos (oscilações de mercado, variação na política de preços, etc), é imperativa.&lt;br /&gt;
&lt;br /&gt;
== Solução ==&lt;br /&gt;
&lt;br /&gt;
Visto que a formação de preços, e seu processo de elaboração, devem ser totalmente customizáveis pelo cliente, primeiramente deve ser possível que ele não apenas determine quais as variáveis e seus respectivos valores devem ser atribuídos na plataforma para precificação, mas também como estas variáveis se relacionarão matematicamente, a fim de formular um preço baseado nas entradas fornecidas pelo cliente. Além disso, tais variáveis, uma vez inseridas no cadastro de preços, deverão ser passíveis de edição, feitas pelo próprio cliente, de forma manual.&lt;br /&gt;
&lt;br /&gt;
Como instrumento de parametrização das fórmulas contendo as variáveis criadas e seus operadores apropriados, será utilizada a '''''notação polonesa  reversa (RPN)''''' (a mesma lógica de cálculo das calculadoras HP 12 C), ferramenta de uso familiar a pessoas ligadas ao trabalho que envolva matemática financeira. Assim, a formação de preço deverá ser mais flexível e intuitiva na sua formação, além de facilitar em eventuais futuras modificações. As formulas serão definidas dentro de uma tabela de preço para um determinado grupo de produto facilitando o cadastro. &lt;br /&gt;
&lt;br /&gt;
Também visando a facilidade da manutenção dos valores de cada variável da fórmula, iremos construir o preço por um conjunto de parâmetros, podendo ser definido de forma atrelada às seguintes dimensões: produto e tabela de preço.&lt;br /&gt;
&lt;br /&gt;
Após a definição dos parâmetros, a fórmula será construída por meio da utilização destes. Finalizando esta etapa, basta pedir para processar a tabela, onde a mesma passará a ser vigente para a equipe de venda.&lt;br /&gt;
&lt;br /&gt;
== Implementação ==&lt;br /&gt;
&lt;br /&gt;
O processo terá como bases os seguintes passos: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Criação de Tabela;&lt;br /&gt;
&amp;lt;!-- # para inserção de Variáveis e/ou aproveitamento de Tabela existente; --&amp;gt;&lt;br /&gt;
# Definição de Variáveis que deverão compor a fórmula de criação de preço, além da definição do atributo a qual tal variável está vinculada (produto ou Tabela);&lt;br /&gt;
# Definição de fórmula de formação de preços, utilizando RPN, e vinculações a grupos de produtos;&lt;br /&gt;
# Concluída a fórmula, com as relações operacionais entre as variáveis, os valores gerados devem ser processados para compor a Tabela de Preços.&lt;br /&gt;
&lt;br /&gt;
=== Cadastro tabela de preço ===&lt;br /&gt;
Para criação da tabela de preço, será criada uma tela onde o usuário irá fazer o cadastro da tabela de preço. Nela será possível fazer a inserção e edição de cadastros, não sendo possível excluir qualquer cadastro de tabela de preço já realizado, mas, apenas desativa-los.&lt;br /&gt;
&lt;br /&gt;
Ao entrar na tela o sistema deve apresentar campos de filtros, os quais, o usuário poderá localizar um cadastro já inserido ou realizar edição dos campos descrição e datas inicial e final de vigência. Além, disso no rodapé da tela, terá o acesso para fazer um novo cadastro. na qual, o usuário vai preencher os seguintes campos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Campos de cadastro ====&lt;br /&gt;
* '''Descrição''' -  Campo de texto limitados ao máximo de 70 caracteres;&lt;br /&gt;
* '''Data inicial vigência''' -  Campo de data, onde definirá o inicio da vigência da tabela;&lt;br /&gt;
* '''Data final vigência''' -  Campo de data, onde definirá o final da vigência da tabela;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Uma tabela de preço não poderá ser excluída, só poderá ser desativada ou ativada através dos campos de data inicial e data final. Para desativar, basta colocar a data final inferior a data atual;&lt;br /&gt;
* Caso uma tabela de preço tenha uma data inicial posterior à data atual, essa tabela de preço específica não deverá ser exibida para seleção no cadastro do pedido;&lt;br /&gt;
* Caso uma tabela de preço esteja com a data final de vigência vencida, a tabela de preço não será exibida para seleção no cadastro do pedido;&lt;br /&gt;
* Os campos de datas não serão obrigatórios. Quando não estiverem preenchidos, indica que aquela tabela estará disponível para uso;&lt;br /&gt;
* Não será possível utilizar a integração e cadastro da tabela de preço ao mesmo tempo, sendo necessário que haja uma única escolha: Integrar a tabela de preço do ERP ao GeoSales ou cadastrar a tabela de preço no próprio GeoSales. Caso tentem utilizar os dois cadastros ao mesmo tempo ERP e GeoSales, a integração apagará todos os registros cadastrados no GeoSales.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tabelapreco.jpg|500px]] &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tabelapreco2.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tela1.jpg|700px]]&lt;br /&gt;
&lt;br /&gt;
=== Declaração de variáveis ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dentro da tela de Variáveis de preço, deve ser possível definir uma variável de forma livre, mas que atenda as seguintes regras:&lt;br /&gt;
&lt;br /&gt;
* O campo chave, que será utilizado como referência na formula de preço, não deve conter caracteres especiais, espaço em branco e está limitada ao máximo de 8 caracteres, sendo todos minúsculos obrigatoriamente, seguindo o padrão &amp;lt;code&amp;gt;[a-z0-9]&amp;lt;/code&amp;gt;. &lt;br /&gt;
* A variável deve estar associada a um produto ou uma tabela de preço&lt;br /&gt;
* Para valores do tipo '''numérico (18,6)''', serão aceitos como possibilidade, podendo ser positivos ou negativos.&lt;br /&gt;
* Será criado um log de históricos de alterações de valores destas variáveis e passível de ser exportado em relatórios em excel.&lt;br /&gt;
* As variáveis fs, fmm e fmx, especificamente, não poderão ser utilizadas, por tratarem-se de variáveis protegidas em uso no sistema.&lt;br /&gt;
&lt;br /&gt;
==== Campos de cadastro ====&lt;br /&gt;
&lt;br /&gt;
* '''Descrição''' -  Campo de texto limitados ao máximo de 70 caracteres;&lt;br /&gt;
* '''Chave''' -  Campo de texto de 8 caracteres;&lt;br /&gt;
* '''Produto / Tabela''' -  A seleção de um produto ou de uma tabela, dados previamente alimentados;&lt;br /&gt;
* '''Valor''' -  Campo numérico(18:6);&lt;br /&gt;
&lt;br /&gt;
A chave poderá ser associada a mais de um produto/tabela, mas o valor é específico pela unidade de um destes dois atributos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tela2.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
=== Definição da formula de preço ===&lt;br /&gt;
&lt;br /&gt;
* Será necessário selecionar uma tabela de preço, a organização de venda e um ou mais produtos aos quais o preço deve ser inserido.&lt;br /&gt;
* Para a regra de preço teremos que informar a '''formula''' do preço mínimo, sugerido e máximo com a quantidade mínima, que valida sua aplicação.&lt;br /&gt;
* Nos campos de preço (mínimo, sugerido e máximo) teremos um espaço para a inserção da fórmula para composição de preço. Esta fórmula fará a relação matemática entre as variáveis criadas no processo anterior, por meio de '''operadores matemáticos (+, -, *, / )''', organizados em '''RPN''', notação comum para analistas financeiros, sendo bastante difundido, inclusive, na lógica de cálculo das calculadoras HP 12 C.&lt;br /&gt;
* Será possível visualizar uma prévia da fórmula escrita, além do valor encontrado, a fim de que o usuário possa confirmar os valores que foram inseridos pelas variáveis e seus respectivos operadores.&lt;br /&gt;
&lt;br /&gt;
Como exemplo de notação polonesa reversa, tomemos a expressão '''''(A+B)*C'''''. Em RPN, a notação ficaria '''''AB+C*'''''.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tela3.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
=== Processar tabela ===&lt;br /&gt;
&lt;br /&gt;
É importante frisar que os valores estão vinculados a uma tabela de preços, que consequentemente está vinculada a um cliente, organização de vendas, vendedores, e tabelas afins.&lt;br /&gt;
&lt;br /&gt;
As variáveis comuns a todos os clientes deverão ter valores diferenciados de acordo com a cidade onde a organização de venda está alocada.&lt;br /&gt;
Há dois grupos de variáveis: aquelas que são relacionadas ao '''produto''' em si (tamanho, cor, embalagem, Tipo) e aquelas relacionadas à '''Tabela''' (Valor de partida, comissão promotor, frete, por exemplo). É importante determinar corretamente para qual grupo tal variável estará vinculada.&lt;br /&gt;
&lt;br /&gt;
Se mais de um produto possui a mesma característica, será possível fazer a precificação por grupos de produtos. Ou seja, será possível realizar a seleção de produtos e colocar dentro de um mesmo Agrupamento. Ao fim do processo, os produtos vinculados aquele agrupamento e a tabela de preço, receberam seus preços baseados nas formulas inseridas para a tabela preço especificada.&lt;br /&gt;
&lt;br /&gt;
Para geração do preço, necessariamente o produto precisa está vinculado a tabela de preço, seja de forma individual ou como já citado dentro de um agrupamento. &lt;br /&gt;
&lt;br /&gt;
Sempre que uma das variáveis ou formulas de calculo for alteradas, para que ocorra atualização de valores da faixa de preço baseados na alteração, deve ser feito um reprocessamento, assim os valores serão atualizados levando em consideração as alterações feitas.&lt;br /&gt;
&lt;br /&gt;
Na aba de reprocessamento, sempre que houver uma solicitação de processamento devemos salvar as informações para eventual consulta. Ao entrar no detalhe podemos acompanhar o status do processamento.&lt;br /&gt;
&lt;br /&gt;
Ao iniciar um processamento ou reprocessamento, qualquer alteração só refletirá nos valores, depois de um novo reprocessamento, já que o iniciado, foi antes da alteração realizada.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tela4.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
== Cenários ==&lt;br /&gt;
&lt;br /&gt;
===DICIONÁRIO DE DADOS ===&lt;br /&gt;
&lt;br /&gt;
Considere  tabela abaixo com as seguintes tabelas cadastradas e suas respectivas vigências:&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! TABELA &lt;br /&gt;
! DESCRIÇÃO&lt;br /&gt;
! INICIO DA VIGÊNCIA&lt;br /&gt;
! FINAL DA VIGÊNCIA &lt;br /&gt;
|-&lt;br /&gt;
| '''01'''  || TABELA SP || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| '''02''' || TABELA RJ || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| '''03''' ||TABELA RS ||01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| '''04''' || TABELA SP - CARREFU || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| '''05'''  || TABELA BA || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| '''06''' || TABELA ES || 01/05/2020 || 01/01/2022&lt;br /&gt;
|- &lt;br /&gt;
| '''07''' || TABELA SP - CAPITAL ||01/05/2020 || 01/01/2022&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Selecionada a tabela desejada, o próximo passo é fazer a declaração das variáveis.&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! CHAVE&lt;br /&gt;
! DESCRIÇÃO DA VARIÁVEL &lt;br /&gt;
! TABELA / PRODUTO&lt;br /&gt;
! VALOR&lt;br /&gt;
|-&lt;br /&gt;
| '''pp''' || Preço de Partida || Tabela - 01  ||  R$ 106,00&lt;br /&gt;
|-&lt;br /&gt;
| '''fc''' || Cor / Tamanho || Produto - 001 || 1,5&lt;br /&gt;
|-&lt;br /&gt;
| '''ce''' ||Custo de Embalagem || Tabela - 01 ||  R$ 12,20&lt;br /&gt;
|-&lt;br /&gt;
| '''fr''' || Frete || Tabela - 01 ||  - 5&lt;br /&gt;
|-&lt;br /&gt;
| '''pr'''  || Promotor || Tabela - 01 || 1,02&lt;br /&gt;
|-&lt;br /&gt;
| '''qu''' || Fator Quebra || Tabela - 01 || 3,5&lt;br /&gt;
|- &lt;br /&gt;
| '''cf''' || Contrato de Fidelidade || Tabela - 01 || 1,02&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Cenário 1 (Formula com utilização integral de variáveis) ===&lt;br /&gt;
&lt;br /&gt;
Elaborando o preço do produto 'P001' para o cliente 'C001' por um período de 6 meses.&lt;br /&gt;
&lt;br /&gt;
No portal GeoSales, na tela de variáveis, serão utilizadas as seguintes informações:&lt;br /&gt;
&lt;br /&gt;
'''Enumeração das variáveis'''&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pelo exposto, temos que 7 variáveis foram declaradas. As fórmulas que devemos gerar (Fórmula de valor mínimo, fórmula de valor Sugerido e Fórmula de Valor Máximo) serão derivadas destas variáveis que apontamos. &lt;br /&gt;
&lt;br /&gt;
Supondo que, para a fórmula de valor Sugerido, iremos adotar a seguinte fórmula: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;code&amp;gt;p = pp fc / * qu * cf *&amp;lt;/code&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Com esta composição, o valor Sugerido do produto será '''''R$ 252,28'''''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Supondo que, para a fórmula de valor Mínimo, iremos adotar a seguinte fórmula: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;code&amp;gt;p = pp fc /&amp;lt;/code&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Com esta composição, o valor mínimo do produto será '''''R$ 70,66'''''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Supondo que, para a fórmula de valor Máximo, iremos adotar a seguinte fórmula: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;code&amp;gt;p = pp fc / ce + fr + pr * qu  * cf * &amp;lt;/code&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Com esta composição, o valor máximo do produto será ''''' R$ 283,54'''''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 2 (fórmula com utilização de variáveis protegidas ''fs'', ''fmm'' e ''fmx'') ===&lt;br /&gt;
&lt;br /&gt;
Elaborando o preço do produto 'P002' para o cliente 'C002' por um período de 6 meses.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pelo exposto, temos que 7 variáveis foram declaradas. As fórmulas que devemos gerar (Fórmula de valor mínimo, fórmula de valor Sugerido e Fórmula de Valor Máximo) serão derivadas destas variáveis que apontamos. &lt;br /&gt;
&lt;br /&gt;
Supondo que, para a fórmula de valor Sugerido, iremos adotar a seguinte fórmula: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;code&amp;gt;p = pp fc / * qu * cf *&amp;lt;/code&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Com esta composição, o valor Sugerido do produto será '''''R$ 252,28'''''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Supondo que, para a fórmula de valor Mínimo, iremos adotar a seguinte fórmula: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;code&amp;gt;p = fs fc /&amp;lt;/code&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Onde fs é o valor sugerido, criado a partir da formação de valor do procedimento anterior.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Com esta composição, o valor mínimo do produto será '''''R$ 168,18'''''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Supondo que, para a fórmula de valor Máximo, iremos adotar a seguinte fórmula: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;code&amp;gt;p = fmm qu  * &amp;lt;/code&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Com esta composição, o valor máximo do produto será ''''' R$ 588,63'''''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 3 ( Fórmula com utilização de variáveis protegidas e constantes) ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P003' para o cliente 'C003'&lt;br /&gt;
&lt;br /&gt;
'''Enumeração das variáveis'''&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Supondo que, para a fórmula de valor Sugerido, iremos adotar a seguinte fórmula: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;code&amp;gt;p = pp fc / * qu * cf *&amp;lt;/code&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Com esta composição, o valor Sugerido do produto será '''''R$ 252,28'''''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Supondo que, para a fórmula de valor Mínimo, iremos adotar a seguinte fórmula: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;code&amp;gt;p = fs 100 -&amp;lt;/code&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Com esta composição, o valor mínimo do produto será '''''R$ 152,28'''''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Supondo que, para a fórmula de valor Máximo, iremos adotar a seguinte fórmula: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;code&amp;gt;p = fs 100 +&amp;lt;/code&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Com esta composição, o valor máximo do produto será ''''' R$ 352,28'''''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--=== Composição de preço ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Visto que há variação de preços de produtos para diferentes localidades, a formula criada para a composição de preços  deverá, além de compor toda a regra de cálculo de precificação de determinado produto, a sua parametrização vinculada ao seu respectivo Estado, Cidade e Filial. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em outras palavras, através da composição de preço, o usuário poderá informar a fórmula que o sistema irá aplicar para definir o preço unitário do produto. Essa regra poderá ser parametrizado por: filial, estado e cidade.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Regras de Negócios ==&lt;br /&gt;
&lt;br /&gt;
'''[RN1] - ''' Não poderá conter a mesma regra para o mesmo estado e filial;&lt;br /&gt;
&lt;br /&gt;
'''[RN2] - ''' Não deverá haver sobreposição de cadastros, e sim edição deste cadastro. Caso o usuário tente cadastrar o mesmo cenário mais de uma vez, a plataforma irá alertar informando que já existe uma regra, e que essa regra poderá ser sobreposta;&lt;br /&gt;
&lt;br /&gt;
'''[RN3] - ''' Essa funcionalidade será desenvolvida exclusivamente no GeoSales EVO.&lt;br /&gt;
&lt;br /&gt;
'''[RN4] - ''' Durante o processo, o portal não deverá travar, ou seja, o batch irá apresentar os dados apenas referentes às variáveis relacionadas (via GSOload). A medida visa evitar um carregamento excessivamente pesado de dados para determinada função. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''[RN5] - ''' Os históricos do log de alterações das variáveis ficarão registrados por um período de 1 (um) ano.&lt;br /&gt;
&lt;br /&gt;
'''[RN6] - ''' Um determinado produto poderá ser vinculado a mais de um grupo, mas a quantidade deve ser diferente.&lt;br /&gt;
&lt;br /&gt;
'''[RN7] - ''' A chave poderá ser associada a mais de um produto/tabela, mas o valor é específico pela unidade de um destes dois atributos.&lt;br /&gt;
&lt;br /&gt;
'''[RN8] - ''' As variáveis '''''fs''''', '''''fmm''''' e '''''fmx''''' corresponderão aos valores resultantes das fórmulas de valor Sugerido, Valor Mínimo e Valor Máximo, respectivamente. Portanto, tais variáveis serão protegidas.&lt;br /&gt;
&lt;br /&gt;
'''[RN9] - ''' As variáveis permitidas para cadastro pelo usuário deverão atender ao padrão &amp;lt;code&amp;gt;[a-z0-9]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Aprovação ==&lt;br /&gt;
&lt;br /&gt;
Considero aprovada a documentação da funcionalidade especificada acima, e autorizo a implementação da mesma no Sistema GeoSales, em nome da Organização a qual estou vinculado. &lt;br /&gt;
&lt;br /&gt;
=== GeoSales ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Desenvolvimento - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|- &lt;br /&gt;
| Integração - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
| Configurações - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Empresa solicitante === &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
! Assinatura&lt;br /&gt;
|-&lt;br /&gt;
| Gerente TI - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente de Projeto - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente Comercial - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Leo2s</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=15062</id>
		<title>Precificação</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=15062"/>
		<updated>2021-04-08T20:12:51Z</updated>

		<summary type="html">&lt;p&gt;Leo2s: /* Declaração de variáveis */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Histórico de Alterações ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data&lt;br /&gt;
! Quem &lt;br /&gt;
! Comentários &lt;br /&gt;
|-&lt;br /&gt;
| 01/10/2020  || Ana Júlia || Criação do documento &lt;br /&gt;
|-&lt;br /&gt;
| 01/04/2021 || João Ramon || Atualização do documento&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
&lt;br /&gt;
No processo de formação de preços, conta-se com um número definido de variáveis que irão fazer a composição do valor final que será apresentado ao cliente final. Informações como custos operacionais, inclusão de markups, fatores de compensação por quebra e/ou comissionamento de venda devem estar contemplados na composição dos preços. A empresa deseja fazer esta composição dentro da Plataforma GeoSales EVO, inserindo todas as informações de custo, taxas e demais dados customizáveis, permitindo que o próprio usuário consiga fazer esta composição.&lt;br /&gt;
&lt;br /&gt;
O cenário de precificação atual não possui um processo uniformizado para cada cliente. Portanto, a necessidade de criar um processo padronizado para composição de preços, assim como a atualização customizável de algumas dessas variáveis, por se tratarem de variáveis cujos valores podem oscilar por motivos externos (oscilações de mercado, variação na política de preços, etc), é imperativa.&lt;br /&gt;
&lt;br /&gt;
== Solução ==&lt;br /&gt;
&lt;br /&gt;
Visto que a formação de preços, e seu processo de elaboração, devem ser totalmente customizáveis pelo cliente, primeiramente deve ser possível que ele não apenas determine quais as variáveis e seus respectivos valores devem ser atribuídos na plataforma para precificação, mas também como estas variáveis se relacionarão matematicamente, a fim de formular um preço baseado nas entradas fornecidas pelo cliente. Além disso, tais variáveis, uma vez inseridas no cadastro de preços, deverão ser passíveis de edição, feitas pelo próprio cliente, de forma manual.&lt;br /&gt;
&lt;br /&gt;
Como instrumento de parametrização das fórmulas contendo as variáveis criadas e seus operadores apropriados, será utilizada a '''''notação polonesa  reversa (RPN)''''' (a mesma lógica de cálculo das calculadoras HP 12 C), ferramenta de uso familiar a pessoas ligadas ao trabalho que envolva matemática financeira. Assim, a formação de preço deverá ser mais flexível e intuitiva na sua formação, além de facilitar em eventuais futuras modificações. As formulas serão definidas dentro de uma tabela de preço para um determinado grupo de produto facilitando o cadastro. &lt;br /&gt;
&lt;br /&gt;
Também visando a facilidade da manutenção dos valores de cada variável da fórmula, iremos construir o preço por um conjunto de parâmetros, podendo ser definido de forma atrelada às seguintes dimensões: produto e tabela de preço.&lt;br /&gt;
&lt;br /&gt;
Após a definição dos parâmetros, a fórmula será construída por meio da utilização destes. Finalizando esta etapa, basta pedir para processar a tabela, onde a mesma passará a ser vigente para a equipe de venda.&lt;br /&gt;
&lt;br /&gt;
== Implementação ==&lt;br /&gt;
&lt;br /&gt;
O processo terá como bases os seguintes passos: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Criação de Tabela;&lt;br /&gt;
&amp;lt;!-- # para inserção de Variáveis e/ou aproveitamento de Tabela existente; --&amp;gt;&lt;br /&gt;
# Definição de Variáveis que deverão compor a fórmula de criação de preço, além da definição do atributo a qual tal variável está vinculada (produto ou Tabela);&lt;br /&gt;
# Definição de fórmula de formação de preços, utilizando RPN, e vinculações a grupos de produtos;&lt;br /&gt;
# Concluída a fórmula, com as relações operacionais entre as variáveis, os valores gerados devem ser processados para compor a Tabela de Preços.&lt;br /&gt;
&lt;br /&gt;
=== Cadastro tabela de preço ===&lt;br /&gt;
Para criação da tabela de preço, será criada uma tela onde o usuário irá fazer o cadastro da tabela de preço. Nela será possível fazer a inserção e edição de cadastros, não sendo possível excluir qualquer cadastro de tabela de preço já realizado, mas, apenas desativa-los.&lt;br /&gt;
&lt;br /&gt;
Ao entrar na tela o sistema deve apresentar campos de filtros, os quais, o usuário poderá localizar um cadastro já inserido ou realizar edição dos campos descrição e datas inicial e final de vigência. Além, disso no rodapé da tela, terá o acesso para fazer um novo cadastro. na qual, o usuário vai preencher os seguintes campos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Campos de cadastro ====&lt;br /&gt;
* '''Descrição''' -  Campo de texto limitados ao máximo de 70 caracteres;&lt;br /&gt;
* '''Data inicial vigência''' -  Campo de data, onde definirá o inicio da vigência da tabela;&lt;br /&gt;
* '''Data final vigência''' -  Campo de data, onde definirá o final da vigência da tabela;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Uma tabela de preço não poderá ser excluída, só poderá ser desativada ou ativada através dos campos de data inicial e data final. Para desativar, basta colocar a data final inferior a data atual;&lt;br /&gt;
* Caso uma tabela de preço esteja com a data final de vigência vencida, a tabela de preço não será exibida para seleção no cadastro do pedido;&lt;br /&gt;
* Os campos de datas não serão obrigatórios. Quando não estiverem preenchidos, indica que aquela tabela estará disponível para uso;&lt;br /&gt;
* Não será possível utilizar a integração e cadastro da tabela de preço ao mesmo tempo, sendo necessário que haja uma única escolha: Integrar a tabela de preço do ERP ao GeoSales ou cadastrar a tabela de preço no próprio GeoSales. Caso tentem utilizar os dois cadastros ao mesmo tempo ERP e GeoSales, a integração apagará todos os registros cadastrados no GeoSales.&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
[[Arquivo:Tabelapreco.jpg|500px]] &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tabelapreco2.jpg|500px]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Declaração de variáveis ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dentro da tela de Variáveis de preço, deve ser possível definir uma variável de forma livre, mas que atenda as seguintes regras:&lt;br /&gt;
&lt;br /&gt;
* O campo chave, que será utilizado como referência na formula de preço, não deve conter caracteres especiais, espaço em branco e está limitada ao máximo de 8 caracteres, sendo todos minúsculos obrigatoriamente, seguindo o padrão &amp;lt;code&amp;gt;[a-z0-9]&amp;lt;/code&amp;gt;. &lt;br /&gt;
* A variável deve estar associada a um produto ou uma tabela de preço&lt;br /&gt;
* Para valores do tipo '''numérico (18,6)''', serão aceitos como possibilidade, podendo ser positivos ou negativos.&lt;br /&gt;
* Será criado um log de históricos de alterações de valores destas variáveis e passível de ser exportado em relatórios em excel.&lt;br /&gt;
* As variáveis fs, fmm e fmx, especificamente, não poderão ser utilizadas, por tratarem-se de variáveis protegidas em uso no sistema.&lt;br /&gt;
&lt;br /&gt;
==== Campos de cadastro ====&lt;br /&gt;
&lt;br /&gt;
* '''Descrição''' -  Campo de texto limitados ao máximo de 70 caracteres;&lt;br /&gt;
* '''Chave''' -  Campo de texto de 8 caracteres;&lt;br /&gt;
* '''Produto / Tabela''' -  A seleção de uma produto ou de uma tabela, dados previamente alimentados;&lt;br /&gt;
* '''Valor''' -  Campo numérico(18:6);&lt;br /&gt;
&lt;br /&gt;
A chave poderá ser associada a mais de um produto/tabela, mas o valor é específico pela unidade de um destes dois atributos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tela2.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
=== Definição da formula de preço ===&lt;br /&gt;
&lt;br /&gt;
* Será necessário selecionar uma tabela de preço, a organização de venda e um ou mais produtos aos quais o preço deve ser inserido.&lt;br /&gt;
* Para a regra de preço teremos que informar a '''formula''' do preço mínimo, sugerido e máximo com a quantidade mínima, que valida sua aplicação.&lt;br /&gt;
* Nos campos de preço (mínimo, sugerido e máximo) teremos um espaço para a inserção da fórmula para composição de preço. Esta fórmula fará a relação matemática entre as variáveis criadas no processo anterior, por meio de '''operadores matemáticos (+, -, *, / )''', organizados em '''RPN''', notação comum para analistas financeiros, sendo bastante difundido, inclusive, na lógica de cálculo das calculadoras HP 12 C.&lt;br /&gt;
* Será possível visualizar uma prévia da fórmula escrita, além do valor encontrado, a fim de que o usuário possa confirmar os valores que foram inseridos pelas variáveis e seus respectivos operadores.&lt;br /&gt;
&lt;br /&gt;
Como exemplo de notação polonesa reversa, tomemos a expressão '''''(A+B)*C'''''. Em RPN, a notação ficaria '''''AB+C*'''''.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tela3.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
=== Processar tabela ===&lt;br /&gt;
&lt;br /&gt;
É importante frisar que os valores estão vinculados a uma tabela de preços, que consequentemente está vinculada a um cliente, organização de vendas, vendedores, e tabelas afins.&lt;br /&gt;
&lt;br /&gt;
As variáveis comuns a todos os clientes deverão ter valores diferenciados de acordo com a cidade onde a organização de vendas está alocada.&lt;br /&gt;
Há dois grupos de variáveis: aquelas que são relacionadas ao '''produto''' em si (tamanho, cor, embalagem, Tipo) e aquelas relacionadas à '''Tabela''' (Valor de partida, comissão promotor, frete, por exemplo). É importante determinar corretamente para qual grupo tal variável estará vinculada.&lt;br /&gt;
&lt;br /&gt;
Se mais de um produto possui a mesma característica, será possível fazer a precificação por grupos de produtos.&lt;br /&gt;
&lt;br /&gt;
Sempre que uma das variáveis for alterada, para que ocorra atualização de valores da faixa de preço baseados na alteração, deve ser feito um reprocessamento baseado nos valores atualizados das variáveis.&lt;br /&gt;
&lt;br /&gt;
Na aba de reprocessamento, sempre que houver uma solicitação de processamento devemos salvar as informações para eventual consulta. Ao entrar no detalhe podemos acompanhar o status do processamento.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tela4.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
== Cenários ==&lt;br /&gt;
&lt;br /&gt;
===DICIONÁRIO DE DADOS ===&lt;br /&gt;
&lt;br /&gt;
Considere  tabela abaixo com as seguintes tabelas cadastradas e suas respectivas vigências:&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! TABELA &lt;br /&gt;
! DESCRIÇÃO&lt;br /&gt;
! INICIO DA VIGÊNCIA&lt;br /&gt;
! FINAL DA VIGÊNCIA &lt;br /&gt;
|-&lt;br /&gt;
| '''01'''  || TABELA SP || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| '''02''' || TABELA RJ || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| '''03''' ||TABELA RS ||01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| '''04''' || TABELA SP - CARREFU || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| '''05'''  || TABELA BA || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| '''06''' || TABELA ES || 01/05/2020 || 01/01/2022&lt;br /&gt;
|- &lt;br /&gt;
| '''07''' || TABELA SP - CAPITAL ||01/05/2020 || 01/01/2022&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Selecionada a tabela desejada, o próximo passo é fazer a declaração das variáveis.&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! CHAVE&lt;br /&gt;
! DESCRIÇÃO DA VARIÁVEL &lt;br /&gt;
! TABELA / PRODUTO&lt;br /&gt;
! VALOR&lt;br /&gt;
|-&lt;br /&gt;
| '''pp''' || Preço de Partida || Tabela - 01  ||  R$ 106,00&lt;br /&gt;
|-&lt;br /&gt;
| '''fc''' || Cor / Tamanho || Produto - 001 || 1,5&lt;br /&gt;
|-&lt;br /&gt;
| '''ce''' ||Custo de Embalagem || Tabela - 01 ||  R$ 12,20&lt;br /&gt;
|-&lt;br /&gt;
| '''fr''' || Frete || Tabela - 01 ||  - 5&lt;br /&gt;
|-&lt;br /&gt;
| '''pr'''  || Promotor || Tabela - 01 || 1,02&lt;br /&gt;
|-&lt;br /&gt;
| '''ou''' || Fator Quebra || Tabela - 01 || 3,5&lt;br /&gt;
|- &lt;br /&gt;
| '''cf''' || Contrato de Fidelidade || Tabela - 01 || 1,02&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Cenário 1 ===&lt;br /&gt;
&lt;br /&gt;
Elaborando o preço do produto 'P001' para o cliente 'C001' por um período de 6 meses.&lt;br /&gt;
&lt;br /&gt;
No portal GeoSales, na tela de variáveis, serão utilizadas as seguintes informações:&lt;br /&gt;
&lt;br /&gt;
'''Enumeração das variáveis'''&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pelo exposto, temos que 7 variáveis foram declaradas. As fórmulas que devemos gerar (Fórmula de valor mínimo, fórmula de valor Sugerido e Fórmula de Valor Máximo) serão derivadas destas variáveis que apontamos. &lt;br /&gt;
&lt;br /&gt;
Supondo que, para a fórmula de valor Sugerido, iremos adotar a seguinte fórmula: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;p = pp fc / * qu * cf *&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Com esta composição, o valor Sugerido do produto será '''''R$ 252,28'''''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Supondo que, para a fórmula de valor Mínimo, iremos adotar a seguinte fórmula: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;p = pp fc /&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Com esta composição, o valor mínimo do produto será '''''R$ 70,66'''''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Supondo que, para a fórmula de valor Máximo, iremos adotar a seguinte fórmula: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;p = pp fc / ce + fr + pr * qu  *cf * &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Com esta composição, o valor máximo do produto será ''''' R$ 283,54'''''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || Fc || / || 70,66 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Ce || + || 82,86 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Fr || + || 82,66 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Pr || * || 84,52 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Qu || * || 84,52 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Cf || * || 86,21 || F&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P = PpFc/Ce+Fr+Pr*Qu*Cf*&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ao final do processo, a fórmula irá  apresentar o valor final: '''&amp;quot;R$ 86,21&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 2 ===&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P002' para o cliente 'C002'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,11 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || P1 || + || 113,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 75,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 87,86 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Fr || + || 90,86 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Pr || * || 90,86 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Qu || * || 90,86 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Cf || * || 100,86 || G&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P= PpP1+Fc/Ce+Fr+Pr*Qu*Cf*&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao final do processo de cálculo da fórmula, o valor do preço será '''&amp;quot;R$ 100,86&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 3 ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P003' para o cliente 'C003'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ -3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 8,67 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce2 || Custo de Embalagem 2 || R$ 2,00 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 2,5 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| K || Constante || 23,67 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp|| P1 || + || 107,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 71,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 80,33 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Ce2 || + || 82,33 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Fr || + || 84,83 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Pr || * || 84,83 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Qu || * || 84,83 || G&lt;br /&gt;
|-&lt;br /&gt;
| 8 || G || Cf || * || 84,83 || H&lt;br /&gt;
|-&lt;br /&gt;
| 9 || H || K || + || 108,50 || I&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P= PpP1+Fc/Ce+Ce2+Fr+Pr*Qu*Cf*K+&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao final do cálculo da forma, o valor final do preço será: '''&amp;quot;R$ 108,50&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--[[arquivo:formula1.png]]&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço2.png | 600 px]]&lt;br /&gt;
&lt;br /&gt;
Na formula acima, as somas de variaveis são agrupadas em blocos, multiplicando-se entre si. A relação entre os somatórios pode ser representada por&lt;br /&gt;
&lt;br /&gt;
[[arquivo:produto1.png | 200 px]]&lt;br /&gt;
&lt;br /&gt;
Portando, a equação de formação de preço pode ser representada da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ou pelo produtório&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço1.png]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A composição de preço tem como objetivo construir um preço de venda. Esse cadastro conta com tipos de variáveis para compor preço. Para que a composição de preço seja aplicada corretamente no cadastro do pedido, é necessário que as seguintes premissas sejam atendidas.&lt;br /&gt;
&lt;br /&gt;
=== Composição de preço ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Visto que há variação de preços de produtos para diferentes localidades, a formula criada para a composição de preços  deverá, além de compor toda a regra de cálculo de precificação de determinado produto, a sua parametrização vinculada ao seu respectivo Estado, Cidade e Filial. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em outras palavras, através da composição de preço, o usuário poderá informar a fórmula que o sistema irá aplicar para definir o preço unitário do produto. Essa regra poderá ser parametrizado por: filial, estado e cidade.&lt;br /&gt;
&lt;br /&gt;
== Regras de Negócios ==&lt;br /&gt;
&lt;br /&gt;
'''[RN1] - ''' Não poderá conter a mesma regra para o mesmo estado e filial;&lt;br /&gt;
&lt;br /&gt;
'''[RN2] - ''' Não deverá haver sobreposição de cadastros, e sim edição deste cadastro. Caso o usuário tente cadastrar o mesmo cenário mais de uma vez, a plataforma irá alertar informando que já existe uma regra, e que essa regra poderá ser sobreposta;&lt;br /&gt;
&lt;br /&gt;
'''[RN3] - ''' Essa funcionalidade será desenvolvida exclusivamente no GeoSales EVO.&lt;br /&gt;
&lt;br /&gt;
'''[RN4] - ''' Durante o processo, o portal não deverá travar, ou seja, o batch irá apresentar os dados apenas referentes às variáveis relacionadas (via GSOload). A medida visa evitar um carregamento excessivamente pesado de dados para determinada função. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''[RN5] - ''' Os históricos do log de alterações das variáveis ficarão registrados por um período de 1 (um) ano.&lt;br /&gt;
&lt;br /&gt;
'''[RN6] - ''' Um determinado produto poderá ser vinculado a mais de um grupo, mas a quantidade deve ser diferente.&lt;br /&gt;
&lt;br /&gt;
'''[RN7] - ''' A chave poderá ser associada a mais de um produto/tabela, mas o valor é específico pela unidade de um destes dois atributos.&lt;br /&gt;
&lt;br /&gt;
== Aprovação ==&lt;br /&gt;
&lt;br /&gt;
Considero aprovada a documentação da funcionalidade especificada acima, e autorizo a implementação da mesma no Sistema GeoSales, em nome da Organização a qual estou vinculado. &lt;br /&gt;
&lt;br /&gt;
=== GeoSales ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Desenvolvimento - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|- &lt;br /&gt;
| Integração - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
| Configurações - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Empresa solicitante === &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
! Assinatura&lt;br /&gt;
|-&lt;br /&gt;
| Gerente TI - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente de Projeto - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente Comercial - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Leo2s</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=15061</id>
		<title>Precificação</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=15061"/>
		<updated>2021-04-08T20:12:40Z</updated>

		<summary type="html">&lt;p&gt;Leo2s: /* Declaração de variáveis */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Histórico de Alterações ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data&lt;br /&gt;
! Quem &lt;br /&gt;
! Comentários &lt;br /&gt;
|-&lt;br /&gt;
| 01/10/2020  || Ana Júlia || Criação do documento &lt;br /&gt;
|-&lt;br /&gt;
| 01/04/2021 || João Ramon || Atualização do documento&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
&lt;br /&gt;
No processo de formação de preços, conta-se com um número definido de variáveis que irão fazer a composição do valor final que será apresentado ao cliente final. Informações como custos operacionais, inclusão de markups, fatores de compensação por quebra e/ou comissionamento de venda devem estar contemplados na composição dos preços. A empresa deseja fazer esta composição dentro da Plataforma GeoSales EVO, inserindo todas as informações de custo, taxas e demais dados customizáveis, permitindo que o próprio usuário consiga fazer esta composição.&lt;br /&gt;
&lt;br /&gt;
O cenário de precificação atual não possui um processo uniformizado para cada cliente. Portanto, a necessidade de criar um processo padronizado para composição de preços, assim como a atualização customizável de algumas dessas variáveis, por se tratarem de variáveis cujos valores podem oscilar por motivos externos (oscilações de mercado, variação na política de preços, etc), é imperativa.&lt;br /&gt;
&lt;br /&gt;
== Solução ==&lt;br /&gt;
&lt;br /&gt;
Visto que a formação de preços, e seu processo de elaboração, devem ser totalmente customizáveis pelo cliente, primeiramente deve ser possível que ele não apenas determine quais as variáveis e seus respectivos valores devem ser atribuídos na plataforma para precificação, mas também como estas variáveis se relacionarão matematicamente, a fim de formular um preço baseado nas entradas fornecidas pelo cliente. Além disso, tais variáveis, uma vez inseridas no cadastro de preços, deverão ser passíveis de edição, feitas pelo próprio cliente, de forma manual.&lt;br /&gt;
&lt;br /&gt;
Como instrumento de parametrização das fórmulas contendo as variáveis criadas e seus operadores apropriados, será utilizada a '''''notação polonesa  reversa (RPN)''''' (a mesma lógica de cálculo das calculadoras HP 12 C), ferramenta de uso familiar a pessoas ligadas ao trabalho que envolva matemática financeira. Assim, a formação de preço deverá ser mais flexível e intuitiva na sua formação, além de facilitar em eventuais futuras modificações. As formulas serão definidas dentro de uma tabela de preço para um determinado grupo de produto facilitando o cadastro. &lt;br /&gt;
&lt;br /&gt;
Também visando a facilidade da manutenção dos valores de cada variável da fórmula, iremos construir o preço por um conjunto de parâmetros, podendo ser definido de forma atrelada às seguintes dimensões: produto e tabela de preço.&lt;br /&gt;
&lt;br /&gt;
Após a definição dos parâmetros, a fórmula será construída por meio da utilização destes. Finalizando esta etapa, basta pedir para processar a tabela, onde a mesma passará a ser vigente para a equipe de venda.&lt;br /&gt;
&lt;br /&gt;
== Implementação ==&lt;br /&gt;
&lt;br /&gt;
O processo terá como bases os seguintes passos: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Criação de Tabela;&lt;br /&gt;
&amp;lt;!-- # para inserção de Variáveis e/ou aproveitamento de Tabela existente; --&amp;gt;&lt;br /&gt;
# Definição de Variáveis que deverão compor a fórmula de criação de preço, além da definição do atributo a qual tal variável está vinculada (produto ou Tabela);&lt;br /&gt;
# Definição de fórmula de formação de preços, utilizando RPN, e vinculações a grupos de produtos;&lt;br /&gt;
# Concluída a fórmula, com as relações operacionais entre as variáveis, os valores gerados devem ser processados para compor a Tabela de Preços.&lt;br /&gt;
&lt;br /&gt;
=== Cadastro tabela de preço ===&lt;br /&gt;
Para criação da tabela de preço, será criada uma tela onde o usuário irá fazer o cadastro da tabela de preço. Nela será possível fazer a inserção e edição de cadastros, não sendo possível excluir qualquer cadastro de tabela de preço já realizado, mas, apenas desativa-los.&lt;br /&gt;
&lt;br /&gt;
Ao entrar na tela o sistema deve apresentar campos de filtros, os quais, o usuário poderá localizar um cadastro já inserido ou realizar edição dos campos descrição e datas inicial e final de vigência. Além, disso no rodapé da tela, terá o acesso para fazer um novo cadastro. na qual, o usuário vai preencher os seguintes campos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Campos de cadastro ====&lt;br /&gt;
* '''Descrição''' -  Campo de texto limitados ao máximo de 70 caracteres;&lt;br /&gt;
* '''Data inicial vigência''' -  Campo de data, onde definirá o inicio da vigência da tabela;&lt;br /&gt;
* '''Data final vigência''' -  Campo de data, onde definirá o final da vigência da tabela;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Uma tabela de preço não poderá ser excluída, só poderá ser desativada ou ativada através dos campos de data inicial e data final. Para desativar, basta colocar a data final inferior a data atual;&lt;br /&gt;
* Caso uma tabela de preço esteja com a data final de vigência vencida, a tabela de preço não será exibida para seleção no cadastro do pedido;&lt;br /&gt;
* Os campos de datas não serão obrigatórios. Quando não estiverem preenchidos, indica que aquela tabela estará disponível para uso;&lt;br /&gt;
* Não será possível utilizar a integração e cadastro da tabela de preço ao mesmo tempo, sendo necessário que haja uma única escolha: Integrar a tabela de preço do ERP ao GeoSales ou cadastrar a tabela de preço no próprio GeoSales. Caso tentem utilizar os dois cadastros ao mesmo tempo ERP e GeoSales, a integração apagará todos os registros cadastrados no GeoSales.&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
[[Arquivo:Tabelapreco.jpg|500px]] &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tabelapreco2.jpg|500px]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Declaração de variáveis ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dentro da tela de Variáveis de preço, deve ser possível definir uma variável de forma livre, mas que atenda as seguintes regras:&lt;br /&gt;
&lt;br /&gt;
* O campo chave, que será utilizado como referência na formula de preço, não deve conter caracteres especiais, espaço em branco e está limitada ao máximo de 8 caracteres, sendo todos minúsculos obrigatoriamente, seguindo o padrão &amp;lt;code&amp;gt;[a-z0-9]&amp;lt;/code&amp;gt;. &lt;br /&gt;
* A variável deve estar associada a um produto ou uma tabela de preço&lt;br /&gt;
* Para valores do tipo '''numérico (18,6)''', serão aceitos como possibilidade, podendo ser positivos ou negativos.&lt;br /&gt;
* Será criado um log de históricos de alterações de valores destas variáveis e passível de ser exportado em relatórios em excel.&lt;br /&gt;
* As variáveis fs, fmm e fmx, especificamente, não poderão ser utilizadas, por tratarem-se de variáveis protegidas em uso no sistema.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Campos de cadastro ====&lt;br /&gt;
&lt;br /&gt;
* '''Descrição''' -  Campo de texto limitados ao máximo de 70 caracteres;&lt;br /&gt;
* '''Chave''' -  Campo de texto de 8 caracteres;&lt;br /&gt;
* '''Produto / Tabela''' -  A seleção de uma produto ou de uma tabela, dados previamente alimentados;&lt;br /&gt;
* '''Valor''' -  Campo numérico(18:6);&lt;br /&gt;
&lt;br /&gt;
A chave poderá ser associada a mais de um produto/tabela, mas o valor é específico pela unidade de um destes dois atributos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tela2.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
=== Definição da formula de preço ===&lt;br /&gt;
&lt;br /&gt;
* Será necessário selecionar uma tabela de preço, a organização de venda e um ou mais produtos aos quais o preço deve ser inserido.&lt;br /&gt;
* Para a regra de preço teremos que informar a '''formula''' do preço mínimo, sugerido e máximo com a quantidade mínima, que valida sua aplicação.&lt;br /&gt;
* Nos campos de preço (mínimo, sugerido e máximo) teremos um espaço para a inserção da fórmula para composição de preço. Esta fórmula fará a relação matemática entre as variáveis criadas no processo anterior, por meio de '''operadores matemáticos (+, -, *, / )''', organizados em '''RPN''', notação comum para analistas financeiros, sendo bastante difundido, inclusive, na lógica de cálculo das calculadoras HP 12 C.&lt;br /&gt;
* Será possível visualizar uma prévia da fórmula escrita, além do valor encontrado, a fim de que o usuário possa confirmar os valores que foram inseridos pelas variáveis e seus respectivos operadores.&lt;br /&gt;
&lt;br /&gt;
Como exemplo de notação polonesa reversa, tomemos a expressão '''''(A+B)*C'''''. Em RPN, a notação ficaria '''''AB+C*'''''.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tela3.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
=== Processar tabela ===&lt;br /&gt;
&lt;br /&gt;
É importante frisar que os valores estão vinculados a uma tabela de preços, que consequentemente está vinculada a um cliente, organização de vendas, vendedores, e tabelas afins.&lt;br /&gt;
&lt;br /&gt;
As variáveis comuns a todos os clientes deverão ter valores diferenciados de acordo com a cidade onde a organização de vendas está alocada.&lt;br /&gt;
Há dois grupos de variáveis: aquelas que são relacionadas ao '''produto''' em si (tamanho, cor, embalagem, Tipo) e aquelas relacionadas à '''Tabela''' (Valor de partida, comissão promotor, frete, por exemplo). É importante determinar corretamente para qual grupo tal variável estará vinculada.&lt;br /&gt;
&lt;br /&gt;
Se mais de um produto possui a mesma característica, será possível fazer a precificação por grupos de produtos.&lt;br /&gt;
&lt;br /&gt;
Sempre que uma das variáveis for alterada, para que ocorra atualização de valores da faixa de preço baseados na alteração, deve ser feito um reprocessamento baseado nos valores atualizados das variáveis.&lt;br /&gt;
&lt;br /&gt;
Na aba de reprocessamento, sempre que houver uma solicitação de processamento devemos salvar as informações para eventual consulta. Ao entrar no detalhe podemos acompanhar o status do processamento.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tela4.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
== Cenários ==&lt;br /&gt;
&lt;br /&gt;
===DICIONÁRIO DE DADOS ===&lt;br /&gt;
&lt;br /&gt;
Considere  tabela abaixo com as seguintes tabelas cadastradas e suas respectivas vigências:&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! TABELA &lt;br /&gt;
! DESCRIÇÃO&lt;br /&gt;
! INICIO DA VIGÊNCIA&lt;br /&gt;
! FINAL DA VIGÊNCIA &lt;br /&gt;
|-&lt;br /&gt;
| '''01'''  || TABELA SP || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| '''02''' || TABELA RJ || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| '''03''' ||TABELA RS ||01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| '''04''' || TABELA SP - CARREFU || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| '''05'''  || TABELA BA || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| '''06''' || TABELA ES || 01/05/2020 || 01/01/2022&lt;br /&gt;
|- &lt;br /&gt;
| '''07''' || TABELA SP - CAPITAL ||01/05/2020 || 01/01/2022&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Selecionada a tabela desejada, o próximo passo é fazer a declaração das variáveis.&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! CHAVE&lt;br /&gt;
! DESCRIÇÃO DA VARIÁVEL &lt;br /&gt;
! TABELA / PRODUTO&lt;br /&gt;
! VALOR&lt;br /&gt;
|-&lt;br /&gt;
| '''pp''' || Preço de Partida || Tabela - 01  ||  R$ 106,00&lt;br /&gt;
|-&lt;br /&gt;
| '''fc''' || Cor / Tamanho || Produto - 001 || 1,5&lt;br /&gt;
|-&lt;br /&gt;
| '''ce''' ||Custo de Embalagem || Tabela - 01 ||  R$ 12,20&lt;br /&gt;
|-&lt;br /&gt;
| '''fr''' || Frete || Tabela - 01 ||  - 5&lt;br /&gt;
|-&lt;br /&gt;
| '''pr'''  || Promotor || Tabela - 01 || 1,02&lt;br /&gt;
|-&lt;br /&gt;
| '''ou''' || Fator Quebra || Tabela - 01 || 3,5&lt;br /&gt;
|- &lt;br /&gt;
| '''cf''' || Contrato de Fidelidade || Tabela - 01 || 1,02&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Cenário 1 ===&lt;br /&gt;
&lt;br /&gt;
Elaborando o preço do produto 'P001' para o cliente 'C001' por um período de 6 meses.&lt;br /&gt;
&lt;br /&gt;
No portal GeoSales, na tela de variáveis, serão utilizadas as seguintes informações:&lt;br /&gt;
&lt;br /&gt;
'''Enumeração das variáveis'''&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pelo exposto, temos que 7 variáveis foram declaradas. As fórmulas que devemos gerar (Fórmula de valor mínimo, fórmula de valor Sugerido e Fórmula de Valor Máximo) serão derivadas destas variáveis que apontamos. &lt;br /&gt;
&lt;br /&gt;
Supondo que, para a fórmula de valor Sugerido, iremos adotar a seguinte fórmula: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;p = pp fc / * qu * cf *&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Com esta composição, o valor Sugerido do produto será '''''R$ 252,28'''''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Supondo que, para a fórmula de valor Mínimo, iremos adotar a seguinte fórmula: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;p = pp fc /&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Com esta composição, o valor mínimo do produto será '''''R$ 70,66'''''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Supondo que, para a fórmula de valor Máximo, iremos adotar a seguinte fórmula: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;p = pp fc / ce + fr + pr * qu  *cf * &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Com esta composição, o valor máximo do produto será ''''' R$ 283,54'''''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || Fc || / || 70,66 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Ce || + || 82,86 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Fr || + || 82,66 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Pr || * || 84,52 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Qu || * || 84,52 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Cf || * || 86,21 || F&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P = PpFc/Ce+Fr+Pr*Qu*Cf*&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ao final do processo, a fórmula irá  apresentar o valor final: '''&amp;quot;R$ 86,21&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 2 ===&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P002' para o cliente 'C002'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,11 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || P1 || + || 113,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 75,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 87,86 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Fr || + || 90,86 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Pr || * || 90,86 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Qu || * || 90,86 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Cf || * || 100,86 || G&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P= PpP1+Fc/Ce+Fr+Pr*Qu*Cf*&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao final do processo de cálculo da fórmula, o valor do preço será '''&amp;quot;R$ 100,86&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 3 ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P003' para o cliente 'C003'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ -3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 8,67 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce2 || Custo de Embalagem 2 || R$ 2,00 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 2,5 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| K || Constante || 23,67 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp|| P1 || + || 107,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 71,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 80,33 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Ce2 || + || 82,33 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Fr || + || 84,83 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Pr || * || 84,83 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Qu || * || 84,83 || G&lt;br /&gt;
|-&lt;br /&gt;
| 8 || G || Cf || * || 84,83 || H&lt;br /&gt;
|-&lt;br /&gt;
| 9 || H || K || + || 108,50 || I&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P= PpP1+Fc/Ce+Ce2+Fr+Pr*Qu*Cf*K+&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao final do cálculo da forma, o valor final do preço será: '''&amp;quot;R$ 108,50&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--[[arquivo:formula1.png]]&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço2.png | 600 px]]&lt;br /&gt;
&lt;br /&gt;
Na formula acima, as somas de variaveis são agrupadas em blocos, multiplicando-se entre si. A relação entre os somatórios pode ser representada por&lt;br /&gt;
&lt;br /&gt;
[[arquivo:produto1.png | 200 px]]&lt;br /&gt;
&lt;br /&gt;
Portando, a equação de formação de preço pode ser representada da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ou pelo produtório&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço1.png]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A composição de preço tem como objetivo construir um preço de venda. Esse cadastro conta com tipos de variáveis para compor preço. Para que a composição de preço seja aplicada corretamente no cadastro do pedido, é necessário que as seguintes premissas sejam atendidas.&lt;br /&gt;
&lt;br /&gt;
=== Composição de preço ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Visto que há variação de preços de produtos para diferentes localidades, a formula criada para a composição de preços  deverá, além de compor toda a regra de cálculo de precificação de determinado produto, a sua parametrização vinculada ao seu respectivo Estado, Cidade e Filial. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em outras palavras, através da composição de preço, o usuário poderá informar a fórmula que o sistema irá aplicar para definir o preço unitário do produto. Essa regra poderá ser parametrizado por: filial, estado e cidade.&lt;br /&gt;
&lt;br /&gt;
== Regras de Negócios ==&lt;br /&gt;
&lt;br /&gt;
'''[RN1] - ''' Não poderá conter a mesma regra para o mesmo estado e filial;&lt;br /&gt;
&lt;br /&gt;
'''[RN2] - ''' Não deverá haver sobreposição de cadastros, e sim edição deste cadastro. Caso o usuário tente cadastrar o mesmo cenário mais de uma vez, a plataforma irá alertar informando que já existe uma regra, e que essa regra poderá ser sobreposta;&lt;br /&gt;
&lt;br /&gt;
'''[RN3] - ''' Essa funcionalidade será desenvolvida exclusivamente no GeoSales EVO.&lt;br /&gt;
&lt;br /&gt;
'''[RN4] - ''' Durante o processo, o portal não deverá travar, ou seja, o batch irá apresentar os dados apenas referentes às variáveis relacionadas (via GSOload). A medida visa evitar um carregamento excessivamente pesado de dados para determinada função. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''[RN5] - ''' Os históricos do log de alterações das variáveis ficarão registrados por um período de 1 (um) ano.&lt;br /&gt;
&lt;br /&gt;
'''[RN6] - ''' Um determinado produto poderá ser vinculado a mais de um grupo, mas a quantidade deve ser diferente.&lt;br /&gt;
&lt;br /&gt;
'''[RN7] - ''' A chave poderá ser associada a mais de um produto/tabela, mas o valor é específico pela unidade de um destes dois atributos.&lt;br /&gt;
&lt;br /&gt;
== Aprovação ==&lt;br /&gt;
&lt;br /&gt;
Considero aprovada a documentação da funcionalidade especificada acima, e autorizo a implementação da mesma no Sistema GeoSales, em nome da Organização a qual estou vinculado. &lt;br /&gt;
&lt;br /&gt;
=== GeoSales ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Desenvolvimento - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|- &lt;br /&gt;
| Integração - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
| Configurações - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Empresa solicitante === &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
! Assinatura&lt;br /&gt;
|-&lt;br /&gt;
| Gerente TI - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente de Projeto - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente Comercial - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Leo2s</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=15059</id>
		<title>Precificação</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=15059"/>
		<updated>2021-04-08T20:12:20Z</updated>

		<summary type="html">&lt;p&gt;Leo2s: /* Definição da formula de preço */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Histórico de Alterações ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data&lt;br /&gt;
! Quem &lt;br /&gt;
! Comentários &lt;br /&gt;
|-&lt;br /&gt;
| 01/10/2020  || Ana Júlia || Criação do documento &lt;br /&gt;
|-&lt;br /&gt;
| 01/04/2021 || João Ramon || Atualização do documento&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
&lt;br /&gt;
No processo de formação de preços, conta-se com um número definido de variáveis que irão fazer a composição do valor final que será apresentado ao cliente final. Informações como custos operacionais, inclusão de markups, fatores de compensação por quebra e/ou comissionamento de venda devem estar contemplados na composição dos preços. A empresa deseja fazer esta composição dentro da Plataforma GeoSales EVO, inserindo todas as informações de custo, taxas e demais dados customizáveis, permitindo que o próprio usuário consiga fazer esta composição.&lt;br /&gt;
&lt;br /&gt;
O cenário de precificação atual não possui um processo uniformizado para cada cliente. Portanto, a necessidade de criar um processo padronizado para composição de preços, assim como a atualização customizável de algumas dessas variáveis, por se tratarem de variáveis cujos valores podem oscilar por motivos externos (oscilações de mercado, variação na política de preços, etc), é imperativa.&lt;br /&gt;
&lt;br /&gt;
== Solução ==&lt;br /&gt;
&lt;br /&gt;
Visto que a formação de preços, e seu processo de elaboração, devem ser totalmente customizáveis pelo cliente, primeiramente deve ser possível que ele não apenas determine quais as variáveis e seus respectivos valores devem ser atribuídos na plataforma para precificação, mas também como estas variáveis se relacionarão matematicamente, a fim de formular um preço baseado nas entradas fornecidas pelo cliente. Além disso, tais variáveis, uma vez inseridas no cadastro de preços, deverão ser passíveis de edição, feitas pelo próprio cliente, de forma manual.&lt;br /&gt;
&lt;br /&gt;
Como instrumento de parametrização das fórmulas contendo as variáveis criadas e seus operadores apropriados, será utilizada a '''''notação polonesa  reversa (RPN)''''' (a mesma lógica de cálculo das calculadoras HP 12 C), ferramenta de uso familiar a pessoas ligadas ao trabalho que envolva matemática financeira. Assim, a formação de preço deverá ser mais flexível e intuitiva na sua formação, além de facilitar em eventuais futuras modificações. As formulas serão definidas dentro de uma tabela de preço para um determinado grupo de produto facilitando o cadastro. &lt;br /&gt;
&lt;br /&gt;
Também visando a facilidade da manutenção dos valores de cada variável da fórmula, iremos construir o preço por um conjunto de parâmetros, podendo ser definido de forma atrelada às seguintes dimensões: produto e tabela de preço.&lt;br /&gt;
&lt;br /&gt;
Após a definição dos parâmetros, a fórmula será construída por meio da utilização destes. Finalizando esta etapa, basta pedir para processar a tabela, onde a mesma passará a ser vigente para a equipe de venda.&lt;br /&gt;
&lt;br /&gt;
== Implementação ==&lt;br /&gt;
&lt;br /&gt;
O processo terá como bases os seguintes passos: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Criação de Tabela;&lt;br /&gt;
&amp;lt;!-- # para inserção de Variáveis e/ou aproveitamento de Tabela existente; --&amp;gt;&lt;br /&gt;
# Definição de Variáveis que deverão compor a fórmula de criação de preço, além da definição do atributo a qual tal variável está vinculada (produto ou Tabela);&lt;br /&gt;
# Definição de fórmula de formação de preços, utilizando RPN, e vinculações a grupos de produtos;&lt;br /&gt;
# Concluída a fórmula, com as relações operacionais entre as variáveis, os valores gerados devem ser processados para compor a Tabela de Preços.&lt;br /&gt;
&lt;br /&gt;
=== Cadastro tabela de preço ===&lt;br /&gt;
Para criação da tabela de preço, será criada uma tela onde o usuário irá fazer o cadastro da tabela de preço. Nela será possível fazer a inserção e edição de cadastros, não sendo possível excluir qualquer cadastro de tabela de preço já realizado, mas, apenas desativa-los.&lt;br /&gt;
&lt;br /&gt;
Ao entrar na tela o sistema deve apresentar campos de filtros, os quais, o usuário poderá localizar um cadastro já inserido ou realizar edição dos campos descrição e datas inicial e final de vigência. Além, disso no rodapé da tela, terá o acesso para fazer um novo cadastro. na qual, o usuário vai preencher os seguintes campos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Campos de cadastro ====&lt;br /&gt;
* '''Descrição''' -  Campo de texto limitados ao máximo de 70 caracteres;&lt;br /&gt;
* '''Data inicial vigência''' -  Campo de data, onde definirá o inicio da vigência da tabela;&lt;br /&gt;
* '''Data final vigência''' -  Campo de data, onde definirá o final da vigência da tabela;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Uma tabela de preço não poderá ser excluída, só poderá ser desativada ou ativada através dos campos de data inicial e data final. Para desativar, basta colocar a data final inferior a data atual;&lt;br /&gt;
* Caso uma tabela de preço esteja com a data final de vigência vencida, a tabela de preço não será exibida para seleção no cadastro do pedido;&lt;br /&gt;
* Os campos de datas não serão obrigatórios. Quando não estiverem preenchidos, indica que aquela tabela estará disponível para uso;&lt;br /&gt;
* Não será possível utilizar a integração e cadastro da tabela de preço ao mesmo tempo, sendo necessário que haja uma única escolha: Integrar a tabela de preço do ERP ao GeoSales ou cadastrar a tabela de preço no próprio GeoSales. Caso tentem utilizar os dois cadastros ao mesmo tempo ERP e GeoSales, a integração apagará todos os registros cadastrados no GeoSales.&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
[[Arquivo:Tabelapreco.jpg|500px]] &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tabelapreco2.jpg|500px]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Declaração de variáveis ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dentro da tela de Variáveis de preço, deve ser possível definir uma variável de forma livre, mas que atenda as seguintes regras:&lt;br /&gt;
&lt;br /&gt;
* O campo chave, que será utilizado como referência na formula de preço, não deve conter caracteres especiais, espaço em branco e está limitada ao máximo de 8 caracteres, sendo todos minúsculos obrigatoriamente, seguindo o padrão &amp;lt;code&amp;gt;[a-z0-9]&amp;lt;/code&amp;gt;. &lt;br /&gt;
* A variável deve estar associada a um produto ou uma tabela de preço&lt;br /&gt;
* Para valores do tipo '''numérico (18,6)''', serão aceitos como possibilidade, podendo ser positivos ou negativos.&lt;br /&gt;
* Será criado um log de históricos de alterações de valores destas variáveis e passível de ser exportado em relatórios em excel.&lt;br /&gt;
* As variáveis fs, fmm e fmx, especificamente, não poderão ser utilizadas, por tratarem-se de variáveis protegidas em uso no sistema.&lt;br /&gt;
[[Arquivo:Tela2.jpg|500px]] &lt;br /&gt;
&lt;br /&gt;
==== Campos de cadastro ====&lt;br /&gt;
&lt;br /&gt;
* '''Descrição''' -  Campo de texto limitados ao máximo de 70 caracteres;&lt;br /&gt;
* '''Chave''' -  Campo de texto de 8 caracteres;&lt;br /&gt;
* '''Produto / Tabela''' -  A seleção de uma produto ou de uma tabela, dados previamente alimentados;&lt;br /&gt;
* '''Valor''' -  Campo numérico(18:6);&lt;br /&gt;
&lt;br /&gt;
A chave poderá ser associada a mais de um produto/tabela, mas o valor é específico pela unidade de um destes dois atributos.&lt;br /&gt;
&lt;br /&gt;
=== Definição da formula de preço ===&lt;br /&gt;
&lt;br /&gt;
* Será necessário selecionar uma tabela de preço, a organização de venda e um ou mais produtos aos quais o preço deve ser inserido.&lt;br /&gt;
* Para a regra de preço teremos que informar a '''formula''' do preço mínimo, sugerido e máximo com a quantidade mínima, que valida sua aplicação.&lt;br /&gt;
* Nos campos de preço (mínimo, sugerido e máximo) teremos um espaço para a inserção da fórmula para composição de preço. Esta fórmula fará a relação matemática entre as variáveis criadas no processo anterior, por meio de '''operadores matemáticos (+, -, *, / )''', organizados em '''RPN''', notação comum para analistas financeiros, sendo bastante difundido, inclusive, na lógica de cálculo das calculadoras HP 12 C.&lt;br /&gt;
* Será possível visualizar uma prévia da fórmula escrita, além do valor encontrado, a fim de que o usuário possa confirmar os valores que foram inseridos pelas variáveis e seus respectivos operadores.&lt;br /&gt;
&lt;br /&gt;
Como exemplo de notação polonesa reversa, tomemos a expressão '''''(A+B)*C'''''. Em RPN, a notação ficaria '''''AB+C*'''''.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tela3.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
=== Processar tabela ===&lt;br /&gt;
&lt;br /&gt;
É importante frisar que os valores estão vinculados a uma tabela de preços, que consequentemente está vinculada a um cliente, organização de vendas, vendedores, e tabelas afins.&lt;br /&gt;
&lt;br /&gt;
As variáveis comuns a todos os clientes deverão ter valores diferenciados de acordo com a cidade onde a organização de vendas está alocada.&lt;br /&gt;
Há dois grupos de variáveis: aquelas que são relacionadas ao '''produto''' em si (tamanho, cor, embalagem, Tipo) e aquelas relacionadas à '''Tabela''' (Valor de partida, comissão promotor, frete, por exemplo). É importante determinar corretamente para qual grupo tal variável estará vinculada.&lt;br /&gt;
&lt;br /&gt;
Se mais de um produto possui a mesma característica, será possível fazer a precificação por grupos de produtos.&lt;br /&gt;
&lt;br /&gt;
Sempre que uma das variáveis for alterada, para que ocorra atualização de valores da faixa de preço baseados na alteração, deve ser feito um reprocessamento baseado nos valores atualizados das variáveis.&lt;br /&gt;
&lt;br /&gt;
Na aba de reprocessamento, sempre que houver uma solicitação de processamento devemos salvar as informações para eventual consulta. Ao entrar no detalhe podemos acompanhar o status do processamento.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tela4.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
== Cenários ==&lt;br /&gt;
&lt;br /&gt;
===DICIONÁRIO DE DADOS ===&lt;br /&gt;
&lt;br /&gt;
Considere  tabela abaixo com as seguintes tabelas cadastradas e suas respectivas vigências:&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! TABELA &lt;br /&gt;
! DESCRIÇÃO&lt;br /&gt;
! INICIO DA VIGÊNCIA&lt;br /&gt;
! FINAL DA VIGÊNCIA &lt;br /&gt;
|-&lt;br /&gt;
| '''01'''  || TABELA SP || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| '''02''' || TABELA RJ || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| '''03''' ||TABELA RS ||01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| '''04''' || TABELA SP - CARREFU || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| '''05'''  || TABELA BA || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| '''06''' || TABELA ES || 01/05/2020 || 01/01/2022&lt;br /&gt;
|- &lt;br /&gt;
| '''07''' || TABELA SP - CAPITAL ||01/05/2020 || 01/01/2022&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Selecionada a tabela desejada, o próximo passo é fazer a declaração das variáveis.&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! CHAVE&lt;br /&gt;
! DESCRIÇÃO DA VARIÁVEL &lt;br /&gt;
! TABELA / PRODUTO&lt;br /&gt;
! VALOR&lt;br /&gt;
|-&lt;br /&gt;
| '''pp''' || Preço de Partida || Tabela - 01  ||  R$ 106,00&lt;br /&gt;
|-&lt;br /&gt;
| '''fc''' || Cor / Tamanho || Produto - 001 || 1,5&lt;br /&gt;
|-&lt;br /&gt;
| '''ce''' ||Custo de Embalagem || Tabela - 01 ||  R$ 12,20&lt;br /&gt;
|-&lt;br /&gt;
| '''fr''' || Frete || Tabela - 01 ||  - 5&lt;br /&gt;
|-&lt;br /&gt;
| '''pr'''  || Promotor || Tabela - 01 || 1,02&lt;br /&gt;
|-&lt;br /&gt;
| '''ou''' || Fator Quebra || Tabela - 01 || 3,5&lt;br /&gt;
|- &lt;br /&gt;
| '''cf''' || Contrato de Fidelidade || Tabela - 01 || 1,02&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Cenário 1 ===&lt;br /&gt;
&lt;br /&gt;
Elaborando o preço do produto 'P001' para o cliente 'C001' por um período de 6 meses.&lt;br /&gt;
&lt;br /&gt;
No portal GeoSales, na tela de variáveis, serão utilizadas as seguintes informações:&lt;br /&gt;
&lt;br /&gt;
'''Enumeração das variáveis'''&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pelo exposto, temos que 7 variáveis foram declaradas. As fórmulas que devemos gerar (Fórmula de valor mínimo, fórmula de valor Sugerido e Fórmula de Valor Máximo) serão derivadas destas variáveis que apontamos. &lt;br /&gt;
&lt;br /&gt;
Supondo que, para a fórmula de valor Sugerido, iremos adotar a seguinte fórmula: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P = PpFc/*Qu*Cf*&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Com esta composição, o valor Sugerido do produto será '''''R$ 252,28'''''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Supondo que, para a fórmula de valor Mínimo, iremos adotar a seguinte fórmula: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P = PpFc/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Com esta composição, o valor mínimo do produto será '''''R$ 70,66'''''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Supondo que, para a fórmula de valor Máximo, iremos adotar a seguinte fórmula: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P = PpFc/Ce+Fr+Pr*Qu*Cf*&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Com esta composição, o valor máximo do produto será ''''' R$ 283,54'''''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || Fc || / || 70,66 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Ce || + || 82,86 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Fr || + || 82,66 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Pr || * || 84,52 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Qu || * || 84,52 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Cf || * || 86,21 || F&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P = PpFc/Ce+Fr+Pr*Qu*Cf*&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ao final do processo, a fórmula irá  apresentar o valor final: '''&amp;quot;R$ 86,21&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 2 ===&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P002' para o cliente 'C002'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,11 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || P1 || + || 113,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 75,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 87,86 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Fr || + || 90,86 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Pr || * || 90,86 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Qu || * || 90,86 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Cf || * || 100,86 || G&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P= PpP1+Fc/Ce+Fr+Pr*Qu*Cf*&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao final do processo de cálculo da fórmula, o valor do preço será '''&amp;quot;R$ 100,86&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 3 ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P003' para o cliente 'C003'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ -3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 8,67 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce2 || Custo de Embalagem 2 || R$ 2,00 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 2,5 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| K || Constante || 23,67 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp|| P1 || + || 107,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 71,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 80,33 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Ce2 || + || 82,33 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Fr || + || 84,83 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Pr || * || 84,83 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Qu || * || 84,83 || G&lt;br /&gt;
|-&lt;br /&gt;
| 8 || G || Cf || * || 84,83 || H&lt;br /&gt;
|-&lt;br /&gt;
| 9 || H || K || + || 108,50 || I&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P= PpP1+Fc/Ce+Ce2+Fr+Pr*Qu*Cf*K+&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao final do cálculo da forma, o valor final do preço será: '''&amp;quot;R$ 108,50&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--[[arquivo:formula1.png]]&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço2.png | 600 px]]&lt;br /&gt;
&lt;br /&gt;
Na formula acima, as somas de variaveis são agrupadas em blocos, multiplicando-se entre si. A relação entre os somatórios pode ser representada por&lt;br /&gt;
&lt;br /&gt;
[[arquivo:produto1.png | 200 px]]&lt;br /&gt;
&lt;br /&gt;
Portando, a equação de formação de preço pode ser representada da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ou pelo produtório&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço1.png]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A composição de preço tem como objetivo construir um preço de venda. Esse cadastro conta com tipos de variáveis para compor preço. Para que a composição de preço seja aplicada corretamente no cadastro do pedido, é necessário que as seguintes premissas sejam atendidas.&lt;br /&gt;
&lt;br /&gt;
=== Composição de preço ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Visto que há variação de preços de produtos para diferentes localidades, a formula criada para a composição de preços  deverá, além de compor toda a regra de cálculo de precificação de determinado produto, a sua parametrização vinculada ao seu respectivo Estado, Cidade e Filial. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em outras palavras, através da composição de preço, o usuário poderá informar a fórmula que o sistema irá aplicar para definir o preço unitário do produto. Essa regra poderá ser parametrizado por: filial, estado e cidade.&lt;br /&gt;
&lt;br /&gt;
== Regras de Negócios ==&lt;br /&gt;
&lt;br /&gt;
'''[RN1] - ''' Não poderá conter a mesma regra para o mesmo estado e filial;&lt;br /&gt;
&lt;br /&gt;
'''[RN2] - ''' Não deverá haver sobreposição de cadastros, e sim edição deste cadastro. Caso o usuário tente cadastrar o mesmo cenário mais de uma vez, a plataforma irá alertar informando que já existe uma regra, e que essa regra poderá ser sobreposta;&lt;br /&gt;
&lt;br /&gt;
'''[RN3] - ''' Essa funcionalidade será desenvolvida exclusivamente no GeoSales EVO.&lt;br /&gt;
&lt;br /&gt;
'''[RN4] - ''' Durante o processo, o portal não deverá travar, ou seja, o batch irá apresentar os dados apenas referentes às variáveis relacionadas (via GSOload). A medida visa evitar um carregamento excessivamente pesado de dados para determinada função. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''[RN5] - ''' Os históricos do log de alterações das variáveis ficarão registrados por um período de 1 (um) ano.&lt;br /&gt;
&lt;br /&gt;
'''[RN6] - ''' Um determinado produto poderá ser vinculado a mais de um grupo, mas a quantidade deve ser diferente.&lt;br /&gt;
&lt;br /&gt;
'''[RN7] - ''' A chave poderá ser associada a mais de um produto/tabela, mas o valor é específico pela unidade de um destes dois atributos.&lt;br /&gt;
&lt;br /&gt;
== Aprovação ==&lt;br /&gt;
&lt;br /&gt;
Considero aprovada a documentação da funcionalidade especificada acima, e autorizo a implementação da mesma no Sistema GeoSales, em nome da Organização a qual estou vinculado. &lt;br /&gt;
&lt;br /&gt;
=== GeoSales ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Desenvolvimento - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|- &lt;br /&gt;
| Integração - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
| Configurações - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Empresa solicitante === &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
! Assinatura&lt;br /&gt;
|-&lt;br /&gt;
| Gerente TI - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente de Projeto - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente Comercial - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Leo2s</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=15058</id>
		<title>Precificação</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=15058"/>
		<updated>2021-04-08T20:11:35Z</updated>

		<summary type="html">&lt;p&gt;Leo2s: /* DICIONÁRIO DE DADOS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Histórico de Alterações ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data&lt;br /&gt;
! Quem &lt;br /&gt;
! Comentários &lt;br /&gt;
|-&lt;br /&gt;
| 01/10/2020  || Ana Júlia || Criação do documento &lt;br /&gt;
|-&lt;br /&gt;
| 01/04/2021 || João Ramon || Atualização do documento&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
&lt;br /&gt;
No processo de formação de preços, conta-se com um número definido de variáveis que irão fazer a composição do valor final que será apresentado ao cliente final. Informações como custos operacionais, inclusão de markups, fatores de compensação por quebra e/ou comissionamento de venda devem estar contemplados na composição dos preços. A empresa deseja fazer esta composição dentro da Plataforma GeoSales EVO, inserindo todas as informações de custo, taxas e demais dados customizáveis, permitindo que o próprio usuário consiga fazer esta composição.&lt;br /&gt;
&lt;br /&gt;
O cenário de precificação atual não possui um processo uniformizado para cada cliente. Portanto, a necessidade de criar um processo padronizado para composição de preços, assim como a atualização customizável de algumas dessas variáveis, por se tratarem de variáveis cujos valores podem oscilar por motivos externos (oscilações de mercado, variação na política de preços, etc), é imperativa.&lt;br /&gt;
&lt;br /&gt;
== Solução ==&lt;br /&gt;
&lt;br /&gt;
Visto que a formação de preços, e seu processo de elaboração, devem ser totalmente customizáveis pelo cliente, primeiramente deve ser possível que ele não apenas determine quais as variáveis e seus respectivos valores devem ser atribuídos na plataforma para precificação, mas também como estas variáveis se relacionarão matematicamente, a fim de formular um preço baseado nas entradas fornecidas pelo cliente. Além disso, tais variáveis, uma vez inseridas no cadastro de preços, deverão ser passíveis de edição, feitas pelo próprio cliente, de forma manual.&lt;br /&gt;
&lt;br /&gt;
Como instrumento de parametrização das fórmulas contendo as variáveis criadas e seus operadores apropriados, será utilizada a '''''notação polonesa  reversa (RPN)''''' (a mesma lógica de cálculo das calculadoras HP 12 C), ferramenta de uso familiar a pessoas ligadas ao trabalho que envolva matemática financeira. Assim, a formação de preço deverá ser mais flexível e intuitiva na sua formação, além de facilitar em eventuais futuras modificações. As formulas serão definidas dentro de uma tabela de preço para um determinado grupo de produto facilitando o cadastro. &lt;br /&gt;
&lt;br /&gt;
Também visando a facilidade da manutenção dos valores de cada variável da fórmula, iremos construir o preço por um conjunto de parâmetros, podendo ser definido de forma atrelada às seguintes dimensões: produto e tabela de preço.&lt;br /&gt;
&lt;br /&gt;
Após a definição dos parâmetros, a fórmula será construída por meio da utilização destes. Finalizando esta etapa, basta pedir para processar a tabela, onde a mesma passará a ser vigente para a equipe de venda.&lt;br /&gt;
&lt;br /&gt;
== Implementação ==&lt;br /&gt;
&lt;br /&gt;
O processo terá como bases os seguintes passos: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Criação de Tabela;&lt;br /&gt;
&amp;lt;!-- # para inserção de Variáveis e/ou aproveitamento de Tabela existente; --&amp;gt;&lt;br /&gt;
# Definição de Variáveis que deverão compor a fórmula de criação de preço, além da definição do atributo a qual tal variável está vinculada (produto ou Tabela);&lt;br /&gt;
# Definição de fórmula de formação de preços, utilizando RPN, e vinculações a grupos de produtos;&lt;br /&gt;
# Concluída a fórmula, com as relações operacionais entre as variáveis, os valores gerados devem ser processados para compor a Tabela de Preços.&lt;br /&gt;
&lt;br /&gt;
=== Cadastro tabela de preço ===&lt;br /&gt;
Para criação da tabela de preço, será criada uma tela onde o usuário irá fazer o cadastro da tabela de preço. Nela será possível fazer a inserção e edição de cadastros, não sendo possível excluir qualquer cadastro de tabela de preço já realizado, mas, apenas desativa-los.&lt;br /&gt;
&lt;br /&gt;
Ao entrar na tela o sistema deve apresentar campos de filtros, os quais, o usuário poderá localizar um cadastro já inserido ou realizar edição dos campos descrição e datas inicial e final de vigência. Além, disso no rodapé da tela, terá o acesso para fazer um novo cadastro. na qual, o usuário vai preencher os seguintes campos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Campos de cadastro ====&lt;br /&gt;
* '''Descrição''' -  Campo de texto limitados ao máximo de 70 caracteres;&lt;br /&gt;
* '''Data inicial vigência''' -  Campo de data, onde definirá o inicio da vigência da tabela;&lt;br /&gt;
* '''Data final vigência''' -  Campo de data, onde definirá o final da vigência da tabela;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Uma tabela de preço não poderá ser excluída, só poderá ser desativada ou ativada através dos campos de data inicial e data final. Para desativar, basta colocar a data final inferior a data atual;&lt;br /&gt;
* Caso uma tabela de preço esteja com a data final de vigência vencida, a tabela de preço não será exibida para seleção no cadastro do pedido;&lt;br /&gt;
* Os campos de datas não serão obrigatórios. Quando não estiverem preenchidos, indica que aquela tabela estará disponível para uso;&lt;br /&gt;
* Não será possível utilizar a integração e cadastro da tabela de preço ao mesmo tempo, sendo necessário que haja uma única escolha: Integrar a tabela de preço do ERP ao GeoSales ou cadastrar a tabela de preço no próprio GeoSales. Caso tentem utilizar os dois cadastros ao mesmo tempo ERP e GeoSales, a integração apagará todos os registros cadastrados no GeoSales.&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
[[Arquivo:Tabelapreco.jpg|500px]] &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tabelapreco2.jpg|500px]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Declaração de variáveis ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dentro da tela de Variáveis de preço, deve ser possível definir uma variável de forma livre, mas que atenda as seguintes regras:&lt;br /&gt;
&lt;br /&gt;
* O campo chave, que será utilizado como referência na formula de preço, não deve conter caracteres especiais, espaço em branco e está limitada ao máximo de 8 caracteres, sendo todos minúsculos obrigatoriamente, seguindo o padrão &amp;lt;code&amp;gt;[a-z0-9]&amp;lt;/code&amp;gt;. &lt;br /&gt;
* A variável deve estar associada a um produto ou uma tabela de preço&lt;br /&gt;
* Para valores do tipo '''numérico (18,6)''', serão aceitos como possibilidade, podendo ser positivos ou negativos.&lt;br /&gt;
* Será criado um log de históricos de alterações de valores destas variáveis e passível de ser exportado em relatórios em excel.&lt;br /&gt;
* As variáveis fs, fmm e fmx, especificamente, não poderão ser utilizadas, por tratarem-se de variáveis protegidas em uso no sistema.&lt;br /&gt;
[[Arquivo:Tela2.jpg|500px]] &lt;br /&gt;
&lt;br /&gt;
==== Campos de cadastro ====&lt;br /&gt;
&lt;br /&gt;
* '''Descrição''' -  Campo de texto limitados ao máximo de 70 caracteres;&lt;br /&gt;
* '''Chave''' -  Campo de texto de 8 caracteres;&lt;br /&gt;
* '''Produto / Tabela''' -  A seleção de uma produto ou de uma tabela, dados previamente alimentados;&lt;br /&gt;
* '''Valor''' -  Campo numérico(18:6);&lt;br /&gt;
&lt;br /&gt;
A chave poderá ser associada a mais de um produto/tabela, mas o valor é específico pela unidade de um destes dois atributos.&lt;br /&gt;
&lt;br /&gt;
=== Definição da formula de preço ===&lt;br /&gt;
&lt;br /&gt;
* Será necessário selecionar uma tabela de preço, a organização de venda e um ou mais produtos aos quais o preço deve ser inserido.&lt;br /&gt;
* Para a regra de preço teremos que informar a '''formula''' do preço mínimo, sugerido e máximo com a quantidade mínima, que valida sua aplicação.&lt;br /&gt;
* Nos campos de preço (mínimo, sugerido e máximo) teremos um espaço para a inserção da fórmula para composição de preço. Esta fórmula fará a relação matemática entre as variáveis criadas no processo anterior, por meio de '''operadores matemáticos (+, -, *, / )''', organizados em '''RPN''', notação comum para analistas financeiros, sendo bastante difundido, inclusive, na lógica de cálculo das calculadoras HP 12 C.&lt;br /&gt;
* Será possível visualizar uma prévia da fórmula escrita, além do valor encontrado, a fim de que o usuário possa confirmar os valores que foram inseridos pelas variáveis e seus respectivos operadores.&lt;br /&gt;
&lt;br /&gt;
Como exemplo de notação polonesa reversa, tomemos a expressão '''''(A+B)*C'''''. Em RPN, a notação ficaria '''''AB+C*'''''.&lt;br /&gt;
[[Arquivo:Tela3.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
=== Processar tabela ===&lt;br /&gt;
&lt;br /&gt;
É importante frisar que os valores estão vinculados a uma tabela de preços, que consequentemente está vinculada a um cliente, organização de vendas, vendedores, e tabelas afins.&lt;br /&gt;
&lt;br /&gt;
As variáveis comuns a todos os clientes deverão ter valores diferenciados de acordo com a cidade onde a organização de vendas está alocada.&lt;br /&gt;
Há dois grupos de variáveis: aquelas que são relacionadas ao '''produto''' em si (tamanho, cor, embalagem, Tipo) e aquelas relacionadas à '''Tabela''' (Valor de partida, comissão promotor, frete, por exemplo). É importante determinar corretamente para qual grupo tal variável estará vinculada.&lt;br /&gt;
&lt;br /&gt;
Se mais de um produto possui a mesma característica, será possível fazer a precificação por grupos de produtos.&lt;br /&gt;
&lt;br /&gt;
Sempre que uma das variáveis for alterada, para que ocorra atualização de valores da faixa de preço baseados na alteração, deve ser feito um reprocessamento baseado nos valores atualizados das variáveis.&lt;br /&gt;
&lt;br /&gt;
Na aba de reprocessamento, sempre que houver uma solicitação de processamento devemos salvar as informações para eventual consulta. Ao entrar no detalhe podemos acompanhar o status do processamento.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tela4.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
== Cenários ==&lt;br /&gt;
&lt;br /&gt;
===DICIONÁRIO DE DADOS ===&lt;br /&gt;
&lt;br /&gt;
Considere  tabela abaixo com as seguintes tabelas cadastradas e suas respectivas vigências:&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! TABELA &lt;br /&gt;
! DESCRIÇÃO&lt;br /&gt;
! INICIO DA VIGÊNCIA&lt;br /&gt;
! FINAL DA VIGÊNCIA &lt;br /&gt;
|-&lt;br /&gt;
| '''01'''  || TABELA SP || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| '''02''' || TABELA RJ || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| '''03''' ||TABELA RS ||01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| '''04''' || TABELA SP - CARREFU || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| '''05'''  || TABELA BA || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| '''06''' || TABELA ES || 01/05/2020 || 01/01/2022&lt;br /&gt;
|- &lt;br /&gt;
| '''07''' || TABELA SP - CAPITAL ||01/05/2020 || 01/01/2022&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Selecionada a tabela desejada, o próximo passo é fazer a declaração das variáveis.&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! CHAVE&lt;br /&gt;
! DESCRIÇÃO DA VARIÁVEL &lt;br /&gt;
! TABELA / PRODUTO&lt;br /&gt;
! VALOR&lt;br /&gt;
|-&lt;br /&gt;
| '''pp''' || Preço de Partida || Tabela - 01  ||  R$ 106,00&lt;br /&gt;
|-&lt;br /&gt;
| '''fc''' || Cor / Tamanho || Produto - 001 || 1,5&lt;br /&gt;
|-&lt;br /&gt;
| '''ce''' ||Custo de Embalagem || Tabela - 01 ||  R$ 12,20&lt;br /&gt;
|-&lt;br /&gt;
| '''fr''' || Frete || Tabela - 01 ||  - 5&lt;br /&gt;
|-&lt;br /&gt;
| '''pr'''  || Promotor || Tabela - 01 || 1,02&lt;br /&gt;
|-&lt;br /&gt;
| '''ou''' || Fator Quebra || Tabela - 01 || 3,5&lt;br /&gt;
|- &lt;br /&gt;
| '''cf''' || Contrato de Fidelidade || Tabela - 01 || 1,02&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Cenário 1 ===&lt;br /&gt;
&lt;br /&gt;
Elaborando o preço do produto 'P001' para o cliente 'C001' por um período de 6 meses.&lt;br /&gt;
&lt;br /&gt;
No portal GeoSales, na tela de variáveis, serão utilizadas as seguintes informações:&lt;br /&gt;
&lt;br /&gt;
'''Enumeração das variáveis'''&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pelo exposto, temos que 7 variáveis foram declaradas. As fórmulas que devemos gerar (Fórmula de valor mínimo, fórmula de valor Sugerido e Fórmula de Valor Máximo) serão derivadas destas variáveis que apontamos. &lt;br /&gt;
&lt;br /&gt;
Supondo que, para a fórmula de valor Sugerido, iremos adotar a seguinte fórmula: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P = PpFc/*Qu*Cf*&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Com esta composição, o valor Sugerido do produto será '''''R$ 252,28'''''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Supondo que, para a fórmula de valor Mínimo, iremos adotar a seguinte fórmula: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P = PpFc/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Com esta composição, o valor mínimo do produto será '''''R$ 70,66'''''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Supondo que, para a fórmula de valor Máximo, iremos adotar a seguinte fórmula: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P = PpFc/Ce+Fr+Pr*Qu*Cf*&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Com esta composição, o valor máximo do produto será ''''' R$ 283,54'''''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || Fc || / || 70,66 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Ce || + || 82,86 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Fr || + || 82,66 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Pr || * || 84,52 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Qu || * || 84,52 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Cf || * || 86,21 || F&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P = PpFc/Ce+Fr+Pr*Qu*Cf*&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ao final do processo, a fórmula irá  apresentar o valor final: '''&amp;quot;R$ 86,21&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 2 ===&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P002' para o cliente 'C002'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,11 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || P1 || + || 113,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 75,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 87,86 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Fr || + || 90,86 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Pr || * || 90,86 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Qu || * || 90,86 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Cf || * || 100,86 || G&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P= PpP1+Fc/Ce+Fr+Pr*Qu*Cf*&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao final do processo de cálculo da fórmula, o valor do preço será '''&amp;quot;R$ 100,86&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 3 ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P003' para o cliente 'C003'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ -3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 8,67 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce2 || Custo de Embalagem 2 || R$ 2,00 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 2,5 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| K || Constante || 23,67 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp|| P1 || + || 107,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 71,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 80,33 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Ce2 || + || 82,33 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Fr || + || 84,83 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Pr || * || 84,83 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Qu || * || 84,83 || G&lt;br /&gt;
|-&lt;br /&gt;
| 8 || G || Cf || * || 84,83 || H&lt;br /&gt;
|-&lt;br /&gt;
| 9 || H || K || + || 108,50 || I&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P= PpP1+Fc/Ce+Ce2+Fr+Pr*Qu*Cf*K+&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao final do cálculo da forma, o valor final do preço será: '''&amp;quot;R$ 108,50&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--[[arquivo:formula1.png]]&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço2.png | 600 px]]&lt;br /&gt;
&lt;br /&gt;
Na formula acima, as somas de variaveis são agrupadas em blocos, multiplicando-se entre si. A relação entre os somatórios pode ser representada por&lt;br /&gt;
&lt;br /&gt;
[[arquivo:produto1.png | 200 px]]&lt;br /&gt;
&lt;br /&gt;
Portando, a equação de formação de preço pode ser representada da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ou pelo produtório&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço1.png]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A composição de preço tem como objetivo construir um preço de venda. Esse cadastro conta com tipos de variáveis para compor preço. Para que a composição de preço seja aplicada corretamente no cadastro do pedido, é necessário que as seguintes premissas sejam atendidas.&lt;br /&gt;
&lt;br /&gt;
=== Composição de preço ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Visto que há variação de preços de produtos para diferentes localidades, a formula criada para a composição de preços  deverá, além de compor toda a regra de cálculo de precificação de determinado produto, a sua parametrização vinculada ao seu respectivo Estado, Cidade e Filial. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em outras palavras, através da composição de preço, o usuário poderá informar a fórmula que o sistema irá aplicar para definir o preço unitário do produto. Essa regra poderá ser parametrizado por: filial, estado e cidade.&lt;br /&gt;
&lt;br /&gt;
== Regras de Negócios ==&lt;br /&gt;
&lt;br /&gt;
'''[RN1] - ''' Não poderá conter a mesma regra para o mesmo estado e filial;&lt;br /&gt;
&lt;br /&gt;
'''[RN2] - ''' Não deverá haver sobreposição de cadastros, e sim edição deste cadastro. Caso o usuário tente cadastrar o mesmo cenário mais de uma vez, a plataforma irá alertar informando que já existe uma regra, e que essa regra poderá ser sobreposta;&lt;br /&gt;
&lt;br /&gt;
'''[RN3] - ''' Essa funcionalidade será desenvolvida exclusivamente no GeoSales EVO.&lt;br /&gt;
&lt;br /&gt;
'''[RN4] - ''' Durante o processo, o portal não deverá travar, ou seja, o batch irá apresentar os dados apenas referentes às variáveis relacionadas (via GSOload). A medida visa evitar um carregamento excessivamente pesado de dados para determinada função. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''[RN5] - ''' Os históricos do log de alterações das variáveis ficarão registrados por um período de 1 (um) ano.&lt;br /&gt;
&lt;br /&gt;
'''[RN6] - ''' Um determinado produto poderá ser vinculado a mais de um grupo, mas a quantidade deve ser diferente.&lt;br /&gt;
&lt;br /&gt;
'''[RN7] - ''' A chave poderá ser associada a mais de um produto/tabela, mas o valor é específico pela unidade de um destes dois atributos.&lt;br /&gt;
&lt;br /&gt;
== Aprovação ==&lt;br /&gt;
&lt;br /&gt;
Considero aprovada a documentação da funcionalidade especificada acima, e autorizo a implementação da mesma no Sistema GeoSales, em nome da Organização a qual estou vinculado. &lt;br /&gt;
&lt;br /&gt;
=== GeoSales ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Desenvolvimento - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|- &lt;br /&gt;
| Integração - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
| Configurações - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Empresa solicitante === &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
! Assinatura&lt;br /&gt;
|-&lt;br /&gt;
| Gerente TI - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente de Projeto - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente Comercial - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Leo2s</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=15057</id>
		<title>Precificação</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=15057"/>
		<updated>2021-04-08T20:11:17Z</updated>

		<summary type="html">&lt;p&gt;Leo2s: /* DICIONÁRIO DE DADOS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Histórico de Alterações ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data&lt;br /&gt;
! Quem &lt;br /&gt;
! Comentários &lt;br /&gt;
|-&lt;br /&gt;
| 01/10/2020  || Ana Júlia || Criação do documento &lt;br /&gt;
|-&lt;br /&gt;
| 01/04/2021 || João Ramon || Atualização do documento&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
&lt;br /&gt;
No processo de formação de preços, conta-se com um número definido de variáveis que irão fazer a composição do valor final que será apresentado ao cliente final. Informações como custos operacionais, inclusão de markups, fatores de compensação por quebra e/ou comissionamento de venda devem estar contemplados na composição dos preços. A empresa deseja fazer esta composição dentro da Plataforma GeoSales EVO, inserindo todas as informações de custo, taxas e demais dados customizáveis, permitindo que o próprio usuário consiga fazer esta composição.&lt;br /&gt;
&lt;br /&gt;
O cenário de precificação atual não possui um processo uniformizado para cada cliente. Portanto, a necessidade de criar um processo padronizado para composição de preços, assim como a atualização customizável de algumas dessas variáveis, por se tratarem de variáveis cujos valores podem oscilar por motivos externos (oscilações de mercado, variação na política de preços, etc), é imperativa.&lt;br /&gt;
&lt;br /&gt;
== Solução ==&lt;br /&gt;
&lt;br /&gt;
Visto que a formação de preços, e seu processo de elaboração, devem ser totalmente customizáveis pelo cliente, primeiramente deve ser possível que ele não apenas determine quais as variáveis e seus respectivos valores devem ser atribuídos na plataforma para precificação, mas também como estas variáveis se relacionarão matematicamente, a fim de formular um preço baseado nas entradas fornecidas pelo cliente. Além disso, tais variáveis, uma vez inseridas no cadastro de preços, deverão ser passíveis de edição, feitas pelo próprio cliente, de forma manual.&lt;br /&gt;
&lt;br /&gt;
Como instrumento de parametrização das fórmulas contendo as variáveis criadas e seus operadores apropriados, será utilizada a '''''notação polonesa  reversa (RPN)''''' (a mesma lógica de cálculo das calculadoras HP 12 C), ferramenta de uso familiar a pessoas ligadas ao trabalho que envolva matemática financeira. Assim, a formação de preço deverá ser mais flexível e intuitiva na sua formação, além de facilitar em eventuais futuras modificações. As formulas serão definidas dentro de uma tabela de preço para um determinado grupo de produto facilitando o cadastro. &lt;br /&gt;
&lt;br /&gt;
Também visando a facilidade da manutenção dos valores de cada variável da fórmula, iremos construir o preço por um conjunto de parâmetros, podendo ser definido de forma atrelada às seguintes dimensões: produto e tabela de preço.&lt;br /&gt;
&lt;br /&gt;
Após a definição dos parâmetros, a fórmula será construída por meio da utilização destes. Finalizando esta etapa, basta pedir para processar a tabela, onde a mesma passará a ser vigente para a equipe de venda.&lt;br /&gt;
&lt;br /&gt;
== Implementação ==&lt;br /&gt;
&lt;br /&gt;
O processo terá como bases os seguintes passos: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Criação de Tabela;&lt;br /&gt;
&amp;lt;!-- # para inserção de Variáveis e/ou aproveitamento de Tabela existente; --&amp;gt;&lt;br /&gt;
# Definição de Variáveis que deverão compor a fórmula de criação de preço, além da definição do atributo a qual tal variável está vinculada (produto ou Tabela);&lt;br /&gt;
# Definição de fórmula de formação de preços, utilizando RPN, e vinculações a grupos de produtos;&lt;br /&gt;
# Concluída a fórmula, com as relações operacionais entre as variáveis, os valores gerados devem ser processados para compor a Tabela de Preços.&lt;br /&gt;
&lt;br /&gt;
=== Cadastro tabela de preço ===&lt;br /&gt;
Para criação da tabela de preço, será criada uma tela onde o usuário irá fazer o cadastro da tabela de preço. Nela será possível fazer a inserção e edição de cadastros, não sendo possível excluir qualquer cadastro de tabela de preço já realizado, mas, apenas desativa-los.&lt;br /&gt;
&lt;br /&gt;
Ao entrar na tela o sistema deve apresentar campos de filtros, os quais, o usuário poderá localizar um cadastro já inserido ou realizar edição dos campos descrição e datas inicial e final de vigência. Além, disso no rodapé da tela, terá o acesso para fazer um novo cadastro. na qual, o usuário vai preencher os seguintes campos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Campos de cadastro ====&lt;br /&gt;
* '''Descrição''' -  Campo de texto limitados ao máximo de 70 caracteres;&lt;br /&gt;
* '''Data inicial vigência''' -  Campo de data, onde definirá o inicio da vigência da tabela;&lt;br /&gt;
* '''Data final vigência''' -  Campo de data, onde definirá o final da vigência da tabela;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Uma tabela de preço não poderá ser excluída, só poderá ser desativada ou ativada através dos campos de data inicial e data final. Para desativar, basta colocar a data final inferior a data atual;&lt;br /&gt;
* Caso uma tabela de preço esteja com a data final de vigência vencida, a tabela de preço não será exibida para seleção no cadastro do pedido;&lt;br /&gt;
* Os campos de datas não serão obrigatórios. Quando não estiverem preenchidos, indica que aquela tabela estará disponível para uso;&lt;br /&gt;
* Não será possível utilizar a integração e cadastro da tabela de preço ao mesmo tempo, sendo necessário que haja uma única escolha: Integrar a tabela de preço do ERP ao GeoSales ou cadastrar a tabela de preço no próprio GeoSales. Caso tentem utilizar os dois cadastros ao mesmo tempo ERP e GeoSales, a integração apagará todos os registros cadastrados no GeoSales.&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
[[Arquivo:Tabelapreco.jpg|500px]] &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tabelapreco2.jpg|500px]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Declaração de variáveis ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dentro da tela de Variáveis de preço, deve ser possível definir uma variável de forma livre, mas que atenda as seguintes regras:&lt;br /&gt;
&lt;br /&gt;
* O campo chave, que será utilizado como referência na formula de preço, não deve conter caracteres especiais, espaço em branco e está limitada ao máximo de 8 caracteres, sendo todos minúsculos obrigatoriamente, seguindo o padrão &amp;lt;code&amp;gt;[a-z0-9]&amp;lt;/code&amp;gt;. &lt;br /&gt;
* A variável deve estar associada a um produto ou uma tabela de preço&lt;br /&gt;
* Para valores do tipo '''numérico (18,6)''', serão aceitos como possibilidade, podendo ser positivos ou negativos.&lt;br /&gt;
* Será criado um log de históricos de alterações de valores destas variáveis e passível de ser exportado em relatórios em excel.&lt;br /&gt;
* As variáveis fs, fmm e fmx, especificamente, não poderão ser utilizadas, por tratarem-se de variáveis protegidas em uso no sistema.&lt;br /&gt;
[[Arquivo:Tela2.jpg|500px]] &lt;br /&gt;
&lt;br /&gt;
==== Campos de cadastro ====&lt;br /&gt;
&lt;br /&gt;
* '''Descrição''' -  Campo de texto limitados ao máximo de 70 caracteres;&lt;br /&gt;
* '''Chave''' -  Campo de texto de 8 caracteres;&lt;br /&gt;
* '''Produto / Tabela''' -  A seleção de uma produto ou de uma tabela, dados previamente alimentados;&lt;br /&gt;
* '''Valor''' -  Campo numérico(18:6);&lt;br /&gt;
&lt;br /&gt;
A chave poderá ser associada a mais de um produto/tabela, mas o valor é específico pela unidade de um destes dois atributos.&lt;br /&gt;
&lt;br /&gt;
=== Definição da formula de preço ===&lt;br /&gt;
&lt;br /&gt;
* Será necessário selecionar uma tabela de preço, a organização de venda e um ou mais produtos aos quais o preço deve ser inserido.&lt;br /&gt;
* Para a regra de preço teremos que informar a '''formula''' do preço mínimo, sugerido e máximo com a quantidade mínima, que valida sua aplicação.&lt;br /&gt;
* Nos campos de preço (mínimo, sugerido e máximo) teremos um espaço para a inserção da fórmula para composição de preço. Esta fórmula fará a relação matemática entre as variáveis criadas no processo anterior, por meio de '''operadores matemáticos (+, -, *, / )''', organizados em '''RPN''', notação comum para analistas financeiros, sendo bastante difundido, inclusive, na lógica de cálculo das calculadoras HP 12 C.&lt;br /&gt;
* Será possível visualizar uma prévia da fórmula escrita, além do valor encontrado, a fim de que o usuário possa confirmar os valores que foram inseridos pelas variáveis e seus respectivos operadores.&lt;br /&gt;
&lt;br /&gt;
Como exemplo de notação polonesa reversa, tomemos a expressão '''''(A+B)*C'''''. Em RPN, a notação ficaria '''''AB+C*'''''.&lt;br /&gt;
[[Arquivo:Tela3.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
=== Processar tabela ===&lt;br /&gt;
&lt;br /&gt;
É importante frisar que os valores estão vinculados a uma tabela de preços, que consequentemente está vinculada a um cliente, organização de vendas, vendedores, e tabelas afins.&lt;br /&gt;
&lt;br /&gt;
As variáveis comuns a todos os clientes deverão ter valores diferenciados de acordo com a cidade onde a organização de vendas está alocada.&lt;br /&gt;
Há dois grupos de variáveis: aquelas que são relacionadas ao '''produto''' em si (tamanho, cor, embalagem, Tipo) e aquelas relacionadas à '''Tabela''' (Valor de partida, comissão promotor, frete, por exemplo). É importante determinar corretamente para qual grupo tal variável estará vinculada.&lt;br /&gt;
&lt;br /&gt;
Se mais de um produto possui a mesma característica, será possível fazer a precificação por grupos de produtos.&lt;br /&gt;
&lt;br /&gt;
Sempre que uma das variáveis for alterada, para que ocorra atualização de valores da faixa de preço baseados na alteração, deve ser feito um reprocessamento baseado nos valores atualizados das variáveis.&lt;br /&gt;
&lt;br /&gt;
Na aba de reprocessamento, sempre que houver uma solicitação de processamento devemos salvar as informações para eventual consulta. Ao entrar no detalhe podemos acompanhar o status do processamento.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tela4.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
== Cenários ==&lt;br /&gt;
&lt;br /&gt;
===DICIONÁRIO DE DADOS ===&lt;br /&gt;
&lt;br /&gt;
Considere  tabela abaixo com as seguintes tabelas cadastradas e suas respectivas vigências:&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! TABELA &lt;br /&gt;
! DESCRIÇÃO&lt;br /&gt;
! INICIO DA VIGÊNCIA&lt;br /&gt;
! FINAL DA VIGÊNCIA &lt;br /&gt;
|-&lt;br /&gt;
| '''01'''  || TABELA SP || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| '''02''' || TABELA RJ || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| '''03''' ||TABELA RS ||01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| '''04''' || TABELA SP - CARREFU || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| '''05'''  || TABELA BA || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| '''06''' || TABELA ES || 01/05/2020 || 01/01/2022&lt;br /&gt;
|- &lt;br /&gt;
| '''07''' || TABELA SP - CAPITAL ||01/05/2020 || 01/01/2022&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Selecionada a tabela desejada, o próximo passo é fazer a declaração das variáveis.&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! CHAVE&lt;br /&gt;
! DESCRIÇÃO DA VARIÁVEL &lt;br /&gt;
! TABELA / PRODUTO&lt;br /&gt;
! VALOR&lt;br /&gt;
|-&lt;br /&gt;
| '''pp''' || Preço de Partida || Tabela - 01  ||  R$ 106,00&lt;br /&gt;
|-&lt;br /&gt;
| '''fc''' || Cor / Tamanho || Produto - 001 || 1,5&lt;br /&gt;
|-&lt;br /&gt;
| '''ce''' ||Custo de Embalagem || Tabela - 01 ||  R$ 12,20&lt;br /&gt;
|-&lt;br /&gt;
| '''fr''' || Frete || Tabela - 01 ||  - 5&lt;br /&gt;
|-&lt;br /&gt;
| ''pr'''  || Promotor || Tabela - 01 || 1,02&lt;br /&gt;
|-&lt;br /&gt;
| '''ou''' || Fator Quebra || Tabela - 01 || 3,5&lt;br /&gt;
|- &lt;br /&gt;
| '''cf''' || Contrato de Fidelidade || Tabela - 01 || 1,02&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Cenário 1 ===&lt;br /&gt;
&lt;br /&gt;
Elaborando o preço do produto 'P001' para o cliente 'C001' por um período de 6 meses.&lt;br /&gt;
&lt;br /&gt;
No portal GeoSales, na tela de variáveis, serão utilizadas as seguintes informações:&lt;br /&gt;
&lt;br /&gt;
'''Enumeração das variáveis'''&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pelo exposto, temos que 7 variáveis foram declaradas. As fórmulas que devemos gerar (Fórmula de valor mínimo, fórmula de valor Sugerido e Fórmula de Valor Máximo) serão derivadas destas variáveis que apontamos. &lt;br /&gt;
&lt;br /&gt;
Supondo que, para a fórmula de valor Sugerido, iremos adotar a seguinte fórmula: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P = PpFc/*Qu*Cf*&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Com esta composição, o valor Sugerido do produto será '''''R$ 252,28'''''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Supondo que, para a fórmula de valor Mínimo, iremos adotar a seguinte fórmula: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P = PpFc/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Com esta composição, o valor mínimo do produto será '''''R$ 70,66'''''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Supondo que, para a fórmula de valor Máximo, iremos adotar a seguinte fórmula: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P = PpFc/Ce+Fr+Pr*Qu*Cf*&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Com esta composição, o valor máximo do produto será ''''' R$ 283,54'''''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || Fc || / || 70,66 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Ce || + || 82,86 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Fr || + || 82,66 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Pr || * || 84,52 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Qu || * || 84,52 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Cf || * || 86,21 || F&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P = PpFc/Ce+Fr+Pr*Qu*Cf*&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ao final do processo, a fórmula irá  apresentar o valor final: '''&amp;quot;R$ 86,21&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 2 ===&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P002' para o cliente 'C002'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,11 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || P1 || + || 113,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 75,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 87,86 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Fr || + || 90,86 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Pr || * || 90,86 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Qu || * || 90,86 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Cf || * || 100,86 || G&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P= PpP1+Fc/Ce+Fr+Pr*Qu*Cf*&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao final do processo de cálculo da fórmula, o valor do preço será '''&amp;quot;R$ 100,86&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 3 ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P003' para o cliente 'C003'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ -3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 8,67 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce2 || Custo de Embalagem 2 || R$ 2,00 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 2,5 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| K || Constante || 23,67 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp|| P1 || + || 107,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 71,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 80,33 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Ce2 || + || 82,33 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Fr || + || 84,83 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Pr || * || 84,83 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Qu || * || 84,83 || G&lt;br /&gt;
|-&lt;br /&gt;
| 8 || G || Cf || * || 84,83 || H&lt;br /&gt;
|-&lt;br /&gt;
| 9 || H || K || + || 108,50 || I&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P= PpP1+Fc/Ce+Ce2+Fr+Pr*Qu*Cf*K+&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao final do cálculo da forma, o valor final do preço será: '''&amp;quot;R$ 108,50&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--[[arquivo:formula1.png]]&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço2.png | 600 px]]&lt;br /&gt;
&lt;br /&gt;
Na formula acima, as somas de variaveis são agrupadas em blocos, multiplicando-se entre si. A relação entre os somatórios pode ser representada por&lt;br /&gt;
&lt;br /&gt;
[[arquivo:produto1.png | 200 px]]&lt;br /&gt;
&lt;br /&gt;
Portando, a equação de formação de preço pode ser representada da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ou pelo produtório&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço1.png]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A composição de preço tem como objetivo construir um preço de venda. Esse cadastro conta com tipos de variáveis para compor preço. Para que a composição de preço seja aplicada corretamente no cadastro do pedido, é necessário que as seguintes premissas sejam atendidas.&lt;br /&gt;
&lt;br /&gt;
=== Composição de preço ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Visto que há variação de preços de produtos para diferentes localidades, a formula criada para a composição de preços  deverá, além de compor toda a regra de cálculo de precificação de determinado produto, a sua parametrização vinculada ao seu respectivo Estado, Cidade e Filial. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em outras palavras, através da composição de preço, o usuário poderá informar a fórmula que o sistema irá aplicar para definir o preço unitário do produto. Essa regra poderá ser parametrizado por: filial, estado e cidade.&lt;br /&gt;
&lt;br /&gt;
== Regras de Negócios ==&lt;br /&gt;
&lt;br /&gt;
'''[RN1] - ''' Não poderá conter a mesma regra para o mesmo estado e filial;&lt;br /&gt;
&lt;br /&gt;
'''[RN2] - ''' Não deverá haver sobreposição de cadastros, e sim edição deste cadastro. Caso o usuário tente cadastrar o mesmo cenário mais de uma vez, a plataforma irá alertar informando que já existe uma regra, e que essa regra poderá ser sobreposta;&lt;br /&gt;
&lt;br /&gt;
'''[RN3] - ''' Essa funcionalidade será desenvolvida exclusivamente no GeoSales EVO.&lt;br /&gt;
&lt;br /&gt;
'''[RN4] - ''' Durante o processo, o portal não deverá travar, ou seja, o batch irá apresentar os dados apenas referentes às variáveis relacionadas (via GSOload). A medida visa evitar um carregamento excessivamente pesado de dados para determinada função. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''[RN5] - ''' Os históricos do log de alterações das variáveis ficarão registrados por um período de 1 (um) ano.&lt;br /&gt;
&lt;br /&gt;
'''[RN6] - ''' Um determinado produto poderá ser vinculado a mais de um grupo, mas a quantidade deve ser diferente.&lt;br /&gt;
&lt;br /&gt;
'''[RN7] - ''' A chave poderá ser associada a mais de um produto/tabela, mas o valor é específico pela unidade de um destes dois atributos.&lt;br /&gt;
&lt;br /&gt;
== Aprovação ==&lt;br /&gt;
&lt;br /&gt;
Considero aprovada a documentação da funcionalidade especificada acima, e autorizo a implementação da mesma no Sistema GeoSales, em nome da Organização a qual estou vinculado. &lt;br /&gt;
&lt;br /&gt;
=== GeoSales ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Desenvolvimento - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|- &lt;br /&gt;
| Integração - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
| Configurações - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Empresa solicitante === &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
! Assinatura&lt;br /&gt;
|-&lt;br /&gt;
| Gerente TI - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente de Projeto - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente Comercial - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Leo2s</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=15041</id>
		<title>Precificação</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=15041"/>
		<updated>2021-04-08T19:59:41Z</updated>

		<summary type="html">&lt;p&gt;Leo2s: /* DICIONÁRIO DE DADOS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Histórico de Alterações ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data&lt;br /&gt;
! Quem &lt;br /&gt;
! Comentários &lt;br /&gt;
|-&lt;br /&gt;
| 01/10/2020  || Ana Júlia || Criação do documento &lt;br /&gt;
|-&lt;br /&gt;
| 01/04/2021 || João Ramon || Atualização do documento&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
&lt;br /&gt;
No processo de formação de preços, conta-se com um número definido de variáveis que irão fazer a composição do valor final que será apresentado ao cliente final. Informações como custos operacionais, inclusão de markups, fatores de compensação por quebra e/ou comissionamento de venda devem estar contemplados na composição dos preços. A empresa deseja fazer esta composição dentro da Plataforma GeoSales EVO, inserindo todas as informações de custo, taxas e demais dados customizáveis, permitindo que o próprio usuário consiga fazer esta composição.&lt;br /&gt;
&lt;br /&gt;
O cenário de precificação atual não possui um processo uniformizado para cada cliente. Portanto, a necessidade de criar um processo padronizado para composição de preços, assim como a atualização customizável de algumas dessas variáveis, por se tratarem de variáveis cujos valores podem oscilar por motivos externos (oscilações de mercado, variação na política de preços, etc), é imperativa.&lt;br /&gt;
&lt;br /&gt;
== Solução ==&lt;br /&gt;
&lt;br /&gt;
Visto que a formação de preços, e seu processo de elaboração, devem ser totalmente customizáveis pelo cliente, primeiramente deve ser possível que ele não apenas determine quais as variáveis e seus respectivos valores devem ser atribuídos na plataforma para precificação, mas também como estas variáveis se relacionarão matematicamente, a fim de formular um preço baseado nas entradas fornecidas pelo cliente. Além disso, tais variáveis, uma vez inseridas no cadastro de preços, deverão ser passíveis de edição, feitas pelo próprio cliente, de forma manual.&lt;br /&gt;
&lt;br /&gt;
Como instrumento de parametrização das fórmulas contendo as variáveis criadas e seus operadores apropriados, será utilizada a '''''notação polonesa  reversa (RPN)''''', ferramenta de uso familiar a pessoas ligadas ao trabalho que envolva matemática financeira. Assim, a formação de preço deverá ser mais flexível e intuitiva na sua formação, além de facilitar em eventuais futuras modificações. As formulas serão definidas dentro de uma tabela de preço para um determinado grupo de produto facilitando o cadastro. &lt;br /&gt;
&lt;br /&gt;
Também visando a facilidade da manutenção dos valores de cada variável da fórmula, iremos construir o preço por um conjunto de parâmetros, podendo ser definido de forma atrelada às seguintes dimensões: produto e tabela de preço.&lt;br /&gt;
&lt;br /&gt;
Após a definição dos parâmetros, a fórmula será construída por meio da utilização destes. Finalizando esta etapa, basta pedir para processar a tabela, onde a mesma passará a ser vigente para a equipe de venda.&lt;br /&gt;
&lt;br /&gt;
== Implementação ==&lt;br /&gt;
&lt;br /&gt;
O processo terá como bases os seguintes passos: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Criação de Tabela;&lt;br /&gt;
&amp;lt;!-- # para inserção de Variáveis e/ou aproveitamento de Tabela existente; --&amp;gt;&lt;br /&gt;
# Definição de Variáveis que deverão compor a fórmula de criação de preço, além da definição do atributo a qual tal variável está vinculada (produto ou Tabela);&lt;br /&gt;
# Definição de fórmula de formação de preços, utilizando RPN, e vinculações a grupos de produtos;&lt;br /&gt;
# Concluída a fórmula, com as relações operacionais entre as variáveis, os valores gerados devem ser processados para compor a Tabela de Preços.&lt;br /&gt;
&lt;br /&gt;
=== Cadastro tabela de preço ===&lt;br /&gt;
Para criação da tabela de preço, será criada uma tela onde o usuário irá fazer o cadastro da tabela de preço. Nela será possível fazer a inserção e edição de cadastros, não sendo possível excluir qualquer cadastro de tabela de preço já realizado, mas, apenas desativa-los.&lt;br /&gt;
&lt;br /&gt;
Ao entrar na tela o sistema deve apresentar campos de filtros, os quais, o usuário poderá localizar um cadastro já inserido ou realizar edição dos campos descrição e datas inicial e final de vigência. Além, disso no rodapé da tela, terá o acesso para fazer um novo cadastro. na qual, o usuário vai preencher os seguintes campos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Campos de cadastro ====&lt;br /&gt;
* '''Descrição''' -  Campo de texto limitados ao máximo de 70 caracteres;&lt;br /&gt;
* '''Data inicial vigência''' -  Campo de data, onde definirá o inicio da vigência da tabela;&lt;br /&gt;
* '''Data final vigência''' -  Campo de data, onde definirá o final da vigência da tabela;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Uma tabela de preço não poderá ser excluída, só poderá ser desativada ou ativada através dos campos de data inicial e data final. Para desativar, basta colocar a data final inferior a data atual;&lt;br /&gt;
* Caso uma tabela de preço esteja com a data final de vigência vencida, a tabela de preço não será exibida para seleção no cadastro do pedido;&lt;br /&gt;
* Os campos de datas não serão obrigatórios. Quando não estiverem preenchidos, indica que aquela tabela estará disponível para uso;&lt;br /&gt;
* Não será possível utilizar a integração e cadastro da tabela de preço ao mesmo tempo, sendo necessário que haja uma única escolha: Integrar a tabela de preço do ERP ao GeoSales ou cadastrar a tabela de preço no próprio GeoSales. Caso tentem utilizar os dois cadastros ao mesmo tempo ERP e GeoSales, a integração apagará todos os registros cadastrados no GeoSales.&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
[[Arquivo:Tabelapreco.jpg|500px]] &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tabelapreco2.jpg|500px]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Declaração de variáveis ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dentro da tela de Variáveis de preço, deve ser possível definir uma variável de forma livre, mas que atenda as seguintes regras:&lt;br /&gt;
&lt;br /&gt;
* O campo chave, que será utilizado como referência na formula de preço, não deve conter caracteres especiais, espaço em branco e está limitada ao máximo de 8 caracteres, sendo todos minúsculos obrigatoriamente, seguindo o padrão [a-z0-9]. &lt;br /&gt;
* A variável deve estar associada a um produto ou uma tabela de preço&lt;br /&gt;
* Para valores do tipo '''numérico (18,6)''', serão aceitos como possibilidade, podendo ser positivos ou negativos.&lt;br /&gt;
* Será criado um log de históricos de alterações de valores destas variáveis e passível de ser exportado em relatórios em excel.&lt;br /&gt;
* As variáveis fs, fmm e fmx, especificamente, não poderão ser utilizadas, por tratarem-se de variáveis protegidas em uso no sistema.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Campos de cadastro ====&lt;br /&gt;
&lt;br /&gt;
* '''Descrição''' -  Campo de texto limitados ao máximo de 70 caracteres;&lt;br /&gt;
* '''Chave''' -  Campo de texto de 8 caracteres;&lt;br /&gt;
* '''Produto / Tabela''' -  A seleção de uma produto ou de uma tabela, dados previamente alimentados;&lt;br /&gt;
* '''Valor''' -  Campo numérico(18:6);&lt;br /&gt;
&lt;br /&gt;
A chave poderá ser associada a mais de um produto/tabela, mas o valor é específico pela unidade de um destes dois atributos.&lt;br /&gt;
&lt;br /&gt;
=== Definição da formula de preço ===&lt;br /&gt;
&lt;br /&gt;
* Será necessário selecionar uma tabela de preço, a organização de venda e um ou mais produtos aos quais o preço deve ser inserido.&lt;br /&gt;
* Para a regra de preço teremos que informar a '''formula''' do preço mínimo, sugerido e máximo com a quantidade mínima, que valida sua aplicação.&lt;br /&gt;
* Nos campos de preço (mínimo, sugerido e máximo) teremos um espaço para a inserção da fórmula para composição de preço. Esta fórmula fará a relação matemática entre as variáveis criadas no processo anterior, por meio de '''operadores matemáticos (+, -, *, / )''', organizados em '''RPN''', notação comum para analistas financeiros, sendo bastante difundido, inclusive, na lógica de cálculo das calculadoras HP 12 C.&lt;br /&gt;
* Será possível visualizar uma prévia da fórmula escrita, além do valor encontrado, a fim de que o usuário possa confirmar os valores que foram inseridos pelas variáveis e seus respectivos operadores.&lt;br /&gt;
&lt;br /&gt;
Como exemplo de notação polonesa reversa, tomemos a expressão '''''(A+B)*C'''''. Em RPN, a notação ficaria '''''AB+C*'''''.&lt;br /&gt;
&lt;br /&gt;
=== Processar tabela ===&lt;br /&gt;
&lt;br /&gt;
É importante frisar que os valores estão vinculados a uma tabela de preços, que consequentemente está vinculada a um cliente, organização de vendas, vendedores, e tabelas afins.&lt;br /&gt;
&lt;br /&gt;
As variáveis comuns a todos os clientes deverão ter valores diferenciados de acordo com a cidade onde a organização de vendas está alocada.&lt;br /&gt;
Há dois grupos de variáveis: aquelas que são relacionadas ao '''produto''' em si (tamanho, cor, embalagem, Tipo) e aquelas relacionadas à '''Tabela''' (Valor de partida, comissão promotor, frete, por exemplo). É importante determinar corretamente para qual grupo tal variável estará vinculada.&lt;br /&gt;
&lt;br /&gt;
Se mais de um produto possui a mesma característica, será possível fazer a precificação por grupos de produtos.&lt;br /&gt;
&lt;br /&gt;
Sempre que uma das variáveis for alterada, para que ocorra atualização de valores da faixa de preço baseados na alteração, deve ser feito um reprocessamento baseado nos valores atualizados das variáveis.&lt;br /&gt;
&lt;br /&gt;
Na aba de reprocessamento, sempre que houver uma solicitação de processamento devemos salvar as informações para eventual consulta. Ao entrar no detalhe podemos acompanhar o status do processamento.&lt;br /&gt;
&lt;br /&gt;
== Cenários ==&lt;br /&gt;
&lt;br /&gt;
===DICIONÁRIO DE DADOS ===&lt;br /&gt;
&lt;br /&gt;
Considere  tabela abaixo com as seguintes tabelas cadastradas e suas respectivas vigências:&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! TABELA &lt;br /&gt;
! DESCRIÇÃO&lt;br /&gt;
! INICIO DA VIGÊNCIA&lt;br /&gt;
! FINAL DA VIGÊNCIA &lt;br /&gt;
|-&lt;br /&gt;
| '''01'''  || TABELA SP || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| '''02''' || TABELA RJ || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| '''03''' ||TABELA RS ||01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| '''04''' || TABELA SP - CARREFU || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| '''05'''  || TABELA BA || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| '''06''' || TABELA ES || 01/05/2020 || 01/01/2022&lt;br /&gt;
|- &lt;br /&gt;
| '''07''' || TABELA SP - CAPITAL ||01/05/2020 || 01/01/2022&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Selecionada a tabela desejada, o próximo passo é fazer a declaração das variáveis.&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! CHAVE&lt;br /&gt;
! DESCRIÇÃO DA VARIÁVEL &lt;br /&gt;
! TABELA / PRODUTO&lt;br /&gt;
! VALOR&lt;br /&gt;
|-&lt;br /&gt;
| '''Pp''' || Preço de Partida || Tabela - 01  ||  R$ 106,00&lt;br /&gt;
|-&lt;br /&gt;
| '''Fc''' || Fator de Conversão || Tabela - 01 || 1,5&lt;br /&gt;
|-&lt;br /&gt;
| '''Ce''' ||Custo de Embalagem || Tabela - 01 ||  R$ 12,20&lt;br /&gt;
|-&lt;br /&gt;
| '''Fr''' || Frete || Tabela - 01 ||  - 5&lt;br /&gt;
|-&lt;br /&gt;
| '''Pr'''  || Promotor || Tabela - 01 || 1,02&lt;br /&gt;
|-&lt;br /&gt;
| '''Qu''' || Fator Quebra || Tabela - 01 || 3,5&lt;br /&gt;
|- &lt;br /&gt;
| '''Cf''' || Contrato de Fidelidade || Tabela - 01 || 1,02&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Cenário 1 ===&lt;br /&gt;
&lt;br /&gt;
Elaborando o preço do produto 'P001' para o cliente 'C001' por um período de 6 meses.&lt;br /&gt;
&lt;br /&gt;
No portal GeoSales, na tela de variáveis, serão utilizadas as seguintes informações:&lt;br /&gt;
&lt;br /&gt;
Enumeração das variáveis&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 106,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 0,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1,02 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,02 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Pelo exposto, temos que 7 variáveis foram declaradas. As fórmulas que devemos gerar (Fórmula de valor mínimo, fórmula de valor Sugerido e Fórmula de Valor Máximo) serão derivadas destas variáveis que apontamos. &lt;br /&gt;
&lt;br /&gt;
Supondo que, para a fórmula de valor Sugerido, iremos adotar a seguinte fórmula: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P = PpFc/*Qu*Cf*&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Com esta composição, o valor mínimo do produto será&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Supondo que, para a fórmula de valor Mínimo, iremos adotar a seguinte fórmula: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P = PpFc/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Supondo que, para a fórmula de valor Máximo, iremos adotar a seguinte fórmula: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P = PpFc/Ce+Fr+Pr*Qu*Cf*&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || Fc || / || 70,66 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Ce || + || 82,86 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Fr || + || 82,66 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Pr || * || 84,52 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Qu || * || 84,52 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Cf || * || 86,21 || F&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P = PpFc/Ce+Fr+Pr*Qu*Cf*&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ao final do processo, a fórmula irá  apresentar o valor final: '''&amp;quot;R$ 86,21&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 2 ===&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P002' para o cliente 'C002'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,11 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || P1 || + || 113,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 75,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 87,86 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Fr || + || 90,86 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Pr || * || 90,86 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Qu || * || 90,86 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Cf || * || 100,86 || G&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P= PpP1+Fc/Ce+Fr+Pr*Qu*Cf*&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao final do processo de cálculo da fórmula, o valor do preço será '''&amp;quot;R$ 100,86&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 3 ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P003' para o cliente 'C003'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ -3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 8,67 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce2 || Custo de Embalagem 2 || R$ 2,00 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 2,5 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| K || Constante || 23,67 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp|| P1 || + || 107,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 71,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 80,33 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Ce2 || + || 82,33 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Fr || + || 84,83 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Pr || * || 84,83 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Qu || * || 84,83 || G&lt;br /&gt;
|-&lt;br /&gt;
| 8 || G || Cf || * || 84,83 || H&lt;br /&gt;
|-&lt;br /&gt;
| 9 || H || K || + || 108,50 || I&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P= PpP1+Fc/Ce+Ce2+Fr+Pr*Qu*Cf*K+&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao final do cálculo da forma, o valor final do preço será: '''&amp;quot;R$ 108,50&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--[[arquivo:formula1.png]]&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço2.png | 600 px]]&lt;br /&gt;
&lt;br /&gt;
Na formula acima, as somas de variaveis são agrupadas em blocos, multiplicando-se entre si. A relação entre os somatórios pode ser representada por&lt;br /&gt;
&lt;br /&gt;
[[arquivo:produto1.png | 200 px]]&lt;br /&gt;
&lt;br /&gt;
Portando, a equação de formação de preço pode ser representada da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ou pelo produtório&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço1.png]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A composição de preço tem como objetivo construir um preço de venda. Esse cadastro conta com tipos de variáveis para compor preço. Para que a composição de preço seja aplicada corretamente no cadastro do pedido, é necessário que as seguintes premissas sejam atendidas.&lt;br /&gt;
&lt;br /&gt;
=== Composição de preço ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Visto que há variação de preços de produtos para diferentes localidades, a formula criada para a composição de preços  deverá, além de compor toda a regra de cálculo de precificação de determinado produto, a sua parametrização vinculada ao seu respectivo Estado, Cidade e Filial. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em outras palavras, através da composição de preço, o usuário poderá informar a fórmula que o sistema irá aplicar para definir o preço unitário do produto. Essa regra poderá ser parametrizado por: filial, estado e cidade.&lt;br /&gt;
&lt;br /&gt;
== Regras de Negócios ==&lt;br /&gt;
&lt;br /&gt;
'''[RN1] - ''' Não poderá conter a mesma regra para o mesmo estado e filial;&lt;br /&gt;
&lt;br /&gt;
'''[RN2] - ''' Não deverá haver sobreposição de cadastros, e sim edição deste cadastro. Caso o usuário tente cadastrar o mesmo cenário mais de uma vez, a plataforma irá alertar informando que já existe uma regra, e que essa regra poderá ser sobreposta;&lt;br /&gt;
&lt;br /&gt;
'''[RN3] - ''' Essa funcionalidade será desenvolvida exclusivamente no GeoSales EVO.&lt;br /&gt;
&lt;br /&gt;
'''[RN4] - ''' Durante o processo, o portal não deverá travar, ou seja, o batch irá apresentar os dados apenas referentes às variáveis relacionadas (via GSOload). A medida visa evitar um carregamento excessivamente pesado de dados para determinada função. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''[RN5] - ''' Os históricos do log de alterações das variáveis ficarão registrados por um período de 1 (um) ano.&lt;br /&gt;
&lt;br /&gt;
'''[RN6] - ''' Um determinado produto poderá ser vinculado a mais de um grupo, mas a quantidade deve ser diferente.&lt;br /&gt;
&lt;br /&gt;
'''[RN7] - ''' A chave poderá ser associada a mais de um produto/tabela, mas o valor é específico pela unidade de um destes dois atributos.&lt;br /&gt;
&lt;br /&gt;
== Aprovação ==&lt;br /&gt;
&lt;br /&gt;
Considero aprovada a documentação da funcionalidade especificada acima, e autorizo a implementação da mesma no Sistema GeoSales, em nome da Organização a qual estou vinculado. &lt;br /&gt;
&lt;br /&gt;
=== GeoSales ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Desenvolvimento - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|- &lt;br /&gt;
| Integração - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
| Configurações - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Empresa solicitante === &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
! Assinatura&lt;br /&gt;
|-&lt;br /&gt;
| Gerente TI - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente de Projeto - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente Comercial - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Leo2s</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=15040</id>
		<title>Precificação</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=15040"/>
		<updated>2021-04-08T19:59:29Z</updated>

		<summary type="html">&lt;p&gt;Leo2s: /* DICIONÁRIO DE DADOS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Histórico de Alterações ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data&lt;br /&gt;
! Quem &lt;br /&gt;
! Comentários &lt;br /&gt;
|-&lt;br /&gt;
| 01/10/2020  || Ana Júlia || Criação do documento &lt;br /&gt;
|-&lt;br /&gt;
| 01/04/2021 || João Ramon || Atualização do documento&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
&lt;br /&gt;
No processo de formação de preços, conta-se com um número definido de variáveis que irão fazer a composição do valor final que será apresentado ao cliente final. Informações como custos operacionais, inclusão de markups, fatores de compensação por quebra e/ou comissionamento de venda devem estar contemplados na composição dos preços. A empresa deseja fazer esta composição dentro da Plataforma GeoSales EVO, inserindo todas as informações de custo, taxas e demais dados customizáveis, permitindo que o próprio usuário consiga fazer esta composição.&lt;br /&gt;
&lt;br /&gt;
O cenário de precificação atual não possui um processo uniformizado para cada cliente. Portanto, a necessidade de criar um processo padronizado para composição de preços, assim como a atualização customizável de algumas dessas variáveis, por se tratarem de variáveis cujos valores podem oscilar por motivos externos (oscilações de mercado, variação na política de preços, etc), é imperativa.&lt;br /&gt;
&lt;br /&gt;
== Solução ==&lt;br /&gt;
&lt;br /&gt;
Visto que a formação de preços, e seu processo de elaboração, devem ser totalmente customizáveis pelo cliente, primeiramente deve ser possível que ele não apenas determine quais as variáveis e seus respectivos valores devem ser atribuídos na plataforma para precificação, mas também como estas variáveis se relacionarão matematicamente, a fim de formular um preço baseado nas entradas fornecidas pelo cliente. Além disso, tais variáveis, uma vez inseridas no cadastro de preços, deverão ser passíveis de edição, feitas pelo próprio cliente, de forma manual.&lt;br /&gt;
&lt;br /&gt;
Como instrumento de parametrização das fórmulas contendo as variáveis criadas e seus operadores apropriados, será utilizada a '''''notação polonesa  reversa (RPN)''''', ferramenta de uso familiar a pessoas ligadas ao trabalho que envolva matemática financeira. Assim, a formação de preço deverá ser mais flexível e intuitiva na sua formação, além de facilitar em eventuais futuras modificações. As formulas serão definidas dentro de uma tabela de preço para um determinado grupo de produto facilitando o cadastro. &lt;br /&gt;
&lt;br /&gt;
Também visando a facilidade da manutenção dos valores de cada variável da fórmula, iremos construir o preço por um conjunto de parâmetros, podendo ser definido de forma atrelada às seguintes dimensões: produto e tabela de preço.&lt;br /&gt;
&lt;br /&gt;
Após a definição dos parâmetros, a fórmula será construída por meio da utilização destes. Finalizando esta etapa, basta pedir para processar a tabela, onde a mesma passará a ser vigente para a equipe de venda.&lt;br /&gt;
&lt;br /&gt;
== Implementação ==&lt;br /&gt;
&lt;br /&gt;
O processo terá como bases os seguintes passos: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Criação de Tabela;&lt;br /&gt;
&amp;lt;!-- # para inserção de Variáveis e/ou aproveitamento de Tabela existente; --&amp;gt;&lt;br /&gt;
# Definição de Variáveis que deverão compor a fórmula de criação de preço, além da definição do atributo a qual tal variável está vinculada (produto ou Tabela);&lt;br /&gt;
# Definição de fórmula de formação de preços, utilizando RPN, e vinculações a grupos de produtos;&lt;br /&gt;
# Concluída a fórmula, com as relações operacionais entre as variáveis, os valores gerados devem ser processados para compor a Tabela de Preços.&lt;br /&gt;
&lt;br /&gt;
=== Cadastro tabela de preço ===&lt;br /&gt;
Para criação da tabela de preço, será criada uma tela onde o usuário irá fazer o cadastro da tabela de preço. Nela será possível fazer a inserção e edição de cadastros, não sendo possível excluir qualquer cadastro de tabela de preço já realizado, mas, apenas desativa-los.&lt;br /&gt;
&lt;br /&gt;
Ao entrar na tela o sistema deve apresentar campos de filtros, os quais, o usuário poderá localizar um cadastro já inserido ou realizar edição dos campos descrição e datas inicial e final de vigência. Além, disso no rodapé da tela, terá o acesso para fazer um novo cadastro. na qual, o usuário vai preencher os seguintes campos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Campos de cadastro ====&lt;br /&gt;
* '''Descrição''' -  Campo de texto limitados ao máximo de 70 caracteres;&lt;br /&gt;
* '''Data inicial vigência''' -  Campo de data, onde definirá o inicio da vigência da tabela;&lt;br /&gt;
* '''Data final vigência''' -  Campo de data, onde definirá o final da vigência da tabela;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Uma tabela de preço não poderá ser excluída, só poderá ser desativada ou ativada através dos campos de data inicial e data final. Para desativar, basta colocar a data final inferior a data atual;&lt;br /&gt;
* Caso uma tabela de preço esteja com a data final de vigência vencida, a tabela de preço não será exibida para seleção no cadastro do pedido;&lt;br /&gt;
* Os campos de datas não serão obrigatórios. Quando não estiverem preenchidos, indica que aquela tabela estará disponível para uso;&lt;br /&gt;
* Não será possível utilizar a integração e cadastro da tabela de preço ao mesmo tempo, sendo necessário que haja uma única escolha: Integrar a tabela de preço do ERP ao GeoSales ou cadastrar a tabela de preço no próprio GeoSales. Caso tentem utilizar os dois cadastros ao mesmo tempo ERP e GeoSales, a integração apagará todos os registros cadastrados no GeoSales.&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
[[Arquivo:Tabelapreco.jpg|500px]] &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tabelapreco2.jpg|500px]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Declaração de variáveis ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dentro da tela de Variáveis de preço, deve ser possível definir uma variável de forma livre, mas que atenda as seguintes regras:&lt;br /&gt;
&lt;br /&gt;
* O campo chave, que será utilizado como referência na formula de preço, não deve conter caracteres especiais, espaço em branco e está limitada ao máximo de 8 caracteres, sendo todos minúsculos obrigatoriamente, seguindo o padrão [a-z0-9]. &lt;br /&gt;
* A variável deve estar associada a um produto ou uma tabela de preço&lt;br /&gt;
* Para valores do tipo '''numérico (18,6)''', serão aceitos como possibilidade, podendo ser positivos ou negativos.&lt;br /&gt;
* Será criado um log de históricos de alterações de valores destas variáveis e passível de ser exportado em relatórios em excel.&lt;br /&gt;
* As variáveis fs, fmm e fmx, especificamente, não poderão ser utilizadas, por tratarem-se de variáveis protegidas em uso no sistema.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Campos de cadastro ====&lt;br /&gt;
&lt;br /&gt;
* '''Descrição''' -  Campo de texto limitados ao máximo de 70 caracteres;&lt;br /&gt;
* '''Chave''' -  Campo de texto de 8 caracteres;&lt;br /&gt;
* '''Produto / Tabela''' -  A seleção de uma produto ou de uma tabela, dados previamente alimentados;&lt;br /&gt;
* '''Valor''' -  Campo numérico(18:6);&lt;br /&gt;
&lt;br /&gt;
A chave poderá ser associada a mais de um produto/tabela, mas o valor é específico pela unidade de um destes dois atributos.&lt;br /&gt;
&lt;br /&gt;
=== Definição da formula de preço ===&lt;br /&gt;
&lt;br /&gt;
* Será necessário selecionar uma tabela de preço, a organização de venda e um ou mais produtos aos quais o preço deve ser inserido.&lt;br /&gt;
* Para a regra de preço teremos que informar a '''formula''' do preço mínimo, sugerido e máximo com a quantidade mínima, que valida sua aplicação.&lt;br /&gt;
* Nos campos de preço (mínimo, sugerido e máximo) teremos um espaço para a inserção da fórmula para composição de preço. Esta fórmula fará a relação matemática entre as variáveis criadas no processo anterior, por meio de '''operadores matemáticos (+, -, *, / )''', organizados em '''RPN''', notação comum para analistas financeiros, sendo bastante difundido, inclusive, na lógica de cálculo das calculadoras HP 12 C.&lt;br /&gt;
* Será possível visualizar uma prévia da fórmula escrita, além do valor encontrado, a fim de que o usuário possa confirmar os valores que foram inseridos pelas variáveis e seus respectivos operadores.&lt;br /&gt;
&lt;br /&gt;
Como exemplo de notação polonesa reversa, tomemos a expressão '''''(A+B)*C'''''. Em RPN, a notação ficaria '''''AB+C*'''''.&lt;br /&gt;
&lt;br /&gt;
=== Processar tabela ===&lt;br /&gt;
&lt;br /&gt;
É importante frisar que os valores estão vinculados a uma tabela de preços, que consequentemente está vinculada a um cliente, organização de vendas, vendedores, e tabelas afins.&lt;br /&gt;
&lt;br /&gt;
As variáveis comuns a todos os clientes deverão ter valores diferenciados de acordo com a cidade onde a organização de vendas está alocada.&lt;br /&gt;
Há dois grupos de variáveis: aquelas que são relacionadas ao '''produto''' em si (tamanho, cor, embalagem, Tipo) e aquelas relacionadas à '''Tabela''' (Valor de partida, comissão promotor, frete, por exemplo). É importante determinar corretamente para qual grupo tal variável estará vinculada.&lt;br /&gt;
&lt;br /&gt;
Se mais de um produto possui a mesma característica, será possível fazer a precificação por grupos de produtos.&lt;br /&gt;
&lt;br /&gt;
Sempre que uma das variáveis for alterada, para que ocorra atualização de valores da faixa de preço baseados na alteração, deve ser feito um reprocessamento baseado nos valores atualizados das variáveis.&lt;br /&gt;
&lt;br /&gt;
Na aba de reprocessamento, sempre que houver uma solicitação de processamento devemos salvar as informações para eventual consulta. Ao entrar no detalhe podemos acompanhar o status do processamento.&lt;br /&gt;
&lt;br /&gt;
== Cenários ==&lt;br /&gt;
&lt;br /&gt;
===DICIONÁRIO DE DADOS ===&lt;br /&gt;
&lt;br /&gt;
Considere  tabela abaixo com as seguintes tabelas cadastradas e suas respectivas vigências:&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! TABELA &lt;br /&gt;
! DESCRIÇÃO&lt;br /&gt;
! INICIO DA VIGÊNCIA&lt;br /&gt;
! FINAL DA VIGÊNCIA &lt;br /&gt;
|-&lt;br /&gt;
| '''01'''  || TABELA SP || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| '''02''' || TABELA RJ || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| '''03''' ||TABELA RS ||01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| '''04''' || TABELA SP - CARREFU || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| '''05'''  || TABELA BA || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| '''06''' || TABELA ES || 01/05/2020 || 01/01/2022&lt;br /&gt;
|- &lt;br /&gt;
| '''07''' || TABELA SP - CAPITAL ||01/05/2020 || 01/01/2022&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Selecionada a tabela desejada, o próximo passo é fazer a declaração das variáveis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! CHAVE&lt;br /&gt;
! DESCRIÇÃO DA VARIÁVEL &lt;br /&gt;
! TABELA / PRODUTO&lt;br /&gt;
! VALOR&lt;br /&gt;
|-&lt;br /&gt;
| '''Pp''' || Preço de Partida || Tabela - 01  ||  R$ 106,00&lt;br /&gt;
|-&lt;br /&gt;
| '''Fc''' || Fator de Conversão || Tabela - 01 || 1,5&lt;br /&gt;
|-&lt;br /&gt;
| '''Ce''' ||Custo de Embalagem || Tabela - 01 ||  R$ 12,20&lt;br /&gt;
|-&lt;br /&gt;
| '''Fr''' || Frete || Tabela - 01 ||  - 5&lt;br /&gt;
|-&lt;br /&gt;
| '''Pr'''  || Promotor || Tabela - 01 || 1,02&lt;br /&gt;
|-&lt;br /&gt;
| '''Qu''' || Fator Quebra || Tabela - 01 || 3,5&lt;br /&gt;
|- &lt;br /&gt;
| '''Cf''' || Contrato de Fidelidade || Tabela - 01 || 1,02&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Cenário 1 ===&lt;br /&gt;
&lt;br /&gt;
Elaborando o preço do produto 'P001' para o cliente 'C001' por um período de 6 meses.&lt;br /&gt;
&lt;br /&gt;
No portal GeoSales, na tela de variáveis, serão utilizadas as seguintes informações:&lt;br /&gt;
&lt;br /&gt;
Enumeração das variáveis&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 106,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 0,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1,02 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,02 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Pelo exposto, temos que 7 variáveis foram declaradas. As fórmulas que devemos gerar (Fórmula de valor mínimo, fórmula de valor Sugerido e Fórmula de Valor Máximo) serão derivadas destas variáveis que apontamos. &lt;br /&gt;
&lt;br /&gt;
Supondo que, para a fórmula de valor Sugerido, iremos adotar a seguinte fórmula: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P = PpFc/*Qu*Cf*&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Com esta composição, o valor mínimo do produto será&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Supondo que, para a fórmula de valor Mínimo, iremos adotar a seguinte fórmula: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P = PpFc/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Supondo que, para a fórmula de valor Máximo, iremos adotar a seguinte fórmula: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P = PpFc/Ce+Fr+Pr*Qu*Cf*&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || Fc || / || 70,66 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Ce || + || 82,86 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Fr || + || 82,66 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Pr || * || 84,52 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Qu || * || 84,52 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Cf || * || 86,21 || F&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P = PpFc/Ce+Fr+Pr*Qu*Cf*&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ao final do processo, a fórmula irá  apresentar o valor final: '''&amp;quot;R$ 86,21&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 2 ===&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P002' para o cliente 'C002'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,11 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || P1 || + || 113,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 75,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 87,86 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Fr || + || 90,86 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Pr || * || 90,86 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Qu || * || 90,86 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Cf || * || 100,86 || G&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P= PpP1+Fc/Ce+Fr+Pr*Qu*Cf*&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao final do processo de cálculo da fórmula, o valor do preço será '''&amp;quot;R$ 100,86&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 3 ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P003' para o cliente 'C003'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ -3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 8,67 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce2 || Custo de Embalagem 2 || R$ 2,00 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 2,5 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| K || Constante || 23,67 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp|| P1 || + || 107,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 71,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 80,33 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Ce2 || + || 82,33 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Fr || + || 84,83 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Pr || * || 84,83 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Qu || * || 84,83 || G&lt;br /&gt;
|-&lt;br /&gt;
| 8 || G || Cf || * || 84,83 || H&lt;br /&gt;
|-&lt;br /&gt;
| 9 || H || K || + || 108,50 || I&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P= PpP1+Fc/Ce+Ce2+Fr+Pr*Qu*Cf*K+&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao final do cálculo da forma, o valor final do preço será: '''&amp;quot;R$ 108,50&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--[[arquivo:formula1.png]]&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço2.png | 600 px]]&lt;br /&gt;
&lt;br /&gt;
Na formula acima, as somas de variaveis são agrupadas em blocos, multiplicando-se entre si. A relação entre os somatórios pode ser representada por&lt;br /&gt;
&lt;br /&gt;
[[arquivo:produto1.png | 200 px]]&lt;br /&gt;
&lt;br /&gt;
Portando, a equação de formação de preço pode ser representada da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ou pelo produtório&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço1.png]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A composição de preço tem como objetivo construir um preço de venda. Esse cadastro conta com tipos de variáveis para compor preço. Para que a composição de preço seja aplicada corretamente no cadastro do pedido, é necessário que as seguintes premissas sejam atendidas.&lt;br /&gt;
&lt;br /&gt;
=== Composição de preço ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Visto que há variação de preços de produtos para diferentes localidades, a formula criada para a composição de preços  deverá, além de compor toda a regra de cálculo de precificação de determinado produto, a sua parametrização vinculada ao seu respectivo Estado, Cidade e Filial. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em outras palavras, através da composição de preço, o usuário poderá informar a fórmula que o sistema irá aplicar para definir o preço unitário do produto. Essa regra poderá ser parametrizado por: filial, estado e cidade.&lt;br /&gt;
&lt;br /&gt;
== Regras de Negócios ==&lt;br /&gt;
&lt;br /&gt;
'''[RN1] - ''' Não poderá conter a mesma regra para o mesmo estado e filial;&lt;br /&gt;
&lt;br /&gt;
'''[RN2] - ''' Não deverá haver sobreposição de cadastros, e sim edição deste cadastro. Caso o usuário tente cadastrar o mesmo cenário mais de uma vez, a plataforma irá alertar informando que já existe uma regra, e que essa regra poderá ser sobreposta;&lt;br /&gt;
&lt;br /&gt;
'''[RN3] - ''' Essa funcionalidade será desenvolvida exclusivamente no GeoSales EVO.&lt;br /&gt;
&lt;br /&gt;
'''[RN4] - ''' Durante o processo, o portal não deverá travar, ou seja, o batch irá apresentar os dados apenas referentes às variáveis relacionadas (via GSOload). A medida visa evitar um carregamento excessivamente pesado de dados para determinada função. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''[RN5] - ''' Os históricos do log de alterações das variáveis ficarão registrados por um período de 1 (um) ano.&lt;br /&gt;
&lt;br /&gt;
'''[RN6] - ''' Um determinado produto poderá ser vinculado a mais de um grupo, mas a quantidade deve ser diferente.&lt;br /&gt;
&lt;br /&gt;
'''[RN7] - ''' A chave poderá ser associada a mais de um produto/tabela, mas o valor é específico pela unidade de um destes dois atributos.&lt;br /&gt;
&lt;br /&gt;
== Aprovação ==&lt;br /&gt;
&lt;br /&gt;
Considero aprovada a documentação da funcionalidade especificada acima, e autorizo a implementação da mesma no Sistema GeoSales, em nome da Organização a qual estou vinculado. &lt;br /&gt;
&lt;br /&gt;
=== GeoSales ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Desenvolvimento - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|- &lt;br /&gt;
| Integração - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
| Configurações - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Empresa solicitante === &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
! Assinatura&lt;br /&gt;
|-&lt;br /&gt;
| Gerente TI - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente de Projeto - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente Comercial - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Leo2s</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=15038</id>
		<title>Precificação</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=15038"/>
		<updated>2021-04-08T19:58:05Z</updated>

		<summary type="html">&lt;p&gt;Leo2s: /* Definição da formula de preço */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Histórico de Alterações ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data&lt;br /&gt;
! Quem &lt;br /&gt;
! Comentários &lt;br /&gt;
|-&lt;br /&gt;
| 01/10/2020  || Ana Júlia || Criação do documento &lt;br /&gt;
|-&lt;br /&gt;
| 01/04/2021 || João Ramon || Atualização do documento&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
&lt;br /&gt;
No processo de formação de preços, conta-se com um número definido de variáveis que irão fazer a composição do valor final que será apresentado ao cliente final. Informações como custos operacionais, inclusão de markups, fatores de compensação por quebra e/ou comissionamento de venda devem estar contemplados na composição dos preços. A empresa deseja fazer esta composição dentro da Plataforma GeoSales EVO, inserindo todas as informações de custo, taxas e demais dados customizáveis, permitindo que o próprio usuário consiga fazer esta composição.&lt;br /&gt;
&lt;br /&gt;
O cenário de precificação atual não possui um processo uniformizado para cada cliente. Portanto, a necessidade de criar um processo padronizado para composição de preços, assim como a atualização customizável de algumas dessas variáveis, por se tratarem de variáveis cujos valores podem oscilar por motivos externos (oscilações de mercado, variação na política de preços, etc), é imperativa.&lt;br /&gt;
&lt;br /&gt;
== Solução ==&lt;br /&gt;
&lt;br /&gt;
Visto que a formação de preços, e seu processo de elaboração, devem ser totalmente customizáveis pelo cliente, primeiramente deve ser possível que ele não apenas determine quais as variáveis e seus respectivos valores devem ser atribuídos na plataforma para precificação, mas também como estas variáveis se relacionarão matematicamente, a fim de formular um preço baseado nas entradas fornecidas pelo cliente. Além disso, tais variáveis, uma vez inseridas no cadastro de preços, deverão ser passíveis de edição, feitas pelo próprio cliente, de forma manual.&lt;br /&gt;
&lt;br /&gt;
Como instrumento de parametrização das fórmulas contendo as variáveis criadas e seus operadores apropriados, será utilizada a '''''notação polonesa  reversa (RPN)''''', ferramenta de uso familiar a pessoas ligadas ao trabalho que envolva matemática financeira. Assim, a formação de preço deverá ser mais flexível e intuitiva na sua formação, além de facilitar em eventuais futuras modificações. As formulas serão definidas dentro de uma tabela de preço para um determinado grupo de produto facilitando o cadastro. &lt;br /&gt;
&lt;br /&gt;
Também visando a facilidade da manutenção dos valores de cada variável da fórmula, iremos construir o preço por um conjunto de parâmetros, podendo ser definido de forma atrelada às seguintes dimensões: produto e tabela de preço.&lt;br /&gt;
&lt;br /&gt;
Após a definição dos parâmetros, a fórmula será construída por meio da utilização destes. Finalizando esta etapa, basta pedir para processar a tabela, onde a mesma passará a ser vigente para a equipe de venda.&lt;br /&gt;
&lt;br /&gt;
== Implementação ==&lt;br /&gt;
&lt;br /&gt;
O processo terá como bases os seguintes passos: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Criação de Tabela;&lt;br /&gt;
&amp;lt;!-- # para inserção de Variáveis e/ou aproveitamento de Tabela existente; --&amp;gt;&lt;br /&gt;
# Definição de Variáveis que deverão compor a fórmula de criação de preço, além da definição do atributo a qual tal variável está vinculada (produto ou Tabela);&lt;br /&gt;
# Definição de fórmula de formação de preços, utilizando RPN, e vinculações a grupos de produtos;&lt;br /&gt;
# Concluída a fórmula, com as relações operacionais entre as variáveis, os valores gerados devem ser processados para compor a Tabela de Preços.&lt;br /&gt;
&lt;br /&gt;
=== Cadastro tabela de preço ===&lt;br /&gt;
Para criação da tabela de preço, será criada uma tela onde o usuário irá fazer o cadastro da tabela de preço. Nela será possível fazer a inserção e edição de cadastros, não sendo possível excluir qualquer cadastro de tabela de preço já realizado, mas, apenas desativa-los.&lt;br /&gt;
&lt;br /&gt;
Ao entrar na tela o sistema deve apresentar campos de filtros, os quais, o usuário poderá localizar um cadastro já inserido ou realizar edição dos campos descrição e datas inicial e final de vigência. Além, disso no rodapé da tela, terá o acesso para fazer um novo cadastro. na qual, o usuário vai preencher os seguintes campos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Campos de cadastro ====&lt;br /&gt;
* '''Descrição''' -  Campo de texto limitados ao máximo de 70 caracteres;&lt;br /&gt;
* '''Data inicial vigência''' -  Campo de data, onde definirá o inicio da vigência da tabela;&lt;br /&gt;
* '''Data final vigência''' -  Campo de data, onde definirá o final da vigência da tabela;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Uma tabela de preço não poderá ser excluída, só poderá ser desativada ou ativada através dos campos de data inicial e data final. Para desativar, basta colocar a data final inferior a data atual;&lt;br /&gt;
* Caso uma tabela de preço esteja com a data final de vigência vencida, a tabela de preço não será exibida para seleção no cadastro do pedido;&lt;br /&gt;
* Os campos de datas não serão obrigatórios. Quando não estiverem preenchidos, indica que aquela tabela estará disponível para uso;&lt;br /&gt;
* Não será possível utilizar a integração e cadastro da tabela de preço ao mesmo tempo, sendo necessário que haja uma única escolha: Integrar a tabela de preço do ERP ao GeoSales ou cadastrar a tabela de preço no próprio GeoSales. Caso tentem utilizar os dois cadastros ao mesmo tempo ERP e GeoSales, a integração apagará todos os registros cadastrados no GeoSales.&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
[[Arquivo:Tabelapreco.jpg|500px]] &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tabelapreco2.jpg|500px]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Declaração de variáveis ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dentro da tela de Variáveis de preço, deve ser possível definir uma variável de forma livre, mas que atenda as seguintes regras:&lt;br /&gt;
&lt;br /&gt;
* O campo chave, que será utilizado como referência na formula de preço, não deve conter caracteres especiais, espaço em branco e está limitada ao máximo de 8 caracteres, sendo todos minúsculos obrigatoriamente, seguindo o padrão [a-z0-9]. &lt;br /&gt;
* A variável deve estar associada a um produto ou uma tabela de preço&lt;br /&gt;
* Para valores do tipo '''numérico (18,6)''', serão aceitos como possibilidade, podendo ser positivos ou negativos.&lt;br /&gt;
* Será criado um log de históricos de alterações de valores destas variáveis e passível de ser exportado em relatórios em excel.&lt;br /&gt;
* As variáveis fs, fmm e fmx, especificamente, não poderão ser utilizadas, por tratarem-se de variáveis protegidas em uso no sistema.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Campos de cadastro ====&lt;br /&gt;
&lt;br /&gt;
* '''Descrição''' -  Campo de texto limitados ao máximo de 70 caracteres;&lt;br /&gt;
* '''Chave''' -  Campo de texto de 8 caracteres;&lt;br /&gt;
* '''Produto / Tabela''' -  A seleção de uma produto ou de uma tabela, dados previamente alimentados;&lt;br /&gt;
* '''Valor''' -  Campo numérico(18:6);&lt;br /&gt;
&lt;br /&gt;
A chave poderá ser associada a mais de um produto/tabela, mas o valor é específico pela unidade de um destes dois atributos.&lt;br /&gt;
&lt;br /&gt;
=== Definição da formula de preço ===&lt;br /&gt;
&lt;br /&gt;
* Será necessário selecionar uma tabela de preço, a organização de venda e um ou mais produtos aos quais o preço deve ser inserido.&lt;br /&gt;
* Para a regra de preço teremos que informar a '''formula''' do preço mínimo, sugerido e máximo com a quantidade mínima, que valida sua aplicação.&lt;br /&gt;
* Nos campos de preço (mínimo, sugerido e máximo) teremos um espaço para a inserção da fórmula para composição de preço. Esta fórmula fará a relação matemática entre as variáveis criadas no processo anterior, por meio de '''operadores matemáticos (+, -, *, / )''', organizados em '''RPN''', notação comum para analistas financeiros, sendo bastante difundido, inclusive, na lógica de cálculo das calculadoras HP 12 C.&lt;br /&gt;
* Será possível visualizar uma prévia da fórmula escrita, além do valor encontrado, a fim de que o usuário possa confirmar os valores que foram inseridos pelas variáveis e seus respectivos operadores.&lt;br /&gt;
&lt;br /&gt;
Como exemplo de notação polonesa reversa, tomemos a expressão '''''(A+B)*C'''''. Em RPN, a notação ficaria '''''AB+C*'''''.&lt;br /&gt;
&lt;br /&gt;
=== Processar tabela ===&lt;br /&gt;
&lt;br /&gt;
É importante frisar que os valores estão vinculados a uma tabela de preços, que consequentemente está vinculada a um cliente, organização de vendas, vendedores, e tabelas afins.&lt;br /&gt;
&lt;br /&gt;
As variáveis comuns a todos os clientes deverão ter valores diferenciados de acordo com a cidade onde a organização de vendas está alocada.&lt;br /&gt;
Há dois grupos de variáveis: aquelas que são relacionadas ao '''produto''' em si (tamanho, cor, embalagem, Tipo) e aquelas relacionadas à '''Tabela''' (Valor de partida, comissão promotor, frete, por exemplo). É importante determinar corretamente para qual grupo tal variável estará vinculada.&lt;br /&gt;
&lt;br /&gt;
Se mais de um produto possui a mesma característica, será possível fazer a precificação por grupos de produtos.&lt;br /&gt;
&lt;br /&gt;
Sempre que uma das variáveis for alterada, para que ocorra atualização de valores da faixa de preço baseados na alteração, deve ser feito um reprocessamento baseado nos valores atualizados das variáveis.&lt;br /&gt;
&lt;br /&gt;
Na aba de reprocessamento, sempre que houver uma solicitação de processamento devemos salvar as informações para eventual consulta. Ao entrar no detalhe podemos acompanhar o status do processamento.&lt;br /&gt;
&lt;br /&gt;
== Cenários ==&lt;br /&gt;
&lt;br /&gt;
===DICIONÁRIO DE DADOS ===&lt;br /&gt;
&lt;br /&gt;
Considere  tabela abaixo com as seguintes tabelas cadastradas e suas respectivas vigências:&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! TABELA &lt;br /&gt;
! DESCRIÇÃO&lt;br /&gt;
! INICIO DA VIGÊNCIA&lt;br /&gt;
! FINAL DA VIGÊNCIA &lt;br /&gt;
|-&lt;br /&gt;
| '''01'''  || TABELA SP || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| '''02''' || TABELA RJ || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| '''03''' ||TABELA RS ||01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| '''04''' || TABELA SP - CARREFU || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| '''05'''  || TABELA BA || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| '''06''' || TABELA ES || 01/05/2020 || 01/01/2022&lt;br /&gt;
|- &lt;br /&gt;
| '''07''' || TABELA SP - CAPITAL ||01/05/2020 || 01/01/2022&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Selecionada a tabela desejada, o próximo passo é fazer a declaração das variáveis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! CHAVE&lt;br /&gt;
! DESCRIÇÃO DA VARIÁVEL &lt;br /&gt;
! TABELA / PRODUTO&lt;br /&gt;
! VALOR&lt;br /&gt;
|-&lt;br /&gt;
| '''Pp''' || Preço de Partida || Tabela - 01  ||  R$ 106,00&lt;br /&gt;
|-&lt;br /&gt;
| '''Fc''' || Fator de Conversão || Tabela - 01 || 1,5&lt;br /&gt;
|-&lt;br /&gt;
| '''Ce''' ||Custo de Embalagem || Tabela - 01 ||  R$ 12,20&lt;br /&gt;
|-&lt;br /&gt;
| '''Fr''' || Frete || Tabela - 01 ||  - 5&lt;br /&gt;
|-&lt;br /&gt;
| '''Pr'''  || Promotor || Tabela - 01 || 1,02&lt;br /&gt;
|-&lt;br /&gt;
| '''Qu''' || Fator Quebra || Tabela - 01 || 3,5&lt;br /&gt;
|- &lt;br /&gt;
| '''Cf''' || Contrato de Fidelidade || Tabela - 01 || 1,02&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Cenário 1 ===&lt;br /&gt;
&lt;br /&gt;
Elaborando o preço do produto 'P001' para o cliente 'C001' por um período de 6 meses.&lt;br /&gt;
&lt;br /&gt;
No portal GeoSales, na tela de variáveis, serão utilizadas as seguintes informações:&lt;br /&gt;
&lt;br /&gt;
Enumeração das variáveis&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 106,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 0,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1,02 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,02 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Pelo exposto, temos que 7 variáveis foram declaradas. As fórmulas que devemos gerar (Fórmula de valor mínimo, fórmula de valor Sugerido e Fórmula de Valor Máximo) serão derivadas destas variáveis que apontamos. &lt;br /&gt;
&lt;br /&gt;
Supondo que, para a fórmula de valor Sugerido, iremos adotar a seguinte fórmula: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P = PpFc/*Qu*Cf*&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Supondo que, para a fórmula de valor Mínimo, iremos adotar a seguinte fórmula: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P = PpFc/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Supondo que, para a fórmula de valor Máximo, iremos adotar a seguinte fórmula: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P = PpFc/Ce+Fr+Pr*Qu*Cf*&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || Fc || / || 70,66 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Ce || + || 82,86 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Fr || + || 82,66 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Pr || * || 84,52 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Qu || * || 84,52 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Cf || * || 86,21 || F&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P = PpFc/Ce+Fr+Pr*Qu*Cf*&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ao final do processo, a fórmula irá  apresentar o valor final: '''&amp;quot;R$ 86,21&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 2 ===&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P002' para o cliente 'C002'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,11 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || P1 || + || 113,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 75,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 87,86 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Fr || + || 90,86 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Pr || * || 90,86 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Qu || * || 90,86 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Cf || * || 100,86 || G&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P= PpP1+Fc/Ce+Fr+Pr*Qu*Cf*&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao final do processo de cálculo da fórmula, o valor do preço será '''&amp;quot;R$ 100,86&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 3 ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P003' para o cliente 'C003'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ -3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 8,67 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce2 || Custo de Embalagem 2 || R$ 2,00 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 2,5 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| K || Constante || 23,67 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp|| P1 || + || 107,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 71,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 80,33 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Ce2 || + || 82,33 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Fr || + || 84,83 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Pr || * || 84,83 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Qu || * || 84,83 || G&lt;br /&gt;
|-&lt;br /&gt;
| 8 || G || Cf || * || 84,83 || H&lt;br /&gt;
|-&lt;br /&gt;
| 9 || H || K || + || 108,50 || I&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P= PpP1+Fc/Ce+Ce2+Fr+Pr*Qu*Cf*K+&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao final do cálculo da forma, o valor final do preço será: '''&amp;quot;R$ 108,50&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--[[arquivo:formula1.png]]&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço2.png | 600 px]]&lt;br /&gt;
&lt;br /&gt;
Na formula acima, as somas de variaveis são agrupadas em blocos, multiplicando-se entre si. A relação entre os somatórios pode ser representada por&lt;br /&gt;
&lt;br /&gt;
[[arquivo:produto1.png | 200 px]]&lt;br /&gt;
&lt;br /&gt;
Portando, a equação de formação de preço pode ser representada da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ou pelo produtório&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço1.png]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A composição de preço tem como objetivo construir um preço de venda. Esse cadastro conta com tipos de variáveis para compor preço. Para que a composição de preço seja aplicada corretamente no cadastro do pedido, é necessário que as seguintes premissas sejam atendidas.&lt;br /&gt;
&lt;br /&gt;
=== Composição de preço ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Visto que há variação de preços de produtos para diferentes localidades, a formula criada para a composição de preços  deverá, além de compor toda a regra de cálculo de precificação de determinado produto, a sua parametrização vinculada ao seu respectivo Estado, Cidade e Filial. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em outras palavras, através da composição de preço, o usuário poderá informar a fórmula que o sistema irá aplicar para definir o preço unitário do produto. Essa regra poderá ser parametrizado por: filial, estado e cidade.&lt;br /&gt;
&lt;br /&gt;
== Regras de Negócios ==&lt;br /&gt;
&lt;br /&gt;
'''[RN1] - ''' Não poderá conter a mesma regra para o mesmo estado e filial;&lt;br /&gt;
&lt;br /&gt;
'''[RN2] - ''' Não deverá haver sobreposição de cadastros, e sim edição deste cadastro. Caso o usuário tente cadastrar o mesmo cenário mais de uma vez, a plataforma irá alertar informando que já existe uma regra, e que essa regra poderá ser sobreposta;&lt;br /&gt;
&lt;br /&gt;
'''[RN3] - ''' Essa funcionalidade será desenvolvida exclusivamente no GeoSales EVO.&lt;br /&gt;
&lt;br /&gt;
'''[RN4] - ''' Durante o processo, o portal não deverá travar, ou seja, o batch irá apresentar os dados apenas referentes às variáveis relacionadas (via GSOload). A medida visa evitar um carregamento excessivamente pesado de dados para determinada função. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''[RN5] - ''' Os históricos do log de alterações das variáveis ficarão registrados por um período de 1 (um) ano.&lt;br /&gt;
&lt;br /&gt;
'''[RN6] - ''' Um determinado produto poderá ser vinculado a mais de um grupo, mas a quantidade deve ser diferente.&lt;br /&gt;
&lt;br /&gt;
'''[RN7] - ''' A chave poderá ser associada a mais de um produto/tabela, mas o valor é específico pela unidade de um destes dois atributos.&lt;br /&gt;
&lt;br /&gt;
== Aprovação ==&lt;br /&gt;
&lt;br /&gt;
Considero aprovada a documentação da funcionalidade especificada acima, e autorizo a implementação da mesma no Sistema GeoSales, em nome da Organização a qual estou vinculado. &lt;br /&gt;
&lt;br /&gt;
=== GeoSales ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Desenvolvimento - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|- &lt;br /&gt;
| Integração - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
| Configurações - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Empresa solicitante === &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
! Assinatura&lt;br /&gt;
|-&lt;br /&gt;
| Gerente TI - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente de Projeto - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente Comercial - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Leo2s</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=15030</id>
		<title>Precificação</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=15030"/>
		<updated>2021-04-08T19:37:31Z</updated>

		<summary type="html">&lt;p&gt;Leo2s: /* Declaração de variáveis */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Histórico de Alterações ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data&lt;br /&gt;
! Quem &lt;br /&gt;
! Comentários &lt;br /&gt;
|-&lt;br /&gt;
| 01/10/2020  || Ana Júlia || Criação do documento &lt;br /&gt;
|-&lt;br /&gt;
| 01/04/2021 || João Ramon || Atualização do documento&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
&lt;br /&gt;
No processo de formação de preços, conta-se com um número definido de variáveis que irão fazer a composição do valor final que será apresentado ao cliente final. Informações como custos operacionais, inclusão de markups, fatores de compensação por quebra e/ou comissionamento de venda devem estar contemplados na composição dos preços. A empresa deseja fazer esta composição dentro da Plataforma GeoSales EVO, inserindo todas as informações de custo, taxas e demais dados customizáveis, permitindo que o próprio cliente consiga fazer esta composição.&lt;br /&gt;
&lt;br /&gt;
O cenário de precificação atual não possui um processo uniformizado para cada cliente. Portanto, a necessidade de criar um processo padronizado para composição de preços, assim como a atualização customizável de algumas dessas variáveis, por se tratarem de variáveis cujos valores podem oscilar por motivos externos (oscilações de mercado, variação na política de preços, etc), é imperativa.&lt;br /&gt;
&lt;br /&gt;
== Solução ==&lt;br /&gt;
&lt;br /&gt;
Visto que a formação de preços, e seu processo de elaboração, devem ser totalmente customizáveis pelo cliente, primeiramente deve ser possível que ele não apenas determine quais as variáveis e seus respectivos valores devem ser atribuídos na plataforma para precificação, mas também como estas variáveis se relacionarão matematicamente, a fim de formular um preço baseado nas entradas fornecidas pelo cliente. Além disso, tais variáveis, uma vez inseridas no cadastro de preços, deverão ser passíveis de edição, feitas pelo próprio cliente, de forma manual.&lt;br /&gt;
&lt;br /&gt;
Como instrumento de parametrização das fórmulas contendo as variáveis criadas e seus operadores apropriados, será utilizada a '''''notação polonesa  reversa (RPN)''''', ferramenta de uso familiar a pessoas ligadas ao trabalho que envolva matemática financeira. Assim, a formação de preço deverá ser mais flexível e intuitiva na sua formação, além de facilitar em eventuais futuras modificações. As formulas serão definidas dentro de uma tabela de preço para um determinado grupo de produto facilitando o cadastro. &lt;br /&gt;
&lt;br /&gt;
Também visando a facilidade da manutenção dos valores de cada variável da fórmula, iremos construir o preço por um conjunto de parâmetros, podendo ser definido de forma atrelada às seguintes dimensões: produto e tabela de preço.&lt;br /&gt;
&lt;br /&gt;
Após a definição dos parâmetros, a fórmula será construída por meio da utilização destes. Finalizando esta etapa, basta pedir para processar a tabela, onde a mesma passará a ser vigente para a equipe de venda.&lt;br /&gt;
&lt;br /&gt;
== Implementação ==&lt;br /&gt;
&lt;br /&gt;
O processo terá como bases os seguintes passos: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Criação de Tabela;&lt;br /&gt;
&amp;lt;!-- # para inserção de Variáveis e/ou aproveitamento de Tabela existente; --&amp;gt;&lt;br /&gt;
# Definição de Variáveis que deverão compor a fórmula de criação de preço, além da definição do atributo a qual tal variável está vinculada (produto ou Tabela);&lt;br /&gt;
# Definição de fórmula de formação de preços, utilizando RPN, e vinculações a grupos de produtos;&lt;br /&gt;
# Concluída a fórmula, com as relações operacionais entre as variáveis, os valores gerados devem ser processados para compor a Tabela de Preços.&lt;br /&gt;
&lt;br /&gt;
=== Cadastro tabela de preço ===&lt;br /&gt;
Para criação da tabela de preço, será criada uma tela onde o usuário irá fazer o cadastro da tabela de preço. Nela será possível fazer a inserção e edição de cadastros, não sendo possível excluir qualquer cadastro de tabela de preço já realizado, mas, apenas desativa-los.&lt;br /&gt;
&lt;br /&gt;
Ao entrar na tela o sistema deve apresentar campos de filtros, os quais, o usuário poderá localizar um cadastro já inserido ou realizar edição dos campos descrição e datas inicial e final de vigência. Além, disso no rodapé da tela, terá o acesso para fazer um novo cadastro. na qual, o usuário vai preencher os seguintes campos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Campos de cadastro ====&lt;br /&gt;
* '''Descrição''' -  Campo de texto limitados ao máximo de 70 caracteres;&lt;br /&gt;
* '''Data inicial vigência''' -  Campo de data, onde definirá o inicio da vigência da tabela;&lt;br /&gt;
* '''Data final vigência''' -  Campo de data, onde definirá o final da vigência da tabela;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Uma tabela de preço não poderá ser excluída, só poderá ser desativada ou ativada através dos campos de data inicial e data final. Para desativar, basta colocar a data final inferior a data atual;&lt;br /&gt;
* Caso uma tabela de preço esteja com a data final de vigência vencida, a tabela de preço não será exibida para seleção no cadastro do pedido;&lt;br /&gt;
* Os campos de datas não serão obrigatórios. Quando não estiverem preenchidos, indica que aquela tabela estará disponível para uso;&lt;br /&gt;
* Não será possível utilizar a integração e cadastro da tabela de preço ao mesmo tempo, sendo necessário que haja uma única escolha: Integrar a tabela de preço do ERP ao GeoSales ou cadastrar a tabela de preço no próprio GeoSales. Caso tentem utilizar os dois cadastros ao mesmo tempo ERP e GeoSales, a integração apagará todos os registros cadastrados no GeoSales.&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
[[Arquivo:Tabelapreco.jpg|500px]] &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tabelapreco2.jpg|500px]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Declaração de variáveis ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dentro da tela de Variáveis de preço, deve ser possível definir uma variável de forma livre, mas que atenda as seguintes regras:&lt;br /&gt;
&lt;br /&gt;
* O campo chave, que será utilizado como referência na formula de preço, não deve conter caracteres especiais, espaço em branco e está limitada ao máximo de 8 caracteres, sendo todos minúsculos obrigatoriamente. &lt;br /&gt;
* A variável deve estar associada a um produto ou uma tabela de preço&lt;br /&gt;
* Para valores do tipo '''numérico (18,6)''', serão aceitos como possibilidade, podendo ser positivos ou negativos.&lt;br /&gt;
* Será criado um log de históricos de alterações de valores destas variáveis e passível de ser exportado em relatórios em excel.&lt;br /&gt;
&lt;br /&gt;
==== Campos de cadastro ====&lt;br /&gt;
&lt;br /&gt;
* '''Descrição''' -  Campo de texto limitados ao máximo de 70 caracteres;&lt;br /&gt;
* '''Chave''' -  Campo de texto de 8 caracteres;&lt;br /&gt;
* '''Produto / Tabela''' -  A seleção de uma produto ou de uma tabela, dados previamente alimentados;&lt;br /&gt;
* '''Valor''' -  Campo numérico(18:6);&lt;br /&gt;
&lt;br /&gt;
A chave poderá ser associada a mais de um produto/tabela, mas o valor é específico pela unidade de um destes dois atributos.&lt;br /&gt;
&lt;br /&gt;
=== Definição da formula de preço ===&lt;br /&gt;
&lt;br /&gt;
* Será necessário selecionar uma tabela de preço, a organização de venda e um ou mais produtos aos quais o preço deve ser inserido.&lt;br /&gt;
* Para a regra de preço teremos que informar a '''formula''' do preço mínimo, sugerido e máximo com a quantidade mínima, que valida sua aplicação.&lt;br /&gt;
* Nos campos de preço (mínimo, sugerido e máximo) teremos um espaço para a inserção da fórmula para composição de preço. Esta fórmula fará a relação matemática entre as variáveis criadas no processo anterior, por meio de '''operadores matemáticos (+, -, *, / )''', organizados em '''RPN''', notação comum para analistas financeiros, sendo bastante difundido, inclusive, na lógica de cálculo das calculadoras HP 12 C.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Será possível visualizar uma prévia da fórmula escrita, além do valor encontrado, a fim de que o usuário possa confirmar os valores que foram inseridos pelas variáveis e seus respectivos operadores.&lt;br /&gt;
&lt;br /&gt;
Como exemplo de notação polonesa reversa, tomemos a expressão '''''(A+B)*C'''''. Em RPN, a notação ficaria '''''AB+C*'''''.&lt;br /&gt;
&lt;br /&gt;
=== Processar tabela ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
É importante frisar que os valores estão vinculados a uma tabela de preços, que consequentemente está vinculada a um cliente, organização de vendas, vendedores, e tabelas afins.&lt;br /&gt;
&lt;br /&gt;
As variáveis comuns a todos os clientes deverão ter valores diferenciados de acordo com a cidade onde a organização de vendas está alocada.&lt;br /&gt;
Há dois grupos de variáveis: aquelas que são relacionadas ao '''produto''' em si (tamanho, cor, embalagem, Tipo) e aquelas relacionadas à '''Tabela''' (Valor de partida, comissão promotor, frete, por exemplo). É importante determinar corretamente para qual grupo tal variável estará vinculada.&lt;br /&gt;
&lt;br /&gt;
Se mais de um produto possui a mesma característica, será possível fazer a precificação por grupos de produtos.&lt;br /&gt;
&lt;br /&gt;
== Cenários ==&lt;br /&gt;
&lt;br /&gt;
===DICIONÁRIO DE DADOS ===&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! TABELA &lt;br /&gt;
! DESCRIÇÃO&lt;br /&gt;
! INICIO DA VIGÊNCIA&lt;br /&gt;
! FINAL DA VIGÊNCIA &lt;br /&gt;
|-&lt;br /&gt;
| '''01'''  || TABELA SP || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| '''02''' || TABELA RJ || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| '''03''' ||TABELA RS ||01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| '''04''' || TABELA SP - CARREFU || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| '''05'''  || TABELA BA || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| '''06''' || TABELA ES || 01/05/2020 || 01/01/2022&lt;br /&gt;
|- &lt;br /&gt;
| '''07''' || TABELA SP - CAPITAL ||01/05/2020 || 01/01/2022&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! CHAVE&lt;br /&gt;
! DESCRIÇÃO DA VARIÁVEL &lt;br /&gt;
! TABELA / PRODUTO&lt;br /&gt;
! VALOR&lt;br /&gt;
|-&lt;br /&gt;
| '''Pp''' || Preço de Partida || Tabela - 01  ||  R$ 106,00&lt;br /&gt;
|-&lt;br /&gt;
| '''Fc''' || Fator de Conversão || Tabela - 01 || 1,5&lt;br /&gt;
|-&lt;br /&gt;
| '''Ce''' ||Custo de Embalagem || Tabela - 01 ||  R$ 12,20&lt;br /&gt;
|-&lt;br /&gt;
| '''Fr''' || Frete || Tabela - 01 ||  - 5&lt;br /&gt;
|-&lt;br /&gt;
| '''Pr'''  || Promotor || Tabela - 01 || 1,02&lt;br /&gt;
|-&lt;br /&gt;
| '''Qu''' || Fator Quebra || Tabela - 01 || 3,5&lt;br /&gt;
|- &lt;br /&gt;
| '''Cf''' || Contrato de Fidelidade || Tabela - 01 || 1,02&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Cenário 1 ===&lt;br /&gt;
&lt;br /&gt;
Elaborando o preço do produto 'P001' para o cliente 'C001' por um período de 6 meses.&lt;br /&gt;
&lt;br /&gt;
No portal GeoSales, na tela de variáveis, serão utilizadas as seguintes informações:&lt;br /&gt;
&lt;br /&gt;
Enumeração das variáveis&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 106,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 0,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1,02 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,02 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Pelo exposto, temos que 7 variáveis foram declaradas. As fórmulas que devemos gerar (Fórmula de valor mínimo, fórmula de valor Sugerido e Fórmula de Valor Máximo) serão derivadas destas variáveis que apontamos. &lt;br /&gt;
&lt;br /&gt;
Supondo que, para a fórmula de valor Sugerido, iremos adotar a seguinte fórmula: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P = PpFc/Ce+Fr+Pr*Qu*Cf*&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Supondo que, para a fórmula de valor Mínimo, iremos adotar a seguinte fórmula: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P = PpFc/Ce+Fr+Pr*Qu*Cf*&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Supondo que, para a fórmula de valor Máximo, iremos adotar a seguinte fórmula: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P = PpFc/Ce+Fr+Pr*Qu*Cf*&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || Fc || / || 70,66 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Ce || + || 82,86 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Fr || + || 82,66 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Pr || * || 84,52 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Qu || * || 84,52 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Cf || * || 86,21 || F&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P = PpFc/Ce+Fr+Pr*Qu*Cf*&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ao final do processo, a fórmula irá  apresentar o valor final: '''&amp;quot;R$ 86,21&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 2 ===&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P002' para o cliente 'C002'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,11 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || P1 || + || 113,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 75,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 87,86 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Fr || + || 90,86 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Pr || * || 90,86 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Qu || * || 90,86 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Cf || * || 100,86 || G&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P= PpP1+Fc/Ce+Fr+Pr*Qu*Cf*&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao final do processo de cálculo da fórmula, o valor do preço será '''&amp;quot;R$ 100,86&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 3 ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P003' para o cliente 'C003'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ -3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 8,67 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce2 || Custo de Embalagem 2 || R$ 2,00 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 2,5 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| K || Constante || 23,67 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp|| P1 || + || 107,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 71,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 80,33 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Ce2 || + || 82,33 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Fr || + || 84,83 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Pr || * || 84,83 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Qu || * || 84,83 || G&lt;br /&gt;
|-&lt;br /&gt;
| 8 || G || Cf || * || 84,83 || H&lt;br /&gt;
|-&lt;br /&gt;
| 9 || H || K || + || 108,50 || I&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P= PpP1+Fc/Ce+Ce2+Fr+Pr*Qu*Cf*K+&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao final do cálculo da forma, o valor final do preço será: '''&amp;quot;R$ 108,50&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--[[arquivo:formula1.png]]&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço2.png | 600 px]]&lt;br /&gt;
&lt;br /&gt;
Na formula acima, as somas de variaveis são agrupadas em blocos, multiplicando-se entre si. A relação entre os somatórios pode ser representada por&lt;br /&gt;
&lt;br /&gt;
[[arquivo:produto1.png | 200 px]]&lt;br /&gt;
&lt;br /&gt;
Portando, a equação de formação de preço pode ser representada da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ou pelo produtório&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço1.png]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A composição de preço tem como objetivo construir um preço de venda. Esse cadastro conta com tipos de variáveis para compor preço. Para que a composição de preço seja aplicada corretamente no cadastro do pedido, é necessário que as seguintes premissas sejam atendidas.&lt;br /&gt;
&lt;br /&gt;
=== Composição de preço ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Visto que há variação de preços de produtos para diferentes localidades, a formula criada para a composição de preços  deverá, além de compor toda a regra de cálculo de precificação de determinado produto, a sua parametrização vinculada ao seu respectivo Estado, Cidade e Filial. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em outras palavras, através da composição de preço, o usuário poderá informar a fórmula que o sistema irá aplicar para definir o preço unitário do produto. Essa regra poderá ser parametrizado por: filial, estado e cidade.&lt;br /&gt;
&lt;br /&gt;
== Regras de Negócios ==&lt;br /&gt;
&lt;br /&gt;
'''[RN1] - ''' Não poderá conter a mesma regra para o mesmo estado e filial;&lt;br /&gt;
&lt;br /&gt;
'''[RN2] - ''' Não deverá haver sobreposição de cadastros, e sim edição deste cadastro. Caso o usuário tente cadastrar o mesmo cenário mais de uma vez, a plataforma irá alertar informando que já existe uma regra, e que essa regra poderá ser sobreposta;&lt;br /&gt;
&lt;br /&gt;
'''[RN3] - ''' Essa funcionalidade será desenvolvida exclusivamente no GeoSales EVO.&lt;br /&gt;
&lt;br /&gt;
'''[RN4] - ''' Durante o processo, o portal não deverá travar, ou seja, o batch irá apresentar os dados apenas referentes às variáveis relacionadas (via GSOload). A medida visa evitar um carregamento excessivamente pesado de dados para determinada função. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''[RN5] - ''' Os históricos do log de alterações das variáveis ficarão registrados por um período de 1 (um) ano.&lt;br /&gt;
&lt;br /&gt;
'''[RN6] - ''' Um determinado produto poderá ser vinculado a mais de um grupo, mas a quantidade deve ser diferente.&lt;br /&gt;
&lt;br /&gt;
'''[RN7] - ''' A chave poderá ser associada a mais de um produto/tabela, mas o valor é específico pela unidade de um destes dois atributos.&lt;br /&gt;
&lt;br /&gt;
== Aprovação ==&lt;br /&gt;
&lt;br /&gt;
Considero aprovada a documentação da funcionalidade especificada acima, e autorizo a implementação da mesma no Sistema GeoSales, em nome da Organização a qual estou vinculado. &lt;br /&gt;
&lt;br /&gt;
=== GeoSales ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Desenvolvimento - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|- &lt;br /&gt;
| Integração - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
| Configurações - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Empresa solicitante === &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
! Assinatura&lt;br /&gt;
|-&lt;br /&gt;
| Gerente TI - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente de Projeto - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente Comercial - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Leo2s</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=15028</id>
		<title>Precificação</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=15028"/>
		<updated>2021-04-08T19:30:37Z</updated>

		<summary type="html">&lt;p&gt;Leo2s: /* DICIONÁRIO DE DADOS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Histórico de Alterações ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data&lt;br /&gt;
! Quem &lt;br /&gt;
! Comentários &lt;br /&gt;
|-&lt;br /&gt;
| 01/10/2020  || Ana Júlia || Criação do documento &lt;br /&gt;
|-&lt;br /&gt;
| 01/04/2021 || João Ramon || Atualização do documento&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
&lt;br /&gt;
No processo de formação de preços, conta-se com um número definido de variáveis que irão fazer a composição do valor final que será apresentado ao cliente final. Informações como custos operacionais, inclusão de markups, fatores de compensação por quebra e/ou comissionamento de venda devem estar contemplados na composição dos preços. A empresa deseja fazer esta composição dentro da Plataforma GeoSales EVO, inserindo todas as informações de custo, taxas e demais dados customizáveis, permitindo que o próprio cliente consiga fazer esta composição.&lt;br /&gt;
&lt;br /&gt;
O cenário de precificação atual não possui um processo uniformizado para cada cliente. Portanto, a necessidade de criar um processo padronizado para composição de preços, assim como a atualização customizável de algumas dessas variáveis, por se tratarem de variáveis cujos valores podem oscilar por motivos externos (oscilações de mercado, variação na política de preços, etc), é imperativa.&lt;br /&gt;
&lt;br /&gt;
== Solução ==&lt;br /&gt;
&lt;br /&gt;
Visto que a formação de preços, e seu processo de elaboração, devem ser totalmente customizáveis pelo cliente, primeiramente deve ser possível que ele não apenas determine quais as variáveis e seus respectivos valores devem ser atribuídos na plataforma para precificação, mas também como estas variáveis se relacionarão matematicamente, a fim de formular um preço baseado nas entradas fornecidas pelo cliente. Além disso, tais variáveis, uma vez inseridas no cadastro de preços, deverão ser passíveis de edição, feitas pelo próprio cliente, de forma manual.&lt;br /&gt;
&lt;br /&gt;
Como instrumento de parametrização das fórmulas contendo as variáveis criadas e seus operadores apropriados, será utilizada a '''''notação polonesa  reversa (RPN)''''', ferramenta de uso familiar a pessoas ligadas ao trabalho que envolva matemática financeira. Assim, a formação de preço deverá ser mais flexível e intuitiva na sua formação, além de facilitar em eventuais futuras modificações. As formulas serão definidas dentro de uma tabela de preço para um determinado grupo de produto facilitando o cadastro. &lt;br /&gt;
&lt;br /&gt;
Também visando a facilidade da manutenção dos valores de cada variável da fórmula, iremos construir o preço por um conjunto de parâmetros, podendo ser definido de forma atrelada às seguintes dimensões: produto e tabela de preço.&lt;br /&gt;
&lt;br /&gt;
Após a definição dos parâmetros, a fórmula será construída por meio da utilização destes. Finalizando esta etapa, basta pedir para processar a tabela, onde a mesma passará a ser vigente para a equipe de venda.&lt;br /&gt;
&lt;br /&gt;
== Implementação ==&lt;br /&gt;
&lt;br /&gt;
O processo terá como bases os seguintes passos: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Criação de Tabela;&lt;br /&gt;
&amp;lt;!-- # para inserção de Variáveis e/ou aproveitamento de Tabela existente; --&amp;gt;&lt;br /&gt;
# Definição de Variáveis que deverão compor a fórmula de criação de preço, além da definição do atributo a qual tal variável está vinculada (produto ou Tabela);&lt;br /&gt;
# Definição de fórmula de formação de preços, utilizando RPN, e vinculações a grupos de produtos;&lt;br /&gt;
# Concluída a fórmula, com as relações operacionais entre as variáveis, os valores gerados devem ser processados para compor a Tabela de Preços.&lt;br /&gt;
&lt;br /&gt;
=== Cadastro tabela de preço ===&lt;br /&gt;
Para criação da tabela de preço, será criada uma tela onde o usuário irá fazer o cadastro da tabela de preço. Nela será possível fazer a inserção e edição de cadastros, não sendo possível excluir qualquer cadastro de tabela de preço já realizado, mas, apenas desativa-los.&lt;br /&gt;
&lt;br /&gt;
Ao entrar na tela o sistema deve apresentar campos de filtros, os quais, o usuário poderá localizar um cadastro já inserido ou realizar edição dos campos descrição e datas inicial e final de vigência. Além, disso no rodapé da tela, terá o acesso para fazer um novo cadastro. na qual, o usuário vai preencher os seguintes campos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Campos de cadastro ====&lt;br /&gt;
* '''Descrição''' -  Campo de texto limitados ao máximo de 70 caracteres;&lt;br /&gt;
* '''Data inicial vigência''' -  Campo de data, onde definirá o inicio da vigência da tabela;&lt;br /&gt;
* '''Data final vigência''' -  Campo de data, onde definirá o final da vigência da tabela;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Uma tabela de preço não poderá ser excluída, só poderá ser desativada ou ativada através dos campos de data inicial e data final. Para desativar, basta colocar a data final inferior a data atual;&lt;br /&gt;
* Caso uma tabela de preço esteja com a data final de vigência vencida, a tabela de preço não será exibida para seleção no cadastro do pedido;&lt;br /&gt;
* Os campos de datas não serão obrigatórios. Quando não estiverem preenchidos, indica que aquela tabela estará disponível para uso;&lt;br /&gt;
* Não será possível utilizar a integração e cadastro da tabela de preço ao mesmo tempo, sendo necessário que haja uma única escolha: Integrar a tabela de preço do ERP ao GeoSales ou cadastrar a tabela de preço no próprio GeoSales. Caso tentem utilizar os dois cadastros ao mesmo tempo ERP e GeoSales, a integração apagará todos os registros cadastrados no GeoSales.&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
[[Arquivo:Tabelapreco.jpg|500px]] &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tabelapreco2.jpg|500px]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Declaração de variáveis ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dentro da tela de Variáveis de preço, deve ser possível definir uma variável de forma livre, mas que atenda as seguintes regras:&lt;br /&gt;
&lt;br /&gt;
* O campo chave, que será utilizado como referência na formula de preço, não deve conter caracteres especiais, espaço em branco e nao ser mais que 8 caracteres&lt;br /&gt;
* A variável deve estar associada a um produto ou uma tabela de preço&lt;br /&gt;
* Para valores do tipo '''numérico (18,6)''', serão aceitos como possibilidade, podendo ser positivos ou negativos.&lt;br /&gt;
* Será criado um log de históricos de alterações de valores destas variáveis e passível de ser exportado em relatórios em excel.&lt;br /&gt;
&lt;br /&gt;
==== Campos de cadastro ====&lt;br /&gt;
&lt;br /&gt;
* '''Descrição''' -  Campo de texto limitados ao máximo de 70 caracteres;&lt;br /&gt;
* '''Chave''' -  Campo de texto de 8 caracteres;&lt;br /&gt;
* '''Produto / Tabela''' -  A seleção de uma produto ou de uma tabela, dados previamente alimentados;&lt;br /&gt;
* '''Valor''' -  Campo numérico(18:6);&lt;br /&gt;
&lt;br /&gt;
A chave poderá ser associada a mais de um produto/tabela, mas o valor é específico pela unidade de um destes dois atributos.&lt;br /&gt;
&lt;br /&gt;
=== Definição da formula de preço ===&lt;br /&gt;
&lt;br /&gt;
* Será necessário selecionar uma tabela de preço, a organização de venda e um ou mais produtos aos quais o preço deve ser inserido.&lt;br /&gt;
* Para a regra de preço teremos que informar a '''formula''' do preço mínimo, sugerido e máximo com a quantidade mínima, que valida sua aplicação.&lt;br /&gt;
* Nos campos de preço (mínimo, sugerido e máximo) teremos um espaço para a inserção da fórmula para composição de preço. Esta fórmula fará a relação matemática entre as variáveis criadas no processo anterior, por meio de '''operadores matemáticos (+, -, *, / )''', organizados em '''RPN''', notação comum para analistas financeiros, sendo bastante difundido, inclusive, na lógica de cálculo das calculadoras HP 12 C.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Será possível visualizar uma prévia da fórmula escrita, além do valor encontrado, a fim de que o usuário possa confirmar os valores que foram inseridos pelas variáveis e seus respectivos operadores.&lt;br /&gt;
&lt;br /&gt;
Como exemplo de notação polonesa reversa, tomemos a expressão '''''(A+B)*C'''''. Em RPN, a notação ficaria '''''AB+C*'''''.&lt;br /&gt;
&lt;br /&gt;
=== Processar tabela ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
É importante frisar que os valores estão vinculados a uma tabela de preços, que consequentemente está vinculada a um cliente, organização de vendas, vendedores, e tabelas afins.&lt;br /&gt;
&lt;br /&gt;
As variáveis comuns a todos os clientes deverão ter valores diferenciados de acordo com a cidade onde a organização de vendas está alocada.&lt;br /&gt;
Há dois grupos de variáveis: aquelas que são relacionadas ao '''produto''' em si (tamanho, cor, embalagem, Tipo) e aquelas relacionadas à '''Tabela''' (Valor de partida, comissão promotor, frete, por exemplo). É importante determinar corretamente para qual grupo tal variável estará vinculada.&lt;br /&gt;
&lt;br /&gt;
Se mais de um produto possui a mesma característica, será possível fazer a precificação por grupos de produtos.&lt;br /&gt;
&lt;br /&gt;
== Cenários ==&lt;br /&gt;
&lt;br /&gt;
===DICIONÁRIO DE DADOS ===&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! TABELA &lt;br /&gt;
! DESCRIÇÃO&lt;br /&gt;
! INICIO DA VIGÊNCIA&lt;br /&gt;
! FINAL DA VIGÊNCIA &lt;br /&gt;
|-&lt;br /&gt;
| '''01'''  || TABELA SP || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| '''02''' || TABELA RJ || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| '''03''' ||TABELA RS ||01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| '''04''' || TABELA SP - CARREFU || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| '''05'''  || TABELA BA || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| '''06''' || TABELA ES || 01/05/2020 || 01/01/2022&lt;br /&gt;
|- &lt;br /&gt;
| '''07''' || TABELA SP - CAPITAL ||01/05/2020 || 01/01/2022&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! CHAVE&lt;br /&gt;
! DESCRIÇÃO DA VARIÁVEL &lt;br /&gt;
! TABELA / PRODUTO&lt;br /&gt;
! VALOR&lt;br /&gt;
|-&lt;br /&gt;
| '''Pp''' || Preço de Partida || Tabela - 01  ||  R$ 106,00&lt;br /&gt;
|-&lt;br /&gt;
| '''Fc''' || Fator de Conversão || Tabela - 01 || 1,5&lt;br /&gt;
|-&lt;br /&gt;
| '''Ce''' ||Custo de Embalagem || Tabela - 01 ||  R$ 12,20&lt;br /&gt;
|-&lt;br /&gt;
| '''Fr''' || Frete || Tabela - 01 ||  - 5&lt;br /&gt;
|-&lt;br /&gt;
| '''Pr'''  || Promotor || Tabela - 01 || 1,02&lt;br /&gt;
|-&lt;br /&gt;
| '''Qu''' || Fator Quebra || Tabela - 01 || 3,5&lt;br /&gt;
|- &lt;br /&gt;
| '''Cf''' || Contrato de Fidelidade || Tabela - 01 || 1,02&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Cenário 1 ===&lt;br /&gt;
&lt;br /&gt;
Elaborando o preço do produto 'P001' para o cliente 'C001' por um período de 6 meses.&lt;br /&gt;
&lt;br /&gt;
No portal GeoSales, na tela de variáveis, serão utilizadas as seguintes informações:&lt;br /&gt;
&lt;br /&gt;
Enumeração das variáveis&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 106,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 0,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1,02 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,02 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Pelo exposto, temos que 7 variáveis foram declaradas. As fórmulas que devemos gerar (Fórmula de valor mínimo, fórmula de valor Sugerido e Formula de Valor Máximo) serão derivadas destas variáveis que apontamos. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || Fc || / || 70,66 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Ce || + || 82,86 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Fr || + || 82,66 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Pr || * || 84,52 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Qu || * || 84,52 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Cf || * || 86,21 || F&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P = PpFc/Ce+Fr+Pr*Qu*Cf*&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ao final do processo, a fórmula irá  apresentar o valor final: '''&amp;quot;R$ 86,21&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 2 ===&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P002' para o cliente 'C002'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,11 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || P1 || + || 113,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 75,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 87,86 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Fr || + || 90,86 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Pr || * || 90,86 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Qu || * || 90,86 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Cf || * || 100,86 || G&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P= PpP1+Fc/Ce+Fr+Pr*Qu*Cf*&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao final do processo de cálculo da fórmula, o valor do preço será '''&amp;quot;R$ 100,86&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 3 ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P003' para o cliente 'C003'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ -3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 8,67 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce2 || Custo de Embalagem 2 || R$ 2,00 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 2,5 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| K || Constante || 23,67 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp|| P1 || + || 107,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 71,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 80,33 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Ce2 || + || 82,33 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Fr || + || 84,83 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Pr || * || 84,83 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Qu || * || 84,83 || G&lt;br /&gt;
|-&lt;br /&gt;
| 8 || G || Cf || * || 84,83 || H&lt;br /&gt;
|-&lt;br /&gt;
| 9 || H || K || + || 108,50 || I&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P= PpP1+Fc/Ce+Ce2+Fr+Pr*Qu*Cf*K+&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao final do cálculo da forma, o valor final do preço será: '''&amp;quot;R$ 108,50&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--[[arquivo:formula1.png]]&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço2.png | 600 px]]&lt;br /&gt;
&lt;br /&gt;
Na formula acima, as somas de variaveis são agrupadas em blocos, multiplicando-se entre si. A relação entre os somatórios pode ser representada por&lt;br /&gt;
&lt;br /&gt;
[[arquivo:produto1.png | 200 px]]&lt;br /&gt;
&lt;br /&gt;
Portando, a equação de formação de preço pode ser representada da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ou pelo produtório&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço1.png]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A composição de preço tem como objetivo construir um preço de venda. Esse cadastro conta com tipos de variáveis para compor preço. Para que a composição de preço seja aplicada corretamente no cadastro do pedido, é necessário que as seguintes premissas sejam atendidas.&lt;br /&gt;
&lt;br /&gt;
=== Composição de preço ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Visto que há variação de preços de produtos para diferentes localidades, a formula criada para a composição de preços  deverá, além de compor toda a regra de cálculo de precificação de determinado produto, a sua parametrização vinculada ao seu respectivo Estado, Cidade e Filial. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em outras palavras, através da composição de preço, o usuário poderá informar a fórmula que o sistema irá aplicar para definir o preço unitário do produto. Essa regra poderá ser parametrizado por: filial, estado e cidade.&lt;br /&gt;
&lt;br /&gt;
== Regras de Negócios ==&lt;br /&gt;
&lt;br /&gt;
'''[RN1] - ''' Não poderá conter a mesma regra para o mesmo estado e filial;&lt;br /&gt;
&lt;br /&gt;
'''[RN2] - ''' Não deverá haver sobreposição de cadastros, e sim edição deste cadastro. Caso o usuário tente cadastrar o mesmo cenário mais de uma vez, a plataforma irá alertar informando que já existe uma regra, e que essa regra poderá ser sobreposta;&lt;br /&gt;
&lt;br /&gt;
'''[RN3] - ''' Essa funcionalidade será desenvolvida exclusivamente no GeoSales EVO.&lt;br /&gt;
&lt;br /&gt;
'''[RN4] - ''' Durante o processo, o portal não deverá travar, ou seja, o batch irá apresentar os dados apenas referentes às variáveis relacionadas (via GSOload). A medida visa evitar um carregamento excessivamente pesado de dados para determinada função. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''[RN5] - ''' Os históricos do log de alterações das variáveis ficarão registrados por um período de 1 (um) ano.&lt;br /&gt;
&lt;br /&gt;
'''[RN6] - ''' Um determinado produto poderá ser vinculado a mais de um grupo, mas a quantidade deve ser diferente.&lt;br /&gt;
&lt;br /&gt;
'''[RN7] - ''' A chave poderá ser associada a mais de um produto/tabela, mas o valor é específico pela unidade de um destes dois atributos.&lt;br /&gt;
&lt;br /&gt;
== Aprovação ==&lt;br /&gt;
&lt;br /&gt;
Considero aprovada a documentação da funcionalidade especificada acima, e autorizo a implementação da mesma no Sistema GeoSales, em nome da Organização a qual estou vinculado. &lt;br /&gt;
&lt;br /&gt;
=== GeoSales ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Desenvolvimento - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|- &lt;br /&gt;
| Integração - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
| Configurações - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Empresa solicitante === &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
! Assinatura&lt;br /&gt;
|-&lt;br /&gt;
| Gerente TI - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente de Projeto - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente Comercial - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Leo2s</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=15027</id>
		<title>Precificação</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=15027"/>
		<updated>2021-04-08T19:29:48Z</updated>

		<summary type="html">&lt;p&gt;Leo2s: /* DICIONÁRIO DE DADOS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Histórico de Alterações ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data&lt;br /&gt;
! Quem &lt;br /&gt;
! Comentários &lt;br /&gt;
|-&lt;br /&gt;
| 01/10/2020  || Ana Júlia || Criação do documento &lt;br /&gt;
|-&lt;br /&gt;
| 01/04/2021 || João Ramon || Atualização do documento&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
&lt;br /&gt;
No processo de formação de preços, conta-se com um número definido de variáveis que irão fazer a composição do valor final que será apresentado ao cliente final. Informações como custos operacionais, inclusão de markups, fatores de compensação por quebra e/ou comissionamento de venda devem estar contemplados na composição dos preços. A empresa deseja fazer esta composição dentro da Plataforma GeoSales EVO, inserindo todas as informações de custo, taxas e demais dados customizáveis, permitindo que o próprio cliente consiga fazer esta composição.&lt;br /&gt;
&lt;br /&gt;
O cenário de precificação atual não possui um processo uniformizado para cada cliente. Portanto, a necessidade de criar um processo padronizado para composição de preços, assim como a atualização customizável de algumas dessas variáveis, por se tratarem de variáveis cujos valores podem oscilar por motivos externos (oscilações de mercado, variação na política de preços, etc), é imperativa.&lt;br /&gt;
&lt;br /&gt;
== Solução ==&lt;br /&gt;
&lt;br /&gt;
Visto que a formação de preços, e seu processo de elaboração, devem ser totalmente customizáveis pelo cliente, primeiramente deve ser possível que ele não apenas determine quais as variáveis e seus respectivos valores devem ser atribuídos na plataforma para precificação, mas também como estas variáveis se relacionarão matematicamente, a fim de formular um preço baseado nas entradas fornecidas pelo cliente. Além disso, tais variáveis, uma vez inseridas no cadastro de preços, deverão ser passíveis de edição, feitas pelo próprio cliente, de forma manual.&lt;br /&gt;
&lt;br /&gt;
Como instrumento de parametrização das fórmulas contendo as variáveis criadas e seus operadores apropriados, será utilizada a '''''notação polonesa  reversa (RPN)''''', ferramenta de uso familiar a pessoas ligadas ao trabalho que envolva matemática financeira. Assim, a formação de preço deverá ser mais flexível e intuitiva na sua formação, além de facilitar em eventuais futuras modificações. As formulas serão definidas dentro de uma tabela de preço para um determinado grupo de produto facilitando o cadastro. &lt;br /&gt;
&lt;br /&gt;
Também visando a facilidade da manutenção dos valores de cada variável da fórmula, iremos construir o preço por um conjunto de parâmetros, podendo ser definido de forma atrelada às seguintes dimensões: produto e tabela de preço.&lt;br /&gt;
&lt;br /&gt;
Após a definição dos parâmetros, a fórmula será construída por meio da utilização destes. Finalizando esta etapa, basta pedir para processar a tabela, onde a mesma passará a ser vigente para a equipe de venda.&lt;br /&gt;
&lt;br /&gt;
== Implementação ==&lt;br /&gt;
&lt;br /&gt;
O processo terá como bases os seguintes passos: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Criação de Tabela;&lt;br /&gt;
&amp;lt;!-- # para inserção de Variáveis e/ou aproveitamento de Tabela existente; --&amp;gt;&lt;br /&gt;
# Definição de Variáveis que deverão compor a fórmula de criação de preço, além da definição do atributo a qual tal variável está vinculada (produto ou Tabela);&lt;br /&gt;
# Definição de fórmula de formação de preços, utilizando RPN, e vinculações a grupos de produtos;&lt;br /&gt;
# Concluída a fórmula, com as relações operacionais entre as variáveis, os valores gerados devem ser processados para compor a Tabela de Preços.&lt;br /&gt;
&lt;br /&gt;
=== Cadastro tabela de preço ===&lt;br /&gt;
Para criação da tabela de preço, será criada uma tela onde o usuário irá fazer o cadastro da tabela de preço. Nela será possível fazer a inserção e edição de cadastros, não sendo possível excluir qualquer cadastro de tabela de preço já realizado, mas, apenas desativa-los.&lt;br /&gt;
&lt;br /&gt;
Ao entrar na tela o sistema deve apresentar campos de filtros, os quais, o usuário poderá localizar um cadastro já inserido ou realizar edição dos campos descrição e datas inicial e final de vigência. Além, disso no rodapé da tela, terá o acesso para fazer um novo cadastro. na qual, o usuário vai preencher os seguintes campos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Campos de cadastro ====&lt;br /&gt;
* '''Descrição''' -  Campo de texto limitados ao máximo de 70 caracteres;&lt;br /&gt;
* '''Data inicial vigência''' -  Campo de data, onde definirá o inicio da vigência da tabela;&lt;br /&gt;
* '''Data final vigência''' -  Campo de data, onde definirá o final da vigência da tabela;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Uma tabela de preço não poderá ser excluída, só poderá ser desativada ou ativada através dos campos de data inicial e data final. Para desativar, basta colocar a data final inferior a data atual;&lt;br /&gt;
* Caso uma tabela de preço esteja com a data final de vigência vencida, a tabela de preço não será exibida para seleção no cadastro do pedido;&lt;br /&gt;
* Os campos de datas não serão obrigatórios. Quando não estiverem preenchidos, indica que aquela tabela estará disponível para uso;&lt;br /&gt;
* Não será possível utilizar a integração e cadastro da tabela de preço ao mesmo tempo, sendo necessário que haja uma única escolha: Integrar a tabela de preço do ERP ao GeoSales ou cadastrar a tabela de preço no próprio GeoSales. Caso tentem utilizar os dois cadastros ao mesmo tempo ERP e GeoSales, a integração apagará todos os registros cadastrados no GeoSales.&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
[[Arquivo:Tabelapreco.jpg|500px]] &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tabelapreco2.jpg|500px]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Declaração de variáveis ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dentro da tela de Variáveis de preço, deve ser possível definir uma variável de forma livre, mas que atenda as seguintes regras:&lt;br /&gt;
&lt;br /&gt;
* O campo chave, que será utilizado como referência na formula de preço, não deve conter caracteres especiais, espaço em branco e nao ser mais que 8 caracteres&lt;br /&gt;
* A variável deve estar associada a um produto ou uma tabela de preço&lt;br /&gt;
* Para valores do tipo '''numérico (18,6)''', serão aceitos como possibilidade, podendo ser positivos ou negativos.&lt;br /&gt;
* Será criado um log de históricos de alterações de valores destas variáveis e passível de ser exportado em relatórios em excel.&lt;br /&gt;
&lt;br /&gt;
==== Campos de cadastro ====&lt;br /&gt;
&lt;br /&gt;
* '''Descrição''' -  Campo de texto limitados ao máximo de 70 caracteres;&lt;br /&gt;
* '''Chave''' -  Campo de texto de 8 caracteres;&lt;br /&gt;
* '''Produto / Tabela''' -  A seleção de uma produto ou de uma tabela, dados previamente alimentados;&lt;br /&gt;
* '''Valor''' -  Campo numérico(18:6);&lt;br /&gt;
&lt;br /&gt;
A chave poderá ser associada a mais de um produto/tabela, mas o valor é específico pela unidade de um destes dois atributos.&lt;br /&gt;
&lt;br /&gt;
=== Definição da formula de preço ===&lt;br /&gt;
&lt;br /&gt;
* Será necessário selecionar uma tabela de preço, a organização de venda e um ou mais produtos aos quais o preço deve ser inserido.&lt;br /&gt;
* Para a regra de preço teremos que informar a '''formula''' do preço mínimo, sugerido e máximo com a quantidade mínima, que valida sua aplicação.&lt;br /&gt;
* Nos campos de preço (mínimo, sugerido e máximo) teremos um espaço para a inserção da fórmula para composição de preço. Esta fórmula fará a relação matemática entre as variáveis criadas no processo anterior, por meio de '''operadores matemáticos (+, -, *, / )''', organizados em '''RPN''', notação comum para analistas financeiros, sendo bastante difundido, inclusive, na lógica de cálculo das calculadoras HP 12 C.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Será possível visualizar uma prévia da fórmula escrita, além do valor encontrado, a fim de que o usuário possa confirmar os valores que foram inseridos pelas variáveis e seus respectivos operadores.&lt;br /&gt;
&lt;br /&gt;
Como exemplo de notação polonesa reversa, tomemos a expressão '''''(A+B)*C'''''. Em RPN, a notação ficaria '''''AB+C*'''''.&lt;br /&gt;
&lt;br /&gt;
=== Processar tabela ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
É importante frisar que os valores estão vinculados a uma tabela de preços, que consequentemente está vinculada a um cliente, organização de vendas, vendedores, e tabelas afins.&lt;br /&gt;
&lt;br /&gt;
As variáveis comuns a todos os clientes deverão ter valores diferenciados de acordo com a cidade onde a organização de vendas está alocada.&lt;br /&gt;
Há dois grupos de variáveis: aquelas que são relacionadas ao '''produto''' em si (tamanho, cor, embalagem, Tipo) e aquelas relacionadas à '''Tabela''' (Valor de partida, comissão promotor, frete, por exemplo). É importante determinar corretamente para qual grupo tal variável estará vinculada.&lt;br /&gt;
&lt;br /&gt;
Se mais de um produto possui a mesma característica, será possível fazer a precificação por grupos de produtos.&lt;br /&gt;
&lt;br /&gt;
== Cenários ==&lt;br /&gt;
&lt;br /&gt;
===DICIONÁRIO DE DADOS ===&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! TABELA &lt;br /&gt;
! DESCRIÇÃO&lt;br /&gt;
! INICIO DA VIGÊNCIA&lt;br /&gt;
! FINAL DA VIGÊNCIA &lt;br /&gt;
|-&lt;br /&gt;
| '''01'''  || TABELA SP || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| '''02''' || TABELA RJ || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| '''03''' ||TABELA RS ||01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| '''04''' || TABELA SP - CARREFU || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| '''05'''  || TABELA BA || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| '''06''' || TABELA ES || 01/05/2020 || 01/01/2022&lt;br /&gt;
|- &lt;br /&gt;
| '''07''' || TABELA SP - CAPITAL ||01/05/2020 || 01/01/2022&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! CHAVE&lt;br /&gt;
! DESCRIÇÃO DA VARIÁVEL &lt;br /&gt;
! TABELA / PRODUTO&lt;br /&gt;
! VALOR&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| '''Pp''' || Preço de Partida || Tabela - 01  ||  R$ 106,00&lt;br /&gt;
|-&lt;br /&gt;
| '''Fc''' || Fator de Conversão || Tabela - 01 || 1,5&lt;br /&gt;
|-&lt;br /&gt;
| '''Ce''' ||Custo de Embalagem || Tabela - 01 ||  R$ 12,20&lt;br /&gt;
|-&lt;br /&gt;
| '''Fr''' || Frete || Tabela - 01 ||  - 5&lt;br /&gt;
|-&lt;br /&gt;
| '''Pr'''  || Promotor || Tabela - 01 || 1,02&lt;br /&gt;
|-&lt;br /&gt;
| '''Qu''' || Fator Quebra || Tabela - 01 || 3,5&lt;br /&gt;
|- &lt;br /&gt;
| '''Cf''' || Contrato de Fidelidade || Tabela - 01 || 1,02&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Cenário 1 ===&lt;br /&gt;
&lt;br /&gt;
Elaborando o preço do produto 'P001' para o cliente 'C001' por um período de 6 meses.&lt;br /&gt;
&lt;br /&gt;
No portal GeoSales, na tela de variáveis, serão utilizadas as seguintes informações:&lt;br /&gt;
&lt;br /&gt;
Enumeração das variáveis&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 106,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 0,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1,02 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,02 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Pelo exposto, temos que 7 variáveis foram declaradas. As fórmulas que devemos gerar (Fórmula de valor mínimo, fórmula de valor Sugerido e Formula de Valor Máximo) serão derivadas destas variáveis que apontamos. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || Fc || / || 70,66 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Ce || + || 82,86 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Fr || + || 82,66 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Pr || * || 84,52 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Qu || * || 84,52 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Cf || * || 86,21 || F&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P = PpFc/Ce+Fr+Pr*Qu*Cf*&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ao final do processo, a fórmula irá  apresentar o valor final: '''&amp;quot;R$ 86,21&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 2 ===&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P002' para o cliente 'C002'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,11 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || P1 || + || 113,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 75,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 87,86 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Fr || + || 90,86 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Pr || * || 90,86 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Qu || * || 90,86 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Cf || * || 100,86 || G&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P= PpP1+Fc/Ce+Fr+Pr*Qu*Cf*&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao final do processo de cálculo da fórmula, o valor do preço será '''&amp;quot;R$ 100,86&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 3 ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P003' para o cliente 'C003'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ -3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 8,67 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce2 || Custo de Embalagem 2 || R$ 2,00 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 2,5 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| K || Constante || 23,67 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp|| P1 || + || 107,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 71,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 80,33 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Ce2 || + || 82,33 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Fr || + || 84,83 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Pr || * || 84,83 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Qu || * || 84,83 || G&lt;br /&gt;
|-&lt;br /&gt;
| 8 || G || Cf || * || 84,83 || H&lt;br /&gt;
|-&lt;br /&gt;
| 9 || H || K || + || 108,50 || I&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P= PpP1+Fc/Ce+Ce2+Fr+Pr*Qu*Cf*K+&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao final do cálculo da forma, o valor final do preço será: '''&amp;quot;R$ 108,50&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--[[arquivo:formula1.png]]&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço2.png | 600 px]]&lt;br /&gt;
&lt;br /&gt;
Na formula acima, as somas de variaveis são agrupadas em blocos, multiplicando-se entre si. A relação entre os somatórios pode ser representada por&lt;br /&gt;
&lt;br /&gt;
[[arquivo:produto1.png | 200 px]]&lt;br /&gt;
&lt;br /&gt;
Portando, a equação de formação de preço pode ser representada da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ou pelo produtório&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço1.png]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A composição de preço tem como objetivo construir um preço de venda. Esse cadastro conta com tipos de variáveis para compor preço. Para que a composição de preço seja aplicada corretamente no cadastro do pedido, é necessário que as seguintes premissas sejam atendidas.&lt;br /&gt;
&lt;br /&gt;
=== Composição de preço ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Visto que há variação de preços de produtos para diferentes localidades, a formula criada para a composição de preços  deverá, além de compor toda a regra de cálculo de precificação de determinado produto, a sua parametrização vinculada ao seu respectivo Estado, Cidade e Filial. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em outras palavras, através da composição de preço, o usuário poderá informar a fórmula que o sistema irá aplicar para definir o preço unitário do produto. Essa regra poderá ser parametrizado por: filial, estado e cidade.&lt;br /&gt;
&lt;br /&gt;
== Regras de Negócios ==&lt;br /&gt;
&lt;br /&gt;
'''[RN1] - ''' Não poderá conter a mesma regra para o mesmo estado e filial;&lt;br /&gt;
&lt;br /&gt;
'''[RN2] - ''' Não deverá haver sobreposição de cadastros, e sim edição deste cadastro. Caso o usuário tente cadastrar o mesmo cenário mais de uma vez, a plataforma irá alertar informando que já existe uma regra, e que essa regra poderá ser sobreposta;&lt;br /&gt;
&lt;br /&gt;
'''[RN3] - ''' Essa funcionalidade será desenvolvida exclusivamente no GeoSales EVO.&lt;br /&gt;
&lt;br /&gt;
'''[RN4] - ''' Durante o processo, o portal não deverá travar, ou seja, o batch irá apresentar os dados apenas referentes às variáveis relacionadas (via GSOload). A medida visa evitar um carregamento excessivamente pesado de dados para determinada função. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''[RN5] - ''' Os históricos do log de alterações das variáveis ficarão registrados por um período de 1 (um) ano.&lt;br /&gt;
&lt;br /&gt;
'''[RN6] - ''' Um determinado produto poderá ser vinculado a mais de um grupo, mas a quantidade deve ser diferente.&lt;br /&gt;
&lt;br /&gt;
'''[RN7] - ''' A chave poderá ser associada a mais de um produto/tabela, mas o valor é específico pela unidade de um destes dois atributos.&lt;br /&gt;
&lt;br /&gt;
== Aprovação ==&lt;br /&gt;
&lt;br /&gt;
Considero aprovada a documentação da funcionalidade especificada acima, e autorizo a implementação da mesma no Sistema GeoSales, em nome da Organização a qual estou vinculado. &lt;br /&gt;
&lt;br /&gt;
=== GeoSales ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Desenvolvimento - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|- &lt;br /&gt;
| Integração - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
| Configurações - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Empresa solicitante === &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
! Assinatura&lt;br /&gt;
|-&lt;br /&gt;
| Gerente TI - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente de Projeto - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente Comercial - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Leo2s</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=15026</id>
		<title>Precificação</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=15026"/>
		<updated>2021-04-08T19:28:26Z</updated>

		<summary type="html">&lt;p&gt;Leo2s: /* DICIONÁRIO DE DADOS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Histórico de Alterações ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data&lt;br /&gt;
! Quem &lt;br /&gt;
! Comentários &lt;br /&gt;
|-&lt;br /&gt;
| 01/10/2020  || Ana Júlia || Criação do documento &lt;br /&gt;
|-&lt;br /&gt;
| 01/04/2021 || João Ramon || Atualização do documento&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
&lt;br /&gt;
No processo de formação de preços, conta-se com um número definido de variáveis que irão fazer a composição do valor final que será apresentado ao cliente final. Informações como custos operacionais, inclusão de markups, fatores de compensação por quebra e/ou comissionamento de venda devem estar contemplados na composição dos preços. A empresa deseja fazer esta composição dentro da Plataforma GeoSales EVO, inserindo todas as informações de custo, taxas e demais dados customizáveis, permitindo que o próprio cliente consiga fazer esta composição.&lt;br /&gt;
&lt;br /&gt;
O cenário de precificação atual não possui um processo uniformizado para cada cliente. Portanto, a necessidade de criar um processo padronizado para composição de preços, assim como a atualização customizável de algumas dessas variáveis, por se tratarem de variáveis cujos valores podem oscilar por motivos externos (oscilações de mercado, variação na política de preços, etc), é imperativa.&lt;br /&gt;
&lt;br /&gt;
== Solução ==&lt;br /&gt;
&lt;br /&gt;
Visto que a formação de preços, e seu processo de elaboração, devem ser totalmente customizáveis pelo cliente, primeiramente deve ser possível que ele não apenas determine quais as variáveis e seus respectivos valores devem ser atribuídos na plataforma para precificação, mas também como estas variáveis se relacionarão matematicamente, a fim de formular um preço baseado nas entradas fornecidas pelo cliente. Além disso, tais variáveis, uma vez inseridas no cadastro de preços, deverão ser passíveis de edição, feitas pelo próprio cliente, de forma manual.&lt;br /&gt;
&lt;br /&gt;
Como instrumento de parametrização das fórmulas contendo as variáveis criadas e seus operadores apropriados, será utilizada a '''''notação polonesa  reversa (RPN)''''', ferramenta de uso familiar a pessoas ligadas ao trabalho que envolva matemática financeira. Assim, a formação de preço deverá ser mais flexível e intuitiva na sua formação, além de facilitar em eventuais futuras modificações. As formulas serão definidas dentro de uma tabela de preço para um determinado grupo de produto facilitando o cadastro. &lt;br /&gt;
&lt;br /&gt;
Também visando a facilidade da manutenção dos valores de cada variável da fórmula, iremos construir o preço por um conjunto de parâmetros, podendo ser definido de forma atrelada às seguintes dimensões: produto e tabela de preço.&lt;br /&gt;
&lt;br /&gt;
Após a definição dos parâmetros, a fórmula será construída por meio da utilização destes. Finalizando esta etapa, basta pedir para processar a tabela, onde a mesma passará a ser vigente para a equipe de venda.&lt;br /&gt;
&lt;br /&gt;
== Implementação ==&lt;br /&gt;
&lt;br /&gt;
O processo terá como bases os seguintes passos: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Criação de Tabela;&lt;br /&gt;
&amp;lt;!-- # para inserção de Variáveis e/ou aproveitamento de Tabela existente; --&amp;gt;&lt;br /&gt;
# Definição de Variáveis que deverão compor a fórmula de criação de preço, além da definição do atributo a qual tal variável está vinculada (produto ou Tabela);&lt;br /&gt;
# Definição de fórmula de formação de preços, utilizando RPN, e vinculações a grupos de produtos;&lt;br /&gt;
# Concluída a fórmula, com as relações operacionais entre as variáveis, os valores gerados devem ser processados para compor a Tabela de Preços.&lt;br /&gt;
&lt;br /&gt;
=== Cadastro tabela de preço ===&lt;br /&gt;
Para criação da tabela de preço, será criada uma tela onde o usuário irá fazer o cadastro da tabela de preço. Nela será possível fazer a inserção e edição de cadastros, não sendo possível excluir qualquer cadastro de tabela de preço já realizado, mas, apenas desativa-los.&lt;br /&gt;
&lt;br /&gt;
Ao entrar na tela o sistema deve apresentar campos de filtros, os quais, o usuário poderá localizar um cadastro já inserido ou realizar edição dos campos descrição e datas inicial e final de vigência. Além, disso no rodapé da tela, terá o acesso para fazer um novo cadastro. na qual, o usuário vai preencher os seguintes campos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Campos de cadastro ====&lt;br /&gt;
* '''Descrição''' -  Campo de texto limitados ao máximo de 70 caracteres;&lt;br /&gt;
* '''Data inicial vigência''' -  Campo de data, onde definirá o inicio da vigência da tabela;&lt;br /&gt;
* '''Data final vigência''' -  Campo de data, onde definirá o final da vigência da tabela;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Uma tabela de preço não poderá ser excluída, só poderá ser desativada ou ativada através dos campos de data inicial e data final. Para desativar, basta colocar a data final inferior a data atual;&lt;br /&gt;
* Caso uma tabela de preço esteja com a data final de vigência vencida, a tabela de preço não será exibida para seleção no cadastro do pedido;&lt;br /&gt;
* Os campos de datas não serão obrigatórios. Quando não estiverem preenchidos, indica que aquela tabela estará disponível para uso;&lt;br /&gt;
* Não será possível utilizar a integração e cadastro da tabela de preço ao mesmo tempo, sendo necessário que haja uma única escolha: Integrar a tabela de preço do ERP ao GeoSales ou cadastrar a tabela de preço no próprio GeoSales. Caso tentem utilizar os dois cadastros ao mesmo tempo ERP e GeoSales, a integração apagará todos os registros cadastrados no GeoSales.&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
[[Arquivo:Tabelapreco.jpg|500px]] &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tabelapreco2.jpg|500px]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Declaração de variáveis ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dentro da tela de Variáveis de preço, deve ser possível definir uma variável de forma livre, mas que atenda as seguintes regras:&lt;br /&gt;
&lt;br /&gt;
* O campo chave, que será utilizado como referência na formula de preço, não deve conter caracteres especiais, espaço em branco e nao ser mais que 8 caracteres&lt;br /&gt;
* A variável deve estar associada a um produto ou uma tabela de preço&lt;br /&gt;
* Para valores do tipo '''numérico (18,6)''', serão aceitos como possibilidade, podendo ser positivos ou negativos.&lt;br /&gt;
* Será criado um log de históricos de alterações de valores destas variáveis e passível de ser exportado em relatórios em excel.&lt;br /&gt;
&lt;br /&gt;
==== Campos de cadastro ====&lt;br /&gt;
&lt;br /&gt;
* '''Descrição''' -  Campo de texto limitados ao máximo de 70 caracteres;&lt;br /&gt;
* '''Chave''' -  Campo de texto de 8 caracteres;&lt;br /&gt;
* '''Produto / Tabela''' -  A seleção de uma produto ou de uma tabela, dados previamente alimentados;&lt;br /&gt;
* '''Valor''' -  Campo numérico(18:6);&lt;br /&gt;
&lt;br /&gt;
A chave poderá ser associada a mais de um produto/tabela, mas o valor é específico pela unidade de um destes dois atributos.&lt;br /&gt;
&lt;br /&gt;
=== Definição da formula de preço ===&lt;br /&gt;
&lt;br /&gt;
* Será necessário selecionar uma tabela de preço, a organização de venda e um ou mais produtos aos quais o preço deve ser inserido.&lt;br /&gt;
* Para a regra de preço teremos que informar a '''formula''' do preço mínimo, sugerido e máximo com a quantidade mínima, que valida sua aplicação.&lt;br /&gt;
* Nos campos de preço (mínimo, sugerido e máximo) teremos um espaço para a inserção da fórmula para composição de preço. Esta fórmula fará a relação matemática entre as variáveis criadas no processo anterior, por meio de '''operadores matemáticos (+, -, *, / )''', organizados em '''RPN''', notação comum para analistas financeiros, sendo bastante difundido, inclusive, na lógica de cálculo das calculadoras HP 12 C.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Será possível visualizar uma prévia da fórmula escrita, além do valor encontrado, a fim de que o usuário possa confirmar os valores que foram inseridos pelas variáveis e seus respectivos operadores.&lt;br /&gt;
&lt;br /&gt;
Como exemplo de notação polonesa reversa, tomemos a expressão '''''(A+B)*C'''''. Em RPN, a notação ficaria '''''AB+C*'''''.&lt;br /&gt;
&lt;br /&gt;
=== Processar tabela ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
É importante frisar que os valores estão vinculados a uma tabela de preços, que consequentemente está vinculada a um cliente, organização de vendas, vendedores, e tabelas afins.&lt;br /&gt;
&lt;br /&gt;
As variáveis comuns a todos os clientes deverão ter valores diferenciados de acordo com a cidade onde a organização de vendas está alocada.&lt;br /&gt;
Há dois grupos de variáveis: aquelas que são relacionadas ao '''produto''' em si (tamanho, cor, embalagem, Tipo) e aquelas relacionadas à '''Tabela''' (Valor de partida, comissão promotor, frete, por exemplo). É importante determinar corretamente para qual grupo tal variável estará vinculada.&lt;br /&gt;
&lt;br /&gt;
Se mais de um produto possui a mesma característica, será possível fazer a precificação por grupos de produtos.&lt;br /&gt;
&lt;br /&gt;
== Cenários ==&lt;br /&gt;
&lt;br /&gt;
===DICIONÁRIO DE DADOS ===&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! TABELA &lt;br /&gt;
! DESCRIÇÃO&lt;br /&gt;
! INICIO DA VIGÊNCIA&lt;br /&gt;
! FINAL DA VIGÊNCIA &lt;br /&gt;
|-&lt;br /&gt;
| '''01'''  || TABELA SP || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| '''02''' || TABELA RJ || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| '''03''' ||TABELA RS ||01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| '''04''' || TABELA SP - CARREFU || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| '''05'''  || TABELA BA || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| '''06''' || TABELA ES || 01/05/2020 || 01/01/2022&lt;br /&gt;
|- &lt;br /&gt;
| '''07''' || TABELA SP - CAPITAL ||01/05/2020 || 01/01/2022&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! CHAVE&lt;br /&gt;
! DESCRIÇÃO DA VARIÁVEL &lt;br /&gt;
! TABELA / PRODUTO&lt;br /&gt;
! VALOR&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| '''Pp''' || Preço de Partida || Tabela - 01  ||  R$ 106,00&lt;br /&gt;
|-&lt;br /&gt;
| '''Fc''' || Fator de Conversão || Tabela - 01 || 1,5&lt;br /&gt;
|-&lt;br /&gt;
| '''Ce''' ||Custo de Embalagem || Tabela - 01 ||  R$ 12,20&lt;br /&gt;
|-&lt;br /&gt;
| '''Fr''' || Frete || Tabela - 01 ||  - 5&lt;br /&gt;
|-&lt;br /&gt;
| '''Pr'''  || Promotor || Tabela - 01 || 1,02&lt;br /&gt;
|-&lt;br /&gt;
| '''Qu''' || Fator Quebra || Tabela - 01 || 3,5&lt;br /&gt;
|- &lt;br /&gt;
| '''Cf''' || Contrato de Fidelidade || Tabela - 01 || 1,02&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Cenário 1 ===&lt;br /&gt;
&lt;br /&gt;
Elaborando o preço do produto 'P001' para o cliente 'C001' por um período de 6 meses.&lt;br /&gt;
&lt;br /&gt;
No portal GeoSales, na tela de variáveis, serão utilizadas as seguintes informações:&lt;br /&gt;
&lt;br /&gt;
Enumeração das variáveis&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 106,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 0,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1,02 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,02 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Pelo exposto, temos que 7 variáveis foram declaradas. As fórmulas que devemos gerar (Fórmula de valor mínimo, fórmula de valor Sugerido e Formula de Valor Máximo) serão derivadas destas variáveis que apontamos. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || Fc || / || 70,66 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Ce || + || 82,86 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Fr || + || 82,66 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Pr || * || 84,52 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Qu || * || 84,52 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Cf || * || 86,21 || F&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P = PpFc/Ce+Fr+Pr*Qu*Cf*&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ao final do processo, a fórmula irá  apresentar o valor final: '''&amp;quot;R$ 86,21&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 2 ===&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P002' para o cliente 'C002'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,11 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || P1 || + || 113,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 75,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 87,86 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Fr || + || 90,86 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Pr || * || 90,86 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Qu || * || 90,86 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Cf || * || 100,86 || G&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P= PpP1+Fc/Ce+Fr+Pr*Qu*Cf*&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao final do processo de cálculo da fórmula, o valor do preço será '''&amp;quot;R$ 100,86&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 3 ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P003' para o cliente 'C003'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ -3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 8,67 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce2 || Custo de Embalagem 2 || R$ 2,00 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 2,5 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| K || Constante || 23,67 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp|| P1 || + || 107,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 71,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 80,33 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Ce2 || + || 82,33 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Fr || + || 84,83 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Pr || * || 84,83 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Qu || * || 84,83 || G&lt;br /&gt;
|-&lt;br /&gt;
| 8 || G || Cf || * || 84,83 || H&lt;br /&gt;
|-&lt;br /&gt;
| 9 || H || K || + || 108,50 || I&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P= PpP1+Fc/Ce+Ce2+Fr+Pr*Qu*Cf*K+&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao final do cálculo da forma, o valor final do preço será: '''&amp;quot;R$ 108,50&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--[[arquivo:formula1.png]]&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço2.png | 600 px]]&lt;br /&gt;
&lt;br /&gt;
Na formula acima, as somas de variaveis são agrupadas em blocos, multiplicando-se entre si. A relação entre os somatórios pode ser representada por&lt;br /&gt;
&lt;br /&gt;
[[arquivo:produto1.png | 200 px]]&lt;br /&gt;
&lt;br /&gt;
Portando, a equação de formação de preço pode ser representada da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ou pelo produtório&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço1.png]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A composição de preço tem como objetivo construir um preço de venda. Esse cadastro conta com tipos de variáveis para compor preço. Para que a composição de preço seja aplicada corretamente no cadastro do pedido, é necessário que as seguintes premissas sejam atendidas.&lt;br /&gt;
&lt;br /&gt;
=== Composição de preço ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Visto que há variação de preços de produtos para diferentes localidades, a formula criada para a composição de preços  deverá, além de compor toda a regra de cálculo de precificação de determinado produto, a sua parametrização vinculada ao seu respectivo Estado, Cidade e Filial. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em outras palavras, através da composição de preço, o usuário poderá informar a fórmula que o sistema irá aplicar para definir o preço unitário do produto. Essa regra poderá ser parametrizado por: filial, estado e cidade.&lt;br /&gt;
&lt;br /&gt;
== Regras de Negócios ==&lt;br /&gt;
&lt;br /&gt;
'''[RN1] - ''' Não poderá conter a mesma regra para o mesmo estado e filial;&lt;br /&gt;
&lt;br /&gt;
'''[RN2] - ''' Não deverá haver sobreposição de cadastros, e sim edição deste cadastro. Caso o usuário tente cadastrar o mesmo cenário mais de uma vez, a plataforma irá alertar informando que já existe uma regra, e que essa regra poderá ser sobreposta;&lt;br /&gt;
&lt;br /&gt;
'''[RN3] - ''' Essa funcionalidade será desenvolvida exclusivamente no GeoSales EVO.&lt;br /&gt;
&lt;br /&gt;
'''[RN4] - ''' Durante o processo, o portal não deverá travar, ou seja, o batch irá apresentar os dados apenas referentes às variáveis relacionadas (via GSOload). A medida visa evitar um carregamento excessivamente pesado de dados para determinada função. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''[RN5] - ''' Os históricos do log de alterações das variáveis ficarão registrados por um período de 1 (um) ano.&lt;br /&gt;
&lt;br /&gt;
'''[RN6] - ''' Um determinado produto poderá ser vinculado a mais de um grupo, mas a quantidade deve ser diferente.&lt;br /&gt;
&lt;br /&gt;
'''[RN7] - ''' A chave poderá ser associada a mais de um produto/tabela, mas o valor é específico pela unidade de um destes dois atributos.&lt;br /&gt;
&lt;br /&gt;
== Aprovação ==&lt;br /&gt;
&lt;br /&gt;
Considero aprovada a documentação da funcionalidade especificada acima, e autorizo a implementação da mesma no Sistema GeoSales, em nome da Organização a qual estou vinculado. &lt;br /&gt;
&lt;br /&gt;
=== GeoSales ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Desenvolvimento - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|- &lt;br /&gt;
| Integração - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
| Configurações - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Empresa solicitante === &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
! Assinatura&lt;br /&gt;
|-&lt;br /&gt;
| Gerente TI - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente de Projeto - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente Comercial - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Leo2s</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=15025</id>
		<title>Precificação</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=15025"/>
		<updated>2021-04-08T19:27:43Z</updated>

		<summary type="html">&lt;p&gt;Leo2s: /* DICIONÁRIO DE DADOS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Histórico de Alterações ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data&lt;br /&gt;
! Quem &lt;br /&gt;
! Comentários &lt;br /&gt;
|-&lt;br /&gt;
| 01/10/2020  || Ana Júlia || Criação do documento &lt;br /&gt;
|-&lt;br /&gt;
| 01/04/2021 || João Ramon || Atualização do documento&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
&lt;br /&gt;
No processo de formação de preços, conta-se com um número definido de variáveis que irão fazer a composição do valor final que será apresentado ao cliente final. Informações como custos operacionais, inclusão de markups, fatores de compensação por quebra e/ou comissionamento de venda devem estar contemplados na composição dos preços. A empresa deseja fazer esta composição dentro da Plataforma GeoSales EVO, inserindo todas as informações de custo, taxas e demais dados customizáveis, permitindo que o próprio cliente consiga fazer esta composição.&lt;br /&gt;
&lt;br /&gt;
O cenário de precificação atual não possui um processo uniformizado para cada cliente. Portanto, a necessidade de criar um processo padronizado para composição de preços, assim como a atualização customizável de algumas dessas variáveis, por se tratarem de variáveis cujos valores podem oscilar por motivos externos (oscilações de mercado, variação na política de preços, etc), é imperativa.&lt;br /&gt;
&lt;br /&gt;
== Solução ==&lt;br /&gt;
&lt;br /&gt;
Visto que a formação de preços, e seu processo de elaboração, devem ser totalmente customizáveis pelo cliente, primeiramente deve ser possível que ele não apenas determine quais as variáveis e seus respectivos valores devem ser atribuídos na plataforma para precificação, mas também como estas variáveis se relacionarão matematicamente, a fim de formular um preço baseado nas entradas fornecidas pelo cliente. Além disso, tais variáveis, uma vez inseridas no cadastro de preços, deverão ser passíveis de edição, feitas pelo próprio cliente, de forma manual.&lt;br /&gt;
&lt;br /&gt;
Como instrumento de parametrização das fórmulas contendo as variáveis criadas e seus operadores apropriados, será utilizada a '''''notação polonesa  reversa (RPN)''''', ferramenta de uso familiar a pessoas ligadas ao trabalho que envolva matemática financeira. Assim, a formação de preço deverá ser mais flexível e intuitiva na sua formação, além de facilitar em eventuais futuras modificações. As formulas serão definidas dentro de uma tabela de preço para um determinado grupo de produto facilitando o cadastro. &lt;br /&gt;
&lt;br /&gt;
Também visando a facilidade da manutenção dos valores de cada variável da fórmula, iremos construir o preço por um conjunto de parâmetros, podendo ser definido de forma atrelada às seguintes dimensões: produto e tabela de preço.&lt;br /&gt;
&lt;br /&gt;
Após a definição dos parâmetros, a fórmula será construída por meio da utilização destes. Finalizando esta etapa, basta pedir para processar a tabela, onde a mesma passará a ser vigente para a equipe de venda.&lt;br /&gt;
&lt;br /&gt;
== Implementação ==&lt;br /&gt;
&lt;br /&gt;
O processo terá como bases os seguintes passos: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Criação de Tabela;&lt;br /&gt;
&amp;lt;!-- # para inserção de Variáveis e/ou aproveitamento de Tabela existente; --&amp;gt;&lt;br /&gt;
# Definição de Variáveis que deverão compor a fórmula de criação de preço, além da definição do atributo a qual tal variável está vinculada (produto ou Tabela);&lt;br /&gt;
# Definição de fórmula de formação de preços, utilizando RPN, e vinculações a grupos de produtos;&lt;br /&gt;
# Concluída a fórmula, com as relações operacionais entre as variáveis, os valores gerados devem ser processados para compor a Tabela de Preços.&lt;br /&gt;
&lt;br /&gt;
=== Cadastro tabela de preço ===&lt;br /&gt;
Para criação da tabela de preço, será criada uma tela onde o usuário irá fazer o cadastro da tabela de preço. Nela será possível fazer a inserção e edição de cadastros, não sendo possível excluir qualquer cadastro de tabela de preço já realizado, mas, apenas desativa-los.&lt;br /&gt;
&lt;br /&gt;
Ao entrar na tela o sistema deve apresentar campos de filtros, os quais, o usuário poderá localizar um cadastro já inserido ou realizar edição dos campos descrição e datas inicial e final de vigência. Além, disso no rodapé da tela, terá o acesso para fazer um novo cadastro. na qual, o usuário vai preencher os seguintes campos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Campos de cadastro ====&lt;br /&gt;
* '''Descrição''' -  Campo de texto limitados ao máximo de 70 caracteres;&lt;br /&gt;
* '''Data inicial vigência''' -  Campo de data, onde definirá o inicio da vigência da tabela;&lt;br /&gt;
* '''Data final vigência''' -  Campo de data, onde definirá o final da vigência da tabela;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Uma tabela de preço não poderá ser excluída, só poderá ser desativada ou ativada através dos campos de data inicial e data final. Para desativar, basta colocar a data final inferior a data atual;&lt;br /&gt;
* Caso uma tabela de preço esteja com a data final de vigência vencida, a tabela de preço não será exibida para seleção no cadastro do pedido;&lt;br /&gt;
* Os campos de datas não serão obrigatórios. Quando não estiverem preenchidos, indica que aquela tabela estará disponível para uso;&lt;br /&gt;
* Não será possível utilizar a integração e cadastro da tabela de preço ao mesmo tempo, sendo necessário que haja uma única escolha: Integrar a tabela de preço do ERP ao GeoSales ou cadastrar a tabela de preço no próprio GeoSales. Caso tentem utilizar os dois cadastros ao mesmo tempo ERP e GeoSales, a integração apagará todos os registros cadastrados no GeoSales.&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
[[Arquivo:Tabelapreco.jpg|500px]] &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tabelapreco2.jpg|500px]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Declaração de variáveis ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dentro da tela de Variáveis de preço, deve ser possível definir uma variável de forma livre, mas que atenda as seguintes regras:&lt;br /&gt;
&lt;br /&gt;
* O campo chave, que será utilizado como referência na formula de preço, não deve conter caracteres especiais, espaço em branco e nao ser mais que 8 caracteres&lt;br /&gt;
* A variável deve estar associada a um produto ou uma tabela de preço&lt;br /&gt;
* Para valores do tipo '''numérico (18,6)''', serão aceitos como possibilidade, podendo ser positivos ou negativos.&lt;br /&gt;
* Será criado um log de históricos de alterações de valores destas variáveis e passível de ser exportado em relatórios em excel.&lt;br /&gt;
&lt;br /&gt;
==== Campos de cadastro ====&lt;br /&gt;
&lt;br /&gt;
* '''Descrição''' -  Campo de texto limitados ao máximo de 70 caracteres;&lt;br /&gt;
* '''Chave''' -  Campo de texto de 8 caracteres;&lt;br /&gt;
* '''Produto / Tabela''' -  A seleção de uma produto ou de uma tabela, dados previamente alimentados;&lt;br /&gt;
* '''Valor''' -  Campo numérico(18:6);&lt;br /&gt;
&lt;br /&gt;
A chave poderá ser associada a mais de um produto/tabela, mas o valor é específico pela unidade de um destes dois atributos.&lt;br /&gt;
&lt;br /&gt;
=== Definição da formula de preço ===&lt;br /&gt;
&lt;br /&gt;
* Será necessário selecionar uma tabela de preço, a organização de venda e um ou mais produtos aos quais o preço deve ser inserido.&lt;br /&gt;
* Para a regra de preço teremos que informar a '''formula''' do preço mínimo, sugerido e máximo com a quantidade mínima, que valida sua aplicação.&lt;br /&gt;
* Nos campos de preço (mínimo, sugerido e máximo) teremos um espaço para a inserção da fórmula para composição de preço. Esta fórmula fará a relação matemática entre as variáveis criadas no processo anterior, por meio de '''operadores matemáticos (+, -, *, / )''', organizados em '''RPN''', notação comum para analistas financeiros, sendo bastante difundido, inclusive, na lógica de cálculo das calculadoras HP 12 C.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Será possível visualizar uma prévia da fórmula escrita, além do valor encontrado, a fim de que o usuário possa confirmar os valores que foram inseridos pelas variáveis e seus respectivos operadores.&lt;br /&gt;
&lt;br /&gt;
Como exemplo de notação polonesa reversa, tomemos a expressão '''''(A+B)*C'''''. Em RPN, a notação ficaria '''''AB+C*'''''.&lt;br /&gt;
&lt;br /&gt;
=== Processar tabela ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
É importante frisar que os valores estão vinculados a uma tabela de preços, que consequentemente está vinculada a um cliente, organização de vendas, vendedores, e tabelas afins.&lt;br /&gt;
&lt;br /&gt;
As variáveis comuns a todos os clientes deverão ter valores diferenciados de acordo com a cidade onde a organização de vendas está alocada.&lt;br /&gt;
Há dois grupos de variáveis: aquelas que são relacionadas ao '''produto''' em si (tamanho, cor, embalagem, Tipo) e aquelas relacionadas à '''Tabela''' (Valor de partida, comissão promotor, frete, por exemplo). É importante determinar corretamente para qual grupo tal variável estará vinculada.&lt;br /&gt;
&lt;br /&gt;
Se mais de um produto possui a mesma característica, será possível fazer a precificação por grupos de produtos.&lt;br /&gt;
&lt;br /&gt;
== Cenários ==&lt;br /&gt;
&lt;br /&gt;
===DICIONÁRIO DE DADOS ===&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! TABELA &lt;br /&gt;
! DESCRIÇÃO&lt;br /&gt;
! INICIO DA VIGÊNCIA&lt;br /&gt;
! FINAL DA VIGÊNCIA &lt;br /&gt;
|-&lt;br /&gt;
| 01  || TABELA SP || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| 02 || TABELA RJ || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| 03 ||TABELA RS ||01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| 04 || TABELA SP - CARREFU || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| 05  || TABELA BA || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| 06 || TABELA ES || 01/05/2020 || 01/01/2022&lt;br /&gt;
|- &lt;br /&gt;
| 07 || TABELA SP - CAPITAL ||01/05/2020 || 01/01/2022&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! CHAVE&lt;br /&gt;
! DESCRIÇÃO DA VARIÁVEL &lt;br /&gt;
! TABELA / PRODUTO&lt;br /&gt;
! VALOR&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| '''Pp''' || Preço de Partida || Tabela - 01  ||  R$ 106,00&lt;br /&gt;
|-&lt;br /&gt;
| '''Fc''' || Fator de Conversão || Tabela - 01 || 1,5&lt;br /&gt;
|-&lt;br /&gt;
| '''Ce''' ||Custo de Embalagem || Tabela - 01 ||  R$ 12,20&lt;br /&gt;
|-&lt;br /&gt;
| '''Fr''' || Frete || Tabela - 01 ||  - 5&lt;br /&gt;
|-&lt;br /&gt;
| '''Pr'''  || Promotor || Tabela - 01 || 1,02&lt;br /&gt;
|-&lt;br /&gt;
| '''Qu''' || Fator Quebra || Tabela - 01 || 3,5&lt;br /&gt;
|- &lt;br /&gt;
| '''Cf''' || Contrato de Fidelidade || Tabela - 01 || 1,02&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Cenário 1 ===&lt;br /&gt;
&lt;br /&gt;
Elaborando o preço do produto 'P001' para o cliente 'C001' por um período de 6 meses.&lt;br /&gt;
&lt;br /&gt;
No portal GeoSales, na tela de variáveis, serão utilizadas as seguintes informações:&lt;br /&gt;
&lt;br /&gt;
Enumeração das variáveis&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 106,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 0,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1,02 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,02 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Pelo exposto, temos que 7 variáveis foram declaradas. As fórmulas que devemos gerar (Fórmula de valor mínimo, fórmula de valor Sugerido e Formula de Valor Máximo) serão derivadas destas variáveis que apontamos. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || Fc || / || 70,66 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Ce || + || 82,86 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Fr || + || 82,66 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Pr || * || 84,52 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Qu || * || 84,52 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Cf || * || 86,21 || F&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P = PpFc/Ce+Fr+Pr*Qu*Cf*&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ao final do processo, a fórmula irá  apresentar o valor final: '''&amp;quot;R$ 86,21&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 2 ===&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P002' para o cliente 'C002'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,11 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || P1 || + || 113,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 75,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 87,86 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Fr || + || 90,86 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Pr || * || 90,86 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Qu || * || 90,86 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Cf || * || 100,86 || G&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P= PpP1+Fc/Ce+Fr+Pr*Qu*Cf*&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao final do processo de cálculo da fórmula, o valor do preço será '''&amp;quot;R$ 100,86&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 3 ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P003' para o cliente 'C003'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ -3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 8,67 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce2 || Custo de Embalagem 2 || R$ 2,00 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 2,5 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| K || Constante || 23,67 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp|| P1 || + || 107,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 71,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 80,33 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Ce2 || + || 82,33 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Fr || + || 84,83 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Pr || * || 84,83 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Qu || * || 84,83 || G&lt;br /&gt;
|-&lt;br /&gt;
| 8 || G || Cf || * || 84,83 || H&lt;br /&gt;
|-&lt;br /&gt;
| 9 || H || K || + || 108,50 || I&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P= PpP1+Fc/Ce+Ce2+Fr+Pr*Qu*Cf*K+&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao final do cálculo da forma, o valor final do preço será: '''&amp;quot;R$ 108,50&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--[[arquivo:formula1.png]]&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço2.png | 600 px]]&lt;br /&gt;
&lt;br /&gt;
Na formula acima, as somas de variaveis são agrupadas em blocos, multiplicando-se entre si. A relação entre os somatórios pode ser representada por&lt;br /&gt;
&lt;br /&gt;
[[arquivo:produto1.png | 200 px]]&lt;br /&gt;
&lt;br /&gt;
Portando, a equação de formação de preço pode ser representada da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ou pelo produtório&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço1.png]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A composição de preço tem como objetivo construir um preço de venda. Esse cadastro conta com tipos de variáveis para compor preço. Para que a composição de preço seja aplicada corretamente no cadastro do pedido, é necessário que as seguintes premissas sejam atendidas.&lt;br /&gt;
&lt;br /&gt;
=== Composição de preço ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Visto que há variação de preços de produtos para diferentes localidades, a formula criada para a composição de preços  deverá, além de compor toda a regra de cálculo de precificação de determinado produto, a sua parametrização vinculada ao seu respectivo Estado, Cidade e Filial. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em outras palavras, através da composição de preço, o usuário poderá informar a fórmula que o sistema irá aplicar para definir o preço unitário do produto. Essa regra poderá ser parametrizado por: filial, estado e cidade.&lt;br /&gt;
&lt;br /&gt;
== Regras de Negócios ==&lt;br /&gt;
&lt;br /&gt;
'''[RN1] - ''' Não poderá conter a mesma regra para o mesmo estado e filial;&lt;br /&gt;
&lt;br /&gt;
'''[RN2] - ''' Não deverá haver sobreposição de cadastros, e sim edição deste cadastro. Caso o usuário tente cadastrar o mesmo cenário mais de uma vez, a plataforma irá alertar informando que já existe uma regra, e que essa regra poderá ser sobreposta;&lt;br /&gt;
&lt;br /&gt;
'''[RN3] - ''' Essa funcionalidade será desenvolvida exclusivamente no GeoSales EVO.&lt;br /&gt;
&lt;br /&gt;
'''[RN4] - ''' Durante o processo, o portal não deverá travar, ou seja, o batch irá apresentar os dados apenas referentes às variáveis relacionadas (via GSOload). A medida visa evitar um carregamento excessivamente pesado de dados para determinada função. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''[RN5] - ''' Os históricos do log de alterações das variáveis ficarão registrados por um período de 1 (um) ano.&lt;br /&gt;
&lt;br /&gt;
'''[RN6] - ''' Um determinado produto poderá ser vinculado a mais de um grupo, mas a quantidade deve ser diferente.&lt;br /&gt;
&lt;br /&gt;
'''[RN7] - ''' A chave poderá ser associada a mais de um produto/tabela, mas o valor é específico pela unidade de um destes dois atributos.&lt;br /&gt;
&lt;br /&gt;
== Aprovação ==&lt;br /&gt;
&lt;br /&gt;
Considero aprovada a documentação da funcionalidade especificada acima, e autorizo a implementação da mesma no Sistema GeoSales, em nome da Organização a qual estou vinculado. &lt;br /&gt;
&lt;br /&gt;
=== GeoSales ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Desenvolvimento - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|- &lt;br /&gt;
| Integração - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
| Configurações - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Empresa solicitante === &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
! Assinatura&lt;br /&gt;
|-&lt;br /&gt;
| Gerente TI - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente de Projeto - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente Comercial - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Leo2s</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=15024</id>
		<title>Precificação</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=15024"/>
		<updated>2021-04-08T19:26:52Z</updated>

		<summary type="html">&lt;p&gt;Leo2s: /* DICIONÁRIO DE DADOS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Histórico de Alterações ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data&lt;br /&gt;
! Quem &lt;br /&gt;
! Comentários &lt;br /&gt;
|-&lt;br /&gt;
| 01/10/2020  || Ana Júlia || Criação do documento &lt;br /&gt;
|-&lt;br /&gt;
| 01/04/2021 || João Ramon || Atualização do documento&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
&lt;br /&gt;
No processo de formação de preços, conta-se com um número definido de variáveis que irão fazer a composição do valor final que será apresentado ao cliente final. Informações como custos operacionais, inclusão de markups, fatores de compensação por quebra e/ou comissionamento de venda devem estar contemplados na composição dos preços. A empresa deseja fazer esta composição dentro da Plataforma GeoSales EVO, inserindo todas as informações de custo, taxas e demais dados customizáveis, permitindo que o próprio cliente consiga fazer esta composição.&lt;br /&gt;
&lt;br /&gt;
O cenário de precificação atual não possui um processo uniformizado para cada cliente. Portanto, a necessidade de criar um processo padronizado para composição de preços, assim como a atualização customizável de algumas dessas variáveis, por se tratarem de variáveis cujos valores podem oscilar por motivos externos (oscilações de mercado, variação na política de preços, etc), é imperativa.&lt;br /&gt;
&lt;br /&gt;
== Solução ==&lt;br /&gt;
&lt;br /&gt;
Visto que a formação de preços, e seu processo de elaboração, devem ser totalmente customizáveis pelo cliente, primeiramente deve ser possível que ele não apenas determine quais as variáveis e seus respectivos valores devem ser atribuídos na plataforma para precificação, mas também como estas variáveis se relacionarão matematicamente, a fim de formular um preço baseado nas entradas fornecidas pelo cliente. Além disso, tais variáveis, uma vez inseridas no cadastro de preços, deverão ser passíveis de edição, feitas pelo próprio cliente, de forma manual.&lt;br /&gt;
&lt;br /&gt;
Como instrumento de parametrização das fórmulas contendo as variáveis criadas e seus operadores apropriados, será utilizada a '''''notação polonesa  reversa (RPN)''''', ferramenta de uso familiar a pessoas ligadas ao trabalho que envolva matemática financeira. Assim, a formação de preço deverá ser mais flexível e intuitiva na sua formação, além de facilitar em eventuais futuras modificações. As formulas serão definidas dentro de uma tabela de preço para um determinado grupo de produto facilitando o cadastro. &lt;br /&gt;
&lt;br /&gt;
Também visando a facilidade da manutenção dos valores de cada variável da fórmula, iremos construir o preço por um conjunto de parâmetros, podendo ser definido de forma atrelada às seguintes dimensões: produto e tabela de preço.&lt;br /&gt;
&lt;br /&gt;
Após a definição dos parâmetros, a fórmula será construída por meio da utilização destes. Finalizando esta etapa, basta pedir para processar a tabela, onde a mesma passará a ser vigente para a equipe de venda.&lt;br /&gt;
&lt;br /&gt;
== Implementação ==&lt;br /&gt;
&lt;br /&gt;
O processo terá como bases os seguintes passos: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Criação de Tabela;&lt;br /&gt;
&amp;lt;!-- # para inserção de Variáveis e/ou aproveitamento de Tabela existente; --&amp;gt;&lt;br /&gt;
# Definição de Variáveis que deverão compor a fórmula de criação de preço, além da definição do atributo a qual tal variável está vinculada (produto ou Tabela);&lt;br /&gt;
# Definição de fórmula de formação de preços, utilizando RPN, e vinculações a grupos de produtos;&lt;br /&gt;
# Concluída a fórmula, com as relações operacionais entre as variáveis, os valores gerados devem ser processados para compor a Tabela de Preços.&lt;br /&gt;
&lt;br /&gt;
=== Cadastro tabela de preço ===&lt;br /&gt;
Para criação da tabela de preço, será criada uma tela onde o usuário irá fazer o cadastro da tabela de preço. Nela será possível fazer a inserção e edição de cadastros, não sendo possível excluir qualquer cadastro de tabela de preço já realizado, mas, apenas desativa-los.&lt;br /&gt;
&lt;br /&gt;
Ao entrar na tela o sistema deve apresentar campos de filtros, os quais, o usuário poderá localizar um cadastro já inserido ou realizar edição dos campos descrição e datas inicial e final de vigência. Além, disso no rodapé da tela, terá o acesso para fazer um novo cadastro. na qual, o usuário vai preencher os seguintes campos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Campos de cadastro ====&lt;br /&gt;
* '''Descrição''' -  Campo de texto limitados ao máximo de 70 caracteres;&lt;br /&gt;
* '''Data inicial vigência''' -  Campo de data, onde definirá o inicio da vigência da tabela;&lt;br /&gt;
* '''Data final vigência''' -  Campo de data, onde definirá o final da vigência da tabela;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Uma tabela de preço não poderá ser excluída, só poderá ser desativada ou ativada através dos campos de data inicial e data final. Para desativar, basta colocar a data final inferior a data atual;&lt;br /&gt;
* Caso uma tabela de preço esteja com a data final de vigência vencida, a tabela de preço não será exibida para seleção no cadastro do pedido;&lt;br /&gt;
* Os campos de datas não serão obrigatórios. Quando não estiverem preenchidos, indica que aquela tabela estará disponível para uso;&lt;br /&gt;
* Não será possível utilizar a integração e cadastro da tabela de preço ao mesmo tempo, sendo necessário que haja uma única escolha: Integrar a tabela de preço do ERP ao GeoSales ou cadastrar a tabela de preço no próprio GeoSales. Caso tentem utilizar os dois cadastros ao mesmo tempo ERP e GeoSales, a integração apagará todos os registros cadastrados no GeoSales.&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
[[Arquivo:Tabelapreco.jpg|500px]] &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tabelapreco2.jpg|500px]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Declaração de variáveis ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dentro da tela de Variáveis de preço, deve ser possível definir uma variável de forma livre, mas que atenda as seguintes regras:&lt;br /&gt;
&lt;br /&gt;
* O campo chave, que será utilizado como referência na formula de preço, não deve conter caracteres especiais, espaço em branco e nao ser mais que 8 caracteres&lt;br /&gt;
* A variável deve estar associada a um produto ou uma tabela de preço&lt;br /&gt;
* Para valores do tipo '''numérico (18,6)''', serão aceitos como possibilidade, podendo ser positivos ou negativos.&lt;br /&gt;
* Será criado um log de históricos de alterações de valores destas variáveis e passível de ser exportado em relatórios em excel.&lt;br /&gt;
&lt;br /&gt;
==== Campos de cadastro ====&lt;br /&gt;
&lt;br /&gt;
* '''Descrição''' -  Campo de texto limitados ao máximo de 70 caracteres;&lt;br /&gt;
* '''Chave''' -  Campo de texto de 8 caracteres;&lt;br /&gt;
* '''Produto / Tabela''' -  A seleção de uma produto ou de uma tabela, dados previamente alimentados;&lt;br /&gt;
* '''Valor''' -  Campo numérico(18:6);&lt;br /&gt;
&lt;br /&gt;
A chave poderá ser associada a mais de um produto/tabela, mas o valor é específico pela unidade de um destes dois atributos.&lt;br /&gt;
&lt;br /&gt;
=== Definição da formula de preço ===&lt;br /&gt;
&lt;br /&gt;
* Será necessário selecionar uma tabela de preço, a organização de venda e um ou mais produtos aos quais o preço deve ser inserido.&lt;br /&gt;
* Para a regra de preço teremos que informar a '''formula''' do preço mínimo, sugerido e máximo com a quantidade mínima, que valida sua aplicação.&lt;br /&gt;
* Nos campos de preço (mínimo, sugerido e máximo) teremos um espaço para a inserção da fórmula para composição de preço. Esta fórmula fará a relação matemática entre as variáveis criadas no processo anterior, por meio de '''operadores matemáticos (+, -, *, / )''', organizados em '''RPN''', notação comum para analistas financeiros, sendo bastante difundido, inclusive, na lógica de cálculo das calculadoras HP 12 C.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Será possível visualizar uma prévia da fórmula escrita, além do valor encontrado, a fim de que o usuário possa confirmar os valores que foram inseridos pelas variáveis e seus respectivos operadores.&lt;br /&gt;
&lt;br /&gt;
Como exemplo de notação polonesa reversa, tomemos a expressão '''''(A+B)*C'''''. Em RPN, a notação ficaria '''''AB+C*'''''.&lt;br /&gt;
&lt;br /&gt;
=== Processar tabela ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
É importante frisar que os valores estão vinculados a uma tabela de preços, que consequentemente está vinculada a um cliente, organização de vendas, vendedores, e tabelas afins.&lt;br /&gt;
&lt;br /&gt;
As variáveis comuns a todos os clientes deverão ter valores diferenciados de acordo com a cidade onde a organização de vendas está alocada.&lt;br /&gt;
Há dois grupos de variáveis: aquelas que são relacionadas ao '''produto''' em si (tamanho, cor, embalagem, Tipo) e aquelas relacionadas à '''Tabela''' (Valor de partida, comissão promotor, frete, por exemplo). É importante determinar corretamente para qual grupo tal variável estará vinculada.&lt;br /&gt;
&lt;br /&gt;
Se mais de um produto possui a mesma característica, será possível fazer a precificação por grupos de produtos.&lt;br /&gt;
&lt;br /&gt;
== Cenários ==&lt;br /&gt;
&lt;br /&gt;
===DICIONÁRIO DE DADOS ===&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! TABELA &lt;br /&gt;
! DESCRIÇÃO&lt;br /&gt;
! INICIO DA VIGÊNCIA&lt;br /&gt;
! FINAL DA VIGÊNCIA &lt;br /&gt;
|-&lt;br /&gt;
| 01  || TABELA SP || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| 02 || TABELA RJ || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| 03 ||TABELA RS ||01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| 04 || TABELA SP - CARREFU || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| 05  || TABELA BA || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| 06 || TABELA ES || 01/05/2020 || 01/01/2022&lt;br /&gt;
|- &lt;br /&gt;
| 07 || TABELA SP - CAPITAL ||01/05/2020 || 01/01/2022&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! CHAVE&lt;br /&gt;
! DESCRIÇÃO DA VARIÁVEL &lt;br /&gt;
! TABELA / PRODUTO&lt;br /&gt;
! VALOR&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida || Tabela - 01  ||  R$ 106,00&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || Tabela - 01 || 1,5&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || Tabela - 01 ||  R$ 12,20&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || Tabela - 01 ||  - 5&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || Tabela - 01 || 1,02&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || Tabela - 01 || 3,5&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || Tabela - 01 || 1,02&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Cenário 1 ===&lt;br /&gt;
&lt;br /&gt;
Elaborando o preço do produto 'P001' para o cliente 'C001' por um período de 6 meses.&lt;br /&gt;
&lt;br /&gt;
No portal GeoSales, na tela de variáveis, serão utilizadas as seguintes informações:&lt;br /&gt;
&lt;br /&gt;
Enumeração das variáveis&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 106,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 0,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1,02 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,02 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Pelo exposto, temos que 7 variáveis foram declaradas. As fórmulas que devemos gerar (Fórmula de valor mínimo, fórmula de valor Sugerido e Formula de Valor Máximo) serão derivadas destas variáveis que apontamos. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || Fc || / || 70,66 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Ce || + || 82,86 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Fr || + || 82,66 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Pr || * || 84,52 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Qu || * || 84,52 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Cf || * || 86,21 || F&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P = PpFc/Ce+Fr+Pr*Qu*Cf*&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ao final do processo, a fórmula irá  apresentar o valor final: '''&amp;quot;R$ 86,21&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 2 ===&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P002' para o cliente 'C002'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,11 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || P1 || + || 113,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 75,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 87,86 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Fr || + || 90,86 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Pr || * || 90,86 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Qu || * || 90,86 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Cf || * || 100,86 || G&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P= PpP1+Fc/Ce+Fr+Pr*Qu*Cf*&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao final do processo de cálculo da fórmula, o valor do preço será '''&amp;quot;R$ 100,86&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 3 ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P003' para o cliente 'C003'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ -3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 8,67 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce2 || Custo de Embalagem 2 || R$ 2,00 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 2,5 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| K || Constante || 23,67 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp|| P1 || + || 107,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 71,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 80,33 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Ce2 || + || 82,33 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Fr || + || 84,83 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Pr || * || 84,83 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Qu || * || 84,83 || G&lt;br /&gt;
|-&lt;br /&gt;
| 8 || G || Cf || * || 84,83 || H&lt;br /&gt;
|-&lt;br /&gt;
| 9 || H || K || + || 108,50 || I&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P= PpP1+Fc/Ce+Ce2+Fr+Pr*Qu*Cf*K+&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao final do cálculo da forma, o valor final do preço será: '''&amp;quot;R$ 108,50&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--[[arquivo:formula1.png]]&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço2.png | 600 px]]&lt;br /&gt;
&lt;br /&gt;
Na formula acima, as somas de variaveis são agrupadas em blocos, multiplicando-se entre si. A relação entre os somatórios pode ser representada por&lt;br /&gt;
&lt;br /&gt;
[[arquivo:produto1.png | 200 px]]&lt;br /&gt;
&lt;br /&gt;
Portando, a equação de formação de preço pode ser representada da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ou pelo produtório&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço1.png]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A composição de preço tem como objetivo construir um preço de venda. Esse cadastro conta com tipos de variáveis para compor preço. Para que a composição de preço seja aplicada corretamente no cadastro do pedido, é necessário que as seguintes premissas sejam atendidas.&lt;br /&gt;
&lt;br /&gt;
=== Composição de preço ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Visto que há variação de preços de produtos para diferentes localidades, a formula criada para a composição de preços  deverá, além de compor toda a regra de cálculo de precificação de determinado produto, a sua parametrização vinculada ao seu respectivo Estado, Cidade e Filial. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em outras palavras, através da composição de preço, o usuário poderá informar a fórmula que o sistema irá aplicar para definir o preço unitário do produto. Essa regra poderá ser parametrizado por: filial, estado e cidade.&lt;br /&gt;
&lt;br /&gt;
== Regras de Negócios ==&lt;br /&gt;
&lt;br /&gt;
'''[RN1] - ''' Não poderá conter a mesma regra para o mesmo estado e filial;&lt;br /&gt;
&lt;br /&gt;
'''[RN2] - ''' Não deverá haver sobreposição de cadastros, e sim edição deste cadastro. Caso o usuário tente cadastrar o mesmo cenário mais de uma vez, a plataforma irá alertar informando que já existe uma regra, e que essa regra poderá ser sobreposta;&lt;br /&gt;
&lt;br /&gt;
'''[RN3] - ''' Essa funcionalidade será desenvolvida exclusivamente no GeoSales EVO.&lt;br /&gt;
&lt;br /&gt;
'''[RN4] - ''' Durante o processo, o portal não deverá travar, ou seja, o batch irá apresentar os dados apenas referentes às variáveis relacionadas (via GSOload). A medida visa evitar um carregamento excessivamente pesado de dados para determinada função. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''[RN5] - ''' Os históricos do log de alterações das variáveis ficarão registrados por um período de 1 (um) ano.&lt;br /&gt;
&lt;br /&gt;
'''[RN6] - ''' Um determinado produto poderá ser vinculado a mais de um grupo, mas a quantidade deve ser diferente.&lt;br /&gt;
&lt;br /&gt;
'''[RN7] - ''' A chave poderá ser associada a mais de um produto/tabela, mas o valor é específico pela unidade de um destes dois atributos.&lt;br /&gt;
&lt;br /&gt;
== Aprovação ==&lt;br /&gt;
&lt;br /&gt;
Considero aprovada a documentação da funcionalidade especificada acima, e autorizo a implementação da mesma no Sistema GeoSales, em nome da Organização a qual estou vinculado. &lt;br /&gt;
&lt;br /&gt;
=== GeoSales ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Desenvolvimento - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|- &lt;br /&gt;
| Integração - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
| Configurações - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Empresa solicitante === &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
! Assinatura&lt;br /&gt;
|-&lt;br /&gt;
| Gerente TI - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente de Projeto - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente Comercial - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Leo2s</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=15023</id>
		<title>Precificação</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=15023"/>
		<updated>2021-04-08T19:23:54Z</updated>

		<summary type="html">&lt;p&gt;Leo2s: /* DICIONÁRIO DE DADOS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Histórico de Alterações ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data&lt;br /&gt;
! Quem &lt;br /&gt;
! Comentários &lt;br /&gt;
|-&lt;br /&gt;
| 01/10/2020  || Ana Júlia || Criação do documento &lt;br /&gt;
|-&lt;br /&gt;
| 01/04/2021 || João Ramon || Atualização do documento&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
&lt;br /&gt;
No processo de formação de preços, conta-se com um número definido de variáveis que irão fazer a composição do valor final que será apresentado ao cliente final. Informações como custos operacionais, inclusão de markups, fatores de compensação por quebra e/ou comissionamento de venda devem estar contemplados na composição dos preços. A empresa deseja fazer esta composição dentro da Plataforma GeoSales EVO, inserindo todas as informações de custo, taxas e demais dados customizáveis, permitindo que o próprio cliente consiga fazer esta composição.&lt;br /&gt;
&lt;br /&gt;
O cenário de precificação atual não possui um processo uniformizado para cada cliente. Portanto, a necessidade de criar um processo padronizado para composição de preços, assim como a atualização customizável de algumas dessas variáveis, por se tratarem de variáveis cujos valores podem oscilar por motivos externos (oscilações de mercado, variação na política de preços, etc), é imperativa.&lt;br /&gt;
&lt;br /&gt;
== Solução ==&lt;br /&gt;
&lt;br /&gt;
Visto que a formação de preços, e seu processo de elaboração, devem ser totalmente customizáveis pelo cliente, primeiramente deve ser possível que ele não apenas determine quais as variáveis e seus respectivos valores devem ser atribuídos na plataforma para precificação, mas também como estas variáveis se relacionarão matematicamente, a fim de formular um preço baseado nas entradas fornecidas pelo cliente. Além disso, tais variáveis, uma vez inseridas no cadastro de preços, deverão ser passíveis de edição, feitas pelo próprio cliente, de forma manual.&lt;br /&gt;
&lt;br /&gt;
Como instrumento de parametrização das fórmulas contendo as variáveis criadas e seus operadores apropriados, será utilizada a '''''notação polonesa  reversa (RPN)''''', ferramenta de uso familiar a pessoas ligadas ao trabalho que envolva matemática financeira. Assim, a formação de preço deverá ser mais flexível e intuitiva na sua formação, além de facilitar em eventuais futuras modificações. As formulas serão definidas dentro de uma tabela de preço para um determinado grupo de produto facilitando o cadastro. &lt;br /&gt;
&lt;br /&gt;
Também visando a facilidade da manutenção dos valores de cada variável da fórmula, iremos construir o preço por um conjunto de parâmetros, podendo ser definido de forma atrelada às seguintes dimensões: produto e tabela de preço.&lt;br /&gt;
&lt;br /&gt;
Após a definição dos parâmetros, a fórmula será construída por meio da utilização destes. Finalizando esta etapa, basta pedir para processar a tabela, onde a mesma passará a ser vigente para a equipe de venda.&lt;br /&gt;
&lt;br /&gt;
== Implementação ==&lt;br /&gt;
&lt;br /&gt;
O processo terá como bases os seguintes passos: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Criação de Tabela;&lt;br /&gt;
&amp;lt;!-- # para inserção de Variáveis e/ou aproveitamento de Tabela existente; --&amp;gt;&lt;br /&gt;
# Definição de Variáveis que deverão compor a fórmula de criação de preço, além da definição do atributo a qual tal variável está vinculada (produto ou Tabela);&lt;br /&gt;
# Definição de fórmula de formação de preços, utilizando RPN, e vinculações a grupos de produtos;&lt;br /&gt;
# Concluída a fórmula, com as relações operacionais entre as variáveis, os valores gerados devem ser processados para compor a Tabela de Preços.&lt;br /&gt;
&lt;br /&gt;
=== Cadastro tabela de preço ===&lt;br /&gt;
Para criação da tabela de preço, será criada uma tela onde o usuário irá fazer o cadastro da tabela de preço. Nela será possível fazer a inserção e edição de cadastros, não sendo possível excluir qualquer cadastro de tabela de preço já realizado, mas, apenas desativa-los.&lt;br /&gt;
&lt;br /&gt;
Ao entrar na tela o sistema deve apresentar campos de filtros, os quais, o usuário poderá localizar um cadastro já inserido ou realizar edição dos campos descrição e datas inicial e final de vigência. Além, disso no rodapé da tela, terá o acesso para fazer um novo cadastro. na qual, o usuário vai preencher os seguintes campos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Campos de cadastro ====&lt;br /&gt;
* '''Descrição''' -  Campo de texto limitados ao máximo de 70 caracteres;&lt;br /&gt;
* '''Data inicial vigência''' -  Campo de data, onde definirá o inicio da vigência da tabela;&lt;br /&gt;
* '''Data final vigência''' -  Campo de data, onde definirá o final da vigência da tabela;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Uma tabela de preço não poderá ser excluída, só poderá ser desativada ou ativada através dos campos de data inicial e data final. Para desativar, basta colocar a data final inferior a data atual;&lt;br /&gt;
* Caso uma tabela de preço esteja com a data final de vigência vencida, a tabela de preço não será exibida para seleção no cadastro do pedido;&lt;br /&gt;
* Os campos de datas não serão obrigatórios. Quando não estiverem preenchidos, indica que aquela tabela estará disponível para uso;&lt;br /&gt;
* Não será possível utilizar a integração e cadastro da tabela de preço ao mesmo tempo, sendo necessário que haja uma única escolha: Integrar a tabela de preço do ERP ao GeoSales ou cadastrar a tabela de preço no próprio GeoSales. Caso tentem utilizar os dois cadastros ao mesmo tempo ERP e GeoSales, a integração apagará todos os registros cadastrados no GeoSales.&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
[[Arquivo:Tabelapreco.jpg|500px]] &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tabelapreco2.jpg|500px]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Declaração de variáveis ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dentro da tela de Variáveis de preço, deve ser possível definir uma variável de forma livre, mas que atenda as seguintes regras:&lt;br /&gt;
&lt;br /&gt;
* O campo chave, que será utilizado como referência na formula de preço, não deve conter caracteres especiais, espaço em branco e nao ser mais que 8 caracteres&lt;br /&gt;
* A variável deve estar associada a um produto ou uma tabela de preço&lt;br /&gt;
* Para valores do tipo '''numérico (18,6)''', serão aceitos como possibilidade, podendo ser positivos ou negativos.&lt;br /&gt;
* Será criado um log de históricos de alterações de valores destas variáveis e passível de ser exportado em relatórios em excel.&lt;br /&gt;
&lt;br /&gt;
==== Campos de cadastro ====&lt;br /&gt;
&lt;br /&gt;
* '''Descrição''' -  Campo de texto limitados ao máximo de 70 caracteres;&lt;br /&gt;
* '''Chave''' -  Campo de texto de 8 caracteres;&lt;br /&gt;
* '''Produto / Tabela''' -  A seleção de uma produto ou de uma tabela, dados previamente alimentados;&lt;br /&gt;
* '''Valor''' -  Campo numérico(18:6);&lt;br /&gt;
&lt;br /&gt;
A chave poderá ser associada a mais de um produto/tabela, mas o valor é específico pela unidade de um destes dois atributos.&lt;br /&gt;
&lt;br /&gt;
=== Definição da formula de preço ===&lt;br /&gt;
&lt;br /&gt;
* Será necessário selecionar uma tabela de preço, a organização de venda e um ou mais produtos aos quais o preço deve ser inserido.&lt;br /&gt;
* Para a regra de preço teremos que informar a '''formula''' do preço mínimo, sugerido e máximo com a quantidade mínima, que valida sua aplicação.&lt;br /&gt;
* Nos campos de preço (mínimo, sugerido e máximo) teremos um espaço para a inserção da fórmula para composição de preço. Esta fórmula fará a relação matemática entre as variáveis criadas no processo anterior, por meio de '''operadores matemáticos (+, -, *, / )''', organizados em '''RPN''', notação comum para analistas financeiros, sendo bastante difundido, inclusive, na lógica de cálculo das calculadoras HP 12 C.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Será possível visualizar uma prévia da fórmula escrita, além do valor encontrado, a fim de que o usuário possa confirmar os valores que foram inseridos pelas variáveis e seus respectivos operadores.&lt;br /&gt;
&lt;br /&gt;
Como exemplo de notação polonesa reversa, tomemos a expressão '''''(A+B)*C'''''. Em RPN, a notação ficaria '''''AB+C*'''''.&lt;br /&gt;
&lt;br /&gt;
=== Processar tabela ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
É importante frisar que os valores estão vinculados a uma tabela de preços, que consequentemente está vinculada a um cliente, organização de vendas, vendedores, e tabelas afins.&lt;br /&gt;
&lt;br /&gt;
As variáveis comuns a todos os clientes deverão ter valores diferenciados de acordo com a cidade onde a organização de vendas está alocada.&lt;br /&gt;
Há dois grupos de variáveis: aquelas que são relacionadas ao '''produto''' em si (tamanho, cor, embalagem, Tipo) e aquelas relacionadas à '''Tabela''' (Valor de partida, comissão promotor, frete, por exemplo). É importante determinar corretamente para qual grupo tal variável estará vinculada.&lt;br /&gt;
&lt;br /&gt;
Se mais de um produto possui a mesma característica, será possível fazer a precificação por grupos de produtos.&lt;br /&gt;
&lt;br /&gt;
== Cenários ==&lt;br /&gt;
&lt;br /&gt;
===DICIONÁRIO DE DADOS ===&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! TABELA &lt;br /&gt;
! DESCRIÇÃO&lt;br /&gt;
! INICIO DA VIGÊNCIA&lt;br /&gt;
! FINAL DA VIGÊNCIA &lt;br /&gt;
|-&lt;br /&gt;
| 01  || TABELA SP || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| 02 || TABELA RJ || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| 03 ||TABELA RS ||01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| 04 || TABELA SP - CARREFU || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| 05  || TABELA BA || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| 06 || TABELA ES || 01/05/2020 || 01/01/2022&lt;br /&gt;
|- &lt;br /&gt;
| 07 || TABELA SP - CAPITAL ||01/05/2020 || 01/01/2022&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Tabela / Produto&lt;br /&gt;
! Valor&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida || Tabela - 01  ||  R$ 106,00&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || Tabela - 01 || 1,5&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || Tabela - 01 ||  R$ 12,20&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || Tabela - 01 ||  - 5&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || Tabela - 01 || 1,02&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || Tabela - 01 || 3,5&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || Tabela - 01 || 1,02&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Cenário 1 ===&lt;br /&gt;
&lt;br /&gt;
Elaborando o preço do produto 'P001' para o cliente 'C001' por um período de 6 meses.&lt;br /&gt;
&lt;br /&gt;
No portal GeoSales, na tela de variáveis, serão utilizadas as seguintes informações:&lt;br /&gt;
&lt;br /&gt;
Enumeração das variáveis&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 106,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 0,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1,02 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,02 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Pelo exposto, temos que 7 variáveis foram declaradas. As fórmulas que devemos gerar (Fórmula de valor mínimo, fórmula de valor Sugerido e Formula de Valor Máximo) serão derivadas destas variáveis que apontamos. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || Fc || / || 70,66 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Ce || + || 82,86 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Fr || + || 82,66 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Pr || * || 84,52 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Qu || * || 84,52 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Cf || * || 86,21 || F&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P = PpFc/Ce+Fr+Pr*Qu*Cf*&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ao final do processo, a fórmula irá  apresentar o valor final: '''&amp;quot;R$ 86,21&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 2 ===&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P002' para o cliente 'C002'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,11 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || P1 || + || 113,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 75,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 87,86 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Fr || + || 90,86 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Pr || * || 90,86 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Qu || * || 90,86 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Cf || * || 100,86 || G&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P= PpP1+Fc/Ce+Fr+Pr*Qu*Cf*&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao final do processo de cálculo da fórmula, o valor do preço será '''&amp;quot;R$ 100,86&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 3 ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P003' para o cliente 'C003'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ -3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 8,67 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce2 || Custo de Embalagem 2 || R$ 2,00 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 2,5 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| K || Constante || 23,67 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp|| P1 || + || 107,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 71,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 80,33 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Ce2 || + || 82,33 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Fr || + || 84,83 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Pr || * || 84,83 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Qu || * || 84,83 || G&lt;br /&gt;
|-&lt;br /&gt;
| 8 || G || Cf || * || 84,83 || H&lt;br /&gt;
|-&lt;br /&gt;
| 9 || H || K || + || 108,50 || I&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P= PpP1+Fc/Ce+Ce2+Fr+Pr*Qu*Cf*K+&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao final do cálculo da forma, o valor final do preço será: '''&amp;quot;R$ 108,50&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--[[arquivo:formula1.png]]&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço2.png | 600 px]]&lt;br /&gt;
&lt;br /&gt;
Na formula acima, as somas de variaveis são agrupadas em blocos, multiplicando-se entre si. A relação entre os somatórios pode ser representada por&lt;br /&gt;
&lt;br /&gt;
[[arquivo:produto1.png | 200 px]]&lt;br /&gt;
&lt;br /&gt;
Portando, a equação de formação de preço pode ser representada da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ou pelo produtório&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço1.png]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A composição de preço tem como objetivo construir um preço de venda. Esse cadastro conta com tipos de variáveis para compor preço. Para que a composição de preço seja aplicada corretamente no cadastro do pedido, é necessário que as seguintes premissas sejam atendidas.&lt;br /&gt;
&lt;br /&gt;
=== Composição de preço ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Visto que há variação de preços de produtos para diferentes localidades, a formula criada para a composição de preços  deverá, além de compor toda a regra de cálculo de precificação de determinado produto, a sua parametrização vinculada ao seu respectivo Estado, Cidade e Filial. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em outras palavras, através da composição de preço, o usuário poderá informar a fórmula que o sistema irá aplicar para definir o preço unitário do produto. Essa regra poderá ser parametrizado por: filial, estado e cidade.&lt;br /&gt;
&lt;br /&gt;
== Regras de Negócios ==&lt;br /&gt;
&lt;br /&gt;
'''[RN1] - ''' Não poderá conter a mesma regra para o mesmo estado e filial;&lt;br /&gt;
&lt;br /&gt;
'''[RN2] - ''' Não deverá haver sobreposição de cadastros, e sim edição deste cadastro. Caso o usuário tente cadastrar o mesmo cenário mais de uma vez, a plataforma irá alertar informando que já existe uma regra, e que essa regra poderá ser sobreposta;&lt;br /&gt;
&lt;br /&gt;
'''[RN3] - ''' Essa funcionalidade será desenvolvida exclusivamente no GeoSales EVO.&lt;br /&gt;
&lt;br /&gt;
'''[RN4] - ''' Durante o processo, o portal não deverá travar, ou seja, o batch irá apresentar os dados apenas referentes às variáveis relacionadas (via GSOload). A medida visa evitar um carregamento excessivamente pesado de dados para determinada função. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''[RN5] - ''' Os históricos do log de alterações das variáveis ficarão registrados por um período de 1 (um) ano.&lt;br /&gt;
&lt;br /&gt;
'''[RN6] - ''' Um determinado produto poderá ser vinculado a mais de um grupo, mas a quantidade deve ser diferente.&lt;br /&gt;
&lt;br /&gt;
'''[RN7] - ''' A chave poderá ser associada a mais de um produto/tabela, mas o valor é específico pela unidade de um destes dois atributos.&lt;br /&gt;
&lt;br /&gt;
== Aprovação ==&lt;br /&gt;
&lt;br /&gt;
Considero aprovada a documentação da funcionalidade especificada acima, e autorizo a implementação da mesma no Sistema GeoSales, em nome da Organização a qual estou vinculado. &lt;br /&gt;
&lt;br /&gt;
=== GeoSales ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Desenvolvimento - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|- &lt;br /&gt;
| Integração - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
| Configurações - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Empresa solicitante === &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
! Assinatura&lt;br /&gt;
|-&lt;br /&gt;
| Gerente TI - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente de Projeto - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente Comercial - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Leo2s</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=15022</id>
		<title>Precificação</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=15022"/>
		<updated>2021-04-08T19:20:02Z</updated>

		<summary type="html">&lt;p&gt;Leo2s: /* DICIONÁRIO DE DADOS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Histórico de Alterações ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data&lt;br /&gt;
! Quem &lt;br /&gt;
! Comentários &lt;br /&gt;
|-&lt;br /&gt;
| 01/10/2020  || Ana Júlia || Criação do documento &lt;br /&gt;
|-&lt;br /&gt;
| 01/04/2021 || João Ramon || Atualização do documento&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
&lt;br /&gt;
No processo de formação de preços, conta-se com um número definido de variáveis que irão fazer a composição do valor final que será apresentado ao cliente final. Informações como custos operacionais, inclusão de markups, fatores de compensação por quebra e/ou comissionamento de venda devem estar contemplados na composição dos preços. A empresa deseja fazer esta composição dentro da Plataforma GeoSales EVO, inserindo todas as informações de custo, taxas e demais dados customizáveis, permitindo que o próprio cliente consiga fazer esta composição.&lt;br /&gt;
&lt;br /&gt;
O cenário de precificação atual não possui um processo uniformizado para cada cliente. Portanto, a necessidade de criar um processo padronizado para composição de preços, assim como a atualização customizável de algumas dessas variáveis, por se tratarem de variáveis cujos valores podem oscilar por motivos externos (oscilações de mercado, variação na política de preços, etc), é imperativa.&lt;br /&gt;
&lt;br /&gt;
== Solução ==&lt;br /&gt;
&lt;br /&gt;
Visto que a formação de preços, e seu processo de elaboração, devem ser totalmente customizáveis pelo cliente, primeiramente deve ser possível que ele não apenas determine quais as variáveis e seus respectivos valores devem ser atribuídos na plataforma para precificação, mas também como estas variáveis se relacionarão matematicamente, a fim de formular um preço baseado nas entradas fornecidas pelo cliente. Além disso, tais variáveis, uma vez inseridas no cadastro de preços, deverão ser passíveis de edição, feitas pelo próprio cliente, de forma manual.&lt;br /&gt;
&lt;br /&gt;
Como instrumento de parametrização das fórmulas contendo as variáveis criadas e seus operadores apropriados, será utilizada a '''''notação polonesa  reversa (RPN)''''', ferramenta de uso familiar a pessoas ligadas ao trabalho que envolva matemática financeira. Assim, a formação de preço deverá ser mais flexível e intuitiva na sua formação, além de facilitar em eventuais futuras modificações. As formulas serão definidas dentro de uma tabela de preço para um determinado grupo de produto facilitando o cadastro. &lt;br /&gt;
&lt;br /&gt;
Também visando a facilidade da manutenção dos valores de cada variável da fórmula, iremos construir o preço por um conjunto de parâmetros, podendo ser definido de forma atrelada às seguintes dimensões: produto e tabela de preço.&lt;br /&gt;
&lt;br /&gt;
Após a definição dos parâmetros, a fórmula será construída por meio da utilização destes. Finalizando esta etapa, basta pedir para processar a tabela, onde a mesma passará a ser vigente para a equipe de venda.&lt;br /&gt;
&lt;br /&gt;
== Implementação ==&lt;br /&gt;
&lt;br /&gt;
O processo terá como bases os seguintes passos: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Criação de Tabela;&lt;br /&gt;
&amp;lt;!-- # para inserção de Variáveis e/ou aproveitamento de Tabela existente; --&amp;gt;&lt;br /&gt;
# Definição de Variáveis que deverão compor a fórmula de criação de preço, além da definição do atributo a qual tal variável está vinculada (produto ou Tabela);&lt;br /&gt;
# Definição de fórmula de formação de preços, utilizando RPN, e vinculações a grupos de produtos;&lt;br /&gt;
# Concluída a fórmula, com as relações operacionais entre as variáveis, os valores gerados devem ser processados para compor a Tabela de Preços.&lt;br /&gt;
&lt;br /&gt;
=== Cadastro tabela de preço ===&lt;br /&gt;
Para criação da tabela de preço, será criada uma tela onde o usuário irá fazer o cadastro da tabela de preço. Nela será possível fazer a inserção e edição de cadastros, não sendo possível excluir qualquer cadastro de tabela de preço já realizado, mas, apenas desativa-los.&lt;br /&gt;
&lt;br /&gt;
Ao entrar na tela o sistema deve apresentar campos de filtros, os quais, o usuário poderá localizar um cadastro já inserido ou realizar edição dos campos descrição e datas inicial e final de vigência. Além, disso no rodapé da tela, terá o acesso para fazer um novo cadastro. na qual, o usuário vai preencher os seguintes campos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Campos de cadastro ====&lt;br /&gt;
* '''Descrição''' -  Campo de texto limitados ao máximo de 70 caracteres;&lt;br /&gt;
* '''Data inicial vigência''' -  Campo de data, onde definirá o inicio da vigência da tabela;&lt;br /&gt;
* '''Data final vigência''' -  Campo de data, onde definirá o final da vigência da tabela;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Uma tabela de preço não poderá ser excluída, só poderá ser desativada ou ativada através dos campos de data inicial e data final. Para desativar, basta colocar a data final inferior a data atual;&lt;br /&gt;
* Caso uma tabela de preço esteja com a data final de vigência vencida, a tabela de preço não será exibida para seleção no cadastro do pedido;&lt;br /&gt;
* Os campos de datas não serão obrigatórios. Quando não estiverem preenchidos, indica que aquela tabela estará disponível para uso;&lt;br /&gt;
* Não será possível utilizar a integração e cadastro da tabela de preço ao mesmo tempo, sendo necessário que haja uma única escolha: Integrar a tabela de preço do ERP ao GeoSales ou cadastrar a tabela de preço no próprio GeoSales. Caso tentem utilizar os dois cadastros ao mesmo tempo ERP e GeoSales, a integração apagará todos os registros cadastrados no GeoSales.&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
[[Arquivo:Tabelapreco.jpg|500px]] &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tabelapreco2.jpg|500px]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Declaração de variáveis ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dentro da tela de Variáveis de preço, deve ser possível definir uma variável de forma livre, mas que atenda as seguintes regras:&lt;br /&gt;
&lt;br /&gt;
* O campo chave, que será utilizado como referência na formula de preço, não deve conter caracteres especiais, espaço em branco e nao ser mais que 8 caracteres&lt;br /&gt;
* A variável deve estar associada a um produto ou uma tabela de preço&lt;br /&gt;
* Para valores do tipo '''numérico (18,6)''', serão aceitos como possibilidade, podendo ser positivos ou negativos.&lt;br /&gt;
* Será criado um log de históricos de alterações de valores destas variáveis e passível de ser exportado em relatórios em excel.&lt;br /&gt;
&lt;br /&gt;
==== Campos de cadastro ====&lt;br /&gt;
&lt;br /&gt;
* '''Descrição''' -  Campo de texto limitados ao máximo de 70 caracteres;&lt;br /&gt;
* '''Chave''' -  Campo de texto de 8 caracteres;&lt;br /&gt;
* '''Produto / Tabela''' -  A seleção de uma produto ou de uma tabela, dados previamente alimentados;&lt;br /&gt;
* '''Valor''' -  Campo numérico(18:6);&lt;br /&gt;
&lt;br /&gt;
A chave poderá ser associada a mais de um produto/tabela, mas o valor é específico pela unidade de um destes dois atributos.&lt;br /&gt;
&lt;br /&gt;
=== Definição da formula de preço ===&lt;br /&gt;
&lt;br /&gt;
* Será necessário selecionar uma tabela de preço, a organização de venda e um ou mais produtos aos quais o preço deve ser inserido.&lt;br /&gt;
* Para a regra de preço teremos que informar a '''formula''' do preço mínimo, sugerido e máximo com a quantidade mínima, que valida sua aplicação.&lt;br /&gt;
* Nos campos de preço (mínimo, sugerido e máximo) teremos um espaço para a inserção da fórmula para composição de preço. Esta fórmula fará a relação matemática entre as variáveis criadas no processo anterior, por meio de '''operadores matemáticos (+, -, *, / )''', organizados em '''RPN''', notação comum para analistas financeiros, sendo bastante difundido, inclusive, na lógica de cálculo das calculadoras HP 12 C.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Será possível visualizar uma prévia da fórmula escrita, além do valor encontrado, a fim de que o usuário possa confirmar os valores que foram inseridos pelas variáveis e seus respectivos operadores.&lt;br /&gt;
&lt;br /&gt;
Como exemplo de notação polonesa reversa, tomemos a expressão '''''(A+B)*C'''''. Em RPN, a notação ficaria '''''AB+C*'''''.&lt;br /&gt;
&lt;br /&gt;
=== Processar tabela ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
É importante frisar que os valores estão vinculados a uma tabela de preços, que consequentemente está vinculada a um cliente, organização de vendas, vendedores, e tabelas afins.&lt;br /&gt;
&lt;br /&gt;
As variáveis comuns a todos os clientes deverão ter valores diferenciados de acordo com a cidade onde a organização de vendas está alocada.&lt;br /&gt;
Há dois grupos de variáveis: aquelas que são relacionadas ao '''produto''' em si (tamanho, cor, embalagem, Tipo) e aquelas relacionadas à '''Tabela''' (Valor de partida, comissão promotor, frete, por exemplo). É importante determinar corretamente para qual grupo tal variável estará vinculada.&lt;br /&gt;
&lt;br /&gt;
Se mais de um produto possui a mesma característica, será possível fazer a precificação por grupos de produtos.&lt;br /&gt;
&lt;br /&gt;
== Cenários ==&lt;br /&gt;
&lt;br /&gt;
===DICIONÁRIO DE DADOS ===&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! TABELA &lt;br /&gt;
! DESCRIÇÃO&lt;br /&gt;
! INICIO DA VIGÊNCIA&lt;br /&gt;
! FINAL DA VIGÊNCIA &lt;br /&gt;
|-&lt;br /&gt;
| 01  || TABELA SP || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| 02 || TABELA RJ || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| 03 ||TABELA RS ||01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| 04 || TABELA SP - CARREFU || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| 05  || TABELA BA || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| 06 || TABELA ES || 01/05/2020 || 01/01/2022&lt;br /&gt;
|- &lt;br /&gt;
| 07 || TABELA SP - CAPITAL ||01/05/2020 || 01/01/2022&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Cenário 1 ===&lt;br /&gt;
&lt;br /&gt;
Elaborando o preço do produto 'P001' para o cliente 'C001' por um período de 6 meses.&lt;br /&gt;
&lt;br /&gt;
No portal GeoSales, na tela de variáveis, serão utilizadas as seguintes informações:&lt;br /&gt;
&lt;br /&gt;
Enumeração das variáveis&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 106,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 0,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1,02 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,02 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Pelo exposto, temos que 7 variáveis foram declaradas. As fórmulas que devemos gerar (Fórmula de valor mínimo, fórmula de valor Sugerido e Formula de Valor Máximo) serão derivadas destas variáveis que apontamos. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || Fc || / || 70,66 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Ce || + || 82,86 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Fr || + || 82,66 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Pr || * || 84,52 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Qu || * || 84,52 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Cf || * || 86,21 || F&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P = PpFc/Ce+Fr+Pr*Qu*Cf*&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ao final do processo, a fórmula irá  apresentar o valor final: '''&amp;quot;R$ 86,21&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 2 ===&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P002' para o cliente 'C002'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,11 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || P1 || + || 113,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 75,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 87,86 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Fr || + || 90,86 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Pr || * || 90,86 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Qu || * || 90,86 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Cf || * || 100,86 || G&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P= PpP1+Fc/Ce+Fr+Pr*Qu*Cf*&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao final do processo de cálculo da fórmula, o valor do preço será '''&amp;quot;R$ 100,86&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 3 ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P003' para o cliente 'C003'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ -3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 8,67 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce2 || Custo de Embalagem 2 || R$ 2,00 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 2,5 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| K || Constante || 23,67 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp|| P1 || + || 107,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 71,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 80,33 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Ce2 || + || 82,33 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Fr || + || 84,83 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Pr || * || 84,83 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Qu || * || 84,83 || G&lt;br /&gt;
|-&lt;br /&gt;
| 8 || G || Cf || * || 84,83 || H&lt;br /&gt;
|-&lt;br /&gt;
| 9 || H || K || + || 108,50 || I&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P= PpP1+Fc/Ce+Ce2+Fr+Pr*Qu*Cf*K+&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao final do cálculo da forma, o valor final do preço será: '''&amp;quot;R$ 108,50&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--[[arquivo:formula1.png]]&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço2.png | 600 px]]&lt;br /&gt;
&lt;br /&gt;
Na formula acima, as somas de variaveis são agrupadas em blocos, multiplicando-se entre si. A relação entre os somatórios pode ser representada por&lt;br /&gt;
&lt;br /&gt;
[[arquivo:produto1.png | 200 px]]&lt;br /&gt;
&lt;br /&gt;
Portando, a equação de formação de preço pode ser representada da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ou pelo produtório&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço1.png]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A composição de preço tem como objetivo construir um preço de venda. Esse cadastro conta com tipos de variáveis para compor preço. Para que a composição de preço seja aplicada corretamente no cadastro do pedido, é necessário que as seguintes premissas sejam atendidas.&lt;br /&gt;
&lt;br /&gt;
=== Composição de preço ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Visto que há variação de preços de produtos para diferentes localidades, a formula criada para a composição de preços  deverá, além de compor toda a regra de cálculo de precificação de determinado produto, a sua parametrização vinculada ao seu respectivo Estado, Cidade e Filial. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em outras palavras, através da composição de preço, o usuário poderá informar a fórmula que o sistema irá aplicar para definir o preço unitário do produto. Essa regra poderá ser parametrizado por: filial, estado e cidade.&lt;br /&gt;
&lt;br /&gt;
== Regras de Negócios ==&lt;br /&gt;
&lt;br /&gt;
'''[RN1] - ''' Não poderá conter a mesma regra para o mesmo estado e filial;&lt;br /&gt;
&lt;br /&gt;
'''[RN2] - ''' Não deverá haver sobreposição de cadastros, e sim edição deste cadastro. Caso o usuário tente cadastrar o mesmo cenário mais de uma vez, a plataforma irá alertar informando que já existe uma regra, e que essa regra poderá ser sobreposta;&lt;br /&gt;
&lt;br /&gt;
'''[RN3] - ''' Essa funcionalidade será desenvolvida exclusivamente no GeoSales EVO.&lt;br /&gt;
&lt;br /&gt;
'''[RN4] - ''' Durante o processo, o portal não deverá travar, ou seja, o batch irá apresentar os dados apenas referentes às variáveis relacionadas (via GSOload). A medida visa evitar um carregamento excessivamente pesado de dados para determinada função. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''[RN5] - ''' Os históricos do log de alterações das variáveis ficarão registrados por um período de 1 (um) ano.&lt;br /&gt;
&lt;br /&gt;
'''[RN6] - ''' Um determinado produto poderá ser vinculado a mais de um grupo, mas a quantidade deve ser diferente.&lt;br /&gt;
&lt;br /&gt;
'''[RN7] - ''' A chave poderá ser associada a mais de um produto/tabela, mas o valor é específico pela unidade de um destes dois atributos.&lt;br /&gt;
&lt;br /&gt;
== Aprovação ==&lt;br /&gt;
&lt;br /&gt;
Considero aprovada a documentação da funcionalidade especificada acima, e autorizo a implementação da mesma no Sistema GeoSales, em nome da Organização a qual estou vinculado. &lt;br /&gt;
&lt;br /&gt;
=== GeoSales ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Desenvolvimento - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|- &lt;br /&gt;
| Integração - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
| Configurações - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Empresa solicitante === &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
! Assinatura&lt;br /&gt;
|-&lt;br /&gt;
| Gerente TI - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente de Projeto - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente Comercial - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Leo2s</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=15021</id>
		<title>Precificação</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=15021"/>
		<updated>2021-04-08T19:19:15Z</updated>

		<summary type="html">&lt;p&gt;Leo2s: /* DICIONÁRIO DE DADOS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Histórico de Alterações ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data&lt;br /&gt;
! Quem &lt;br /&gt;
! Comentários &lt;br /&gt;
|-&lt;br /&gt;
| 01/10/2020  || Ana Júlia || Criação do documento &lt;br /&gt;
|-&lt;br /&gt;
| 01/04/2021 || João Ramon || Atualização do documento&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
&lt;br /&gt;
No processo de formação de preços, conta-se com um número definido de variáveis que irão fazer a composição do valor final que será apresentado ao cliente final. Informações como custos operacionais, inclusão de markups, fatores de compensação por quebra e/ou comissionamento de venda devem estar contemplados na composição dos preços. A empresa deseja fazer esta composição dentro da Plataforma GeoSales EVO, inserindo todas as informações de custo, taxas e demais dados customizáveis, permitindo que o próprio cliente consiga fazer esta composição.&lt;br /&gt;
&lt;br /&gt;
O cenário de precificação atual não possui um processo uniformizado para cada cliente. Portanto, a necessidade de criar um processo padronizado para composição de preços, assim como a atualização customizável de algumas dessas variáveis, por se tratarem de variáveis cujos valores podem oscilar por motivos externos (oscilações de mercado, variação na política de preços, etc), é imperativa.&lt;br /&gt;
&lt;br /&gt;
== Solução ==&lt;br /&gt;
&lt;br /&gt;
Visto que a formação de preços, e seu processo de elaboração, devem ser totalmente customizáveis pelo cliente, primeiramente deve ser possível que ele não apenas determine quais as variáveis e seus respectivos valores devem ser atribuídos na plataforma para precificação, mas também como estas variáveis se relacionarão matematicamente, a fim de formular um preço baseado nas entradas fornecidas pelo cliente. Além disso, tais variáveis, uma vez inseridas no cadastro de preços, deverão ser passíveis de edição, feitas pelo próprio cliente, de forma manual.&lt;br /&gt;
&lt;br /&gt;
Como instrumento de parametrização das fórmulas contendo as variáveis criadas e seus operadores apropriados, será utilizada a '''''notação polonesa  reversa (RPN)''''', ferramenta de uso familiar a pessoas ligadas ao trabalho que envolva matemática financeira. Assim, a formação de preço deverá ser mais flexível e intuitiva na sua formação, além de facilitar em eventuais futuras modificações. As formulas serão definidas dentro de uma tabela de preço para um determinado grupo de produto facilitando o cadastro. &lt;br /&gt;
&lt;br /&gt;
Também visando a facilidade da manutenção dos valores de cada variável da fórmula, iremos construir o preço por um conjunto de parâmetros, podendo ser definido de forma atrelada às seguintes dimensões: produto e tabela de preço.&lt;br /&gt;
&lt;br /&gt;
Após a definição dos parâmetros, a fórmula será construída por meio da utilização destes. Finalizando esta etapa, basta pedir para processar a tabela, onde a mesma passará a ser vigente para a equipe de venda.&lt;br /&gt;
&lt;br /&gt;
== Implementação ==&lt;br /&gt;
&lt;br /&gt;
O processo terá como bases os seguintes passos: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Criação de Tabela;&lt;br /&gt;
&amp;lt;!-- # para inserção de Variáveis e/ou aproveitamento de Tabela existente; --&amp;gt;&lt;br /&gt;
# Definição de Variáveis que deverão compor a fórmula de criação de preço, além da definição do atributo a qual tal variável está vinculada (produto ou Tabela);&lt;br /&gt;
# Definição de fórmula de formação de preços, utilizando RPN, e vinculações a grupos de produtos;&lt;br /&gt;
# Concluída a fórmula, com as relações operacionais entre as variáveis, os valores gerados devem ser processados para compor a Tabela de Preços.&lt;br /&gt;
&lt;br /&gt;
=== Cadastro tabela de preço ===&lt;br /&gt;
Para criação da tabela de preço, será criada uma tela onde o usuário irá fazer o cadastro da tabela de preço. Nela será possível fazer a inserção e edição de cadastros, não sendo possível excluir qualquer cadastro de tabela de preço já realizado, mas, apenas desativa-los.&lt;br /&gt;
&lt;br /&gt;
Ao entrar na tela o sistema deve apresentar campos de filtros, os quais, o usuário poderá localizar um cadastro já inserido ou realizar edição dos campos descrição e datas inicial e final de vigência. Além, disso no rodapé da tela, terá o acesso para fazer um novo cadastro. na qual, o usuário vai preencher os seguintes campos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Campos de cadastro ====&lt;br /&gt;
* '''Descrição''' -  Campo de texto limitados ao máximo de 70 caracteres;&lt;br /&gt;
* '''Data inicial vigência''' -  Campo de data, onde definirá o inicio da vigência da tabela;&lt;br /&gt;
* '''Data final vigência''' -  Campo de data, onde definirá o final da vigência da tabela;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Uma tabela de preço não poderá ser excluída, só poderá ser desativada ou ativada através dos campos de data inicial e data final. Para desativar, basta colocar a data final inferior a data atual;&lt;br /&gt;
* Caso uma tabela de preço esteja com a data final de vigência vencida, a tabela de preço não será exibida para seleção no cadastro do pedido;&lt;br /&gt;
* Os campos de datas não serão obrigatórios. Quando não estiverem preenchidos, indica que aquela tabela estará disponível para uso;&lt;br /&gt;
* Não será possível utilizar a integração e cadastro da tabela de preço ao mesmo tempo, sendo necessário que haja uma única escolha: Integrar a tabela de preço do ERP ao GeoSales ou cadastrar a tabela de preço no próprio GeoSales. Caso tentem utilizar os dois cadastros ao mesmo tempo ERP e GeoSales, a integração apagará todos os registros cadastrados no GeoSales.&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
[[Arquivo:Tabelapreco.jpg|500px]] &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tabelapreco2.jpg|500px]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Declaração de variáveis ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dentro da tela de Variáveis de preço, deve ser possível definir uma variável de forma livre, mas que atenda as seguintes regras:&lt;br /&gt;
&lt;br /&gt;
* O campo chave, que será utilizado como referência na formula de preço, não deve conter caracteres especiais, espaço em branco e nao ser mais que 8 caracteres&lt;br /&gt;
* A variável deve estar associada a um produto ou uma tabela de preço&lt;br /&gt;
* Para valores do tipo '''numérico (18,6)''', serão aceitos como possibilidade, podendo ser positivos ou negativos.&lt;br /&gt;
* Será criado um log de históricos de alterações de valores destas variáveis e passível de ser exportado em relatórios em excel.&lt;br /&gt;
&lt;br /&gt;
==== Campos de cadastro ====&lt;br /&gt;
&lt;br /&gt;
* '''Descrição''' -  Campo de texto limitados ao máximo de 70 caracteres;&lt;br /&gt;
* '''Chave''' -  Campo de texto de 8 caracteres;&lt;br /&gt;
* '''Produto / Tabela''' -  A seleção de uma produto ou de uma tabela, dados previamente alimentados;&lt;br /&gt;
* '''Valor''' -  Campo numérico(18:6);&lt;br /&gt;
&lt;br /&gt;
A chave poderá ser associada a mais de um produto/tabela, mas o valor é específico pela unidade de um destes dois atributos.&lt;br /&gt;
&lt;br /&gt;
=== Definição da formula de preço ===&lt;br /&gt;
&lt;br /&gt;
* Será necessário selecionar uma tabela de preço, a organização de venda e um ou mais produtos aos quais o preço deve ser inserido.&lt;br /&gt;
* Para a regra de preço teremos que informar a '''formula''' do preço mínimo, sugerido e máximo com a quantidade mínima, que valida sua aplicação.&lt;br /&gt;
* Nos campos de preço (mínimo, sugerido e máximo) teremos um espaço para a inserção da fórmula para composição de preço. Esta fórmula fará a relação matemática entre as variáveis criadas no processo anterior, por meio de '''operadores matemáticos (+, -, *, / )''', organizados em '''RPN''', notação comum para analistas financeiros, sendo bastante difundido, inclusive, na lógica de cálculo das calculadoras HP 12 C.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Será possível visualizar uma prévia da fórmula escrita, além do valor encontrado, a fim de que o usuário possa confirmar os valores que foram inseridos pelas variáveis e seus respectivos operadores.&lt;br /&gt;
&lt;br /&gt;
Como exemplo de notação polonesa reversa, tomemos a expressão '''''(A+B)*C'''''. Em RPN, a notação ficaria '''''AB+C*'''''.&lt;br /&gt;
&lt;br /&gt;
=== Processar tabela ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
É importante frisar que os valores estão vinculados a uma tabela de preços, que consequentemente está vinculada a um cliente, organização de vendas, vendedores, e tabelas afins.&lt;br /&gt;
&lt;br /&gt;
As variáveis comuns a todos os clientes deverão ter valores diferenciados de acordo com a cidade onde a organização de vendas está alocada.&lt;br /&gt;
Há dois grupos de variáveis: aquelas que são relacionadas ao '''produto''' em si (tamanho, cor, embalagem, Tipo) e aquelas relacionadas à '''Tabela''' (Valor de partida, comissão promotor, frete, por exemplo). É importante determinar corretamente para qual grupo tal variável estará vinculada.&lt;br /&gt;
&lt;br /&gt;
Se mais de um produto possui a mesma característica, será possível fazer a precificação por grupos de produtos.&lt;br /&gt;
&lt;br /&gt;
== Cenários ==&lt;br /&gt;
&lt;br /&gt;
===DICIONÁRIO DE DADOS ===&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! TABELA &lt;br /&gt;
! DESCRIÇÃO&lt;br /&gt;
! INICIO DA VIGÊNCIA&lt;br /&gt;
! FINAL DA VIGÊNCIA &lt;br /&gt;
|-&lt;br /&gt;
| 01  || TABELA SP || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| 02 || TABELA RJ || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| 03 ||TABELA RS ||01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| 04 || TABELA SP - CARREFU || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| 05  || TABELA BA || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| 06 || TABELA ES || 01/05/2020 || 01/01/2022&lt;br /&gt;
|- &lt;br /&gt;
| 07 || Contrato de Fidelidade ||01/05/2020 || 01/01/2022&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Cenário 1 ===&lt;br /&gt;
&lt;br /&gt;
Elaborando o preço do produto 'P001' para o cliente 'C001' por um período de 6 meses.&lt;br /&gt;
&lt;br /&gt;
No portal GeoSales, na tela de variáveis, serão utilizadas as seguintes informações:&lt;br /&gt;
&lt;br /&gt;
Enumeração das variáveis&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 106,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 0,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1,02 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,02 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Pelo exposto, temos que 7 variáveis foram declaradas. As fórmulas que devemos gerar (Fórmula de valor mínimo, fórmula de valor Sugerido e Formula de Valor Máximo) serão derivadas destas variáveis que apontamos. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || Fc || / || 70,66 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Ce || + || 82,86 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Fr || + || 82,66 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Pr || * || 84,52 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Qu || * || 84,52 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Cf || * || 86,21 || F&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P = PpFc/Ce+Fr+Pr*Qu*Cf*&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ao final do processo, a fórmula irá  apresentar o valor final: '''&amp;quot;R$ 86,21&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 2 ===&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P002' para o cliente 'C002'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,11 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || P1 || + || 113,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 75,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 87,86 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Fr || + || 90,86 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Pr || * || 90,86 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Qu || * || 90,86 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Cf || * || 100,86 || G&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P= PpP1+Fc/Ce+Fr+Pr*Qu*Cf*&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao final do processo de cálculo da fórmula, o valor do preço será '''&amp;quot;R$ 100,86&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 3 ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P003' para o cliente 'C003'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ -3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 8,67 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce2 || Custo de Embalagem 2 || R$ 2,00 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 2,5 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| K || Constante || 23,67 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp|| P1 || + || 107,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 71,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 80,33 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Ce2 || + || 82,33 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Fr || + || 84,83 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Pr || * || 84,83 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Qu || * || 84,83 || G&lt;br /&gt;
|-&lt;br /&gt;
| 8 || G || Cf || * || 84,83 || H&lt;br /&gt;
|-&lt;br /&gt;
| 9 || H || K || + || 108,50 || I&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P= PpP1+Fc/Ce+Ce2+Fr+Pr*Qu*Cf*K+&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao final do cálculo da forma, o valor final do preço será: '''&amp;quot;R$ 108,50&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--[[arquivo:formula1.png]]&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço2.png | 600 px]]&lt;br /&gt;
&lt;br /&gt;
Na formula acima, as somas de variaveis são agrupadas em blocos, multiplicando-se entre si. A relação entre os somatórios pode ser representada por&lt;br /&gt;
&lt;br /&gt;
[[arquivo:produto1.png | 200 px]]&lt;br /&gt;
&lt;br /&gt;
Portando, a equação de formação de preço pode ser representada da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ou pelo produtório&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço1.png]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A composição de preço tem como objetivo construir um preço de venda. Esse cadastro conta com tipos de variáveis para compor preço. Para que a composição de preço seja aplicada corretamente no cadastro do pedido, é necessário que as seguintes premissas sejam atendidas.&lt;br /&gt;
&lt;br /&gt;
=== Composição de preço ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Visto que há variação de preços de produtos para diferentes localidades, a formula criada para a composição de preços  deverá, além de compor toda a regra de cálculo de precificação de determinado produto, a sua parametrização vinculada ao seu respectivo Estado, Cidade e Filial. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em outras palavras, através da composição de preço, o usuário poderá informar a fórmula que o sistema irá aplicar para definir o preço unitário do produto. Essa regra poderá ser parametrizado por: filial, estado e cidade.&lt;br /&gt;
&lt;br /&gt;
== Regras de Negócios ==&lt;br /&gt;
&lt;br /&gt;
'''[RN1] - ''' Não poderá conter a mesma regra para o mesmo estado e filial;&lt;br /&gt;
&lt;br /&gt;
'''[RN2] - ''' Não deverá haver sobreposição de cadastros, e sim edição deste cadastro. Caso o usuário tente cadastrar o mesmo cenário mais de uma vez, a plataforma irá alertar informando que já existe uma regra, e que essa regra poderá ser sobreposta;&lt;br /&gt;
&lt;br /&gt;
'''[RN3] - ''' Essa funcionalidade será desenvolvida exclusivamente no GeoSales EVO.&lt;br /&gt;
&lt;br /&gt;
'''[RN4] - ''' Durante o processo, o portal não deverá travar, ou seja, o batch irá apresentar os dados apenas referentes às variáveis relacionadas (via GSOload). A medida visa evitar um carregamento excessivamente pesado de dados para determinada função. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''[RN5] - ''' Os históricos do log de alterações das variáveis ficarão registrados por um período de 1 (um) ano.&lt;br /&gt;
&lt;br /&gt;
'''[RN6] - ''' Um determinado produto poderá ser vinculado a mais de um grupo, mas a quantidade deve ser diferente.&lt;br /&gt;
&lt;br /&gt;
'''[RN7] - ''' A chave poderá ser associada a mais de um produto/tabela, mas o valor é específico pela unidade de um destes dois atributos.&lt;br /&gt;
&lt;br /&gt;
== Aprovação ==&lt;br /&gt;
&lt;br /&gt;
Considero aprovada a documentação da funcionalidade especificada acima, e autorizo a implementação da mesma no Sistema GeoSales, em nome da Organização a qual estou vinculado. &lt;br /&gt;
&lt;br /&gt;
=== GeoSales ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Desenvolvimento - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|- &lt;br /&gt;
| Integração - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
| Configurações - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Empresa solicitante === &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
! Assinatura&lt;br /&gt;
|-&lt;br /&gt;
| Gerente TI - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente de Projeto - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente Comercial - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Leo2s</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=15020</id>
		<title>Precificação</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=15020"/>
		<updated>2021-04-08T19:15:49Z</updated>

		<summary type="html">&lt;p&gt;Leo2s: /* Cenários */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Histórico de Alterações ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data&lt;br /&gt;
! Quem &lt;br /&gt;
! Comentários &lt;br /&gt;
|-&lt;br /&gt;
| 01/10/2020  || Ana Júlia || Criação do documento &lt;br /&gt;
|-&lt;br /&gt;
| 01/04/2021 || João Ramon || Atualização do documento&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
&lt;br /&gt;
No processo de formação de preços, conta-se com um número definido de variáveis que irão fazer a composição do valor final que será apresentado ao cliente final. Informações como custos operacionais, inclusão de markups, fatores de compensação por quebra e/ou comissionamento de venda devem estar contemplados na composição dos preços. A empresa deseja fazer esta composição dentro da Plataforma GeoSales EVO, inserindo todas as informações de custo, taxas e demais dados customizáveis, permitindo que o próprio cliente consiga fazer esta composição.&lt;br /&gt;
&lt;br /&gt;
O cenário de precificação atual não possui um processo uniformizado para cada cliente. Portanto, a necessidade de criar um processo padronizado para composição de preços, assim como a atualização customizável de algumas dessas variáveis, por se tratarem de variáveis cujos valores podem oscilar por motivos externos (oscilações de mercado, variação na política de preços, etc), é imperativa.&lt;br /&gt;
&lt;br /&gt;
== Solução ==&lt;br /&gt;
&lt;br /&gt;
Visto que a formação de preços, e seu processo de elaboração, devem ser totalmente customizáveis pelo cliente, primeiramente deve ser possível que ele não apenas determine quais as variáveis e seus respectivos valores devem ser atribuídos na plataforma para precificação, mas também como estas variáveis se relacionarão matematicamente, a fim de formular um preço baseado nas entradas fornecidas pelo cliente. Além disso, tais variáveis, uma vez inseridas no cadastro de preços, deverão ser passíveis de edição, feitas pelo próprio cliente, de forma manual.&lt;br /&gt;
&lt;br /&gt;
Como instrumento de parametrização das fórmulas contendo as variáveis criadas e seus operadores apropriados, será utilizada a '''''notação polonesa  reversa (RPN)''''', ferramenta de uso familiar a pessoas ligadas ao trabalho que envolva matemática financeira. Assim, a formação de preço deverá ser mais flexível e intuitiva na sua formação, além de facilitar em eventuais futuras modificações. As formulas serão definidas dentro de uma tabela de preço para um determinado grupo de produto facilitando o cadastro. &lt;br /&gt;
&lt;br /&gt;
Também visando a facilidade da manutenção dos valores de cada variável da fórmula, iremos construir o preço por um conjunto de parâmetros, podendo ser definido de forma atrelada às seguintes dimensões: produto e tabela de preço.&lt;br /&gt;
&lt;br /&gt;
Após a definição dos parâmetros, a fórmula será construída por meio da utilização destes. Finalizando esta etapa, basta pedir para processar a tabela, onde a mesma passará a ser vigente para a equipe de venda.&lt;br /&gt;
&lt;br /&gt;
== Implementação ==&lt;br /&gt;
&lt;br /&gt;
O processo terá como bases os seguintes passos: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Criação de Tabela;&lt;br /&gt;
&amp;lt;!-- # para inserção de Variáveis e/ou aproveitamento de Tabela existente; --&amp;gt;&lt;br /&gt;
# Definição de Variáveis que deverão compor a fórmula de criação de preço, além da definição do atributo a qual tal variável está vinculada (produto ou Tabela);&lt;br /&gt;
# Definição de fórmula de formação de preços, utilizando RPN, e vinculações a grupos de produtos;&lt;br /&gt;
# Concluída a fórmula, com as relações operacionais entre as variáveis, os valores gerados devem ser processados para compor a Tabela de Preços.&lt;br /&gt;
&lt;br /&gt;
=== Cadastro tabela de preço ===&lt;br /&gt;
Para criação da tabela de preço, será criada uma tela onde o usuário irá fazer o cadastro da tabela de preço. Nela será possível fazer a inserção e edição de cadastros, não sendo possível excluir qualquer cadastro de tabela de preço já realizado, mas, apenas desativa-los.&lt;br /&gt;
&lt;br /&gt;
Ao entrar na tela o sistema deve apresentar campos de filtros, os quais, o usuário poderá localizar um cadastro já inserido ou realizar edição dos campos descrição e datas inicial e final de vigência. Além, disso no rodapé da tela, terá o acesso para fazer um novo cadastro. na qual, o usuário vai preencher os seguintes campos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Campos de cadastro ====&lt;br /&gt;
* '''Descrição''' -  Campo de texto limitados ao máximo de 70 caracteres;&lt;br /&gt;
* '''Data inicial vigência''' -  Campo de data, onde definirá o inicio da vigência da tabela;&lt;br /&gt;
* '''Data final vigência''' -  Campo de data, onde definirá o final da vigência da tabela;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Uma tabela de preço não poderá ser excluída, só poderá ser desativada ou ativada através dos campos de data inicial e data final. Para desativar, basta colocar a data final inferior a data atual;&lt;br /&gt;
* Caso uma tabela de preço esteja com a data final de vigência vencida, a tabela de preço não será exibida para seleção no cadastro do pedido;&lt;br /&gt;
* Os campos de datas não serão obrigatórios. Quando não estiverem preenchidos, indica que aquela tabela estará disponível para uso;&lt;br /&gt;
* Não será possível utilizar a integração e cadastro da tabela de preço ao mesmo tempo, sendo necessário que haja uma única escolha: Integrar a tabela de preço do ERP ao GeoSales ou cadastrar a tabela de preço no próprio GeoSales. Caso tentem utilizar os dois cadastros ao mesmo tempo ERP e GeoSales, a integração apagará todos os registros cadastrados no GeoSales.&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
[[Arquivo:Tabelapreco.jpg|500px]] &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tabelapreco2.jpg|500px]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Declaração de variáveis ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dentro da tela de Variáveis de preço, deve ser possível definir uma variável de forma livre, mas que atenda as seguintes regras:&lt;br /&gt;
&lt;br /&gt;
* O campo chave, que será utilizado como referência na formula de preço, não deve conter caracteres especiais, espaço em branco e nao ser mais que 8 caracteres&lt;br /&gt;
* A variável deve estar associada a um produto ou uma tabela de preço&lt;br /&gt;
* Para valores do tipo '''numérico (18,6)''', serão aceitos como possibilidade, podendo ser positivos ou negativos.&lt;br /&gt;
* Será criado um log de históricos de alterações de valores destas variáveis e passível de ser exportado em relatórios em excel.&lt;br /&gt;
&lt;br /&gt;
==== Campos de cadastro ====&lt;br /&gt;
&lt;br /&gt;
* '''Descrição''' -  Campo de texto limitados ao máximo de 70 caracteres;&lt;br /&gt;
* '''Chave''' -  Campo de texto de 8 caracteres;&lt;br /&gt;
* '''Produto / Tabela''' -  A seleção de uma produto ou de uma tabela, dados previamente alimentados;&lt;br /&gt;
* '''Valor''' -  Campo numérico(18:6);&lt;br /&gt;
&lt;br /&gt;
A chave poderá ser associada a mais de um produto/tabela, mas o valor é específico pela unidade de um destes dois atributos.&lt;br /&gt;
&lt;br /&gt;
=== Definição da formula de preço ===&lt;br /&gt;
&lt;br /&gt;
* Será necessário selecionar uma tabela de preço, a organização de venda e um ou mais produtos aos quais o preço deve ser inserido.&lt;br /&gt;
* Para a regra de preço teremos que informar a '''formula''' do preço mínimo, sugerido e máximo com a quantidade mínima, que valida sua aplicação.&lt;br /&gt;
* Nos campos de preço (mínimo, sugerido e máximo) teremos um espaço para a inserção da fórmula para composição de preço. Esta fórmula fará a relação matemática entre as variáveis criadas no processo anterior, por meio de '''operadores matemáticos (+, -, *, / )''', organizados em '''RPN''', notação comum para analistas financeiros, sendo bastante difundido, inclusive, na lógica de cálculo das calculadoras HP 12 C.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Será possível visualizar uma prévia da fórmula escrita, além do valor encontrado, a fim de que o usuário possa confirmar os valores que foram inseridos pelas variáveis e seus respectivos operadores.&lt;br /&gt;
&lt;br /&gt;
Como exemplo de notação polonesa reversa, tomemos a expressão '''''(A+B)*C'''''. Em RPN, a notação ficaria '''''AB+C*'''''.&lt;br /&gt;
&lt;br /&gt;
=== Processar tabela ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
É importante frisar que os valores estão vinculados a uma tabela de preços, que consequentemente está vinculada a um cliente, organização de vendas, vendedores, e tabelas afins.&lt;br /&gt;
&lt;br /&gt;
As variáveis comuns a todos os clientes deverão ter valores diferenciados de acordo com a cidade onde a organização de vendas está alocada.&lt;br /&gt;
Há dois grupos de variáveis: aquelas que são relacionadas ao '''produto''' em si (tamanho, cor, embalagem, Tipo) e aquelas relacionadas à '''Tabela''' (Valor de partida, comissão promotor, frete, por exemplo). É importante determinar corretamente para qual grupo tal variável estará vinculada.&lt;br /&gt;
&lt;br /&gt;
Se mais de um produto possui a mesma característica, será possível fazer a precificação por grupos de produtos.&lt;br /&gt;
&lt;br /&gt;
== Cenários ==&lt;br /&gt;
&lt;br /&gt;
===DICIONÁRIO DE DADOS ===&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! TABELA &lt;br /&gt;
! DESCRIÇÃO&lt;br /&gt;
! INICIO DA VIGÊNCIA&lt;br /&gt;
! FINAL DA VIGÊNCIA &lt;br /&gt;
|-&lt;br /&gt;
| 01  || TABELA SP || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| 02 || TABELA RJ || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| 03 ||TABELA RS ||01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| 04 || TABELA SP - CARREFU || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| 05  || Promotor || 01/05/2020 || 01/01/2022&lt;br /&gt;
|-&lt;br /&gt;
| 06 || Fator Quebra || 01/05/2020 || 01/01/2022&lt;br /&gt;
|- &lt;br /&gt;
| 07 || Contrato de Fidelidade ||01/05/2020 || 01/01/2022&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Cenário 1 ===&lt;br /&gt;
&lt;br /&gt;
Elaborando o preço do produto 'P001' para o cliente 'C001' por um período de 6 meses.&lt;br /&gt;
&lt;br /&gt;
No portal GeoSales, na tela de variáveis, serão utilizadas as seguintes informações:&lt;br /&gt;
&lt;br /&gt;
Enumeração das variáveis&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 106,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 0,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1,02 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,02 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Pelo exposto, temos que 7 variáveis foram declaradas. As fórmulas que devemos gerar (Fórmula de valor mínimo, fórmula de valor Sugerido e Formula de Valor Máximo) serão derivadas destas variáveis que apontamos. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || Fc || / || 70,66 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Ce || + || 82,86 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Fr || + || 82,66 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Pr || * || 84,52 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Qu || * || 84,52 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Cf || * || 86,21 || F&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P = PpFc/Ce+Fr+Pr*Qu*Cf*&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ao final do processo, a fórmula irá  apresentar o valor final: '''&amp;quot;R$ 86,21&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 2 ===&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P002' para o cliente 'C002'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,11 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || P1 || + || 113,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 75,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 87,86 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Fr || + || 90,86 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Pr || * || 90,86 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Qu || * || 90,86 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Cf || * || 100,86 || G&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P= PpP1+Fc/Ce+Fr+Pr*Qu*Cf*&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao final do processo de cálculo da fórmula, o valor do preço será '''&amp;quot;R$ 100,86&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 3 ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P003' para o cliente 'C003'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ -3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 8,67 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce2 || Custo de Embalagem 2 || R$ 2,00 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 2,5 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| K || Constante || 23,67 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp|| P1 || + || 107,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 71,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 80,33 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Ce2 || + || 82,33 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Fr || + || 84,83 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Pr || * || 84,83 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Qu || * || 84,83 || G&lt;br /&gt;
|-&lt;br /&gt;
| 8 || G || Cf || * || 84,83 || H&lt;br /&gt;
|-&lt;br /&gt;
| 9 || H || K || + || 108,50 || I&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;P= PpP1+Fc/Ce+Ce2+Fr+Pr*Qu*Cf*K+&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao final do cálculo da forma, o valor final do preço será: '''&amp;quot;R$ 108,50&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--[[arquivo:formula1.png]]&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço2.png | 600 px]]&lt;br /&gt;
&lt;br /&gt;
Na formula acima, as somas de variaveis são agrupadas em blocos, multiplicando-se entre si. A relação entre os somatórios pode ser representada por&lt;br /&gt;
&lt;br /&gt;
[[arquivo:produto1.png | 200 px]]&lt;br /&gt;
&lt;br /&gt;
Portando, a equação de formação de preço pode ser representada da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ou pelo produtório&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço1.png]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A composição de preço tem como objetivo construir um preço de venda. Esse cadastro conta com tipos de variáveis para compor preço. Para que a composição de preço seja aplicada corretamente no cadastro do pedido, é necessário que as seguintes premissas sejam atendidas.&lt;br /&gt;
&lt;br /&gt;
=== Composição de preço ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Visto que há variação de preços de produtos para diferentes localidades, a formula criada para a composição de preços  deverá, além de compor toda a regra de cálculo de precificação de determinado produto, a sua parametrização vinculada ao seu respectivo Estado, Cidade e Filial. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em outras palavras, através da composição de preço, o usuário poderá informar a fórmula que o sistema irá aplicar para definir o preço unitário do produto. Essa regra poderá ser parametrizado por: filial, estado e cidade.&lt;br /&gt;
&lt;br /&gt;
== Regras de Negócios ==&lt;br /&gt;
&lt;br /&gt;
'''[RN1] - ''' Não poderá conter a mesma regra para o mesmo estado e filial;&lt;br /&gt;
&lt;br /&gt;
'''[RN2] - ''' Não deverá haver sobreposição de cadastros, e sim edição deste cadastro. Caso o usuário tente cadastrar o mesmo cenário mais de uma vez, a plataforma irá alertar informando que já existe uma regra, e que essa regra poderá ser sobreposta;&lt;br /&gt;
&lt;br /&gt;
'''[RN3] - ''' Essa funcionalidade será desenvolvida exclusivamente no GeoSales EVO.&lt;br /&gt;
&lt;br /&gt;
'''[RN4] - ''' Durante o processo, o portal não deverá travar, ou seja, o batch irá apresentar os dados apenas referentes às variáveis relacionadas (via GSOload). A medida visa evitar um carregamento excessivamente pesado de dados para determinada função. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''[RN5] - ''' Os históricos do log de alterações das variáveis ficarão registrados por um período de 1 (um) ano.&lt;br /&gt;
&lt;br /&gt;
'''[RN6] - ''' Um determinado produto poderá ser vinculado a mais de um grupo, mas a quantidade deve ser diferente.&lt;br /&gt;
&lt;br /&gt;
'''[RN7] - ''' A chave poderá ser associada a mais de um produto/tabela, mas o valor é específico pela unidade de um destes dois atributos.&lt;br /&gt;
&lt;br /&gt;
== Aprovação ==&lt;br /&gt;
&lt;br /&gt;
Considero aprovada a documentação da funcionalidade especificada acima, e autorizo a implementação da mesma no Sistema GeoSales, em nome da Organização a qual estou vinculado. &lt;br /&gt;
&lt;br /&gt;
=== GeoSales ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Desenvolvimento - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|- &lt;br /&gt;
| Integração - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
| Configurações - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Empresa solicitante === &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
! Assinatura&lt;br /&gt;
|-&lt;br /&gt;
| Gerente TI - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente de Projeto - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente Comercial - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Leo2s</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=14996</id>
		<title>Precificação</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=14996"/>
		<updated>2021-04-08T18:38:01Z</updated>

		<summary type="html">&lt;p&gt;Leo2s: /* Implementação */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Histórico de Alterações ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data&lt;br /&gt;
! Quem &lt;br /&gt;
! Comentários &lt;br /&gt;
|-&lt;br /&gt;
| 01/10/2020  || Ana Júlia || Criação do documento &lt;br /&gt;
|-&lt;br /&gt;
| 01/04/2021 || João Ramon || Atualização do documento&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
&lt;br /&gt;
No processo de formação de preços, conta-se com um número definido de variáveis que irão fazer a composição do valor final que será apresentado ao cliente final. Informações como custos operacionais, inclusão de markups, fatores de compensação por quebra e/ou comissionamento de venda devem estar contemplados na composição dos preços. A empresa deseja fazer esta composição dentro da Plataforma GeoSales EVO, inserindo todas as informações de custo, taxas e demais dados customizáveis, permitindo que o próprio cliente consiga fazer esta composição. &amp;lt;br&amp;gt;&lt;br /&gt;
O cenário de precificação atual não possui um processo uniformizado para cada cliente. Portanto, a necessidade de criar um processo padronizado para composição de preços, assim como a atualização customizável de algumas dessas variáveis, por se tratarem de variáveis cujos valores podem oscilar por motivos externos (oscilações de mercado, variação na política de preços, etc), é imperativa.&lt;br /&gt;
&lt;br /&gt;
== Solução ==&lt;br /&gt;
&lt;br /&gt;
Visto que a formação de preços, e seu processo de elaboração, devem ser totalmente customizáveis pelo cliente, primeiramente deve ser possível que ele não apenas determine quais as variáveis e seus respectivos valores devem ser atribuídos na plataforma para precificação, mas também como estas variáveis se relacionarão matematicamente, a fim de formular um preço baseado nas entradas fornecidas pelo cliente. Além disso, tais variáveis, uma vez inseridas no cadastro de preços, deverão ser passíveis de edição, feitas pelo próprio cliente, de forma manual.&lt;br /&gt;
&lt;br /&gt;
Como instrumento de parametrização das fórmulas contendo as variáveis criadas e seus operadores apropriados, será utilizada a '''''notação polonesa  reversa (RPN)''''', ferramenta de uso familiar a pessoas ligadas ao trabalho que envolva matemática financeira. Assim, a formação de preço deverá ser mais flexível e intuitiva na sua formação, além de facilitar em eventuais futuras modificações. As formulas serão definidas dentro de uma tabela de preço para um determinado grupo de produto facilitando o cadastro. &lt;br /&gt;
&lt;br /&gt;
Também visando a facilidade da manutenção dos valores de cada variável da fórmula, iremos construir o preço por um conjunto de parâmetros, podendo ser definido de forma atrelada às seguintes dimensões: produto e tabela de preço.&lt;br /&gt;
&lt;br /&gt;
Após a definição dos parâmetros, a fórmula será construída por meio da utilização destes. Finalizando esta etapa, basta pedir para processar a tabela, onde a mesma passará a ser vigente para a equipe de venda.&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Implementação ==&lt;br /&gt;
&lt;br /&gt;
O processo terá como bases os seguintes passos: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. Criação de Tabela; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--2. para inserção de Variáveis e/ou aproveitamento de Tabela existente; &amp;lt;br&amp;gt;--&amp;gt;&lt;br /&gt;
2. Definição de Variáveis que deverão compor a fórmula de criação de preço, além da definição do atributo a qual tal variável está vinculada (produto ou Tabela);&amp;lt;br&amp;gt;&lt;br /&gt;
3. Definição de fórmula de formação de preços, utilizando RPN, e vinculações a grupos de produtos;&amp;lt;br&amp;gt;&lt;br /&gt;
4. Concluída a fórmula, com as relações operacionais entre as variáveis, os valores gerados devem ser processados para compor a Tabela de Preços.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cadastro tabela de preço'''&lt;br /&gt;
&amp;lt;dd&amp;gt; Para criação da tabela de preço, será criada uma tela onde o usuário irá fazer o cadastro da tabela de preço. Nela será possível fazer a inserção e edição de cadastros, não sendo possível excluir qualquer cadastro de tabela de preço já realizado, mas, apenas desativa-los.  &lt;br /&gt;
&amp;lt;dd&amp;gt;Ao entrar na tela o sistema deve apresentar campos de filtros, os quais, o usuário poderá localizar um cadastro já inserido ou realizar edição dos campos descrição e datas inicial e final de vigência. Além, disso no rodapé da tela, terá o acesso para fazer um novo cadastro. na qual, o usuário vai preencher os seguintes campos.&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dd&amp;gt;&lt;br /&gt;
'''Campos de cadastro:'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Descrição''' -  Campo de texto limitados ao máximo de 70 caracteres;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Data inicial vigência''' -  Campo de data, onde definirá o inicio da vigência da tabela;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Data final vigência''' -  Campo de data, onde definirá o final da vigência da tabela;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Uma tabela de preço não poderá ser excluída, só poderá ser desativada ou ativada através dos campos de data inicial e data final. Para desativar, basta colocar a data final inferior a data atual;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Caso uma tabela de preço esteja com a data final de vigência vencida, a tabela de preço não será exibida para seleção no cadastro do pedido;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Os campos de datas não serão obrigatórios. Quando não estiverem preenchidos, indica que aquela tabela estará disponível para uso;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Não será possível utilizar a integração e cadastro da tabela de preço ao mesmo tempo, sendo necessário que haja uma única escolha: Integrar a tabela de preço do ERP ao GeoSales ou cadastrar a tabela de preço no próprio GeoSales. Caso tentem utilizar os dois cadastros ao mesmo tempo ERP e GeoSales, a integração apagará todos os registros cadastrados no GeoSales.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
[[Arquivo:Tabelapreco.jpg|500px]] &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tabelapreco2.jpg|500px]] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Declaração de variáveis''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;dd&amp;gt;&lt;br /&gt;
Dentro da tela de Variáveis de preço, deve ser possível definir uma variável de forma livre, mas que atenda as seguintes regras:&lt;br /&gt;
&amp;lt;li&amp;gt; O campo chave, que será utilizado como referência na formula de preço, não deve conter caracteres especiais, espaço em branco e nao ser mais que 8 caracteres&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; A variável deve estar associada a um produto ou uma tabela de preço&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Para valores do tipo '''numérico (18,6)''', serão aceitos como possibilidade, podendo ser positivos ou negativos.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Será criado um log de históricos de alterações de valores destas variáveis e passível de ser exportado em relatórios em excel.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Campos de cadastro:'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Descrição''' -  Campo de texto limitados ao máximo de 70 caracteres;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Chave''' -  Campo de texto de 8 caracteres;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Produto / Tabela''' -  A seleção de uma produto ou de uma tabela, dados previamente alimentados;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Valor''' -  Campo numérico(18:6);&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
A chave poderá ser associada a mais de um produto/tabela, mas o valor é específico pela unidade de um destes dois atributos.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
'''Definição da formula de preço'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Será necessário selecionar uma tabela de preço, a organização de venda e um ou mais produtos aos quais o preço deve ser inserido.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Para a regra de preço teremos que informar a '''formula''' do preço mínimo, sugerido e máximo com a quantidade mínima, que valida sua aplicação.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Nos campos de preço (mínimo, sugerido e máximo) teremos um espaço para a inserção da fórmula para composição de preço. Esta fórmula fará a relação matemática entre as variáveis criadas no processo anterior, por meio de '''operadores matemáticos (+, -, *, / )''', organizados em '''RPN''', notação comum para analistas financeiros, sendo bastante difundido, inclusive, na lógica de cálculo das calculadoras HP 12 C.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Será possível visualizar uma prévia da fórmula escrita, além do valor encontrado, a fim de que o usuário possa confirmar os valores que foram inseridos pelas variáveis e seus respectivos operadores.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como exemplo de notação polonesa reversa, tomemos a expressão '''''(A+B)*C'''''. Em RPN, a notação ficaria '''''AB+C*'''''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Processar tabela'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
É importante frisar que os valores estão vinculados a uma tabela de preços, que consequentemente está vinculada a um cliente, organização de vendas, vendedores, e tabelas afins.&lt;br /&gt;
&lt;br /&gt;
As variáveis comuns a todos os clientes deverão ter valores diferenciados de acordo com a cidade onde a organização de vendas está alocada.&lt;br /&gt;
Há dois grupos de variáveis: aquelas que são relacionadas ao '''produto''' em si (tamanho, cor, embalagem, Tipo) e aquelas relacionadas à '''Tabela''' (Valor de partida, comissão promotor, frete, por exemplo). É importante determinar corretamente para qual grupo tal variável estará vinculada.&lt;br /&gt;
&lt;br /&gt;
Se mais de um produto possui a mesma característica, será possível fazer a precificação por grupos de produtos.&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
== Cenário 1 ==&lt;br /&gt;
&lt;br /&gt;
Elaborando o preço do produto 'P001' para o cliente 'C001':&lt;br /&gt;
&lt;br /&gt;
Enumeração das variáveis&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 106,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 0,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1,02 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,02 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || Fc || / || 70,66 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Ce || + || 82,86 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Fr || + || 82,66 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Pr || * || 84,52 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Qu || * || 84,52 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Cf || * || 86,21 || F&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''P= PpFc/Ce+Fr+Pr*Qu*Cf*'''''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ao final do processo, a fórmula irá  apresentar o valor final: '''&amp;quot;R$ 86,21&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 2 ===&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P002' para o cliente 'C002'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,11 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || P1 || + || 113,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 75,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 87,86 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Fr || + || 90,86 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Pr || * || 90,86 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Qu || * || 90,86 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Cf || * || 100,86 || G&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''P= PpP1+Fc/Ce+Fr+Pr*Qu*Cf*'''''&lt;br /&gt;
&lt;br /&gt;
Ao final do processo de cálculo da fórmula, o valor do preço será '''&amp;quot;R$ 100,86&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 3 ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P003' para o cliente 'C003'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ -3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 8,67 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce2 || Custo de Embalagem 2 || R$ 2,00 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 2,5 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| K || Constante || 23,67 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp|| P1 || + || 107,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 71,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 80,33 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Ce2 || + || 82,33 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Fr || + || 84,83 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Pr || * || 84,83 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Qu || * || 84,83 || G&lt;br /&gt;
|-&lt;br /&gt;
| 8 || G || Cf || * || 84,83 || H&lt;br /&gt;
|-&lt;br /&gt;
| 9 || H || K || + || 108,50 || I&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''P= PpP1+Fc/Ce+Ce2+Fr+Pr*Qu*Cf*K+'''''&lt;br /&gt;
&lt;br /&gt;
Ao final do cálculo da forma, o valor final do preço será: '''&amp;quot;R$ 108,50&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--[[arquivo:formula1.png]]&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço2.png | 600 px]]&lt;br /&gt;
&lt;br /&gt;
Na formula acima, as somas de variaveis são agrupadas em blocos, multiplicando-se entre si. A relação entre os somatórios pode ser representada por&lt;br /&gt;
&lt;br /&gt;
[[arquivo:produto1.png | 200 px]]&lt;br /&gt;
&lt;br /&gt;
Portando, a equação de formação de preço pode ser representada da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ou pelo produtório&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço1.png]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A composição de preço tem como objetivo construir um preço de venda. Esse cadastro conta com tipos de variáveis para compor preço. Para que a composição de preço seja aplicada corretamente no cadastro do pedido, é necessário que as seguintes premissas sejam atendidas.&lt;br /&gt;
&lt;br /&gt;
=== Composição de preço ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Visto que há variação de preços de produtos para diferentes localidades, a formula criada para a composição de preços  deverá, além de compor toda a regra de cálculo de precificação de determinado produto, a sua parametrização vinculada ao seu respectivo Estado, Cidade e Filial. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em outras palavras, através da composição de preço, o usuário poderá informar a fórmula que o sistema irá aplicar para definir o preço unitário do produto. Essa regra poderá ser parametrizado por: filial, estado e cidade.&lt;br /&gt;
&lt;br /&gt;
== Regras de Negócios ==&lt;br /&gt;
&lt;br /&gt;
'''[RN1] - ''' Não poderá conter a mesma regra para o mesmo estado e filial;&lt;br /&gt;
&lt;br /&gt;
'''[RN2] - ''' Não deverá haver sobreposição de cadastros, e sim edição deste cadastro. Caso o usuário tente cadastrar o mesmo cenário mais de uma vez, a plataforma irá alertar informando que já existe uma regra, e que essa regra poderá ser sobreposta;&lt;br /&gt;
&lt;br /&gt;
'''[RN3] - ''' Essa funcionalidade será desenvolvida exclusivamente no GeoSales EVO.&lt;br /&gt;
&lt;br /&gt;
'''[RN4] - ''' Durante o processo, o portal não deverá travar, ou seja, o batch irá apresentar os dados apenas referentes às variáveis relacionadas (via GSOload). A medida visa evitar um carregamento excessivamente pesado de dados para determinada função. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''[RN5] - ''' Os históricos do log de alterações das variáveis ficarão registrados por um período de 1 (um) ano.&lt;br /&gt;
&lt;br /&gt;
'''[RN6] - ''' Um determinado produto poderá ser vinculado a mais de um grupo, mas a quantidade deve ser diferente.&lt;br /&gt;
&lt;br /&gt;
'''[RN7] - ''' A chave poderá ser associada a mais de um produto/tabela, mas o valor é específico pela unidade de um destes dois atributos.&lt;br /&gt;
&lt;br /&gt;
== Aprovação ==&lt;br /&gt;
&lt;br /&gt;
Considero aprovada a documentação da funcionalidade especificada acima, e autorizo a implementação da mesma no Sistema GeoSales, em nome da Organização a qual estou vinculado. &lt;br /&gt;
&lt;br /&gt;
=== GeoSales ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Desenvolvimento - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|- &lt;br /&gt;
| Integração - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
| Configurações - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Empresa solicitante === &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
! Assinatura&lt;br /&gt;
|-&lt;br /&gt;
| Gerente TI - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente de Projeto - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente Comercial - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Leo2s</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=14994</id>
		<title>Precificação</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=14994"/>
		<updated>2021-04-08T18:36:41Z</updated>

		<summary type="html">&lt;p&gt;Leo2s: /* Implementação */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Histórico de Alterações ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data&lt;br /&gt;
! Quem &lt;br /&gt;
! Comentários &lt;br /&gt;
|-&lt;br /&gt;
| 01/10/2020  || Ana Júlia || Criação do documento &lt;br /&gt;
|-&lt;br /&gt;
| 01/04/2021 || João Ramon || Atualização do documento&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
&lt;br /&gt;
No processo de formação de preços, conta-se com um número definido de variáveis que irão fazer a composição do valor final que será apresentado ao cliente final. Informações como custos operacionais, inclusão de markups, fatores de compensação por quebra e/ou comissionamento de venda devem estar contemplados na composição dos preços. A empresa deseja fazer esta composição dentro da Plataforma GeoSales EVO, inserindo todas as informações de custo, taxas e demais dados customizáveis, permitindo que o próprio cliente consiga fazer esta composição. &amp;lt;br&amp;gt;&lt;br /&gt;
O cenário de precificação atual não possui um processo uniformizado para cada cliente. Portanto, a necessidade de criar um processo padronizado para composição de preços, assim como a atualização customizável de algumas dessas variáveis, por se tratarem de variáveis cujos valores podem oscilar por motivos externos (oscilações de mercado, variação na política de preços, etc), é imperativa.&lt;br /&gt;
&lt;br /&gt;
== Solução ==&lt;br /&gt;
&lt;br /&gt;
Visto que a formação de preços, e seu processo de elaboração, devem ser totalmente customizáveis pelo cliente, primeiramente deve ser possível que ele não apenas determine quais as variáveis e seus respectivos valores devem ser atribuídos na plataforma para precificação, mas também como estas variáveis se relacionarão matematicamente, a fim de formular um preço baseado nas entradas fornecidas pelo cliente. Além disso, tais variáveis, uma vez inseridas no cadastro de preços, deverão ser passíveis de edição, feitas pelo próprio cliente, de forma manual.&lt;br /&gt;
&lt;br /&gt;
Como instrumento de parametrização das fórmulas contendo as variáveis criadas e seus operadores apropriados, será utilizada a '''''notação polonesa  reversa (RPN)''''', ferramenta de uso familiar a pessoas ligadas ao trabalho que envolva matemática financeira. Assim, a formação de preço deverá ser mais flexível e intuitiva na sua formação, além de facilitar em eventuais futuras modificações. As formulas serão definidas dentro de uma tabela de preço para um determinado grupo de produto facilitando o cadastro. &lt;br /&gt;
&lt;br /&gt;
Também visando a facilidade da manutenção dos valores de cada variável da fórmula, iremos construir o preço por um conjunto de parâmetros, podendo ser definido de forma atrelada às seguintes dimensões: produto e tabela de preço.&lt;br /&gt;
&lt;br /&gt;
Após a definição dos parâmetros, a fórmula será construída por meio da utilização destes. Finalizando esta etapa, basta pedir para processar a tabela, onde a mesma passará a ser vigente para a equipe de venda.&lt;br /&gt;
&lt;br /&gt;
== Implementação ==&lt;br /&gt;
&lt;br /&gt;
O processo terá como bases os seguintes passos: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. Criação de Tabela; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--2. para inserção de Variáveis e/ou aproveitamento de Tabela existente; &amp;lt;br&amp;gt;--&amp;gt;&lt;br /&gt;
2. Definição de Variáveis que deverão compor a fórmula de criação de preço, além da definição do atributo a qual tal variável está vinculada (produto ou Tabela);&amp;lt;br&amp;gt;&lt;br /&gt;
3. Definição de fórmula de formação de preços, utilizando RPN, e vinculações a grupos de produtos;&amp;lt;br&amp;gt;&lt;br /&gt;
4. Concluída a fórmula, com as relações operacionais entre as variáveis, os valores gerados devem ser processados para compor a Tabela de Preços.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cadastro tabela de preço'''&lt;br /&gt;
&amp;lt;dd&amp;gt; Para criação da tabela de preço, será criada uma tela onde o usuário irá fazer o cadastro da tabela de preço. Nela será possível fazer a inserção e edição de cadastros, não sendo possível excluir qualquer cadastro de tabela de preço já realizado, mas, apenas desativa-los.  &lt;br /&gt;
&amp;lt;dd&amp;gt;Ao entrar na tela o sistema deve apresentar campos de filtros, os quais, o usuário poderá localizar um cadastro já inserido ou realizar edição dos campos descrição e datas inicial e final de vigência. Além, disso no rodapé da tela, terá o acesso para fazer um novo cadastro. na qual, o usuário vai preencher os seguintes campos.&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dd&amp;gt;&lt;br /&gt;
'''Campos de cadastro:'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Descrição''' -  Campo de texto limitados ao máximo de 70 caracteres;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Data inicial vigência''' -  Campo de data, onde definirá o inicio da vigência da tabela;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Data final vigência''' -  Campo de data, onde definirá o final da vigência da tabela;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Uma tabela de preço não poderá ser excluída, só poderá ser desativada ou ativada através dos campos de data inicial e data final. Para desativar, basta colocar a data final inferior a data atual;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Caso uma tabela de preço esteja com a data final de vigência vencida, a tabela de preço não será exibida para seleção no cadastro do pedido;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Os campos de datas não serão obrigatórios. Quando não estiverem preenchidos, indica que aquela tabela estará disponível para uso;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Não será possível utilizar a integração e cadastro da tabela de preço ao mesmo tempo, sendo necessário que haja uma única escolha: Integrar a tabela de preço do ERP ao GeoSales ou cadastrar a tabela de preço no próprio GeoSales. Caso tentem utilizar os dois cadastros ao mesmo tempo ERP e GeoSales, a integração apagará todos os registros cadastrados no GeoSales.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
[[Arquivo:Tabelapreco.jpg|500px]] &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tabelapreco2.jpg|500px]] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Declaração de variáveis''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;dd&amp;gt;&lt;br /&gt;
Dentro da tela de Variáveis de preço, deve ser possível definir uma variável de forma livre, mas que atenda as seguintes regras:&lt;br /&gt;
&amp;lt;li&amp;gt; O campo chave, que será utilizado como referência na formula de preço, não deve conter caracteres especiais, espaço em branco e nao ser mais que 8 caracteres&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; A variável deve estar associada a um produto ou uma tabela de preço&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Para valores do tipo '''numérico (18,6)''', serão aceitos como possibilidade, podendo ser positivos ou negativos.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Será criado um log de históricos de alterações de valores destas variáveis e passível de ser exportado em relatórios em excel.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Campos de cadastro:'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Descrição''' -  Campo de texto limitados ao máximo de 70 caracteres;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Chave''' -  Campo de texto de 8 caracteres;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Produto / Tabela''' -  A seleção de uma produto ou de uma tabela, dados previamente alimentados;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Valor''' -  Campo numérico(18:6);&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
A chave poderá ser associada a mais de um produto/tabela, mas o valor é específico pela unidade de um destes dois atributos.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
'''Definição da formula de preço'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Será necessário selecionar uma tabela de preço, a organização de venda e um ou mais produtos aos quais o preço deve ser inserido.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Para a regra de preço teremos que informar a '''formula''' do preço mínimo, sugerido e máximo com a quantidade mínima, que valida sua aplicação.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Nos campos de preço (mínimo, sugerido e máximo) teremos um espaço para a inserção da fórmula para composição de preço. Esta fórmula fará a relação matemática entre as variáveis criadas no processo anterior, por meio de '''operadores matemáticos (+, -, *, / )''', organizados em '''RPN''', notação comum para analistas financeiros, sendo bastante difundido, inclusive, na lógica de cálculo das calculadoras HP 12 C.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Será possível visualizar uma prévia da fórmula escrita, além do valor encontrado, a fim de que o usuário possa confirmar os valores que foram inseridos pelas variáveis e seus respectivos operadores.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como exemplo de notação polonesa reversa, tomemos a expressão '''''(A+B)*C'''''. Em RPN, a notação ficaria '''''AB+C*'''''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Processar tabela'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
É importante frisar que os valores estão vinculados a uma tabela de preços, que consequentemente está vinculada a um cliente, organização de vendas, vendedores, e tabelas afins.&lt;br /&gt;
&lt;br /&gt;
As variáveis comuns a todos os clientes deverão ter valores diferenciados de acordo com a cidade onde a organização de vendas está alocada.&lt;br /&gt;
Há dois grupos de variáveis: aquelas que são relacionadas ao '''produto''' em si (tamanho, cor, embalagem, Tipo) e aquelas relacionadas à '''Tabela''' (Valor de partida, comissão promotor, frete, por exemplo). É importante determinar corretamente para qual grupo tal variável estará vinculada.&lt;br /&gt;
&lt;br /&gt;
Se mais de um produto possui a mesma característica, será possível fazer a precificação por grupos de produtos.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 1 ===&lt;br /&gt;
&lt;br /&gt;
Elaborando o preço do produto 'P001' para o cliente 'C001':&lt;br /&gt;
&lt;br /&gt;
Enumeração das variáveis&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 106,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 0,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1,02 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,02 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || Fc || / || 70,66 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Ce || + || 82,86 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Fr || + || 82,66 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Pr || * || 84,52 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Qu || * || 84,52 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Cf || * || 86,21 || F&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''P= PpFc/Ce+Fr+Pr*Qu*Cf*'''''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ao final do processo, a fórmula irá  apresentar o valor final: '''&amp;quot;R$ 86,21&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 2 ===&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P002' para o cliente 'C002'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,11 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || P1 || + || 113,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 75,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 87,86 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Fr || + || 90,86 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Pr || * || 90,86 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Qu || * || 90,86 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Cf || * || 100,86 || G&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''P= PpP1+Fc/Ce+Fr+Pr*Qu*Cf*'''''&lt;br /&gt;
&lt;br /&gt;
Ao final do processo de cálculo da fórmula, o valor do preço será '''&amp;quot;R$ 100,86&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 3 ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P003' para o cliente 'C003'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ -3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 8,67 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce2 || Custo de Embalagem 2 || R$ 2,00 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 2,5 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| K || Constante || 23,67 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp|| P1 || + || 107,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 71,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 80,33 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Ce2 || + || 82,33 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Fr || + || 84,83 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Pr || * || 84,83 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Qu || * || 84,83 || G&lt;br /&gt;
|-&lt;br /&gt;
| 8 || G || Cf || * || 84,83 || H&lt;br /&gt;
|-&lt;br /&gt;
| 9 || H || K || + || 108,50 || I&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''P= PpP1+Fc/Ce+Ce2+Fr+Pr*Qu*Cf*K+'''''&lt;br /&gt;
&lt;br /&gt;
Ao final do cálculo da forma, o valor final do preço será: '''&amp;quot;R$ 108,50&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--[[arquivo:formula1.png]]&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço2.png | 600 px]]&lt;br /&gt;
&lt;br /&gt;
Na formula acima, as somas de variaveis são agrupadas em blocos, multiplicando-se entre si. A relação entre os somatórios pode ser representada por&lt;br /&gt;
&lt;br /&gt;
[[arquivo:produto1.png | 200 px]]&lt;br /&gt;
&lt;br /&gt;
Portando, a equação de formação de preço pode ser representada da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ou pelo produtório&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço1.png]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A composição de preço tem como objetivo construir um preço de venda. Esse cadastro conta com tipos de variáveis para compor preço. Para que a composição de preço seja aplicada corretamente no cadastro do pedido, é necessário que as seguintes premissas sejam atendidas.&lt;br /&gt;
&lt;br /&gt;
=== Composição de preço ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Visto que há variação de preços de produtos para diferentes localidades, a formula criada para a composição de preços  deverá, além de compor toda a regra de cálculo de precificação de determinado produto, a sua parametrização vinculada ao seu respectivo Estado, Cidade e Filial. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em outras palavras, através da composição de preço, o usuário poderá informar a fórmula que o sistema irá aplicar para definir o preço unitário do produto. Essa regra poderá ser parametrizado por: filial, estado e cidade.&lt;br /&gt;
&lt;br /&gt;
== Regras de Negócios ==&lt;br /&gt;
&lt;br /&gt;
'''[RN1] - ''' Não poderá conter a mesma regra para o mesmo estado e filial;&lt;br /&gt;
&lt;br /&gt;
'''[RN2] - ''' Não deverá haver sobreposição de cadastros, e sim edição deste cadastro. Caso o usuário tente cadastrar o mesmo cenário mais de uma vez, a plataforma irá alertar informando que já existe uma regra, e que essa regra poderá ser sobreposta;&lt;br /&gt;
&lt;br /&gt;
'''[RN3] - ''' Essa funcionalidade será desenvolvida exclusivamente no GeoSales EVO.&lt;br /&gt;
&lt;br /&gt;
'''[RN4] - ''' Durante o processo, o portal não deverá travar, ou seja, o batch irá apresentar os dados apenas referentes às variáveis relacionadas (via GSOload). A medida visa evitar um carregamento excessivamente pesado de dados para determinada função. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''[RN5] - ''' Os históricos do log de alterações das variáveis ficarão registrados por um período de 1 (um) ano.&lt;br /&gt;
&lt;br /&gt;
'''[RN6] - ''' Um determinado produto poderá ser vinculado a mais de um grupo, mas a quantidade deve ser diferente.&lt;br /&gt;
&lt;br /&gt;
'''[RN7] - ''' A chave poderá ser associada a mais de um produto/tabela, mas o valor é específico pela unidade de um destes dois atributos.&lt;br /&gt;
&lt;br /&gt;
== Aprovação ==&lt;br /&gt;
&lt;br /&gt;
Considero aprovada a documentação da funcionalidade especificada acima, e autorizo a implementação da mesma no Sistema GeoSales, em nome da Organização a qual estou vinculado. &lt;br /&gt;
&lt;br /&gt;
=== GeoSales ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Desenvolvimento - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|- &lt;br /&gt;
| Integração - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
| Configurações - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Empresa solicitante === &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
! Assinatura&lt;br /&gt;
|-&lt;br /&gt;
| Gerente TI - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente de Projeto - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente Comercial - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Leo2s</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=14992</id>
		<title>Precificação</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=14992"/>
		<updated>2021-04-08T18:35:45Z</updated>

		<summary type="html">&lt;p&gt;Leo2s: /* Processamento da Tabela */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Histórico de Alterações ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data&lt;br /&gt;
! Quem &lt;br /&gt;
! Comentários &lt;br /&gt;
|-&lt;br /&gt;
| 01/10/2020  || Ana Júlia || Criação do documento &lt;br /&gt;
|-&lt;br /&gt;
| 01/04/2021 || João Ramon || Atualização do documento&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
&lt;br /&gt;
No processo de formação de preços, conta-se com um número definido de variáveis que irão fazer a composição do valor final que será apresentado ao cliente final. Informações como custos operacionais, inclusão de markups, fatores de compensação por quebra e/ou comissionamento de venda devem estar contemplados na composição dos preços. A empresa deseja fazer esta composição dentro da Plataforma GeoSales EVO, inserindo todas as informações de custo, taxas e demais dados customizáveis, permitindo que o próprio cliente consiga fazer esta composição. &amp;lt;br&amp;gt;&lt;br /&gt;
O cenário de precificação atual não possui um processo uniformizado para cada cliente. Portanto, a necessidade de criar um processo padronizado para composição de preços, assim como a atualização customizável de algumas dessas variáveis, por se tratarem de variáveis cujos valores podem oscilar por motivos externos (oscilações de mercado, variação na política de preços, etc), é imperativa.&lt;br /&gt;
&lt;br /&gt;
== Solução ==&lt;br /&gt;
&lt;br /&gt;
Visto que a formação de preços, e seu processo de elaboração, devem ser totalmente customizáveis pelo cliente, primeiramente deve ser possível que ele não apenas determine quais as variáveis e seus respectivos valores devem ser atribuídos na plataforma para precificação, mas também como estas variáveis se relacionarão matematicamente, a fim de formular um preço baseado nas entradas fornecidas pelo cliente. Além disso, tais variáveis, uma vez inseridas no cadastro de preços, deverão ser passíveis de edição, feitas pelo próprio cliente, de forma manual.&lt;br /&gt;
&lt;br /&gt;
Como instrumento de parametrização das fórmulas contendo as variáveis criadas e seus operadores apropriados, será utilizada a '''''notação polonesa  reversa (RPN)''''', ferramenta de uso familiar a pessoas ligadas ao trabalho que envolva matemática financeira. Assim, a formação de preço deverá ser mais flexível e intuitiva na sua formação, além de facilitar em eventuais futuras modificações. As formulas serão definidas dentro de uma tabela de preço para um determinado grupo de produto facilitando o cadastro. &lt;br /&gt;
&lt;br /&gt;
Também visando a facilidade da manutenção dos valores de cada variável da fórmula, iremos construir o preço por um conjunto de parâmetros, podendo ser definido de forma atrelada às seguintes dimensões: produto e tabela de preço.&lt;br /&gt;
&lt;br /&gt;
Após a definição dos parâmetros, a fórmula será construída por meio da utilização destes. Finalizando esta etapa, basta pedir para processar a tabela, onde a mesma passará a ser vigente para a equipe de venda. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Dentro desta visão teremos 3 etapas na construção do preço:&lt;br /&gt;
&amp;lt;li&amp;gt;Cadastro dos parâmetros&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Construção da forma&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Processamento da tabela&amp;lt;/li&amp;gt;&lt;br /&gt;
Estes passos serão melhor esclarecidos adiante.--&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Implementação ==&lt;br /&gt;
&lt;br /&gt;
O processo terá como bases os seguintes passos: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. Criação de Tabela; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--2. para inserção de Variáveis e/ou aproveitamento de Tabela existente; &amp;lt;br&amp;gt;--&amp;gt;&lt;br /&gt;
2. Definição de Variáveis que deverão compor a fórmula de criação de preço, além da definição do atributo a qual tal variável está vinculada (produto ou Tabela);&amp;lt;br&amp;gt;&lt;br /&gt;
3. Definição de fórmula de formação de preços, utilizando RPN, e vinculações a grupos de produtos;&amp;lt;br&amp;gt;&lt;br /&gt;
4. Concluída a fórmula, com as relações operacionais entre as variáveis, os valores gerados devem ser processados para compor a Tabela de Preços.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cadastro tabela de preço'''&lt;br /&gt;
&amp;lt;dd&amp;gt; Para criação da tabela de preço, será criada uma tela onde o usuário irá fazer o cadastro da tabela de preço. Nela será possível fazer a inserção e edição de cadastros, não sendo possível excluir qualquer cadastro de tabela de preço já realizado, mas, apenas desativa-los.  &lt;br /&gt;
&amp;lt;dd&amp;gt;Ao entrar na tela o sistema deve apresentar campos de filtros, os quais, o usuário poderá localizar um cadastro já inserido ou realizar edição dos campos descrição e datas inicial e final de vigência. Além, disso no rodapé da tela, terá o acesso para fazer um novo cadastro. na qual, o usuário vai preencher os seguintes campos.&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dd&amp;gt;&lt;br /&gt;
'''Campos de cadastro:'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Descrição''' -  Campo de texto limitados ao máximo de 70 caracteres;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Data inicial vigência''' -  Campo de data, onde definirá o inicio da vigência da tabela;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Data final vigência''' -  Campo de data, onde definirá o final da vigência da tabela;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Uma tabela de preço não poderá ser excluída, só poderá ser desativada ou ativada através dos campos de data inicial e data final. Para desativar, basta colocar a data final inferior a data atual;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Caso uma tabela de preço esteja com a data final de vigência vencida, a tabela de preço não será exibida para seleção no cadastro do pedido;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Os campos de datas não serão obrigatórios. Quando não estiverem preenchidos, indica que aquela tabela estará disponível para uso;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Não será possível utilizar a integração e cadastro da tabela de preço ao mesmo tempo, sendo necessário que haja uma única escolha: Integrar a tabela de preço do ERP ao GeoSales ou cadastrar a tabela de preço no próprio GeoSales. Caso tentem utilizar os dois cadastros ao mesmo tempo ERP e GeoSales, a integração apagará todos os registros cadastrados no GeoSales.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
[[Arquivo:Tabelapreco.jpg|500px]] &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tabelapreco2.jpg|500px]] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Declaração de variáveis''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;dd&amp;gt;&lt;br /&gt;
Dentro da tela de Variáveis de preço, deve ser possível definir uma variável de forma livre, mas que atenda as seguintes regras:&lt;br /&gt;
&amp;lt;li&amp;gt; O campo chave, que será utilizado como referência na formula de preço, não deve conter caracteres especiais, espaço em branco e nao ser mais que 8 caracteres&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; A variável deve estar associada a um produto ou uma tabela de preço&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Para valores do tipo '''numérico (18,6)''', serão aceitos como possibilidade, podendo ser positivos ou negativos.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Será criado um log de históricos de alterações de valores destas variáveis e passível de ser exportado em relatórios em excel.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Campos de cadastro:'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Descrição''' -  Campo de texto limitados ao máximo de 70 caracteres;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Chave''' -  Campo de texto de 8 caracteres;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Produto / Tabela''' -  A seleção de uma produto ou de uma tabela, dados previamente alimentados;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Valor''' -  Campo numérico(18:6);&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
A chave poderá ser associada a mais de um produto/tabela, mas o valor é específico pela unidade de um destes dois atributos.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
'''Definição da formula de preço'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Será necessário selecionar uma tabela de preço, a organização de venda e um ou mais produtos aos quais o preço deve ser inserido.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Para a regra de preço teremos que informar a '''formula''' do preço mínimo, sugerido e máximo com a quantidade mínima, que valida sua aplicação.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Nos campos de preço (mínimo, sugerido e máximo) teremos um espaço para a inserção da fórmula para composição de preço. Esta fórmula fará a relação matemática entre as variáveis criadas no processo anterior, por meio de '''operadores matemáticos (+, -, *, / )''', organizados em '''RPN''', notação comum para analistas financeiros, sendo bastante difundido, inclusive, na lógica de cálculo das calculadoras HP 12 C.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Será possível visualizar uma prévia da fórmula escrita, além do valor encontrado, a fim de que o usuário possa confirmar os valores que foram inseridos pelas variáveis e seus respectivos operadores.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como exemplo de notação polonesa reversa, tomemos a expressão '''''(A+B)*C'''''. Em RPN, a notação ficaria '''''AB+C*'''''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
É importante frisar que os valores estão vinculados a uma tabela de preços, que consequentemente está vinculada a um cliente, organização de vendas, vendedores, e tabelas afins.&lt;br /&gt;
&lt;br /&gt;
As variáveis comuns a todos os clientes deverão ter valores diferenciados de acordo com a cidade onde a organização de vendas está alocada.&lt;br /&gt;
Há dois grupos de variáveis: aquelas que são relacionadas ao '''produto''' em si (tamanho, cor, embalagem, Tipo) e aquelas relacionadas à '''Tabela''' (Valor de partida, comissão promotor, frete, por exemplo). É importante determinar corretamente para qual grupo tal variável estará vinculada.&lt;br /&gt;
&lt;br /&gt;
Se mais de um produto possui a mesma característica, será possível fazer a precificação por grupos de produtos.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 1 ===&lt;br /&gt;
&lt;br /&gt;
Elaborando o preço do produto 'P001' para o cliente 'C001':&lt;br /&gt;
&lt;br /&gt;
Enumeração das variáveis&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 106,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 0,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1,02 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,02 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || Fc || / || 70,66 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Ce || + || 82,86 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Fr || + || 82,66 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Pr || * || 84,52 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Qu || * || 84,52 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Cf || * || 86,21 || F&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''P= PpFc/Ce+Fr+Pr*Qu*Cf*'''''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ao final do processo, a fórmula irá  apresentar o valor final: '''&amp;quot;R$ 86,21&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 2 ===&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P002' para o cliente 'C002'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,11 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || P1 || + || 113,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 75,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 87,86 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Fr || + || 90,86 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Pr || * || 90,86 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Qu || * || 90,86 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Cf || * || 100,86 || G&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''P= PpP1+Fc/Ce+Fr+Pr*Qu*Cf*'''''&lt;br /&gt;
&lt;br /&gt;
Ao final do processo de cálculo da fórmula, o valor do preço será '''&amp;quot;R$ 100,86&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 3 ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P003' para o cliente 'C003'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ -3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 8,67 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce2 || Custo de Embalagem 2 || R$ 2,00 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 2,5 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| K || Constante || 23,67 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp|| P1 || + || 107,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 71,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 80,33 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Ce2 || + || 82,33 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Fr || + || 84,83 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Pr || * || 84,83 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Qu || * || 84,83 || G&lt;br /&gt;
|-&lt;br /&gt;
| 8 || G || Cf || * || 84,83 || H&lt;br /&gt;
|-&lt;br /&gt;
| 9 || H || K || + || 108,50 || I&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''P= PpP1+Fc/Ce+Ce2+Fr+Pr*Qu*Cf*K+'''''&lt;br /&gt;
&lt;br /&gt;
Ao final do cálculo da forma, o valor final do preço será: '''&amp;quot;R$ 108,50&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--[[arquivo:formula1.png]]&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço2.png | 600 px]]&lt;br /&gt;
&lt;br /&gt;
Na formula acima, as somas de variaveis são agrupadas em blocos, multiplicando-se entre si. A relação entre os somatórios pode ser representada por&lt;br /&gt;
&lt;br /&gt;
[[arquivo:produto1.png | 200 px]]&lt;br /&gt;
&lt;br /&gt;
Portando, a equação de formação de preço pode ser representada da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ou pelo produtório&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço1.png]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A composição de preço tem como objetivo construir um preço de venda. Esse cadastro conta com tipos de variáveis para compor preço. Para que a composição de preço seja aplicada corretamente no cadastro do pedido, é necessário que as seguintes premissas sejam atendidas.&lt;br /&gt;
&lt;br /&gt;
=== Composição de preço ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Visto que há variação de preços de produtos para diferentes localidades, a formula criada para a composição de preços  deverá, além de compor toda a regra de cálculo de precificação de determinado produto, a sua parametrização vinculada ao seu respectivo Estado, Cidade e Filial. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em outras palavras, através da composição de preço, o usuário poderá informar a fórmula que o sistema irá aplicar para definir o preço unitário do produto. Essa regra poderá ser parametrizado por: filial, estado e cidade.&lt;br /&gt;
&lt;br /&gt;
== Regras de Negócios ==&lt;br /&gt;
&lt;br /&gt;
'''[RN1] - ''' Não poderá conter a mesma regra para o mesmo estado e filial;&lt;br /&gt;
&lt;br /&gt;
'''[RN2] - ''' Não deverá haver sobreposição de cadastros, e sim edição deste cadastro. Caso o usuário tente cadastrar o mesmo cenário mais de uma vez, a plataforma irá alertar informando que já existe uma regra, e que essa regra poderá ser sobreposta;&lt;br /&gt;
&lt;br /&gt;
'''[RN3] - ''' Essa funcionalidade será desenvolvida exclusivamente no GeoSales EVO.&lt;br /&gt;
&lt;br /&gt;
'''[RN4] - ''' Durante o processo, o portal não deverá travar, ou seja, o batch irá apresentar os dados apenas referentes às variáveis relacionadas (via GSOload). A medida visa evitar um carregamento excessivamente pesado de dados para determinada função. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''[RN5] - ''' Os históricos do log de alterações das variáveis ficarão registrados por um período de 1 (um) ano.&lt;br /&gt;
&lt;br /&gt;
'''[RN6] - ''' Um determinado produto poderá ser vinculado a mais de um grupo, mas a quantidade deve ser diferente.&lt;br /&gt;
&lt;br /&gt;
'''[RN7] - ''' A chave poderá ser associada a mais de um produto/tabela, mas o valor é específico pela unidade de um destes dois atributos.&lt;br /&gt;
&lt;br /&gt;
== Aprovação ==&lt;br /&gt;
&lt;br /&gt;
Considero aprovada a documentação da funcionalidade especificada acima, e autorizo a implementação da mesma no Sistema GeoSales, em nome da Organização a qual estou vinculado. &lt;br /&gt;
&lt;br /&gt;
=== GeoSales ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Desenvolvimento - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|- &lt;br /&gt;
| Integração - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
| Configurações - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Empresa solicitante === &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
! Assinatura&lt;br /&gt;
|-&lt;br /&gt;
| Gerente TI - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente de Projeto - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente Comercial - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Leo2s</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=14990</id>
		<title>Precificação</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=14990"/>
		<updated>2021-04-08T18:24:04Z</updated>

		<summary type="html">&lt;p&gt;Leo2s: /* Implementação */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Histórico de Alterações ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data&lt;br /&gt;
! Quem &lt;br /&gt;
! Comentários &lt;br /&gt;
|-&lt;br /&gt;
| 01/10/2020  || Ana Júlia || Criação do documento &lt;br /&gt;
|-&lt;br /&gt;
| 01/04/2021 || João Ramon || Atualização do documento&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
&lt;br /&gt;
No processo de formação de preços, conta-se com um número definido de variáveis que irão fazer a composição do valor final que será apresentado ao cliente final. Informações como custos operacionais, inclusão de markups, fatores de compensação por quebra e/ou comissionamento de venda devem estar contemplados na composição dos preços. A empresa deseja fazer esta composição dentro da Plataforma GeoSales EVO, inserindo todas as informações de custo, taxas e demais dados customizáveis, permitindo que o próprio cliente consiga fazer esta composição. &amp;lt;br&amp;gt;&lt;br /&gt;
O cenário de precificação atual não possui um processo uniformizado para cada cliente. Portanto, a necessidade de criar um processo padronizado para composição de preços, assim como a atualização customizável de algumas dessas variáveis, por se tratarem de variáveis cujos valores podem oscilar por motivos externos (oscilações de mercado, variação na política de preços, etc), é imperativa.&lt;br /&gt;
&lt;br /&gt;
== Solução ==&lt;br /&gt;
&lt;br /&gt;
Visto que a formação de preços, e seu processo de elaboração, devem ser totalmente customizáveis pelo cliente, primeiramente deve ser possível que ele não apenas determine quais as variáveis e seus respectivos valores devem ser atribuídos na plataforma para precificação, mas também como estas variáveis se relacionarão matematicamente, a fim de formular um preço baseado nas entradas fornecidas pelo cliente. Além disso, tais variáveis, uma vez inseridas no cadastro de preços, deverão ser passíveis de edição, feitas pelo próprio cliente, de forma manual.&lt;br /&gt;
&lt;br /&gt;
Como instrumento de parametrização das fórmulas contendo as variáveis criadas e seus operadores apropriados, será utilizada a '''''notação polonesa  reversa (RPN)''''', ferramenta de uso familiar a pessoas ligadas ao trabalho que envolva matemática financeira. Assim, a formação de preço deverá ser mais flexível e intuitiva na sua formação, além de facilitar em eventuais futuras modificações. As formulas serão definidas dentro de uma tabela de preço para um determinado grupo de produto facilitando o cadastro. &lt;br /&gt;
&lt;br /&gt;
Também visando a facilidade da manutenção dos valores de cada variável da fórmula, iremos construir o preço por um conjunto de parâmetros, podendo ser definido de forma atrelada às seguintes dimensões: produto e tabela de preço.&lt;br /&gt;
&lt;br /&gt;
Após a definição dos parâmetros, a fórmula será construída por meio da utilização destes. Finalizando esta etapa, basta pedir para processar a tabela, onde a mesma passará a ser vigente para a equipe de venda. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Dentro desta visão teremos 3 etapas na construção do preço:&lt;br /&gt;
&amp;lt;li&amp;gt;Cadastro dos parâmetros&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Construção da forma&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Processamento da tabela&amp;lt;/li&amp;gt;&lt;br /&gt;
Estes passos serão melhor esclarecidos adiante.--&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Implementação ==&lt;br /&gt;
&lt;br /&gt;
O processo terá como bases os seguintes passos: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. Criação de Tabela; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--2. para inserção de Variáveis e/ou aproveitamento de Tabela existente; &amp;lt;br&amp;gt;--&amp;gt;&lt;br /&gt;
2. Definição de Variáveis que deverão compor a fórmula de criação de preço, além da definição do atributo a qual tal variável está vinculada (produto ou Tabela);&amp;lt;br&amp;gt;&lt;br /&gt;
3. Definição de fórmula de formação de preços, utilizando RPN, e vinculações a grupos de produtos;&amp;lt;br&amp;gt;&lt;br /&gt;
4. Concluída a fórmula, com as relações operacionais entre as variáveis, os valores gerados devem ser processados para compor a Tabela de Preços.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cadastro tabela de preço'''&lt;br /&gt;
&amp;lt;dd&amp;gt; Para criação da tabela de preço, será criada uma tela para o usuário fazer o cadastro da tabela de preço. Nela será possível fazer a inserção e edição de cadastros, não sendo possível excluir qualquer cadastro de tabela de preço já realizado.  &lt;br /&gt;
&amp;lt;dd&amp;gt;Ao entrar na tela o sistema deve apresentar campos de filtros, os quais o usuário poderá localizar um cadastro já inserido e realizar edição dos campos descrição e datas inicial e final de vigência. Além, disso no rodapé da tela o acesso a realizar um novo cadastro os quais o usuário vai preencher os seguintes campos.&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dd&amp;gt;&lt;br /&gt;
'''Campos de cadastro:'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Descrição''' -  Campo de texto limitados ao máximo de 70 caracteres;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Data inicial vigência''' -  Campo de data, onde definirá o inicio da vigência da tabela;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Data final vigência''' -  Campo de data, onde definirá o final da vigência da tabela;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Uma tabela de preço não poderá ser excluída, só poderá ser desativada ou ativada através dos campos de data inicial e data final. Para desativar, basta colocar em seu intervalo de data validade, colocando a data final inferior a data atual;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Caso uma tabela de preço esteja com a data de validade vencida, a tabela de preço não será exibida para seleção no cadastro do pedido;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Os campos de datas não serão obrigatórios. Quando não estiverem preenchidos, indica que aquela tabela estará disponível para uso;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Não será possível utilizar a integração e cadastro da tabela de preço ao mesmo tempo, sendo necessário que haja uma única escolha: Integrar a tabela de preço do ERP ao GeoSales ou cadastrar a tabela de preço no próprio GeoSales. Caso tentem utilizar os dois cadastros ao mesmo tempo ERP e GeoSales, a integração apagará todos os registros cadastrados no GeoSales.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
[[Arquivo:Tabelapreco.jpg|500px]] &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tabelapreco2.jpg|500px]] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Declaração de variáveis''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;dd&amp;gt;&lt;br /&gt;
Dentro da tela de Variáveis de preço, deve ser possível definir uma variável de forma livre, mas que atenda as seguintes regras:&lt;br /&gt;
&amp;lt;li&amp;gt; O campo chave, que será utilizado como referência na formula de preço, não deve conter caracteres especiais, espaço em branco e nao ser mais que 8 caracteres&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; A variável deve estar associada a um produto ou uma tabela de preço&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Para valores do tipo '''numérico (18,6)''', serão aceitos como possibilidade, podendo ser positivos ou negativos.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Será criado um log de históricos de alterações de valores destas variáveis e passível de ser exportado em relatórios em excel.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Campos de cadastro:'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Descrição''' -  Campo de texto limitados ao máximo de 70 caracteres;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Chave''' -  Campo de texto de 8 caracteres;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Produto / Tabela''' -  A seleção de uma produto ou de uma tabela, dados previamente alimentados;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Valor''' -  Campo numérico(18:6);&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
A chave poderá ser associada a mais de um produto/tabela, mas o valor é específico pela unidade de um destes dois atributos.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
'''Definição da formula de preço'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Será necessário selecionar uma tabela de preço, a organização de venda e um ou mais produtos aos quais o preço deve ser inserido.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Para a regra de preço teremos que informar a '''formula''' do preço mínimo, sugerido e máximo com a quantidade mínima, que valida sua aplicação.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Nos campos de preço (mínimo, sugerido e máximo) teremos um espaço para a inserção da fórmula para composição de preço. Esta fórmula fará a relação matemática entre as variáveis criadas no processo anterior, por meio de '''operadores matemáticos (+, -, *, / )''', organizados em '''RPN''', notação comum para analistas financeiros, sendo bastante difundido, inclusive, na lógica de cálculo das calculadoras HP 12 C.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Será possível visualizar uma prévia da fórmula escrita, além do valor encontrado, a fim de que o usuário possa confirmar os valores que foram inseridos pelas variáveis e seus respectivos operadores.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como exemplo de notação polonesa reversa, tomemos a expressão '''''(A+B)*C'''''. Em RPN, a notação ficaria '''''AB+C*'''''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Processamento da Tabela ==&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
É importante frisar que os valores estão vinculados a uma tabela de preços, que consequentemente está vinculada a um cliente, organização de vendas, vendedores, e tabelas afins.&lt;br /&gt;
&lt;br /&gt;
As variáveis comuns a todos os clientes deverão ter valores diferenciados de acordo com a cidade onde a organização de vendas está alocada.&lt;br /&gt;
Há dois grupos de variáveis: aquelas que são relacionadas ao '''produto''' em si (tamanho, cor, embalagem, Tipo) e aquelas relacionadas à '''Tabela''' (Valor de partida, comissão promotor, frete, por exemplo). É importante determinar corretamente para qual grupo tal variável estará vinculada.&lt;br /&gt;
&lt;br /&gt;
Se mais de um produto possui a mesma característica, será possível fazer a precificação por grupos de produtos.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 1 ===&lt;br /&gt;
&lt;br /&gt;
Elaborando o preço do produto 'P001' para o cliente 'C001':&lt;br /&gt;
&lt;br /&gt;
Enumeração das variáveis&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 106,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 0,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1,02 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,02 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || Fc || / || 70,66 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Ce || + || 82,86 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Fr || + || 82,66 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Pr || * || 84,52 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Qu || * || 84,52 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Cf || * || 86,21 || F&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''P= PpFc/Ce+Fr+Pr*Qu*Cf*'''''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ao final do processo, a fórmula irá  apresentar o valor final: '''&amp;quot;R$ 86,21&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 2 ===&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P002' para o cliente 'C002'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,11 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || P1 || + || 113,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 75,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 87,86 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Fr || + || 90,86 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Pr || * || 90,86 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Qu || * || 90,86 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Cf || * || 100,86 || G&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''P= PpP1+Fc/Ce+Fr+Pr*Qu*Cf*'''''&lt;br /&gt;
&lt;br /&gt;
Ao final do processo de cálculo da fórmula, o valor do preço será '''&amp;quot;R$ 100,86&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 3 ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P003' para o cliente 'C003'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ -3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 8,67 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce2 || Custo de Embalagem 2 || R$ 2,00 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 2,5 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| K || Constante || 23,67 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp|| P1 || + || 107,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 71,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 80,33 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Ce2 || + || 82,33 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Fr || + || 84,83 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Pr || * || 84,83 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Qu || * || 84,83 || G&lt;br /&gt;
|-&lt;br /&gt;
| 8 || G || Cf || * || 84,83 || H&lt;br /&gt;
|-&lt;br /&gt;
| 9 || H || K || + || 108,50 || I&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''P= PpP1+Fc/Ce+Ce2+Fr+Pr*Qu*Cf*K+'''''&lt;br /&gt;
&lt;br /&gt;
Ao final do cálculo da forma, o valor final do preço será: '''&amp;quot;R$ 108,50&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--[[arquivo:formula1.png]]&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço2.png | 600 px]]&lt;br /&gt;
&lt;br /&gt;
Na formula acima, as somas de variaveis são agrupadas em blocos, multiplicando-se entre si. A relação entre os somatórios pode ser representada por&lt;br /&gt;
&lt;br /&gt;
[[arquivo:produto1.png | 200 px]]&lt;br /&gt;
&lt;br /&gt;
Portando, a equação de formação de preço pode ser representada da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ou pelo produtório&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço1.png]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A composição de preço tem como objetivo construir um preço de venda. Esse cadastro conta com tipos de variáveis para compor preço. Para que a composição de preço seja aplicada corretamente no cadastro do pedido, é necessário que as seguintes premissas sejam atendidas.&lt;br /&gt;
&lt;br /&gt;
=== Composição de preço ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Visto que há variação de preços de produtos para diferentes localidades, a formula criada para a composição de preços  deverá, além de compor toda a regra de cálculo de precificação de determinado produto, a sua parametrização vinculada ao seu respectivo Estado, Cidade e Filial. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em outras palavras, através da composição de preço, o usuário poderá informar a fórmula que o sistema irá aplicar para definir o preço unitário do produto. Essa regra poderá ser parametrizado por: filial, estado e cidade.&lt;br /&gt;
&lt;br /&gt;
== Regras de Negócios ==&lt;br /&gt;
&lt;br /&gt;
'''[RN1] - ''' Não poderá conter a mesma regra para o mesmo estado e filial;&lt;br /&gt;
&lt;br /&gt;
'''[RN2] - ''' Não deverá haver sobreposição de cadastros, e sim edição deste cadastro. Caso o usuário tente cadastrar o mesmo cenário mais de uma vez, a plataforma irá alertar informando que já existe uma regra, e que essa regra poderá ser sobreposta;&lt;br /&gt;
&lt;br /&gt;
'''[RN3] - ''' Essa funcionalidade será desenvolvida exclusivamente no GeoSales EVO.&lt;br /&gt;
&lt;br /&gt;
'''[RN4] - ''' Durante o processo, o portal não deverá travar, ou seja, o batch irá apresentar os dados apenas referentes às variáveis relacionadas (via GSOload). A medida visa evitar um carregamento excessivamente pesado de dados para determinada função. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''[RN5] - ''' Os históricos do log de alterações das variáveis ficarão registrados por um período de 1 (um) ano.&lt;br /&gt;
&lt;br /&gt;
'''[RN6] - ''' Um determinado produto poderá ser vinculado a mais de um grupo, mas a quantidade deve ser diferente.&lt;br /&gt;
&lt;br /&gt;
'''[RN7] - ''' A chave poderá ser associada a mais de um produto/tabela, mas o valor é específico pela unidade de um destes dois atributos.&lt;br /&gt;
&lt;br /&gt;
== Aprovação ==&lt;br /&gt;
&lt;br /&gt;
Considero aprovada a documentação da funcionalidade especificada acima, e autorizo a implementação da mesma no Sistema GeoSales, em nome da Organização a qual estou vinculado. &lt;br /&gt;
&lt;br /&gt;
=== GeoSales ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Desenvolvimento - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|- &lt;br /&gt;
| Integração - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
| Configurações - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Empresa solicitante === &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
! Assinatura&lt;br /&gt;
|-&lt;br /&gt;
| Gerente TI - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente de Projeto - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente Comercial - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Leo2s</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=14989</id>
		<title>Precificação</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=14989"/>
		<updated>2021-04-08T18:23:47Z</updated>

		<summary type="html">&lt;p&gt;Leo2s: /* Implementação */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Histórico de Alterações ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data&lt;br /&gt;
! Quem &lt;br /&gt;
! Comentários &lt;br /&gt;
|-&lt;br /&gt;
| 01/10/2020  || Ana Júlia || Criação do documento &lt;br /&gt;
|-&lt;br /&gt;
| 01/04/2021 || João Ramon || Atualização do documento&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
&lt;br /&gt;
No processo de formação de preços, conta-se com um número definido de variáveis que irão fazer a composição do valor final que será apresentado ao cliente final. Informações como custos operacionais, inclusão de markups, fatores de compensação por quebra e/ou comissionamento de venda devem estar contemplados na composição dos preços. A empresa deseja fazer esta composição dentro da Plataforma GeoSales EVO, inserindo todas as informações de custo, taxas e demais dados customizáveis, permitindo que o próprio cliente consiga fazer esta composição. &amp;lt;br&amp;gt;&lt;br /&gt;
O cenário de precificação atual não possui um processo uniformizado para cada cliente. Portanto, a necessidade de criar um processo padronizado para composição de preços, assim como a atualização customizável de algumas dessas variáveis, por se tratarem de variáveis cujos valores podem oscilar por motivos externos (oscilações de mercado, variação na política de preços, etc), é imperativa.&lt;br /&gt;
&lt;br /&gt;
== Solução ==&lt;br /&gt;
&lt;br /&gt;
Visto que a formação de preços, e seu processo de elaboração, devem ser totalmente customizáveis pelo cliente, primeiramente deve ser possível que ele não apenas determine quais as variáveis e seus respectivos valores devem ser atribuídos na plataforma para precificação, mas também como estas variáveis se relacionarão matematicamente, a fim de formular um preço baseado nas entradas fornecidas pelo cliente. Além disso, tais variáveis, uma vez inseridas no cadastro de preços, deverão ser passíveis de edição, feitas pelo próprio cliente, de forma manual.&lt;br /&gt;
&lt;br /&gt;
Como instrumento de parametrização das fórmulas contendo as variáveis criadas e seus operadores apropriados, será utilizada a '''''notação polonesa  reversa (RPN)''''', ferramenta de uso familiar a pessoas ligadas ao trabalho que envolva matemática financeira. Assim, a formação de preço deverá ser mais flexível e intuitiva na sua formação, além de facilitar em eventuais futuras modificações. As formulas serão definidas dentro de uma tabela de preço para um determinado grupo de produto facilitando o cadastro. &lt;br /&gt;
&lt;br /&gt;
Também visando a facilidade da manutenção dos valores de cada variável da fórmula, iremos construir o preço por um conjunto de parâmetros, podendo ser definido de forma atrelada às seguintes dimensões: produto e tabela de preço.&lt;br /&gt;
&lt;br /&gt;
Após a definição dos parâmetros, a fórmula será construída por meio da utilização destes. Finalizando esta etapa, basta pedir para processar a tabela, onde a mesma passará a ser vigente para a equipe de venda. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Dentro desta visão teremos 3 etapas na construção do preço:&lt;br /&gt;
&amp;lt;li&amp;gt;Cadastro dos parâmetros&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Construção da forma&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Processamento da tabela&amp;lt;/li&amp;gt;&lt;br /&gt;
Estes passos serão melhor esclarecidos adiante.--&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Implementação ==&lt;br /&gt;
&lt;br /&gt;
O processo terá como bases os seguintes passos: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. Criação de Tabela; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--2. para inserção de Variáveis e/ou aproveitamento de Tabela existente; &amp;lt;br&amp;gt;--&amp;gt;&lt;br /&gt;
2. Definição de Variáveis que deverão compor a fórmula de criação de preço, além da definição do atributo a qual tal variável está vinculada (produto ou Tabela);&amp;lt;br&amp;gt;&lt;br /&gt;
3. Definição de fórmula de formação de preços, utilizando RPN, e vinculações a grupos de produtos;&amp;lt;br&amp;gt;&lt;br /&gt;
4. Concluída a fórmula, com as relações operacionais entre as variáveis, os valores gerados devem ser processados para compor a Tabela de Preços.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cadastro tabela de preço'''&lt;br /&gt;
&amp;lt;dd&amp;gt; Para criação da tabela de preço, será criada uma tela para o usuário fazer o cadastro da tabela de preço. Nela será possível fazer a inserção e edição de cadastros, não sendo possível excluir qualquer cadastro de tabela de preço já realizado.  &lt;br /&gt;
&amp;lt;dd&amp;gt;Ao entrar na tela o sistema deve apresentar campos de filtros, os quais o usuário poderá localizar um cadastro já inserido e realizar edição dos campos descrição e datas inicial e final de vigência. Além, disso no rodapé da tela o acesso a realizar um novo cadastro os quais o usuário vai preencher os seguintes campos.&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dd&amp;gt;&lt;br /&gt;
'''Campos de cadastro:'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Descrição''' -  Campo de texto limitados ao máximo de 70 caracteres;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Data inicial vigência''' -  Campo de data, onde definirá o inicio da vigência da tabela;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Data final vigência''' -  Campo de data, onde definirá o final da vigência da tabela;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Uma tabela de preço não poderá ser excluída, só poderá ser desativada ou ativada através dos campos de data inicial e data final. Para desativar, basta colocar em seu intervalo de data validade, colocando a data final inferior a data atual;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Caso uma tabela de preço esteja com a data de validade vencida, a tabela de preço não será exibida para seleção no cadastro do pedido;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Os campos de datas não serão obrigatórios. Quando não estiverem preenchidos, indica que aquela tabela estará disponível para uso;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Não será possível utilizar a integração e cadastro da tabela de preço ao mesmo tempo, sendo necessário que haja uma única escolha: Integrar a tabela de preço do ERP ao GeoSales ou cadastrar a tabela de preço no próprio GeoSales. Caso tentem utilizar os dois cadastros ao mesmo tempo ERP e GeoSales, a integração apagará todos os registros cadastrados no GeoSales.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
[[Arquivo:Tabelapreco.jpg|500px]] &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tabelapreco2.jpg|500px]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Declaração de variáveis''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;dd&amp;gt;&lt;br /&gt;
Dentro da tela de Variáveis de preço, deve ser possível definir uma variável de forma livre, mas que atenda as seguintes regras:&lt;br /&gt;
&amp;lt;li&amp;gt; O campo chave, que será utilizado como referência na formula de preço, não deve conter caracteres especiais, espaço em branco e nao ser mais que 8 caracteres&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; A variável deve estar associada a um produto ou uma tabela de preço&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Para valores do tipo '''numérico (18,6)''', serão aceitos como possibilidade, podendo ser positivos ou negativos.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Será criado um log de históricos de alterações de valores destas variáveis e passível de ser exportado em relatórios em excel.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Campos de cadastro:'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Descrição''' -  Campo de texto limitados ao máximo de 70 caracteres;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Chave''' -  Campo de texto de 8 caracteres;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Produto / Tabela''' -  A seleção de uma produto ou de uma tabela, dados previamente alimentados;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Valor''' -  Campo numérico(18:6);&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
A chave poderá ser associada a mais de um produto/tabela, mas o valor é específico pela unidade de um destes dois atributos.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
'''Definição da formula de preço'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Será necessário selecionar uma tabela de preço, a organização de venda e um ou mais produtos aos quais o preço deve ser inserido.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Para a regra de preço teremos que informar a '''formula''' do preço mínimo, sugerido e máximo com a quantidade mínima, que valida sua aplicação.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Nos campos de preço (mínimo, sugerido e máximo) teremos um espaço para a inserção da fórmula para composição de preço. Esta fórmula fará a relação matemática entre as variáveis criadas no processo anterior, por meio de '''operadores matemáticos (+, -, *, / )''', organizados em '''RPN''', notação comum para analistas financeiros, sendo bastante difundido, inclusive, na lógica de cálculo das calculadoras HP 12 C.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Será possível visualizar uma prévia da fórmula escrita, além do valor encontrado, a fim de que o usuário possa confirmar os valores que foram inseridos pelas variáveis e seus respectivos operadores.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como exemplo de notação polonesa reversa, tomemos a expressão '''''(A+B)*C'''''. Em RPN, a notação ficaria '''''AB+C*'''''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Processamento da Tabela ==&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
É importante frisar que os valores estão vinculados a uma tabela de preços, que consequentemente está vinculada a um cliente, organização de vendas, vendedores, e tabelas afins.&lt;br /&gt;
&lt;br /&gt;
As variáveis comuns a todos os clientes deverão ter valores diferenciados de acordo com a cidade onde a organização de vendas está alocada.&lt;br /&gt;
Há dois grupos de variáveis: aquelas que são relacionadas ao '''produto''' em si (tamanho, cor, embalagem, Tipo) e aquelas relacionadas à '''Tabela''' (Valor de partida, comissão promotor, frete, por exemplo). É importante determinar corretamente para qual grupo tal variável estará vinculada.&lt;br /&gt;
&lt;br /&gt;
Se mais de um produto possui a mesma característica, será possível fazer a precificação por grupos de produtos.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 1 ===&lt;br /&gt;
&lt;br /&gt;
Elaborando o preço do produto 'P001' para o cliente 'C001':&lt;br /&gt;
&lt;br /&gt;
Enumeração das variáveis&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 106,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 0,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1,02 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,02 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || Fc || / || 70,66 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Ce || + || 82,86 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Fr || + || 82,66 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Pr || * || 84,52 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Qu || * || 84,52 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Cf || * || 86,21 || F&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''P= PpFc/Ce+Fr+Pr*Qu*Cf*'''''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ao final do processo, a fórmula irá  apresentar o valor final: '''&amp;quot;R$ 86,21&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 2 ===&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P002' para o cliente 'C002'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,11 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || P1 || + || 113,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 75,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 87,86 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Fr || + || 90,86 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Pr || * || 90,86 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Qu || * || 90,86 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Cf || * || 100,86 || G&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''P= PpP1+Fc/Ce+Fr+Pr*Qu*Cf*'''''&lt;br /&gt;
&lt;br /&gt;
Ao final do processo de cálculo da fórmula, o valor do preço será '''&amp;quot;R$ 100,86&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 3 ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P003' para o cliente 'C003'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ -3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 8,67 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce2 || Custo de Embalagem 2 || R$ 2,00 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 2,5 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| K || Constante || 23,67 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp|| P1 || + || 107,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 71,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 80,33 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Ce2 || + || 82,33 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Fr || + || 84,83 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Pr || * || 84,83 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Qu || * || 84,83 || G&lt;br /&gt;
|-&lt;br /&gt;
| 8 || G || Cf || * || 84,83 || H&lt;br /&gt;
|-&lt;br /&gt;
| 9 || H || K || + || 108,50 || I&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''P= PpP1+Fc/Ce+Ce2+Fr+Pr*Qu*Cf*K+'''''&lt;br /&gt;
&lt;br /&gt;
Ao final do cálculo da forma, o valor final do preço será: '''&amp;quot;R$ 108,50&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--[[arquivo:formula1.png]]&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço2.png | 600 px]]&lt;br /&gt;
&lt;br /&gt;
Na formula acima, as somas de variaveis são agrupadas em blocos, multiplicando-se entre si. A relação entre os somatórios pode ser representada por&lt;br /&gt;
&lt;br /&gt;
[[arquivo:produto1.png | 200 px]]&lt;br /&gt;
&lt;br /&gt;
Portando, a equação de formação de preço pode ser representada da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ou pelo produtório&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço1.png]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A composição de preço tem como objetivo construir um preço de venda. Esse cadastro conta com tipos de variáveis para compor preço. Para que a composição de preço seja aplicada corretamente no cadastro do pedido, é necessário que as seguintes premissas sejam atendidas.&lt;br /&gt;
&lt;br /&gt;
=== Composição de preço ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Visto que há variação de preços de produtos para diferentes localidades, a formula criada para a composição de preços  deverá, além de compor toda a regra de cálculo de precificação de determinado produto, a sua parametrização vinculada ao seu respectivo Estado, Cidade e Filial. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em outras palavras, através da composição de preço, o usuário poderá informar a fórmula que o sistema irá aplicar para definir o preço unitário do produto. Essa regra poderá ser parametrizado por: filial, estado e cidade.&lt;br /&gt;
&lt;br /&gt;
== Regras de Negócios ==&lt;br /&gt;
&lt;br /&gt;
'''[RN1] - ''' Não poderá conter a mesma regra para o mesmo estado e filial;&lt;br /&gt;
&lt;br /&gt;
'''[RN2] - ''' Não deverá haver sobreposição de cadastros, e sim edição deste cadastro. Caso o usuário tente cadastrar o mesmo cenário mais de uma vez, a plataforma irá alertar informando que já existe uma regra, e que essa regra poderá ser sobreposta;&lt;br /&gt;
&lt;br /&gt;
'''[RN3] - ''' Essa funcionalidade será desenvolvida exclusivamente no GeoSales EVO.&lt;br /&gt;
&lt;br /&gt;
'''[RN4] - ''' Durante o processo, o portal não deverá travar, ou seja, o batch irá apresentar os dados apenas referentes às variáveis relacionadas (via GSOload). A medida visa evitar um carregamento excessivamente pesado de dados para determinada função. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''[RN5] - ''' Os históricos do log de alterações das variáveis ficarão registrados por um período de 1 (um) ano.&lt;br /&gt;
&lt;br /&gt;
'''[RN6] - ''' Um determinado produto poderá ser vinculado a mais de um grupo, mas a quantidade deve ser diferente.&lt;br /&gt;
&lt;br /&gt;
'''[RN7] - ''' A chave poderá ser associada a mais de um produto/tabela, mas o valor é específico pela unidade de um destes dois atributos.&lt;br /&gt;
&lt;br /&gt;
== Aprovação ==&lt;br /&gt;
&lt;br /&gt;
Considero aprovada a documentação da funcionalidade especificada acima, e autorizo a implementação da mesma no Sistema GeoSales, em nome da Organização a qual estou vinculado. &lt;br /&gt;
&lt;br /&gt;
=== GeoSales ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Desenvolvimento - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|- &lt;br /&gt;
| Integração - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
| Configurações - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Empresa solicitante === &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
! Assinatura&lt;br /&gt;
|-&lt;br /&gt;
| Gerente TI - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente de Projeto - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente Comercial - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Leo2s</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=14988</id>
		<title>Precificação</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=14988"/>
		<updated>2021-04-08T18:22:05Z</updated>

		<summary type="html">&lt;p&gt;Leo2s: /* Implementação */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Histórico de Alterações ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data&lt;br /&gt;
! Quem &lt;br /&gt;
! Comentários &lt;br /&gt;
|-&lt;br /&gt;
| 01/10/2020  || Ana Júlia || Criação do documento &lt;br /&gt;
|-&lt;br /&gt;
| 01/04/2021 || João Ramon || Atualização do documento&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
&lt;br /&gt;
No processo de formação de preços, conta-se com um número definido de variáveis que irão fazer a composição do valor final que será apresentado ao cliente final. Informações como custos operacionais, inclusão de markups, fatores de compensação por quebra e/ou comissionamento de venda devem estar contemplados na composição dos preços. A empresa deseja fazer esta composição dentro da Plataforma GeoSales EVO, inserindo todas as informações de custo, taxas e demais dados customizáveis, permitindo que o próprio cliente consiga fazer esta composição. &amp;lt;br&amp;gt;&lt;br /&gt;
O cenário de precificação atual não possui um processo uniformizado para cada cliente. Portanto, a necessidade de criar um processo padronizado para composição de preços, assim como a atualização customizável de algumas dessas variáveis, por se tratarem de variáveis cujos valores podem oscilar por motivos externos (oscilações de mercado, variação na política de preços, etc), é imperativa.&lt;br /&gt;
&lt;br /&gt;
== Solução ==&lt;br /&gt;
&lt;br /&gt;
Visto que a formação de preços, e seu processo de elaboração, devem ser totalmente customizáveis pelo cliente, primeiramente deve ser possível que ele não apenas determine quais as variáveis e seus respectivos valores devem ser atribuídos na plataforma para precificação, mas também como estas variáveis se relacionarão matematicamente, a fim de formular um preço baseado nas entradas fornecidas pelo cliente. Além disso, tais variáveis, uma vez inseridas no cadastro de preços, deverão ser passíveis de edição, feitas pelo próprio cliente, de forma manual.&lt;br /&gt;
&lt;br /&gt;
Como instrumento de parametrização das fórmulas contendo as variáveis criadas e seus operadores apropriados, será utilizada a '''''notação polonesa  reversa (RPN)''''', ferramenta de uso familiar a pessoas ligadas ao trabalho que envolva matemática financeira. Assim, a formação de preço deverá ser mais flexível e intuitiva na sua formação, além de facilitar em eventuais futuras modificações. As formulas serão definidas dentro de uma tabela de preço para um determinado grupo de produto facilitando o cadastro. &lt;br /&gt;
&lt;br /&gt;
Também visando a facilidade da manutenção dos valores de cada variável da fórmula, iremos construir o preço por um conjunto de parâmetros, podendo ser definido de forma atrelada às seguintes dimensões: produto e tabela de preço.&lt;br /&gt;
&lt;br /&gt;
Após a definição dos parâmetros, a fórmula será construída por meio da utilização destes. Finalizando esta etapa, basta pedir para processar a tabela, onde a mesma passará a ser vigente para a equipe de venda. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Dentro desta visão teremos 3 etapas na construção do preço:&lt;br /&gt;
&amp;lt;li&amp;gt;Cadastro dos parâmetros&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Construção da forma&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Processamento da tabela&amp;lt;/li&amp;gt;&lt;br /&gt;
Estes passos serão melhor esclarecidos adiante.--&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Implementação ==&lt;br /&gt;
&lt;br /&gt;
O processo terá como bases os seguintes passos: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. Criação de Tabela; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--2. para inserção de Variáveis e/ou aproveitamento de Tabela existente; &amp;lt;br&amp;gt;--&amp;gt;&lt;br /&gt;
2. Definição de Variáveis que deverão compor a fórmula de criação de preço, além da definição do atributo a qual tal variável está vinculada (produto ou Tabela);&amp;lt;br&amp;gt;&lt;br /&gt;
3. Definição de fórmula de formação de preços, utilizando RPN, e vinculações a grupos de produtos;&amp;lt;br&amp;gt;&lt;br /&gt;
4. Concluída a fórmula, com as relações operacionais entre as variáveis, os valores gerados devem ser processados para compor a Tabela de Preços.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cadastro tabela de preço'''&lt;br /&gt;
&amp;lt;dd&amp;gt; Para criação da tabela de preço, será criada uma tela para o usuário fazer o cadastro da tabela de preço. Nela será possível fazer a inserção e edição de cadastros, não sendo possível excluir qualquer cadastro de tabela de preço já realizado.  &lt;br /&gt;
&amp;lt;dd&amp;gt;Ao entrar na tela o sistema deve apresentar campos de filtros, os quais o usuário poderá localizar um cadastro já inserido e realizar edição dos campos descrição e datas inicial e final de vigência. Além, disso no rodapé da tela o acesso a realizar um novo cadastro os quais o usuário vai preencher os seguintes campos.&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Campos de cadastro:'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Descrição''' -  Campo de texto limitados ao máximo de 70 caracteres;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Data inicial vigência''' -  Campo de data, onde definirá o inicio da vigência da tabela;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Data final vigência''' -  Campo de data, onde definirá o final da vigência da tabela;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Uma tabela de preço não poderá ser excluída, só poderá ser desativada ou ativada através dos campos de data inicial e data final. Para desativar, basta colocar em seu intervalo de data validade, colocando a data final inferior a data atual;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Caso uma tabela de preço esteja com a data de validade vencida, a tabela de preço não será exibida para seleção no cadastro do pedido;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Os campos de datas não serão obrigatórios. Quando não estiverem preenchidos, indica que aquela tabela estará disponível para uso;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Não será possível utilizar a integração e cadastro da tabela de preço ao mesmo tempo, sendo necessário que haja uma única escolha: Integrar a tabela de preço do ERP ao GeoSales ou cadastrar a tabela de preço no próprio GeoSales. Caso tentem utilizar os dois cadastros ao mesmo tempo ERP e GeoSales, a integração apagará todos os registros cadastrados no GeoSales.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/br&amp;gt;&lt;br /&gt;
[[Arquivo:Tabelapreco.jpg|500px]] &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tabelapreco2.jpg|500px]] &lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Declaração de variáveis''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;dd&amp;gt;&lt;br /&gt;
Dentro da tela de Variáveis de preço, deve ser possível definir uma variável de forma livre, mas que atenda as seguintes regras:&lt;br /&gt;
&amp;lt;li&amp;gt; O campo chave, que será utilizado como referência na formula de preço, não deve conter caracteres especiais, espaço em branco e nao ser mais que 8 caracteres&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; A variável deve estar associada a um produto ou uma tabela de preço&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Para valores do tipo '''numérico (18,6)''', serão aceitos como possibilidade, podendo ser positivos ou negativos.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Será criado um log de históricos de alterações de valores destas variáveis e passível de ser exportado em relatórios em excel.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Campos de cadastro:'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Descrição''' -  Campo de texto limitados ao máximo de 70 caracteres;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Chave''' -  Campo de texto de 8 caracteres;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Produto / Tabela''' -  A seleção de uma produto ou de uma tabela, dados previamente alimentados;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Valor''' -  Campo numérico(18:6);&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
A chave poderá ser associada a mais de um produto/tabela, mas o valor é específico pela unidade de um destes dois atributos.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
'''Definição da formula de preço'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Será necessário selecionar uma tabela de preço, a organização de venda e um ou mais produtos aos quais o preço deve ser inserido.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Para a regra de preço teremos que informar a '''formula''' do preço mínimo, sugerido e máximo com a quantidade mínima, que valida sua aplicação.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Nos campos de preço (mínimo, sugerido e máximo) teremos um espaço para a inserção da fórmula para composição de preço. Esta fórmula fará a relação matemática entre as variáveis criadas no processo anterior, por meio de '''operadores matemáticos (+, -, *, / )''', organizados em '''RPN''', notação comum para analistas financeiros, sendo bastante difundido, inclusive, na lógica de cálculo das calculadoras HP 12 C.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Será possível visualizar uma prévia da fórmula escrita, além do valor encontrado, a fim de que o usuário possa confirmar os valores que foram inseridos pelas variáveis e seus respectivos operadores.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como exemplo de notação polonesa reversa, tomemos a expressão '''''(A+B)*C'''''. Em RPN, a notação ficaria '''''AB+C*'''''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Processamento da Tabela ==&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
É importante frisar que os valores estão vinculados a uma tabela de preços, que consequentemente está vinculada a um cliente, organização de vendas, vendedores, e tabelas afins.&lt;br /&gt;
&lt;br /&gt;
As variáveis comuns a todos os clientes deverão ter valores diferenciados de acordo com a cidade onde a organização de vendas está alocada.&lt;br /&gt;
Há dois grupos de variáveis: aquelas que são relacionadas ao '''produto''' em si (tamanho, cor, embalagem, Tipo) e aquelas relacionadas à '''Tabela''' (Valor de partida, comissão promotor, frete, por exemplo). É importante determinar corretamente para qual grupo tal variável estará vinculada.&lt;br /&gt;
&lt;br /&gt;
Se mais de um produto possui a mesma característica, será possível fazer a precificação por grupos de produtos.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 1 ===&lt;br /&gt;
&lt;br /&gt;
Elaborando o preço do produto 'P001' para o cliente 'C001':&lt;br /&gt;
&lt;br /&gt;
Enumeração das variáveis&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 106,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 0,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1,02 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,02 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || Fc || / || 70,66 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Ce || + || 82,86 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Fr || + || 82,66 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Pr || * || 84,52 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Qu || * || 84,52 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Cf || * || 86,21 || F&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''P= PpFc/Ce+Fr+Pr*Qu*Cf*'''''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ao final do processo, a fórmula irá  apresentar o valor final: '''&amp;quot;R$ 86,21&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 2 ===&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P002' para o cliente 'C002'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,11 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || P1 || + || 113,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 75,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 87,86 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Fr || + || 90,86 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Pr || * || 90,86 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Qu || * || 90,86 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Cf || * || 100,86 || G&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''P= PpP1+Fc/Ce+Fr+Pr*Qu*Cf*'''''&lt;br /&gt;
&lt;br /&gt;
Ao final do processo de cálculo da fórmula, o valor do preço será '''&amp;quot;R$ 100,86&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 3 ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P003' para o cliente 'C003'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ -3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 8,67 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce2 || Custo de Embalagem 2 || R$ 2,00 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 2,5 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| K || Constante || 23,67 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp|| P1 || + || 107,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 71,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 80,33 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Ce2 || + || 82,33 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Fr || + || 84,83 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Pr || * || 84,83 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Qu || * || 84,83 || G&lt;br /&gt;
|-&lt;br /&gt;
| 8 || G || Cf || * || 84,83 || H&lt;br /&gt;
|-&lt;br /&gt;
| 9 || H || K || + || 108,50 || I&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''P= PpP1+Fc/Ce+Ce2+Fr+Pr*Qu*Cf*K+'''''&lt;br /&gt;
&lt;br /&gt;
Ao final do cálculo da forma, o valor final do preço será: '''&amp;quot;R$ 108,50&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--[[arquivo:formula1.png]]&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço2.png | 600 px]]&lt;br /&gt;
&lt;br /&gt;
Na formula acima, as somas de variaveis são agrupadas em blocos, multiplicando-se entre si. A relação entre os somatórios pode ser representada por&lt;br /&gt;
&lt;br /&gt;
[[arquivo:produto1.png | 200 px]]&lt;br /&gt;
&lt;br /&gt;
Portando, a equação de formação de preço pode ser representada da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ou pelo produtório&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço1.png]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A composição de preço tem como objetivo construir um preço de venda. Esse cadastro conta com tipos de variáveis para compor preço. Para que a composição de preço seja aplicada corretamente no cadastro do pedido, é necessário que as seguintes premissas sejam atendidas.&lt;br /&gt;
&lt;br /&gt;
=== Composição de preço ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Visto que há variação de preços de produtos para diferentes localidades, a formula criada para a composição de preços  deverá, além de compor toda a regra de cálculo de precificação de determinado produto, a sua parametrização vinculada ao seu respectivo Estado, Cidade e Filial. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em outras palavras, através da composição de preço, o usuário poderá informar a fórmula que o sistema irá aplicar para definir o preço unitário do produto. Essa regra poderá ser parametrizado por: filial, estado e cidade.&lt;br /&gt;
&lt;br /&gt;
== Regras de Negócios ==&lt;br /&gt;
&lt;br /&gt;
'''[RN1] - ''' Não poderá conter a mesma regra para o mesmo estado e filial;&lt;br /&gt;
&lt;br /&gt;
'''[RN2] - ''' Não deverá haver sobreposição de cadastros, e sim edição deste cadastro. Caso o usuário tente cadastrar o mesmo cenário mais de uma vez, a plataforma irá alertar informando que já existe uma regra, e que essa regra poderá ser sobreposta;&lt;br /&gt;
&lt;br /&gt;
'''[RN3] - ''' Essa funcionalidade será desenvolvida exclusivamente no GeoSales EVO.&lt;br /&gt;
&lt;br /&gt;
'''[RN4] - ''' Durante o processo, o portal não deverá travar, ou seja, o batch irá apresentar os dados apenas referentes às variáveis relacionadas (via GSOload). A medida visa evitar um carregamento excessivamente pesado de dados para determinada função. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''[RN5] - ''' Os históricos do log de alterações das variáveis ficarão registrados por um período de 1 (um) ano.&lt;br /&gt;
&lt;br /&gt;
'''[RN6] - ''' Um determinado produto poderá ser vinculado a mais de um grupo, mas a quantidade deve ser diferente.&lt;br /&gt;
&lt;br /&gt;
'''[RN7] - ''' A chave poderá ser associada a mais de um produto/tabela, mas o valor é específico pela unidade de um destes dois atributos.&lt;br /&gt;
&lt;br /&gt;
== Aprovação ==&lt;br /&gt;
&lt;br /&gt;
Considero aprovada a documentação da funcionalidade especificada acima, e autorizo a implementação da mesma no Sistema GeoSales, em nome da Organização a qual estou vinculado. &lt;br /&gt;
&lt;br /&gt;
=== GeoSales ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Desenvolvimento - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|- &lt;br /&gt;
| Integração - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
| Configurações - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Empresa solicitante === &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
! Assinatura&lt;br /&gt;
|-&lt;br /&gt;
| Gerente TI - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente de Projeto - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente Comercial - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Leo2s</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=14986</id>
		<title>Precificação</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=14986"/>
		<updated>2021-04-08T18:18:55Z</updated>

		<summary type="html">&lt;p&gt;Leo2s: /* Implementação */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Histórico de Alterações ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data&lt;br /&gt;
! Quem &lt;br /&gt;
! Comentários &lt;br /&gt;
|-&lt;br /&gt;
| 01/10/2020  || Ana Júlia || Criação do documento &lt;br /&gt;
|-&lt;br /&gt;
| 01/04/2021 || João Ramon || Atualização do documento&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
&lt;br /&gt;
No processo de formação de preços, conta-se com um número definido de variáveis que irão fazer a composição do valor final que será apresentado ao cliente final. Informações como custos operacionais, inclusão de markups, fatores de compensação por quebra e/ou comissionamento de venda devem estar contemplados na composição dos preços. A empresa deseja fazer esta composição dentro da Plataforma GeoSales EVO, inserindo todas as informações de custo, taxas e demais dados customizáveis, permitindo que o próprio cliente consiga fazer esta composição. &amp;lt;br&amp;gt;&lt;br /&gt;
O cenário de precificação atual não possui um processo uniformizado para cada cliente. Portanto, a necessidade de criar um processo padronizado para composição de preços, assim como a atualização customizável de algumas dessas variáveis, por se tratarem de variáveis cujos valores podem oscilar por motivos externos (oscilações de mercado, variação na política de preços, etc), é imperativa.&lt;br /&gt;
&lt;br /&gt;
== Solução ==&lt;br /&gt;
&lt;br /&gt;
Visto que a formação de preços, e seu processo de elaboração, devem ser totalmente customizáveis pelo cliente, primeiramente deve ser possível que ele não apenas determine quais as variáveis e seus respectivos valores devem ser atribuídos na plataforma para precificação, mas também como estas variáveis se relacionarão matematicamente, a fim de formular um preço baseado nas entradas fornecidas pelo cliente. Além disso, tais variáveis, uma vez inseridas no cadastro de preços, deverão ser passíveis de edição, feitas pelo próprio cliente, de forma manual.&lt;br /&gt;
&lt;br /&gt;
Como instrumento de parametrização das fórmulas contendo as variáveis criadas e seus operadores apropriados, será utilizada a '''''notação polonesa  reversa (RPN)''''', ferramenta de uso familiar a pessoas ligadas ao trabalho que envolva matemática financeira. Assim, a formação de preço deverá ser mais flexível e intuitiva na sua formação, além de facilitar em eventuais futuras modificações. As formulas serão definidas dentro de uma tabela de preço para um determinado grupo de produto facilitando o cadastro. &lt;br /&gt;
&lt;br /&gt;
Também visando a facilidade da manutenção dos valores de cada variável da fórmula, iremos construir o preço por um conjunto de parâmetros, podendo ser definido de forma atrelada às seguintes dimensões: produto e tabela de preço.&lt;br /&gt;
&lt;br /&gt;
Após a definição dos parâmetros, a fórmula será construída por meio da utilização destes. Finalizando esta etapa, basta pedir para processar a tabela, onde a mesma passará a ser vigente para a equipe de venda. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Dentro desta visão teremos 3 etapas na construção do preço:&lt;br /&gt;
&amp;lt;li&amp;gt;Cadastro dos parâmetros&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Construção da forma&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Processamento da tabela&amp;lt;/li&amp;gt;&lt;br /&gt;
Estes passos serão melhor esclarecidos adiante.--&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Implementação ==&lt;br /&gt;
&lt;br /&gt;
O processo terá como bases os seguintes passos: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. Criação de Tabela; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--2. para inserção de Variáveis e/ou aproveitamento de Tabela existente; &amp;lt;br&amp;gt;--&amp;gt;&lt;br /&gt;
2. Definição de Variáveis que deverão compor a fórmula de criação de preço, além da definição do atributo a qual tal variável está vinculada (produto ou Tabela);&amp;lt;br&amp;gt;&lt;br /&gt;
3. Definição de fórmula de formação de preços, utilizando RPN, e vinculações a grupos de produtos;&amp;lt;br&amp;gt;&lt;br /&gt;
4. Concluída a fórmula, com as relações operacionais entre as variáveis, os valores gerados devem ser processados para compor a Tabela de Preços.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cadastro tabela de preço'''&lt;br /&gt;
&amp;lt;dd&amp;gt; Para criação da tabela de preço, será criada uma tela para o usuário fazer o cadastro da tabela de preço. Nela será possível fazer a inserção e edição de cadastros, não sendo possível excluir qualquer cadastro de tabela de preço já realizado.  Ao entrar na tela o sistema deve apresentar campos de filtros, os quais o usuário poderá localizar um cadastro já inserido e realizar edição dos campos descrição e datas inicial e final de vigência. Além, disso no rodapé da tela o acesso a realizar um novo cadastro os quais o usuário vai preencher os seguintes campos.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Campo&lt;br /&gt;
! Tipo &lt;br /&gt;
! Utilização &lt;br /&gt;
|-&lt;br /&gt;
|  Descrição  || Texto || O campo de descrição é um texto que aceita no máximo 70 caracteres &lt;br /&gt;
|-&lt;br /&gt;
| Data inicial vigência  || Data || O campo de data inicial irá determinar o início da vigência para tabela de preço &lt;br /&gt;
|-&lt;br /&gt;
| Data final vigência  || Data || O campo de data final irá determinar o fim da vigência para tabela de preço &lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Uma tabela de preço não poderá ser excluída, só poderá ser desativada ou ativada através dos campos de data inicial e data final. Para desativar, basta colocar em seu intervalo de data validade, colocando a data final inferior a data atual;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Caso uma tabela de preço esteja com a data de validade vencida, a tabela de preço não será exibida para seleção no cadastro do pedido;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Os campos de datas não serão obrigatórios. Quando não estiverem preenchidos, indica que aquela tabela estará disponível para uso;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Não será possível utilizar a integração e cadastro da tabela de preço ao mesmo tempo, sendo necessário que haja uma única escolha: Integrar a tabela de preço do ERP ao GeoSales ou cadastrar a tabela de preço no próprio GeoSales. Caso tentem utilizar os dois cadastros ao mesmo tempo ERP e GeoSales, a integração apagará todos os registros cadastrados no GeoSales.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/br&amp;gt;&lt;br /&gt;
[[Arquivo:Tabelapreco.jpg|500px]] &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tabelapreco2.jpg|500px]] &lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Declaração de variáveis''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;dd&amp;gt;&lt;br /&gt;
Dentro da tela de Variáveis de preço, deve ser possível definir uma variável de forma livre, mas que atenda as seguintes regras:&lt;br /&gt;
&amp;lt;li&amp;gt; O campo chave, que será utilizado como referência na formula de preço, não deve conter caracteres especiais, espaço em branco e nao ser mais que 8 caracteres&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; A variável deve estar associada a um produto ou uma tabela de preço&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Para valores do tipo '''numérico (18,6)''', serão aceitos como possibilidade, podendo ser positivos ou negativos.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Será criado um log de históricos de alterações de valores destas variáveis e passível de ser exportado em relatórios em excel.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Campos de cadastro:'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Descrição''' -  Campo de texto;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Chave''' -  Campo de texto de 8 caracteres;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Produto / Tabela''' -  A seleção de uma produto ou de uma tabela, dados previamente alimentados;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Valor''' -  Campo numérico(18:6);&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
A chave poderá ser associada a mais de um produto/tabela, mas o valor é específico pela unidade de um destes dois atributos.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
'''Definição da formula de preço'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Será necessário selecionar uma tabela de preço, a organização de venda e um ou mais produtos aos quais o preço deve ser inserido.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Para a regra de preço teremos que informar a '''formula''' do preço mínimo, sugerido e máximo com a quantidade mínima, que valida sua aplicação.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Nos campos de preço (mínimo, sugerido e máximo) teremos um espaço para a inserção da fórmula para composição de preço. Esta fórmula fará a relação matemática entre as variáveis criadas no processo anterior, por meio de '''operadores matemáticos (+, -, *, / )''', organizados em '''RPN''', notação comum para analistas financeiros, sendo bastante difundido, inclusive, na lógica de cálculo das calculadoras HP 12 C.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Será possível visualizar uma prévia da fórmula escrita, além do valor encontrado, a fim de que o usuário possa confirmar os valores que foram inseridos pelas variáveis e seus respectivos operadores.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como exemplo de notação polonesa reversa, tomemos a expressão '''''(A+B)*C'''''. Em RPN, a notação ficaria '''''AB+C*'''''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Processamento da Tabela ==&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
É importante frisar que os valores estão vinculados a uma tabela de preços, que consequentemente está vinculada a um cliente, organização de vendas, vendedores, e tabelas afins.&lt;br /&gt;
&lt;br /&gt;
As variáveis comuns a todos os clientes deverão ter valores diferenciados de acordo com a cidade onde a organização de vendas está alocada.&lt;br /&gt;
Há dois grupos de variáveis: aquelas que são relacionadas ao '''produto''' em si (tamanho, cor, embalagem, Tipo) e aquelas relacionadas à '''Tabela''' (Valor de partida, comissão promotor, frete, por exemplo). É importante determinar corretamente para qual grupo tal variável estará vinculada.&lt;br /&gt;
&lt;br /&gt;
Se mais de um produto possui a mesma característica, será possível fazer a precificação por grupos de produtos.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 1 ===&lt;br /&gt;
&lt;br /&gt;
Elaborando o preço do produto 'P001' para o cliente 'C001':&lt;br /&gt;
&lt;br /&gt;
Enumeração das variáveis&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 106,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 0,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1,02 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,02 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || Fc || / || 70,66 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Ce || + || 82,86 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Fr || + || 82,66 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Pr || * || 84,52 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Qu || * || 84,52 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Cf || * || 86,21 || F&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''P= PpFc/Ce+Fr+Pr*Qu*Cf*'''''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ao final do processo, a fórmula irá  apresentar o valor final: '''&amp;quot;R$ 86,21&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 2 ===&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P002' para o cliente 'C002'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,11 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || P1 || + || 113,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 75,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 87,86 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Fr || + || 90,86 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Pr || * || 90,86 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Qu || * || 90,86 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Cf || * || 100,86 || G&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''P= PpP1+Fc/Ce+Fr+Pr*Qu*Cf*'''''&lt;br /&gt;
&lt;br /&gt;
Ao final do processo de cálculo da fórmula, o valor do preço será '''&amp;quot;R$ 100,86&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 3 ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P003' para o cliente 'C003'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ -3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 8,67 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce2 || Custo de Embalagem 2 || R$ 2,00 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 2,5 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| K || Constante || 23,67 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp|| P1 || + || 107,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 71,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 80,33 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Ce2 || + || 82,33 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Fr || + || 84,83 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Pr || * || 84,83 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Qu || * || 84,83 || G&lt;br /&gt;
|-&lt;br /&gt;
| 8 || G || Cf || * || 84,83 || H&lt;br /&gt;
|-&lt;br /&gt;
| 9 || H || K || + || 108,50 || I&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''P= PpP1+Fc/Ce+Ce2+Fr+Pr*Qu*Cf*K+'''''&lt;br /&gt;
&lt;br /&gt;
Ao final do cálculo da forma, o valor final do preço será: '''&amp;quot;R$ 108,50&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--[[arquivo:formula1.png]]&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço2.png | 600 px]]&lt;br /&gt;
&lt;br /&gt;
Na formula acima, as somas de variaveis são agrupadas em blocos, multiplicando-se entre si. A relação entre os somatórios pode ser representada por&lt;br /&gt;
&lt;br /&gt;
[[arquivo:produto1.png | 200 px]]&lt;br /&gt;
&lt;br /&gt;
Portando, a equação de formação de preço pode ser representada da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ou pelo produtório&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço1.png]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A composição de preço tem como objetivo construir um preço de venda. Esse cadastro conta com tipos de variáveis para compor preço. Para que a composição de preço seja aplicada corretamente no cadastro do pedido, é necessário que as seguintes premissas sejam atendidas.&lt;br /&gt;
&lt;br /&gt;
=== Composição de preço ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Visto que há variação de preços de produtos para diferentes localidades, a formula criada para a composição de preços  deverá, além de compor toda a regra de cálculo de precificação de determinado produto, a sua parametrização vinculada ao seu respectivo Estado, Cidade e Filial. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em outras palavras, através da composição de preço, o usuário poderá informar a fórmula que o sistema irá aplicar para definir o preço unitário do produto. Essa regra poderá ser parametrizado por: filial, estado e cidade.&lt;br /&gt;
&lt;br /&gt;
== Regras de Negócios ==&lt;br /&gt;
&lt;br /&gt;
'''[RN1] - ''' Não poderá conter a mesma regra para o mesmo estado e filial;&lt;br /&gt;
&lt;br /&gt;
'''[RN2] - ''' Não deverá haver sobreposição de cadastros, e sim edição deste cadastro. Caso o usuário tente cadastrar o mesmo cenário mais de uma vez, a plataforma irá alertar informando que já existe uma regra, e que essa regra poderá ser sobreposta;&lt;br /&gt;
&lt;br /&gt;
'''[RN3] - ''' Essa funcionalidade será desenvolvida exclusivamente no GeoSales EVO.&lt;br /&gt;
&lt;br /&gt;
'''[RN4] - ''' Durante o processo, o portal não deverá travar, ou seja, o batch irá apresentar os dados apenas referentes às variáveis relacionadas (via GSOload). A medida visa evitar um carregamento excessivamente pesado de dados para determinada função. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''[RN5] - ''' Os históricos do log de alterações das variáveis ficarão registrados por um período de 1 (um) ano.&lt;br /&gt;
&lt;br /&gt;
'''[RN6] - ''' Um determinado produto poderá ser vinculado a mais de um grupo, mas a quantidade deve ser diferente.&lt;br /&gt;
&lt;br /&gt;
'''[RN7] - ''' A chave poderá ser associada a mais de um produto/tabela, mas o valor é específico pela unidade de um destes dois atributos.&lt;br /&gt;
&lt;br /&gt;
== Aprovação ==&lt;br /&gt;
&lt;br /&gt;
Considero aprovada a documentação da funcionalidade especificada acima, e autorizo a implementação da mesma no Sistema GeoSales, em nome da Organização a qual estou vinculado. &lt;br /&gt;
&lt;br /&gt;
=== GeoSales ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Desenvolvimento - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|- &lt;br /&gt;
| Integração - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
| Configurações - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Empresa solicitante === &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
! Assinatura&lt;br /&gt;
|-&lt;br /&gt;
| Gerente TI - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente de Projeto - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente Comercial - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Leo2s</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=14981</id>
		<title>Precificação</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=14981"/>
		<updated>2021-04-08T18:14:02Z</updated>

		<summary type="html">&lt;p&gt;Leo2s: /* Regras de Negócios */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Histórico de Alterações ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data&lt;br /&gt;
! Quem &lt;br /&gt;
! Comentários &lt;br /&gt;
|-&lt;br /&gt;
| 01/10/2020  || Ana Júlia || Criação do documento &lt;br /&gt;
|-&lt;br /&gt;
| 01/04/2021 || João Ramon || Atualização do documento&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
&lt;br /&gt;
No processo de formação de preços, conta-se com um número definido de variáveis que irão fazer a composição do valor final que será apresentado ao cliente final. Informações como custos operacionais, inclusão de markups, fatores de compensação por quebra e/ou comissionamento de venda devem estar contemplados na composição dos preços. A empresa deseja fazer esta composição dentro da Plataforma GeoSales EVO, inserindo todas as informações de custo, taxas e demais dados customizáveis, permitindo que o próprio cliente consiga fazer esta composição. &amp;lt;br&amp;gt;&lt;br /&gt;
O cenário de precificação atual não possui um processo uniformizado para cada cliente. Portanto, a necessidade de criar um processo padronizado para composição de preços, assim como a atualização customizável de algumas dessas variáveis, por se tratarem de variáveis cujos valores podem oscilar por motivos externos (oscilações de mercado, variação na política de preços, etc), é imperativa.&lt;br /&gt;
&lt;br /&gt;
== Solução ==&lt;br /&gt;
&lt;br /&gt;
Visto que a formação de preços, e seu processo de elaboração, devem ser totalmente customizáveis pelo cliente, primeiramente deve ser possível que ele não apenas determine quais as variáveis e seus respectivos valores devem ser atribuídos na plataforma para precificação, mas também como estas variáveis se relacionarão matematicamente, a fim de formular um preço baseado nas entradas fornecidas pelo cliente. Além disso, tais variáveis, uma vez inseridas no cadastro de preços, deverão ser passíveis de edição, feitas pelo próprio cliente, de forma manual.&lt;br /&gt;
&lt;br /&gt;
Como instrumento de parametrização das fórmulas contendo as variáveis criadas e seus operadores apropriados, será utilizada a '''''notação polonesa  reversa (RPN)''''', ferramenta de uso familiar a pessoas ligadas ao trabalho que envolva matemática financeira. Assim, a formação de preço deverá ser mais flexível e intuitiva na sua formação, além de facilitar em eventuais futuras modificações. As formulas serão definidas dentro de uma tabela de preço para um determinado grupo de produto facilitando o cadastro. &lt;br /&gt;
&lt;br /&gt;
Também visando a facilidade da manutenção dos valores de cada variável da fórmula, iremos construir o preço por um conjunto de parâmetros, podendo ser definido de forma atrelada às seguintes dimensões: produto e tabela de preço.&lt;br /&gt;
&lt;br /&gt;
Após a definição dos parâmetros, a fórmula será construída por meio da utilização destes. Finalizando esta etapa, basta pedir para processar a tabela, onde a mesma passará a ser vigente para a equipe de venda. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Dentro desta visão teremos 3 etapas na construção do preço:&lt;br /&gt;
&amp;lt;li&amp;gt;Cadastro dos parâmetros&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Construção da forma&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Processamento da tabela&amp;lt;/li&amp;gt;&lt;br /&gt;
Estes passos serão melhor esclarecidos adiante.--&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Implementação ==&lt;br /&gt;
&lt;br /&gt;
O processo terá como bases os seguintes passos: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. Criação de Tabela; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--2. para inserção de Variáveis e/ou aproveitamento de Tabela existente; &amp;lt;br&amp;gt;--&amp;gt;&lt;br /&gt;
2. Definição de Variáveis que deverão compor a fórmula de criação de preço, além da definição do atributo a qual tal variável está vinculada (produto ou Tabela);&amp;lt;br&amp;gt;&lt;br /&gt;
3. Definição de fórmula de formação de preços, utilizando RPN, e vinculações a grupos de produtos;&amp;lt;br&amp;gt;&lt;br /&gt;
4. Concluída a fórmula, com as relações operacionais entre as variáveis, os valores gerados devem ser processados para compor a Tabela de Preços.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cadastro tabela de preço'''&lt;br /&gt;
&amp;lt;dd&amp;gt; Para criação da tabela de preço, será criada uma tela para o usuário fazer o cadastro da tabela de preço. Nela será possível fazer a inserção e edição de cadastros, não sendo possível excluir qualquer cadastro de tabela de preço já realizado.  Ao entrar na tela o sistema deve apresentar campos de filtros, os quais o usuário poderá localizar um cadastro já inserido e realizar edição dos campos descrição e datas inicial e final de vigência. Além, disso no rodapé da tela o acesso a realizar um novo cadastro os quais o usuário vai preencher os seguintes campos.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Campo&lt;br /&gt;
! Tipo &lt;br /&gt;
! Utilização &lt;br /&gt;
|-&lt;br /&gt;
|  Descrição  || Texto || O campo de descrição é um texto que aceita no máximo 70 caracteres &lt;br /&gt;
|-&lt;br /&gt;
| Data inicial vigência  || Data || O campo de data inicial irá determinar o início da vigência para tabela de preço &lt;br /&gt;
|-&lt;br /&gt;
| Data final vigência  || Data || O campo de data final irá determinar o fim da vigência para tabela de preço &lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Uma tabela de preço não poderá ser excluída, só poderá ser desativada ou ativada através dos campos de data inicial e data final. Para desativar, basta colocar em seu intervalo de data validade, colocando a data final inferior a data atual;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Caso uma tabela de preço esteja com a data de validade vencida, a tabela de preço não será exibida para seleção no cadastro do pedido;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Os campos de datas não serão obrigatórios. Quando não estiverem preenchidos, indica que aquela tabela estará disponível para uso;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Não será possível utilizar a integração e cadastro da tabela de preço ao mesmo tempo, sendo necessário que haja uma única escolha: Integrar a tabela de preço do ERP ao GeoSales ou cadastrar a tabela de preço no próprio GeoSales. Caso tentem utilizar os dois cadastros ao mesmo tempo ERP e GeoSales, a integração apagará todos os registros cadastrados no GeoSales.&amp;lt;/li&amp;gt;&lt;br /&gt;
[[Arquivo:Tabelapreco.jpg|300px|Pesquisa]] &lt;br /&gt;
[[Arquivo:Tabelapreco2.jpg|300px|Cadastro]] &lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Declaração de variáveis''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;dd&amp;gt;&lt;br /&gt;
Dentro da tela de Variáveis de preço, deve ser possível definir uma variável de forma livre, mas que atenda as seguintes regras:&lt;br /&gt;
&amp;lt;li&amp;gt; O campo chave, que será utilizado como referência na formula de preço, não deve conter caracteres especiais, espaço em branco e nao ser mais que 8 caracteres&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; A variável deve estar associada a um produto ou uma tabela de preço&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Para valores do tipo '''numérico (18,6)''', serão aceitos como possibilidade, podendo ser positivos ou negativos.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Será criado um log de históricos de alterações de valores destas variáveis e passível de ser exportado em relatórios em excel.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Campos de cadastro:'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Descrição''' -  Campo de texto;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Chave''' -  Campo de texto de 8 caracteres;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Produto / Tabela''' -  A seleção de uma produto ou de uma tabela, dados previamente alimentados;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Valor''' -  Campo numérico(18:6);&amp;lt;/li&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
'''Definição da formula de preço'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Será necessário selecionar uma tabela de preço, a organização de venda e um ou mais produtos aos quais o preço deve ser inserido.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Para a regra de preço teremos que informar a '''formula''' do preço mínimo, sugerido e máximo com a quantidade mínima, que valida sua aplicação.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Nos campos de preço (mínimo, sugerido e máximo) teremos um espaço para a inserção da fórmula para composição de preço. Esta fórmula fará a relação matemática entre as variáveis criadas no processo anterior, por meio de '''operadores matemáticos (+, -, *, / )''', organizados em '''RPN''', notação comum para analistas financeiros, sendo bastante difundido, inclusive, na lógica de cálculo das calculadoras HP 12 C.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Será possível visualizar uma prévia da fórmula escrita, além do valor encontrado, a fim de que o usuário possa confirmar os valores que foram inseridos pelas variáveis e seus respectivos operadores.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como exemplo de notação polonesa reversa, tomemos a expressão '''''(A+B)*C'''''. Em RPN, a notação ficaria '''''AB+C*'''''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Processamento da Tabela ==&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
É importante frisar que os valores estão vinculados a uma tabela de preços, que consequentemente está vinculada a um cliente, organização de vendas, vendedores, e tabelas afins.&lt;br /&gt;
&lt;br /&gt;
As variáveis comuns a todos os clientes deverão ter valores diferenciados de acordo com a cidade onde a organização de vendas está alocada.&lt;br /&gt;
Há dois grupos de variáveis: aquelas que são relacionadas ao '''produto''' em si (tamanho, cor, embalagem, Tipo) e aquelas relacionadas à '''Tabela''' (Valor de partida, comissão promotor, frete, por exemplo). É importante determinar corretamente para qual grupo tal variável estará vinculada.&lt;br /&gt;
&lt;br /&gt;
Se mais de um produto possui a mesma característica, será possível fazer a precificação por grupos de produtos.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 1 ===&lt;br /&gt;
&lt;br /&gt;
Elaborando o preço do produto 'P001' para o cliente 'C001':&lt;br /&gt;
&lt;br /&gt;
Enumeração das variáveis&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 106,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 0,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1,02 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,02 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || Fc || / || 70,66 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Ce || + || 82,86 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Fr || + || 82,66 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Pr || * || 84,52 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Qu || * || 84,52 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Cf || * || 86,21 || F&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''P= PpFc/Ce+Fr+Pr*Qu*Cf*'''''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ao final do processo, a fórmula irá  apresentar o valor final: '''&amp;quot;R$ 86,21&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 2 ===&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P002' para o cliente 'C002'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,11 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || P1 || + || 113,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 75,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 87,86 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Fr || + || 90,86 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Pr || * || 90,86 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Qu || * || 90,86 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Cf || * || 100,86 || G&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''P= PpP1+Fc/Ce+Fr+Pr*Qu*Cf*'''''&lt;br /&gt;
&lt;br /&gt;
Ao final do processo de cálculo da fórmula, o valor do preço será '''&amp;quot;R$ 100,86&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 3 ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P003' para o cliente 'C003'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ -3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 8,67 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce2 || Custo de Embalagem 2 || R$ 2,00 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 2,5 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| K || Constante || 23,67 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp|| P1 || + || 107,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 71,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 80,33 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Ce2 || + || 82,33 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Fr || + || 84,83 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Pr || * || 84,83 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Qu || * || 84,83 || G&lt;br /&gt;
|-&lt;br /&gt;
| 8 || G || Cf || * || 84,83 || H&lt;br /&gt;
|-&lt;br /&gt;
| 9 || H || K || + || 108,50 || I&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''P= PpP1+Fc/Ce+Ce2+Fr+Pr*Qu*Cf*K+'''''&lt;br /&gt;
&lt;br /&gt;
Ao final do cálculo da forma, o valor final do preço será: '''&amp;quot;R$ 108,50&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--[[arquivo:formula1.png]]&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço2.png | 600 px]]&lt;br /&gt;
&lt;br /&gt;
Na formula acima, as somas de variaveis são agrupadas em blocos, multiplicando-se entre si. A relação entre os somatórios pode ser representada por&lt;br /&gt;
&lt;br /&gt;
[[arquivo:produto1.png | 200 px]]&lt;br /&gt;
&lt;br /&gt;
Portando, a equação de formação de preço pode ser representada da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ou pelo produtório&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço1.png]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A composição de preço tem como objetivo construir um preço de venda. Esse cadastro conta com tipos de variáveis para compor preço. Para que a composição de preço seja aplicada corretamente no cadastro do pedido, é necessário que as seguintes premissas sejam atendidas.&lt;br /&gt;
&lt;br /&gt;
=== Composição de preço ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Visto que há variação de preços de produtos para diferentes localidades, a formula criada para a composição de preços  deverá, além de compor toda a regra de cálculo de precificação de determinado produto, a sua parametrização vinculada ao seu respectivo Estado, Cidade e Filial. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em outras palavras, através da composição de preço, o usuário poderá informar a fórmula que o sistema irá aplicar para definir o preço unitário do produto. Essa regra poderá ser parametrizado por: filial, estado e cidade.&lt;br /&gt;
&lt;br /&gt;
== Regras de Negócios ==&lt;br /&gt;
&lt;br /&gt;
'''[RN1] - ''' Não poderá conter a mesma regra para o mesmo estado e filial;&lt;br /&gt;
&lt;br /&gt;
'''[RN2] - ''' Não deverá haver sobreposição de cadastros, e sim edição deste cadastro. Caso o usuário tente cadastrar o mesmo cenário mais de uma vez, a plataforma irá alertar informando que já existe uma regra, e que essa regra poderá ser sobreposta;&lt;br /&gt;
&lt;br /&gt;
'''[RN3] - ''' Essa funcionalidade será desenvolvida exclusivamente no GeoSales EVO.&lt;br /&gt;
&lt;br /&gt;
'''[RN4] - ''' Durante o processo, o portal não deverá travar, ou seja, o batch irá apresentar os dados apenas referentes às variáveis relacionadas (via GSOload). A medida visa evitar um carregamento excessivamente pesado de dados para determinada função. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''[RN5] - ''' Os históricos do log de alterações das variáveis ficarão registrados por um período de 1 (um) ano.&lt;br /&gt;
&lt;br /&gt;
'''[RN6] - ''' Um determinado produto poderá ser vinculado a mais de um grupo, mas a quantidade deve ser diferente.&lt;br /&gt;
&lt;br /&gt;
'''[RN7] - ''' A chave poderá ser associada a mais de um produto/tabela, mas o valor é específico pela unidade de um destes dois atributos.&lt;br /&gt;
&lt;br /&gt;
== Aprovação ==&lt;br /&gt;
&lt;br /&gt;
Considero aprovada a documentação da funcionalidade especificada acima, e autorizo a implementação da mesma no Sistema GeoSales, em nome da Organização a qual estou vinculado. &lt;br /&gt;
&lt;br /&gt;
=== GeoSales ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Desenvolvimento - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|- &lt;br /&gt;
| Integração - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
| Configurações - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Empresa solicitante === &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
! Assinatura&lt;br /&gt;
|-&lt;br /&gt;
| Gerente TI - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente de Projeto - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente Comercial - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Leo2s</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=14979</id>
		<title>Precificação</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=14979"/>
		<updated>2021-04-08T18:13:30Z</updated>

		<summary type="html">&lt;p&gt;Leo2s: /* Implementação */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Histórico de Alterações ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data&lt;br /&gt;
! Quem &lt;br /&gt;
! Comentários &lt;br /&gt;
|-&lt;br /&gt;
| 01/10/2020  || Ana Júlia || Criação do documento &lt;br /&gt;
|-&lt;br /&gt;
| 01/04/2021 || João Ramon || Atualização do documento&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
&lt;br /&gt;
No processo de formação de preços, conta-se com um número definido de variáveis que irão fazer a composição do valor final que será apresentado ao cliente final. Informações como custos operacionais, inclusão de markups, fatores de compensação por quebra e/ou comissionamento de venda devem estar contemplados na composição dos preços. A empresa deseja fazer esta composição dentro da Plataforma GeoSales EVO, inserindo todas as informações de custo, taxas e demais dados customizáveis, permitindo que o próprio cliente consiga fazer esta composição. &amp;lt;br&amp;gt;&lt;br /&gt;
O cenário de precificação atual não possui um processo uniformizado para cada cliente. Portanto, a necessidade de criar um processo padronizado para composição de preços, assim como a atualização customizável de algumas dessas variáveis, por se tratarem de variáveis cujos valores podem oscilar por motivos externos (oscilações de mercado, variação na política de preços, etc), é imperativa.&lt;br /&gt;
&lt;br /&gt;
== Solução ==&lt;br /&gt;
&lt;br /&gt;
Visto que a formação de preços, e seu processo de elaboração, devem ser totalmente customizáveis pelo cliente, primeiramente deve ser possível que ele não apenas determine quais as variáveis e seus respectivos valores devem ser atribuídos na plataforma para precificação, mas também como estas variáveis se relacionarão matematicamente, a fim de formular um preço baseado nas entradas fornecidas pelo cliente. Além disso, tais variáveis, uma vez inseridas no cadastro de preços, deverão ser passíveis de edição, feitas pelo próprio cliente, de forma manual.&lt;br /&gt;
&lt;br /&gt;
Como instrumento de parametrização das fórmulas contendo as variáveis criadas e seus operadores apropriados, será utilizada a '''''notação polonesa  reversa (RPN)''''', ferramenta de uso familiar a pessoas ligadas ao trabalho que envolva matemática financeira. Assim, a formação de preço deverá ser mais flexível e intuitiva na sua formação, além de facilitar em eventuais futuras modificações. As formulas serão definidas dentro de uma tabela de preço para um determinado grupo de produto facilitando o cadastro. &lt;br /&gt;
&lt;br /&gt;
Também visando a facilidade da manutenção dos valores de cada variável da fórmula, iremos construir o preço por um conjunto de parâmetros, podendo ser definido de forma atrelada às seguintes dimensões: produto e tabela de preço.&lt;br /&gt;
&lt;br /&gt;
Após a definição dos parâmetros, a fórmula será construída por meio da utilização destes. Finalizando esta etapa, basta pedir para processar a tabela, onde a mesma passará a ser vigente para a equipe de venda. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Dentro desta visão teremos 3 etapas na construção do preço:&lt;br /&gt;
&amp;lt;li&amp;gt;Cadastro dos parâmetros&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Construção da forma&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Processamento da tabela&amp;lt;/li&amp;gt;&lt;br /&gt;
Estes passos serão melhor esclarecidos adiante.--&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Implementação ==&lt;br /&gt;
&lt;br /&gt;
O processo terá como bases os seguintes passos: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. Criação de Tabela; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--2. para inserção de Variáveis e/ou aproveitamento de Tabela existente; &amp;lt;br&amp;gt;--&amp;gt;&lt;br /&gt;
2. Definição de Variáveis que deverão compor a fórmula de criação de preço, além da definição do atributo a qual tal variável está vinculada (produto ou Tabela);&amp;lt;br&amp;gt;&lt;br /&gt;
3. Definição de fórmula de formação de preços, utilizando RPN, e vinculações a grupos de produtos;&amp;lt;br&amp;gt;&lt;br /&gt;
4. Concluída a fórmula, com as relações operacionais entre as variáveis, os valores gerados devem ser processados para compor a Tabela de Preços.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cadastro tabela de preço'''&lt;br /&gt;
&amp;lt;dd&amp;gt; Para criação da tabela de preço, será criada uma tela para o usuário fazer o cadastro da tabela de preço. Nela será possível fazer a inserção e edição de cadastros, não sendo possível excluir qualquer cadastro de tabela de preço já realizado.  Ao entrar na tela o sistema deve apresentar campos de filtros, os quais o usuário poderá localizar um cadastro já inserido e realizar edição dos campos descrição e datas inicial e final de vigência. Além, disso no rodapé da tela o acesso a realizar um novo cadastro os quais o usuário vai preencher os seguintes campos.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Campo&lt;br /&gt;
! Tipo &lt;br /&gt;
! Utilização &lt;br /&gt;
|-&lt;br /&gt;
|  Descrição  || Texto || O campo de descrição é um texto que aceita no máximo 70 caracteres &lt;br /&gt;
|-&lt;br /&gt;
| Data inicial vigência  || Data || O campo de data inicial irá determinar o início da vigência para tabela de preço &lt;br /&gt;
|-&lt;br /&gt;
| Data final vigência  || Data || O campo de data final irá determinar o fim da vigência para tabela de preço &lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Uma tabela de preço não poderá ser excluída, só poderá ser desativada ou ativada através dos campos de data inicial e data final. Para desativar, basta colocar em seu intervalo de data validade, colocando a data final inferior a data atual;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Caso uma tabela de preço esteja com a data de validade vencida, a tabela de preço não será exibida para seleção no cadastro do pedido;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Os campos de datas não serão obrigatórios. Quando não estiverem preenchidos, indica que aquela tabela estará disponível para uso;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Não será possível utilizar a integração e cadastro da tabela de preço ao mesmo tempo, sendo necessário que haja uma única escolha: Integrar a tabela de preço do ERP ao GeoSales ou cadastrar a tabela de preço no próprio GeoSales. Caso tentem utilizar os dois cadastros ao mesmo tempo ERP e GeoSales, a integração apagará todos os registros cadastrados no GeoSales.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
[[Arquivo:Tabelapreco.jpg|300px|Pesquisa]] &lt;br /&gt;
[[Arquivo:Tabelapreco2.jpg|300px|Cadastro]] &lt;br /&gt;
&lt;br /&gt;
'''Declaração de variáveis''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;dd&amp;gt;&lt;br /&gt;
Dentro da tela de Variáveis de preço, deve ser possível definir uma variável de forma livre, mas que atenda as seguintes regras:&lt;br /&gt;
&amp;lt;li&amp;gt; O campo chave, que será utilizado como referência na formula de preço, não deve conter caracteres especiais, espaço em branco e nao ser mais que 8 caracteres&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; A variável deve estar associada a um produto ou uma tabela de preço&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Para valores do tipo '''numérico (18,6)''', serão aceitos como possibilidade, podendo ser positivos ou negativos.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Será criado um log de históricos de alterações de valores destas variáveis e passível de ser exportado em relatórios em excel.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Campos de cadastro:'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Descrição''' -  Campo de texto;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Chave''' -  Campo de texto de 8 caracteres;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Produto / Tabela''' -  A seleção de uma produto ou de uma tabela, dados previamente alimentados;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Valor''' -  Campo numérico(18:6);&amp;lt;/li&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
'''Definição da formula de preço'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Será necessário selecionar uma tabela de preço, a organização de venda e um ou mais produtos aos quais o preço deve ser inserido.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Para a regra de preço teremos que informar a '''formula''' do preço mínimo, sugerido e máximo com a quantidade mínima, que valida sua aplicação.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Nos campos de preço (mínimo, sugerido e máximo) teremos um espaço para a inserção da fórmula para composição de preço. Esta fórmula fará a relação matemática entre as variáveis criadas no processo anterior, por meio de '''operadores matemáticos (+, -, *, / )''', organizados em '''RPN''', notação comum para analistas financeiros, sendo bastante difundido, inclusive, na lógica de cálculo das calculadoras HP 12 C.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Será possível visualizar uma prévia da fórmula escrita, além do valor encontrado, a fim de que o usuário possa confirmar os valores que foram inseridos pelas variáveis e seus respectivos operadores.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como exemplo de notação polonesa reversa, tomemos a expressão '''''(A+B)*C'''''. Em RPN, a notação ficaria '''''AB+C*'''''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Processamento da Tabela ==&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
É importante frisar que os valores estão vinculados a uma tabela de preços, que consequentemente está vinculada a um cliente, organização de vendas, vendedores, e tabelas afins.&lt;br /&gt;
&lt;br /&gt;
As variáveis comuns a todos os clientes deverão ter valores diferenciados de acordo com a cidade onde a organização de vendas está alocada.&lt;br /&gt;
Há dois grupos de variáveis: aquelas que são relacionadas ao '''produto''' em si (tamanho, cor, embalagem, Tipo) e aquelas relacionadas à '''Tabela''' (Valor de partida, comissão promotor, frete, por exemplo). É importante determinar corretamente para qual grupo tal variável estará vinculada.&lt;br /&gt;
&lt;br /&gt;
Se mais de um produto possui a mesma característica, será possível fazer a precificação por grupos de produtos.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 1 ===&lt;br /&gt;
&lt;br /&gt;
Elaborando o preço do produto 'P001' para o cliente 'C001':&lt;br /&gt;
&lt;br /&gt;
Enumeração das variáveis&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 106,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 0,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1,02 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,02 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || Fc || / || 70,66 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Ce || + || 82,86 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Fr || + || 82,66 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Pr || * || 84,52 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Qu || * || 84,52 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Cf || * || 86,21 || F&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''P= PpFc/Ce+Fr+Pr*Qu*Cf*'''''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ao final do processo, a fórmula irá  apresentar o valor final: '''&amp;quot;R$ 86,21&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 2 ===&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P002' para o cliente 'C002'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,11 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || P1 || + || 113,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 75,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 87,86 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Fr || + || 90,86 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Pr || * || 90,86 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Qu || * || 90,86 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Cf || * || 100,86 || G&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''P= PpP1+Fc/Ce+Fr+Pr*Qu*Cf*'''''&lt;br /&gt;
&lt;br /&gt;
Ao final do processo de cálculo da fórmula, o valor do preço será '''&amp;quot;R$ 100,86&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 3 ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P003' para o cliente 'C003'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ -3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 8,67 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce2 || Custo de Embalagem 2 || R$ 2,00 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 2,5 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| K || Constante || 23,67 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp|| P1 || + || 107,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 71,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 80,33 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Ce2 || + || 82,33 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Fr || + || 84,83 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Pr || * || 84,83 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Qu || * || 84,83 || G&lt;br /&gt;
|-&lt;br /&gt;
| 8 || G || Cf || * || 84,83 || H&lt;br /&gt;
|-&lt;br /&gt;
| 9 || H || K || + || 108,50 || I&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''P= PpP1+Fc/Ce+Ce2+Fr+Pr*Qu*Cf*K+'''''&lt;br /&gt;
&lt;br /&gt;
Ao final do cálculo da forma, o valor final do preço será: '''&amp;quot;R$ 108,50&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--[[arquivo:formula1.png]]&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço2.png | 600 px]]&lt;br /&gt;
&lt;br /&gt;
Na formula acima, as somas de variaveis são agrupadas em blocos, multiplicando-se entre si. A relação entre os somatórios pode ser representada por&lt;br /&gt;
&lt;br /&gt;
[[arquivo:produto1.png | 200 px]]&lt;br /&gt;
&lt;br /&gt;
Portando, a equação de formação de preço pode ser representada da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ou pelo produtório&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço1.png]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A composição de preço tem como objetivo construir um preço de venda. Esse cadastro conta com tipos de variáveis para compor preço. Para que a composição de preço seja aplicada corretamente no cadastro do pedido, é necessário que as seguintes premissas sejam atendidas.&lt;br /&gt;
&lt;br /&gt;
=== Composição de preço ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Visto que há variação de preços de produtos para diferentes localidades, a formula criada para a composição de preços  deverá, além de compor toda a regra de cálculo de precificação de determinado produto, a sua parametrização vinculada ao seu respectivo Estado, Cidade e Filial. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em outras palavras, através da composição de preço, o usuário poderá informar a fórmula que o sistema irá aplicar para definir o preço unitário do produto. Essa regra poderá ser parametrizado por: filial, estado e cidade.&lt;br /&gt;
&lt;br /&gt;
== Regras de Negócios ==&lt;br /&gt;
&lt;br /&gt;
'''[RN1] - ''' Não poderá conter a mesma regra para o mesmo estado e filial;&lt;br /&gt;
&lt;br /&gt;
'''[RN2] - ''' Não deverá haver sobreposição de cadastros, e sim edição deste cadastro. Caso o usuário tente cadastrar o mesmo cenário mais de uma vez, a plataforma irá alertar informando que já existe uma regra, e que essa regra poderá ser sobreposta;&lt;br /&gt;
&lt;br /&gt;
'''[RN3] - ''' Essa funcionalidade será desenvolvida exclusivamente no GeoSales EVO.&lt;br /&gt;
&lt;br /&gt;
'''[RN4] - ''' Durante o processo, o portal não deverá travar, ou seja, o batch irá apresentar os dados apenas referentes às variáveis relacionadas (via GSOload). A medida visa evitar um carregamento excessivamente pesado de dados para determinada função. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''[RN5] - ''' Os históricos do log de alterações das variáveis ficarão registrados por um período de 1 (um) ano.&lt;br /&gt;
&lt;br /&gt;
'''[RN6] - ''' Um determinado produto poderá ser vinculado a mais de um grupo, mas a quantidade deve ser diferente.&lt;br /&gt;
&lt;br /&gt;
== Aprovação ==&lt;br /&gt;
&lt;br /&gt;
Considero aprovada a documentação da funcionalidade especificada acima, e autorizo a implementação da mesma no Sistema GeoSales, em nome da Organização a qual estou vinculado. &lt;br /&gt;
&lt;br /&gt;
=== GeoSales ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Desenvolvimento - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|- &lt;br /&gt;
| Integração - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
| Configurações - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Empresa solicitante === &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
! Assinatura&lt;br /&gt;
|-&lt;br /&gt;
| Gerente TI - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente de Projeto - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente Comercial - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Leo2s</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=14977</id>
		<title>Precificação</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=14977"/>
		<updated>2021-04-08T18:11:09Z</updated>

		<summary type="html">&lt;p&gt;Leo2s: /* Implementação */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Histórico de Alterações ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data&lt;br /&gt;
! Quem &lt;br /&gt;
! Comentários &lt;br /&gt;
|-&lt;br /&gt;
| 01/10/2020  || Ana Júlia || Criação do documento &lt;br /&gt;
|-&lt;br /&gt;
| 01/04/2021 || João Ramon || Atualização do documento&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
&lt;br /&gt;
No processo de formação de preços, conta-se com um número definido de variáveis que irão fazer a composição do valor final que será apresentado ao cliente final. Informações como custos operacionais, inclusão de markups, fatores de compensação por quebra e/ou comissionamento de venda devem estar contemplados na composição dos preços. A empresa deseja fazer esta composição dentro da Plataforma GeoSales EVO, inserindo todas as informações de custo, taxas e demais dados customizáveis, permitindo que o próprio cliente consiga fazer esta composição. &amp;lt;br&amp;gt;&lt;br /&gt;
O cenário de precificação atual não possui um processo uniformizado para cada cliente. Portanto, a necessidade de criar um processo padronizado para composição de preços, assim como a atualização customizável de algumas dessas variáveis, por se tratarem de variáveis cujos valores podem oscilar por motivos externos (oscilações de mercado, variação na política de preços, etc), é imperativa.&lt;br /&gt;
&lt;br /&gt;
== Solução ==&lt;br /&gt;
&lt;br /&gt;
Visto que a formação de preços, e seu processo de elaboração, devem ser totalmente customizáveis pelo cliente, primeiramente deve ser possível que ele não apenas determine quais as variáveis e seus respectivos valores devem ser atribuídos na plataforma para precificação, mas também como estas variáveis se relacionarão matematicamente, a fim de formular um preço baseado nas entradas fornecidas pelo cliente. Além disso, tais variáveis, uma vez inseridas no cadastro de preços, deverão ser passíveis de edição, feitas pelo próprio cliente, de forma manual.&lt;br /&gt;
&lt;br /&gt;
Como instrumento de parametrização das fórmulas contendo as variáveis criadas e seus operadores apropriados, será utilizada a '''''notação polonesa  reversa (RPN)''''', ferramenta de uso familiar a pessoas ligadas ao trabalho que envolva matemática financeira. Assim, a formação de preço deverá ser mais flexível e intuitiva na sua formação, além de facilitar em eventuais futuras modificações. As formulas serão definidas dentro de uma tabela de preço para um determinado grupo de produto facilitando o cadastro. &lt;br /&gt;
&lt;br /&gt;
Também visando a facilidade da manutenção dos valores de cada variável da fórmula, iremos construir o preço por um conjunto de parâmetros, podendo ser definido de forma atrelada às seguintes dimensões: produto e tabela de preço.&lt;br /&gt;
&lt;br /&gt;
Após a definição dos parâmetros, a fórmula será construída por meio da utilização destes. Finalizando esta etapa, basta pedir para processar a tabela, onde a mesma passará a ser vigente para a equipe de venda. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Dentro desta visão teremos 3 etapas na construção do preço:&lt;br /&gt;
&amp;lt;li&amp;gt;Cadastro dos parâmetros&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Construção da forma&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Processamento da tabela&amp;lt;/li&amp;gt;&lt;br /&gt;
Estes passos serão melhor esclarecidos adiante.--&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Implementação ==&lt;br /&gt;
&lt;br /&gt;
O processo terá como bases os seguintes passos: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. Criação de Tabela; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--2. para inserção de Variáveis e/ou aproveitamento de Tabela existente; &amp;lt;br&amp;gt;--&amp;gt;&lt;br /&gt;
2. Definição de Variáveis que deverão compor a fórmula de criação de preço, além da definição do atributo a qual tal variável está vinculada (produto ou Tabela);&amp;lt;br&amp;gt;&lt;br /&gt;
3. Definição de fórmula de formação de preços, utilizando RPN, e vinculações a grupos de produtos;&amp;lt;br&amp;gt;&lt;br /&gt;
4. Concluída a fórmula, com as relações operacionais entre as variáveis, os valores gerados devem ser processados para compor a Tabela de Preços.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cadastro tabela de preço'''&lt;br /&gt;
&amp;lt;dd&amp;gt; Para criação da tabela de preço, será criada uma tela para o usuário fazer o cadastro da tabela de preço. Nela será possível fazer a inserção e edição de cadastros, não sendo possível excluir qualquer cadastro de tabela de preço já realizado.  Ao entrar na tela o sistema deve apresentar campos de filtros, os quais o usuário poderá localizar um cadastro já inserido e realizar edição dos campos descrição e datas inicial e final de vigência. Além, disso no rodapé da tela o acesso a realizar um novo cadastro os quais o usuário vai preencher os seguintes campos.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Campo&lt;br /&gt;
! Tipo &lt;br /&gt;
! Utilização &lt;br /&gt;
|-&lt;br /&gt;
|  Descrição  || Texto || O campo de descrição é um texto que aceita no máximo 70 caracteres &lt;br /&gt;
|-&lt;br /&gt;
| Data inicial vigência  || Data || O campo de data inicial irá determinar o início da vigência para tabela de preço &lt;br /&gt;
|-&lt;br /&gt;
| Data final vigência  || Data || O campo de data final irá determinar o fim da vigência para tabela de preço &lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Uma tabela de preço não poderá ser excluída, só poderá ser desativada ou ativada através dos campos de data inicial e data final. Para desativar, basta colocar em seu intervalo de data validade, colocando a data final inferior a data atual;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Caso uma tabela de preço esteja com a data de validade vencida, a tabela de preço não será exibida para seleção no cadastro do pedido;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Os campos de datas não serão obrigatórios. Quando não estiverem preenchidos, indica que aquela tabela estará disponível para uso;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Não será possível utilizar a integração e cadastro da tabela de preço ao mesmo tempo, sendo necessário que haja uma única escolha: Integrar a tabela de preço do ERP ao GeoSales ou cadastrar a tabela de preço no próprio GeoSales. Caso tentem utilizar os dois cadastros ao mesmo tempo ERP e GeoSales, a integração apagará todos os registros cadastrados no GeoSales.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
'''Declaração de variáveis''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;dd&amp;gt;&lt;br /&gt;
Dentro da tela de Variáveis de preço, deve ser possível definir uma variável de forma livre, mas que atenda as seguintes regras:&lt;br /&gt;
&amp;lt;li&amp;gt; O campo chave, que será utilizado como referência na formula de preço, não deve conter caracteres especiais, espaço em branco e nao ser mais que 8 caracteres&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; A variável deve estar associada a um produto ou uma tabela de preço&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Para valores do tipo '''numérico (18,6)''', serão aceitos como possibilidade, podendo ser positivos ou negativos.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Será criado um log de históricos de alterações de valores destas variáveis e passível de ser exportado em relatórios em excel.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
''Campos de cadastro:''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Descrição''' -  Campo de texto;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Chave''' -  Campo de texto de 8 caracteres;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Produto / Tabela''' -  A seleção de uma produto ou de uma tabela, dados previamente alimentados;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Valor''' -  Campo numérico(18:6);&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
'''Definição da formula de preço'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Será necessário selecionar uma tabela de preço, a organização de venda e um ou mais produtos aos quais o preço deve ser inserido.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Para a regra de preço teremos que informar a '''formula''' do preço mínimo, sugerido e máximo com a quantidade mínima, que valida sua aplicação.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Nos campos de preço (mínimo, sugerido e máximo) teremos um espaço para a inserção da fórmula para composição de preço. Esta fórmula fará a relação matemática entre as variáveis criadas no processo anterior, por meio de '''operadores matemáticos (+, -, *, / )''', organizados em '''RPN''', notação comum para analistas financeiros, sendo bastante difundido, inclusive, na lógica de cálculo das calculadoras HP 12 C.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Será possível visualizar uma prévia da fórmula escrita, além do valor encontrado, a fim de que o usuário possa confirmar os valores que foram inseridos pelas variáveis e seus respectivos operadores.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como exemplo de notação polonesa reversa, tomemos a expressão '''''(A+B)*C'''''. Em RPN, a notação ficaria '''''AB+C*'''''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Processamento da Tabela ==&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
É importante frisar que os valores estão vinculados a uma tabela de preços, que consequentemente está vinculada a um cliente, organização de vendas, vendedores, e tabelas afins.&lt;br /&gt;
&lt;br /&gt;
As variáveis comuns a todos os clientes deverão ter valores diferenciados de acordo com a cidade onde a organização de vendas está alocada.&lt;br /&gt;
Há dois grupos de variáveis: aquelas que são relacionadas ao '''produto''' em si (tamanho, cor, embalagem, Tipo) e aquelas relacionadas à '''Tabela''' (Valor de partida, comissão promotor, frete, por exemplo). É importante determinar corretamente para qual grupo tal variável estará vinculada.&lt;br /&gt;
&lt;br /&gt;
Se mais de um produto possui a mesma característica, será possível fazer a precificação por grupos de produtos.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 1 ===&lt;br /&gt;
&lt;br /&gt;
Elaborando o preço do produto 'P001' para o cliente 'C001':&lt;br /&gt;
&lt;br /&gt;
Enumeração das variáveis&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 106,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 0,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1,02 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,02 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || Fc || / || 70,66 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Ce || + || 82,86 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Fr || + || 82,66 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Pr || * || 84,52 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Qu || * || 84,52 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Cf || * || 86,21 || F&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''P= PpFc/Ce+Fr+Pr*Qu*Cf*'''''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ao final do processo, a fórmula irá  apresentar o valor final: '''&amp;quot;R$ 86,21&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 2 ===&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P002' para o cliente 'C002'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,11 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || P1 || + || 113,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 75,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 87,86 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Fr || + || 90,86 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Pr || * || 90,86 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Qu || * || 90,86 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Cf || * || 100,86 || G&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''P= PpP1+Fc/Ce+Fr+Pr*Qu*Cf*'''''&lt;br /&gt;
&lt;br /&gt;
Ao final do processo de cálculo da fórmula, o valor do preço será '''&amp;quot;R$ 100,86&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 3 ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P003' para o cliente 'C003'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ -3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 8,67 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce2 || Custo de Embalagem 2 || R$ 2,00 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 2,5 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| K || Constante || 23,67 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp|| P1 || + || 107,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 71,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 80,33 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Ce2 || + || 82,33 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Fr || + || 84,83 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Pr || * || 84,83 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Qu || * || 84,83 || G&lt;br /&gt;
|-&lt;br /&gt;
| 8 || G || Cf || * || 84,83 || H&lt;br /&gt;
|-&lt;br /&gt;
| 9 || H || K || + || 108,50 || I&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''P= PpP1+Fc/Ce+Ce2+Fr+Pr*Qu*Cf*K+'''''&lt;br /&gt;
&lt;br /&gt;
Ao final do cálculo da forma, o valor final do preço será: '''&amp;quot;R$ 108,50&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--[[arquivo:formula1.png]]&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço2.png | 600 px]]&lt;br /&gt;
&lt;br /&gt;
Na formula acima, as somas de variaveis são agrupadas em blocos, multiplicando-se entre si. A relação entre os somatórios pode ser representada por&lt;br /&gt;
&lt;br /&gt;
[[arquivo:produto1.png | 200 px]]&lt;br /&gt;
&lt;br /&gt;
Portando, a equação de formação de preço pode ser representada da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ou pelo produtório&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço1.png]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A composição de preço tem como objetivo construir um preço de venda. Esse cadastro conta com tipos de variáveis para compor preço. Para que a composição de preço seja aplicada corretamente no cadastro do pedido, é necessário que as seguintes premissas sejam atendidas.&lt;br /&gt;
&lt;br /&gt;
=== Composição de preço ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Visto que há variação de preços de produtos para diferentes localidades, a formula criada para a composição de preços  deverá, além de compor toda a regra de cálculo de precificação de determinado produto, a sua parametrização vinculada ao seu respectivo Estado, Cidade e Filial. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em outras palavras, através da composição de preço, o usuário poderá informar a fórmula que o sistema irá aplicar para definir o preço unitário do produto. Essa regra poderá ser parametrizado por: filial, estado e cidade.&lt;br /&gt;
&lt;br /&gt;
== Regras de Negócios ==&lt;br /&gt;
&lt;br /&gt;
'''[RN1] - ''' Não poderá conter a mesma regra para o mesmo estado e filial;&lt;br /&gt;
&lt;br /&gt;
'''[RN2] - ''' Não deverá haver sobreposição de cadastros, e sim edição deste cadastro. Caso o usuário tente cadastrar o mesmo cenário mais de uma vez, a plataforma irá alertar informando que já existe uma regra, e que essa regra poderá ser sobreposta;&lt;br /&gt;
&lt;br /&gt;
'''[RN3] - ''' Essa funcionalidade será desenvolvida exclusivamente no GeoSales EVO.&lt;br /&gt;
&lt;br /&gt;
'''[RN4] - ''' Durante o processo, o portal não deverá travar, ou seja, o batch irá apresentar os dados apenas referentes às variáveis relacionadas (via GSOload). A medida visa evitar um carregamento excessivamente pesado de dados para determinada função. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''[RN5] - ''' Os históricos do log de alterações das variáveis ficarão registrados por um período de 1 (um) ano.&lt;br /&gt;
&lt;br /&gt;
'''[RN6] - ''' Um determinado produto poderá ser vinculado a mais de um grupo, mas a quantidade deve ser diferente.&lt;br /&gt;
&lt;br /&gt;
== Aprovação ==&lt;br /&gt;
&lt;br /&gt;
Considero aprovada a documentação da funcionalidade especificada acima, e autorizo a implementação da mesma no Sistema GeoSales, em nome da Organização a qual estou vinculado. &lt;br /&gt;
&lt;br /&gt;
=== GeoSales ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Desenvolvimento - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|- &lt;br /&gt;
| Integração - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
| Configurações - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Empresa solicitante === &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
! Assinatura&lt;br /&gt;
|-&lt;br /&gt;
| Gerente TI - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente de Projeto - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente Comercial - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Leo2s</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=14976</id>
		<title>Precificação</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=14976"/>
		<updated>2021-04-08T18:10:41Z</updated>

		<summary type="html">&lt;p&gt;Leo2s: /* Implementação */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Histórico de Alterações ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data&lt;br /&gt;
! Quem &lt;br /&gt;
! Comentários &lt;br /&gt;
|-&lt;br /&gt;
| 01/10/2020  || Ana Júlia || Criação do documento &lt;br /&gt;
|-&lt;br /&gt;
| 01/04/2021 || João Ramon || Atualização do documento&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
&lt;br /&gt;
No processo de formação de preços, conta-se com um número definido de variáveis que irão fazer a composição do valor final que será apresentado ao cliente final. Informações como custos operacionais, inclusão de markups, fatores de compensação por quebra e/ou comissionamento de venda devem estar contemplados na composição dos preços. A empresa deseja fazer esta composição dentro da Plataforma GeoSales EVO, inserindo todas as informações de custo, taxas e demais dados customizáveis, permitindo que o próprio cliente consiga fazer esta composição. &amp;lt;br&amp;gt;&lt;br /&gt;
O cenário de precificação atual não possui um processo uniformizado para cada cliente. Portanto, a necessidade de criar um processo padronizado para composição de preços, assim como a atualização customizável de algumas dessas variáveis, por se tratarem de variáveis cujos valores podem oscilar por motivos externos (oscilações de mercado, variação na política de preços, etc), é imperativa.&lt;br /&gt;
&lt;br /&gt;
== Solução ==&lt;br /&gt;
&lt;br /&gt;
Visto que a formação de preços, e seu processo de elaboração, devem ser totalmente customizáveis pelo cliente, primeiramente deve ser possível que ele não apenas determine quais as variáveis e seus respectivos valores devem ser atribuídos na plataforma para precificação, mas também como estas variáveis se relacionarão matematicamente, a fim de formular um preço baseado nas entradas fornecidas pelo cliente. Além disso, tais variáveis, uma vez inseridas no cadastro de preços, deverão ser passíveis de edição, feitas pelo próprio cliente, de forma manual.&lt;br /&gt;
&lt;br /&gt;
Como instrumento de parametrização das fórmulas contendo as variáveis criadas e seus operadores apropriados, será utilizada a '''''notação polonesa  reversa (RPN)''''', ferramenta de uso familiar a pessoas ligadas ao trabalho que envolva matemática financeira. Assim, a formação de preço deverá ser mais flexível e intuitiva na sua formação, além de facilitar em eventuais futuras modificações. As formulas serão definidas dentro de uma tabela de preço para um determinado grupo de produto facilitando o cadastro. &lt;br /&gt;
&lt;br /&gt;
Também visando a facilidade da manutenção dos valores de cada variável da fórmula, iremos construir o preço por um conjunto de parâmetros, podendo ser definido de forma atrelada às seguintes dimensões: produto e tabela de preço.&lt;br /&gt;
&lt;br /&gt;
Após a definição dos parâmetros, a fórmula será construída por meio da utilização destes. Finalizando esta etapa, basta pedir para processar a tabela, onde a mesma passará a ser vigente para a equipe de venda. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Dentro desta visão teremos 3 etapas na construção do preço:&lt;br /&gt;
&amp;lt;li&amp;gt;Cadastro dos parâmetros&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Construção da forma&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Processamento da tabela&amp;lt;/li&amp;gt;&lt;br /&gt;
Estes passos serão melhor esclarecidos adiante.--&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Implementação ==&lt;br /&gt;
&lt;br /&gt;
O processo terá como bases os seguintes passos: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. Criação de Tabela; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--2. para inserção de Variáveis e/ou aproveitamento de Tabela existente; &amp;lt;br&amp;gt;--&amp;gt;&lt;br /&gt;
2. Definição de Variáveis que deverão compor a fórmula de criação de preço, além da definição do atributo a qual tal variável está vinculada (produto ou Tabela);&amp;lt;br&amp;gt;&lt;br /&gt;
3. Definição de fórmula de formação de preços, utilizando RPN, e vinculações a grupos de produtos;&amp;lt;br&amp;gt;&lt;br /&gt;
4. Concluída a fórmula, com as relações operacionais entre as variáveis, os valores gerados devem ser processados para compor a Tabela de Preços.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cadastro tabela de preço'''&lt;br /&gt;
&amp;lt;dd&amp;gt; Para criação da tabela de preço, será criada uma tela para o usuário fazer o cadastro da tabela de preço. Nela será possível fazer a inserção e edição de cadastros, não sendo possível excluir qualquer cadastro de tabela de preço já realizado.  Ao entrar na tela o sistema deve apresentar campos de filtros, os quais o usuário poderá localizar um cadastro já inserido e realizar edição dos campos descrição e datas inicial e final de vigência. Além, disso no rodapé da tela o acesso a realizar um novo cadastro os quais o usuário vai preencher os seguintes campos.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Campo&lt;br /&gt;
! Tipo &lt;br /&gt;
! Utilização &lt;br /&gt;
|-&lt;br /&gt;
|  Descrição  || Texto || O campo de descrição é um texto que aceita no máximo 70 caracteres &lt;br /&gt;
|-&lt;br /&gt;
| Data inicial vigência  || Data || O campo de data inicial irá determinar o início da vigência para tabela de preço &lt;br /&gt;
|-&lt;br /&gt;
| Data final vigência  || Data || O campo de data final irá determinar o fim da vigência para tabela de preço &lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Uma tabela de preço não poderá ser excluída, só poderá ser desativada ou ativada através dos campos de data inicial e data final. Para desativar, basta colocar em seu intervalo de data validade, colocando a data final inferior a data atual;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Caso uma tabela de preço esteja com a data de validade vencida, a tabela de preço não será exibida para seleção no cadastro do pedido;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Os campos de datas não serão obrigatórios. Quando não estiverem preenchidos, indica que aquela tabela estará disponível para uso;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Não será possível utilizar a integração e cadastro da tabela de preço ao mesmo tempo, sendo necessário que haja uma única escolha: Integrar a tabela de preço do ERP ao GeoSales ou cadastrar a tabela de preço no próprio GeoSales. Caso tentem utilizar os dois cadastros ao mesmo tempo ERP e GeoSales, a integração apagará todos os registros cadastrados no GeoSales.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
'''Declaração de variáveis''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;dd&amp;gt;&lt;br /&gt;
Dentro da tela de Variáveis de preço, deve ser possível definir uma variável de forma livre, mas que atenda as seguintes regras:&lt;br /&gt;
&amp;lt;li&amp;gt; O campo chave, que será utilizado como referência na formula de preço, não deve conter caracteres especiais, espaço em branco e nao ser mais que 8 caracteres&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; A variável deve estar associada a um produto ou uma tabela de preço&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Para valores do tipo '''numérico (18,6)''', serão aceitos como possibilidade, podendo ser positivos ou negativos.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Será criado um log de históricos de alterações de valores destas variáveis e passível de ser exportado em relatórios em excel.&lt;br /&gt;
&lt;br /&gt;
Campos de cadastro:&lt;br /&gt;
&amp;lt;li&amp;gt;'''Descrição''' -  Campo de texto;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Chave''' -  Campo de texto de 8 caracteres;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Produto / Tabela''' -  A seleção de uma produto ou de uma tabela, dados previamente alimentados;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Valor''' -  Campo numérico(18:6);&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
'''Definição da formula de preço'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Será necessário selecionar uma tabela de preço, a organização de venda e um ou mais produtos aos quais o preço deve ser inserido.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Para a regra de preço teremos que informar a '''formula''' do preço mínimo, sugerido e máximo com a quantidade mínima, que valida sua aplicação.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Nos campos de preço (mínimo, sugerido e máximo) teremos um espaço para a inserção da fórmula para composição de preço. Esta fórmula fará a relação matemática entre as variáveis criadas no processo anterior, por meio de '''operadores matemáticos (+, -, *, / )''', organizados em '''RPN''', notação comum para analistas financeiros, sendo bastante difundido, inclusive, na lógica de cálculo das calculadoras HP 12 C.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Será possível visualizar uma prévia da fórmula escrita, além do valor encontrado, a fim de que o usuário possa confirmar os valores que foram inseridos pelas variáveis e seus respectivos operadores.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como exemplo de notação polonesa reversa, tomemos a expressão '''''(A+B)*C'''''. Em RPN, a notação ficaria '''''AB+C*'''''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Processamento da Tabela ==&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
É importante frisar que os valores estão vinculados a uma tabela de preços, que consequentemente está vinculada a um cliente, organização de vendas, vendedores, e tabelas afins.&lt;br /&gt;
&lt;br /&gt;
As variáveis comuns a todos os clientes deverão ter valores diferenciados de acordo com a cidade onde a organização de vendas está alocada.&lt;br /&gt;
Há dois grupos de variáveis: aquelas que são relacionadas ao '''produto''' em si (tamanho, cor, embalagem, Tipo) e aquelas relacionadas à '''Tabela''' (Valor de partida, comissão promotor, frete, por exemplo). É importante determinar corretamente para qual grupo tal variável estará vinculada.&lt;br /&gt;
&lt;br /&gt;
Se mais de um produto possui a mesma característica, será possível fazer a precificação por grupos de produtos.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 1 ===&lt;br /&gt;
&lt;br /&gt;
Elaborando o preço do produto 'P001' para o cliente 'C001':&lt;br /&gt;
&lt;br /&gt;
Enumeração das variáveis&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 106,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 0,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1,02 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,02 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || Fc || / || 70,66 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Ce || + || 82,86 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Fr || + || 82,66 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Pr || * || 84,52 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Qu || * || 84,52 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Cf || * || 86,21 || F&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''P= PpFc/Ce+Fr+Pr*Qu*Cf*'''''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ao final do processo, a fórmula irá  apresentar o valor final: '''&amp;quot;R$ 86,21&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 2 ===&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P002' para o cliente 'C002'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,11 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || P1 || + || 113,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 75,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 87,86 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Fr || + || 90,86 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Pr || * || 90,86 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Qu || * || 90,86 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Cf || * || 100,86 || G&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''P= PpP1+Fc/Ce+Fr+Pr*Qu*Cf*'''''&lt;br /&gt;
&lt;br /&gt;
Ao final do processo de cálculo da fórmula, o valor do preço será '''&amp;quot;R$ 100,86&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 3 ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P003' para o cliente 'C003'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ -3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 8,67 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce2 || Custo de Embalagem 2 || R$ 2,00 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 2,5 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| K || Constante || 23,67 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp|| P1 || + || 107,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 71,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 80,33 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Ce2 || + || 82,33 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Fr || + || 84,83 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Pr || * || 84,83 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Qu || * || 84,83 || G&lt;br /&gt;
|-&lt;br /&gt;
| 8 || G || Cf || * || 84,83 || H&lt;br /&gt;
|-&lt;br /&gt;
| 9 || H || K || + || 108,50 || I&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''P= PpP1+Fc/Ce+Ce2+Fr+Pr*Qu*Cf*K+'''''&lt;br /&gt;
&lt;br /&gt;
Ao final do cálculo da forma, o valor final do preço será: '''&amp;quot;R$ 108,50&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--[[arquivo:formula1.png]]&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço2.png | 600 px]]&lt;br /&gt;
&lt;br /&gt;
Na formula acima, as somas de variaveis são agrupadas em blocos, multiplicando-se entre si. A relação entre os somatórios pode ser representada por&lt;br /&gt;
&lt;br /&gt;
[[arquivo:produto1.png | 200 px]]&lt;br /&gt;
&lt;br /&gt;
Portando, a equação de formação de preço pode ser representada da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ou pelo produtório&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço1.png]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A composição de preço tem como objetivo construir um preço de venda. Esse cadastro conta com tipos de variáveis para compor preço. Para que a composição de preço seja aplicada corretamente no cadastro do pedido, é necessário que as seguintes premissas sejam atendidas.&lt;br /&gt;
&lt;br /&gt;
=== Composição de preço ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Visto que há variação de preços de produtos para diferentes localidades, a formula criada para a composição de preços  deverá, além de compor toda a regra de cálculo de precificação de determinado produto, a sua parametrização vinculada ao seu respectivo Estado, Cidade e Filial. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em outras palavras, através da composição de preço, o usuário poderá informar a fórmula que o sistema irá aplicar para definir o preço unitário do produto. Essa regra poderá ser parametrizado por: filial, estado e cidade.&lt;br /&gt;
&lt;br /&gt;
== Regras de Negócios ==&lt;br /&gt;
&lt;br /&gt;
'''[RN1] - ''' Não poderá conter a mesma regra para o mesmo estado e filial;&lt;br /&gt;
&lt;br /&gt;
'''[RN2] - ''' Não deverá haver sobreposição de cadastros, e sim edição deste cadastro. Caso o usuário tente cadastrar o mesmo cenário mais de uma vez, a plataforma irá alertar informando que já existe uma regra, e que essa regra poderá ser sobreposta;&lt;br /&gt;
&lt;br /&gt;
'''[RN3] - ''' Essa funcionalidade será desenvolvida exclusivamente no GeoSales EVO.&lt;br /&gt;
&lt;br /&gt;
'''[RN4] - ''' Durante o processo, o portal não deverá travar, ou seja, o batch irá apresentar os dados apenas referentes às variáveis relacionadas (via GSOload). A medida visa evitar um carregamento excessivamente pesado de dados para determinada função. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''[RN5] - ''' Os históricos do log de alterações das variáveis ficarão registrados por um período de 1 (um) ano.&lt;br /&gt;
&lt;br /&gt;
'''[RN6] - ''' Um determinado produto poderá ser vinculado a mais de um grupo, mas a quantidade deve ser diferente.&lt;br /&gt;
&lt;br /&gt;
== Aprovação ==&lt;br /&gt;
&lt;br /&gt;
Considero aprovada a documentação da funcionalidade especificada acima, e autorizo a implementação da mesma no Sistema GeoSales, em nome da Organização a qual estou vinculado. &lt;br /&gt;
&lt;br /&gt;
=== GeoSales ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Desenvolvimento - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|- &lt;br /&gt;
| Integração - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
| Configurações - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Empresa solicitante === &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
! Assinatura&lt;br /&gt;
|-&lt;br /&gt;
| Gerente TI - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente de Projeto - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente Comercial - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Leo2s</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=14964</id>
		<title>Precificação</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=14964"/>
		<updated>2021-04-08T17:35:02Z</updated>

		<summary type="html">&lt;p&gt;Leo2s: /* Solução */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Histórico de Alterações ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data&lt;br /&gt;
! Quem &lt;br /&gt;
! Comentários &lt;br /&gt;
|-&lt;br /&gt;
| 01/10/2020  || Ana Júlia || Criação do documento &lt;br /&gt;
|-&lt;br /&gt;
| 01/04/2021 || João Ramon || Atualização do documento&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
&lt;br /&gt;
No processo de formação de preços, conta-se com um número definido de variáveis que irão fazer a composição do valor final que será apresentado ao cliente final. Informações como custos operacionais, inclusão de markups, fatores de compensação por quebra e/ou comissionamento de venda devem estar contemplados na composição dos preços. A empresa deseja fazer esta composição dentro da Plataforma GeoSales EVO, inserindo todas as informações de custo, taxas e demais dados customizáveis, permitindo que o próprio cliente consiga fazer esta composição. &amp;lt;br&amp;gt;&lt;br /&gt;
O cenário de precificação atual não possui um processo uniformizado para cada cliente. Portanto, a necessidade de criar um processo padronizado para composição de preços, assim como a atualização customizável de algumas dessas variáveis, por se tratarem de variáveis cujos valores podem oscilar por motivos externos (oscilações de mercado, variação na política de preços, etc), é imperativa.&lt;br /&gt;
&lt;br /&gt;
== Solução ==&lt;br /&gt;
&lt;br /&gt;
Visto que a formação de preços, e seu processo de elaboração, devem ser totalmente customizáveis pelo cliente, primeiramente deve ser possível que ele não apenas determine quais as variáveis e seus respectivos valores devem ser atribuídos na plataforma para precificação, mas também como estas variáveis se relacionarão matematicamente, a fim de formular um preço baseado nas entradas fornecidas pelo cliente. Além disso, tais variáveis, uma vez inseridas no cadastro de preços, deverão ser passíveis de edição, feitas pelo próprio cliente, de forma manual.&lt;br /&gt;
&lt;br /&gt;
Como instrumento de parametrização das fórmulas contendo as variáveis criadas e seus operadores apropriados, será utilizada a '''''notação polonesa  reversa (RPN)''''', ferramenta de uso familiar a pessoas ligadas ao trabalho que envolva matemática financeira. Assim, a formação de preço deverá ser mais flexível e intuitiva na sua formação, além de facilitar em eventuais futuras modificações. As formulas serão definidas dentro de uma tabela de preço para um determinado grupo de produto facilitando o cadastro. &lt;br /&gt;
&lt;br /&gt;
Também visando a facilidade da manutenção dos valores de cada variável da fórmula, iremos construir o preço por um conjunto de parâmetros, podendo ser definido de forma atrelada às seguintes dimensões: produto e tabela de preço.&lt;br /&gt;
&lt;br /&gt;
Após a definição dos parâmetros, a fórmula será construída por meio da utilização destes. Finalizando esta etapa, basta pedir para processar a tabela, onde a mesma passará a ser vigente para a equipe de venda. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Dentro desta visão teremos 3 etapas na construção do preço:&lt;br /&gt;
&amp;lt;li&amp;gt;Cadastro dos parâmetros&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Construção da forma&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Processamento da tabela&amp;lt;/li&amp;gt;&lt;br /&gt;
Estes passos serão melhor esclarecidos adiante.--&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Implementação ==&lt;br /&gt;
&lt;br /&gt;
O processo terá como bases os seguintes passos: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. Criação de Tabela; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--2. para inserção de Variáveis e/ou aproveitamento de Tabela existente; &amp;lt;br&amp;gt;--&amp;gt;&lt;br /&gt;
2. Definição de Variáveis que deverão compor a fórmula de criação de preço, além da definição do atributo a qual tal variável está vinculada (produto ou Tabela);&amp;lt;br&amp;gt;&lt;br /&gt;
3. Definição de fórmula de formação de preços, utilizando RPN, e vinculações a grupos de produtos;&amp;lt;br&amp;gt;&lt;br /&gt;
4. Concluída a fórmula, com as relações operacionais entre as variáveis, os valores gerados devem ser processados para compor a Tabela de Preços.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cadastro tabela de preço'''&lt;br /&gt;
&amp;lt;dd&amp;gt; Para criação da tabela de preço, será criada uma tela para o usuário fazer o cadastro da tabela de preço. Nela será possível fazer a inserção e edição de cadastros, não sendo possível excluir qualquer cadastro de tabela de preço já realizado.  Ao entrar na tela o sistema deve apresentar campos de filtros, os quais o usuário poderá localizar um cadastro já inserido e realizar edição dos campos descrição e datas inicial e final de vigência. Além, disso no rodapé da tela o acesso a realizar um novo cadastro os quais o usuário vai preencher os seguintes campos.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Campo&lt;br /&gt;
! Tipo &lt;br /&gt;
! Utilização &lt;br /&gt;
|-&lt;br /&gt;
|  Descrição  || Texto || O campo de descrição é um texto que aceita no máximo 70 caracteres &lt;br /&gt;
|-&lt;br /&gt;
| Data inicial vigência  || Data || O campo de data inicial irá determinar o início da vigência para tabela de preço &lt;br /&gt;
|-&lt;br /&gt;
| Data final vigência  || Data || O campo de data final irá determinar o fim da vigência para tabela de preço &lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Uma tabela de preço não poderá ser excluída, só poderá ser desativada ou ativada através dos campos de data inicial e data final. Para desativar, basta colocar em seu intervalo de data validade, colocando a data final inferior a data atual;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Caso uma tabela de preço esteja com a data de validade vencida, a tabela de preço não será exibida para seleção no cadastro do pedido;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Os campos de datas não serão obrigatórios, quando não estiverem preenchidos, indica que aquela tabela estará disponível para uso;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Não será possível utilizar a integração e cadastro da tabela de preço ao mesmo tempo. Sendo necessário que haja uma única escolha: Integrar a tabela de preço do ERP ao GeoSales ou cadastrar a tabela de preço no próprio GeoSales. Caso tentem utiliza os dois cadastros ao mesmo tempo ERP e GeoSales, a integração apagará todos os registros cadastrados no GeoSales.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
'''Declaração de variáveis''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;dd&amp;gt;&lt;br /&gt;
Dentro da tela de Variáveis de preço, deve ser possível definir uma variável de forma livre, mas que atenda as seguintes regras:&lt;br /&gt;
&amp;lt;li&amp;gt; O campo chave, que será utilizado como referência na formula de preço, não deve conter caracteres especiais, espaço em branco e nao ser mais que 8 caracteres&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; A variável deve estar associada a um produto ou uma tabela de preço&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Para valores do tipo '''numérico (18,6)''', serão aceitos como possibilidade, podendo ser positivos ou negativos.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Será criado um log de históricos de alterações de valores destas variáveis e passível de ser exportado em relatórios em excel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
'''Definição da formula de preço'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Será necessário selecionar uma tabela de preço, a organização de venda e um ou mais produtos aos quais o preço deve ser inserido.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Para a regra de preço teremos que informar a '''formula''' do preço mínimo, sugerido e máximo com a quantidade mínima, que valida sua aplicação.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Nos campos de preço (mínimo, sugerido e máximo) teremos um espaço para a inserção da fórmula para composição de preço. Esta fórmula fará a relação matemática entre as variáveis criadas no processo anterior, por meio de '''operadores matemáticos (+, -, *, / )''', organizados em '''RPN''', notação comum para analistas financeiros, sendo bastante difundido, inclusive, na lógica de cálculo das calculadoras HP 12 C.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Será possível visualizar uma prévia da fórmula escrita, além do valor encontrado, a fim de que o usuário possa confirmar os valores que foram inseridos pelas variáveis e seus respectivos operadores.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como exemplo de notação polonesa reversa, tomemos a expressão '''''(A+B)*C'''''. Em RPN, a notação ficaria '''''AB+C*'''''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Processamento da Tabela ==&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
É importante frisar que os valores estão vinculados a uma tabela de preços, que consequentemente está vinculada a um cliente, organização de vendas, vendedores, e tabelas afins.&lt;br /&gt;
&lt;br /&gt;
As variáveis comuns a todos os clientes deverão ter valores diferenciados de acordo com a cidade onde a organização de vendas está alocada.&lt;br /&gt;
Há dois grupos de variáveis: aquelas que são relacionadas ao '''produto''' em si (tamanho, cor, embalagem, Tipo) e aquelas relacionadas à '''Tabela''' (Valor de partida, comissão promotor, frete, por exemplo). É importante determinar corretamente para qual grupo tal variável estará vinculada.&lt;br /&gt;
&lt;br /&gt;
Se mais de um produto possui a mesma característica, será possível fazer a precificação por grupos de produtos.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 1 ===&lt;br /&gt;
&lt;br /&gt;
Elaborando o preço do produto 'P001' para o cliente 'C001':&lt;br /&gt;
&lt;br /&gt;
Enumeração das variáveis&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 106,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 0,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1,02 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,02 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || Fc || / || 70,66 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Ce || + || 82,86 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Fr || + || 82,66 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Pr || * || 84,52 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Qu || * || 84,52 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Cf || * || 86,21 || F&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''P= PpFc/Ce+Fr+Pr*Qu*Cf*'''''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ao final do processo, a fórmula irá  apresentar o valor final: '''&amp;quot;R$ 86,21&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 2 ===&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P002' para o cliente 'C002'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,11 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || P1 || + || 113,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 75,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 87,86 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Fr || + || 90,86 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Pr || * || 90,86 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Qu || * || 90,86 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Cf || * || 100,86 || G&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''P= PpP1+Fc/Ce+Fr+Pr*Qu*Cf*'''''&lt;br /&gt;
&lt;br /&gt;
Ao final do processo de cálculo da fórmula, o valor do preço será '''&amp;quot;R$ 100,86&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 3 ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P003' para o cliente 'C003'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ -3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 8,67 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce2 || Custo de Embalagem 2 || R$ 2,00 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 2,5 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| K || Constante || 23,67 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp|| P1 || + || 107,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 71,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 80,33 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Ce2 || + || 82,33 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Fr || + || 84,83 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Pr || * || 84,83 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Qu || * || 84,83 || G&lt;br /&gt;
|-&lt;br /&gt;
| 8 || G || Cf || * || 84,83 || H&lt;br /&gt;
|-&lt;br /&gt;
| 9 || H || K || + || 108,50 || I&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''P= PpP1+Fc/Ce+Ce2+Fr+Pr*Qu*Cf*K+'''''&lt;br /&gt;
&lt;br /&gt;
Ao final do cálculo da forma, o valor final do preço será: '''&amp;quot;R$ 108,50&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--[[arquivo:formula1.png]]&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço2.png | 600 px]]&lt;br /&gt;
&lt;br /&gt;
Na formula acima, as somas de variaveis são agrupadas em blocos, multiplicando-se entre si. A relação entre os somatórios pode ser representada por&lt;br /&gt;
&lt;br /&gt;
[[arquivo:produto1.png | 200 px]]&lt;br /&gt;
&lt;br /&gt;
Portando, a equação de formação de preço pode ser representada da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ou pelo produtório&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço1.png]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A composição de preço tem como objetivo construir um preço de venda. Esse cadastro conta com tipos de variáveis para compor preço. Para que a composição de preço seja aplicada corretamente no cadastro do pedido, é necessário que as seguintes premissas sejam atendidas.&lt;br /&gt;
&lt;br /&gt;
=== Composição de preço ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Visto que há variação de preços de produtos para diferentes localidades, a formula criada para a composição de preços  deverá, além de compor toda a regra de cálculo de precificação de determinado produto, a sua parametrização vinculada ao seu respectivo Estado, Cidade e Filial. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em outras palavras, através da composição de preço, o usuário poderá informar a fórmula que o sistema irá aplicar para definir o preço unitário do produto. Essa regra poderá ser parametrizado por: filial, estado e cidade.&lt;br /&gt;
&lt;br /&gt;
== Regras de Negócios ==&lt;br /&gt;
&lt;br /&gt;
'''[RN1] - ''' Não poderá conter a mesma regra para o mesmo estado e filial;&lt;br /&gt;
&lt;br /&gt;
'''[RN2] - ''' Não deverá haver sobreposição de cadastros, e sim edição deste cadastro. Caso o usuário tente cadastrar o mesmo cenário mais de uma vez, a plataforma irá alertar informando que já existe uma regra, e que essa regra poderá ser sobreposta;&lt;br /&gt;
&lt;br /&gt;
'''[RN3] - ''' Essa funcionalidade será desenvolvida exclusivamente no GeoSales EVO.&lt;br /&gt;
&lt;br /&gt;
'''[RN4] - ''' Durante o processo, o portal não deverá travar (requisito não funcional).&lt;br /&gt;
&lt;br /&gt;
'''[RN5] - ''' Os históricos do log de alterações das variáveis ficarão registrados por um período de 1 (um) ano.&lt;br /&gt;
&lt;br /&gt;
'''[RN6] - ''' Um determinado produto poderá ser vinculado a mais de um grupo, mas a quantidade deve ser diferente.&lt;br /&gt;
&lt;br /&gt;
== Aprovação ==&lt;br /&gt;
&lt;br /&gt;
Considero aprovada a documentação da funcionalidade especificada acima, e autorizo a implementação da mesma no Sistema GeoSales, em nome da Organização a qual estou vinculado. &lt;br /&gt;
&lt;br /&gt;
=== GeoSales ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Desenvolvimento - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|- &lt;br /&gt;
| Integração - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
| Configurações - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Empresa solicitante === &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
! Assinatura&lt;br /&gt;
|-&lt;br /&gt;
| Gerente TI - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente de Projeto - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente Comercial - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Leo2s</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=14963</id>
		<title>Precificação</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=14963"/>
		<updated>2021-04-08T17:34:35Z</updated>

		<summary type="html">&lt;p&gt;Leo2s: /* Histórico de Alterações */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Histórico de Alterações ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data&lt;br /&gt;
! Quem &lt;br /&gt;
! Comentários &lt;br /&gt;
|-&lt;br /&gt;
| 01/10/2020  || Ana Júlia || Criação do documento &lt;br /&gt;
|-&lt;br /&gt;
| 01/04/2021 || João Ramon || Atualização do documento&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
&lt;br /&gt;
No processo de formação de preços, conta-se com um número definido de variáveis que irão fazer a composição do valor final que será apresentado ao cliente final. Informações como custos operacionais, inclusão de markups, fatores de compensação por quebra e/ou comissionamento de venda devem estar contemplados na composição dos preços. A empresa deseja fazer esta composição dentro da Plataforma GeoSales EVO, inserindo todas as informações de custo, taxas e demais dados customizáveis, permitindo que o próprio cliente consiga fazer esta composição. &amp;lt;br&amp;gt;&lt;br /&gt;
O cenário de precificação atual não possui um processo uniformizado para cada cliente. Portanto, a necessidade de criar um processo padronizado para composição de preços, assim como a atualização customizável de algumas dessas variáveis, por se tratarem de variáveis cujos valores podem oscilar por motivos externos (oscilações de mercado, variação na política de preços, etc), é imperativa.&lt;br /&gt;
&lt;br /&gt;
== Solução ==&lt;br /&gt;
&lt;br /&gt;
Visto que a formação de preços, e seu processo de elaboração, devem ser totalmente customizáveis pelo cliente, primeiramente deve ser possível que ele não apenas determine quais as variáveis e seus respectivos valores devem ser atribuídos na plataforma para precificação, mas também como estas variáveis se relacionarão matematicamente, a fim de formular um preço baseado nas entradas fornecidas pelo cliente. Além disso, tais variáveis, uma vez inseridas no cadastro de preços, deverão ser passíveis de edição, feitas pelo próprio cliente, de forma manual.&lt;br /&gt;
&lt;br /&gt;
Como instrumento de parametrização das fórmulas contendo as variáveis criadas e seus operadores apropriados, será utilizada a '''''notação polonesa  reversa (RPN)''''', ferramenta de uso familiar a pessoas ligadas ao trabalho que envolva matemática financeira. Assim, a formação de preço deverá ser mais flexível e intuitiva na sua formação, além de facilitar em eventuais futuras modificações. As formulas serão definidas dentro de uma tabela de preço para um determinado grupo de produto facilitando o cadastro. &lt;br /&gt;
&lt;br /&gt;
Também visando a facilidade da manutenção dos valores de cada variável da fórmula, iremos construir o preço por um conjunto de parâmetros, podendo ser definido de forma atrelada às seguintes dimensões: produto e tabela de preço.&lt;br /&gt;
&lt;br /&gt;
Após a definição dos parâmetros, a fórmula será construída por meio da utilização destes. Finalizando esta etapa, basta pedir para processar a tabela, onde a mesma passará a ser vigente para a equipe de venda. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Dentro desta visão teremos 3 etapas na construção do preço:&lt;br /&gt;
&amp;lt;li&amp;gt;Cadastro dos parâmetros&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Construção da forma&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Processamento da tabela&amp;lt;/li&amp;gt;&lt;br /&gt;
Estes passos serão melhor esclarecidos adiante.--&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
== Implementação ==&lt;br /&gt;
&lt;br /&gt;
O processo terá como bases os seguintes passos: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. Criação de Tabela; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--2. para inserção de Variáveis e/ou aproveitamento de Tabela existente; &amp;lt;br&amp;gt;--&amp;gt;&lt;br /&gt;
2. Definição de Variáveis que deverão compor a fórmula de criação de preço, além da definição do atributo a qual tal variável está vinculada (produto ou Tabela);&amp;lt;br&amp;gt;&lt;br /&gt;
3. Definição de fórmula de formação de preços, utilizando RPN, e vinculações a grupos de produtos;&amp;lt;br&amp;gt;&lt;br /&gt;
4. Concluída a fórmula, com as relações operacionais entre as variáveis, os valores gerados devem ser processados para compor a Tabela de Preços.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cadastro tabela de preço'''&lt;br /&gt;
&amp;lt;dd&amp;gt; Para criação da tabela de preço, será criada uma tela para o usuário fazer o cadastro da tabela de preço. Nela será possível fazer a inserção e edição de cadastros, não sendo possível excluir qualquer cadastro de tabela de preço já realizado.  Ao entrar na tela o sistema deve apresentar campos de filtros, os quais o usuário poderá localizar um cadastro já inserido e realizar edição dos campos descrição e datas inicial e final de vigência. Além, disso no rodapé da tela o acesso a realizar um novo cadastro os quais o usuário vai preencher os seguintes campos.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Campo&lt;br /&gt;
! Tipo &lt;br /&gt;
! Utilização &lt;br /&gt;
|-&lt;br /&gt;
|  Descrição  || Texto || O campo de descrição é um texto que aceita no máximo 70 caracteres &lt;br /&gt;
|-&lt;br /&gt;
| Data inicial vigência  || Data || O campo de data inicial irá determinar o início da vigência para tabela de preço &lt;br /&gt;
|-&lt;br /&gt;
| Data final vigência  || Data || O campo de data final irá determinar o fim da vigência para tabela de preço &lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Uma tabela de preço não poderá ser excluída, só poderá ser desativada ou ativada através dos campos de data inicial e data final. Para desativar, basta colocar em seu intervalo de data validade, colocando a data final inferior a data atual;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Caso uma tabela de preço esteja com a data de validade vencida, a tabela de preço não será exibida para seleção no cadastro do pedido;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Os campos de datas não serão obrigatórios, quando não estiverem preenchidos, indica que aquela tabela estará disponível para uso;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Não será possível utilizar a integração e cadastro da tabela de preço ao mesmo tempo. Sendo necessário que haja uma única escolha: Integrar a tabela de preço do ERP ao GeoSales ou cadastrar a tabela de preço no próprio GeoSales. Caso tentem utiliza os dois cadastros ao mesmo tempo ERP e GeoSales, a integração apagará todos os registros cadastrados no GeoSales.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
'''Declaração de variáveis''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;dd&amp;gt;&lt;br /&gt;
Dentro da tela de Variáveis de preço, deve ser possível definir uma variável de forma livre, mas que atenda as seguintes regras:&lt;br /&gt;
&amp;lt;li&amp;gt; O campo chave, que será utilizado como referência na formula de preço, não deve conter caracteres especiais, espaço em branco e nao ser mais que 8 caracteres&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; A variável deve estar associada a um produto ou uma tabela de preço&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Para valores do tipo '''numérico (18,6)''', serão aceitos como possibilidade, podendo ser positivos ou negativos.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Será criado um log de históricos de alterações de valores destas variáveis e passível de ser exportado em relatórios em excel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
'''Definição da formula de preço'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Será necessário selecionar uma tabela de preço, a organização de venda e um ou mais produtos aos quais o preço deve ser inserido.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Para a regra de preço teremos que informar a '''formula''' do preço mínimo, sugerido e máximo com a quantidade mínima, que valida sua aplicação.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Nos campos de preço (mínimo, sugerido e máximo) teremos um espaço para a inserção da fórmula para composição de preço. Esta fórmula fará a relação matemática entre as variáveis criadas no processo anterior, por meio de '''operadores matemáticos (+, -, *, / )''', organizados em '''RPN''', notação comum para analistas financeiros, sendo bastante difundido, inclusive, na lógica de cálculo das calculadoras HP 12 C.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Será possível visualizar uma prévia da fórmula escrita, além do valor encontrado, a fim de que o usuário possa confirmar os valores que foram inseridos pelas variáveis e seus respectivos operadores.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como exemplo de notação polonesa reversa, tomemos a expressão '''''(A+B)*C'''''. Em RPN, a notação ficaria '''''AB+C*'''''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Processamento da Tabela ==&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
É importante frisar que os valores estão vinculados a uma tabela de preços, que consequentemente está vinculada a um cliente, organização de vendas, vendedores, e tabelas afins.&lt;br /&gt;
&lt;br /&gt;
As variáveis comuns a todos os clientes deverão ter valores diferenciados de acordo com a cidade onde a organização de vendas está alocada.&lt;br /&gt;
Há dois grupos de variáveis: aquelas que são relacionadas ao '''produto''' em si (tamanho, cor, embalagem, Tipo) e aquelas relacionadas à '''Tabela''' (Valor de partida, comissão promotor, frete, por exemplo). É importante determinar corretamente para qual grupo tal variável estará vinculada.&lt;br /&gt;
&lt;br /&gt;
Se mais de um produto possui a mesma característica, será possível fazer a precificação por grupos de produtos.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 1 ===&lt;br /&gt;
&lt;br /&gt;
Elaborando o preço do produto 'P001' para o cliente 'C001':&lt;br /&gt;
&lt;br /&gt;
Enumeração das variáveis&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 106,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 0,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1,02 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,02 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || Fc || / || 70,66 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Ce || + || 82,86 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Fr || + || 82,66 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Pr || * || 84,52 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Qu || * || 84,52 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Cf || * || 86,21 || F&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''P= PpFc/Ce+Fr+Pr*Qu*Cf*'''''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ao final do processo, a fórmula irá  apresentar o valor final: '''&amp;quot;R$ 86,21&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 2 ===&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P002' para o cliente 'C002'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,11 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || P1 || + || 113,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 75,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 87,86 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Fr || + || 90,86 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Pr || * || 90,86 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Qu || * || 90,86 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Cf || * || 100,86 || G&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''P= PpP1+Fc/Ce+Fr+Pr*Qu*Cf*'''''&lt;br /&gt;
&lt;br /&gt;
Ao final do processo de cálculo da fórmula, o valor do preço será '''&amp;quot;R$ 100,86&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 3 ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P003' para o cliente 'C003'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ -3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 8,67 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce2 || Custo de Embalagem 2 || R$ 2,00 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 2,5 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| K || Constante || 23,67 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp|| P1 || + || 107,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 71,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 80,33 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Ce2 || + || 82,33 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Fr || + || 84,83 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Pr || * || 84,83 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Qu || * || 84,83 || G&lt;br /&gt;
|-&lt;br /&gt;
| 8 || G || Cf || * || 84,83 || H&lt;br /&gt;
|-&lt;br /&gt;
| 9 || H || K || + || 108,50 || I&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''P= PpP1+Fc/Ce+Ce2+Fr+Pr*Qu*Cf*K+'''''&lt;br /&gt;
&lt;br /&gt;
Ao final do cálculo da forma, o valor final do preço será: '''&amp;quot;R$ 108,50&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--[[arquivo:formula1.png]]&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço2.png | 600 px]]&lt;br /&gt;
&lt;br /&gt;
Na formula acima, as somas de variaveis são agrupadas em blocos, multiplicando-se entre si. A relação entre os somatórios pode ser representada por&lt;br /&gt;
&lt;br /&gt;
[[arquivo:produto1.png | 200 px]]&lt;br /&gt;
&lt;br /&gt;
Portando, a equação de formação de preço pode ser representada da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ou pelo produtório&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço1.png]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A composição de preço tem como objetivo construir um preço de venda. Esse cadastro conta com tipos de variáveis para compor preço. Para que a composição de preço seja aplicada corretamente no cadastro do pedido, é necessário que as seguintes premissas sejam atendidas.&lt;br /&gt;
&lt;br /&gt;
=== Composição de preço ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Visto que há variação de preços de produtos para diferentes localidades, a formula criada para a composição de preços  deverá, além de compor toda a regra de cálculo de precificação de determinado produto, a sua parametrização vinculada ao seu respectivo Estado, Cidade e Filial. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em outras palavras, através da composição de preço, o usuário poderá informar a fórmula que o sistema irá aplicar para definir o preço unitário do produto. Essa regra poderá ser parametrizado por: filial, estado e cidade.&lt;br /&gt;
&lt;br /&gt;
== Regras de Negócios ==&lt;br /&gt;
&lt;br /&gt;
'''[RN1] - ''' Não poderá conter a mesma regra para o mesmo estado e filial;&lt;br /&gt;
&lt;br /&gt;
'''[RN2] - ''' Não deverá haver sobreposição de cadastros, e sim edição deste cadastro. Caso o usuário tente cadastrar o mesmo cenário mais de uma vez, a plataforma irá alertar informando que já existe uma regra, e que essa regra poderá ser sobreposta;&lt;br /&gt;
&lt;br /&gt;
'''[RN3] - ''' Essa funcionalidade será desenvolvida exclusivamente no GeoSales EVO.&lt;br /&gt;
&lt;br /&gt;
'''[RN4] - ''' Durante o processo, o portal não deverá travar (requisito não funcional).&lt;br /&gt;
&lt;br /&gt;
'''[RN5] - ''' Os históricos do log de alterações das variáveis ficarão registrados por um período de 1 (um) ano.&lt;br /&gt;
&lt;br /&gt;
'''[RN6] - ''' Um determinado produto poderá ser vinculado a mais de um grupo, mas a quantidade deve ser diferente.&lt;br /&gt;
&lt;br /&gt;
== Aprovação ==&lt;br /&gt;
&lt;br /&gt;
Considero aprovada a documentação da funcionalidade especificada acima, e autorizo a implementação da mesma no Sistema GeoSales, em nome da Organização a qual estou vinculado. &lt;br /&gt;
&lt;br /&gt;
=== GeoSales ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Desenvolvimento - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|- &lt;br /&gt;
| Integração - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
| Configurações - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Empresa solicitante === &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
! Assinatura&lt;br /&gt;
|-&lt;br /&gt;
| Gerente TI - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente de Projeto - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente Comercial - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Leo2s</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=14962</id>
		<title>Precificação</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=14962"/>
		<updated>2021-04-08T17:33:53Z</updated>

		<summary type="html">&lt;p&gt;Leo2s: /* Protótipos */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Histórico de Alterações ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data&lt;br /&gt;
! Quem &lt;br /&gt;
! Comentários &lt;br /&gt;
|-&lt;br /&gt;
|  01/10/2020  || Ana Júlia || Criação do documento &lt;br /&gt;
|-&lt;br /&gt;
| 01/04/2021 || João Ramon || Atualização do documento&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
&lt;br /&gt;
No processo de formação de preços, conta-se com um número definido de variáveis que irão fazer a composição do valor final que será apresentado ao cliente final. Informações como custos operacionais, inclusão de markups, fatores de compensação por quebra e/ou comissionamento de venda devem estar contemplados na composição dos preços. A empresa deseja fazer esta composição dentro da Plataforma GeoSales EVO, inserindo todas as informações de custo, taxas e demais dados customizáveis, permitindo que o próprio cliente consiga fazer esta composição. &amp;lt;br&amp;gt;&lt;br /&gt;
O cenário de precificação atual não possui um processo uniformizado para cada cliente. Portanto, a necessidade de criar um processo padronizado para composição de preços, assim como a atualização customizável de algumas dessas variáveis, por se tratarem de variáveis cujos valores podem oscilar por motivos externos (oscilações de mercado, variação na política de preços, etc), é imperativa.&lt;br /&gt;
&lt;br /&gt;
== Solução ==&lt;br /&gt;
&lt;br /&gt;
Visto que a formação de preços, e seu processo de elaboração, devem ser totalmente customizáveis pelo cliente, primeiramente deve ser possível que ele não apenas determine quais as variáveis e seus respectivos valores devem ser atribuídos na plataforma para precificação, mas também como estas variáveis se relacionarão matematicamente, a fim de formular um preço baseado nas entradas fornecidas pelo cliente. Além disso, tais variáveis, uma vez inseridas no cadastro de preços, deverão ser passíveis de edição, feitas pelo próprio cliente, de forma manual.&lt;br /&gt;
&lt;br /&gt;
Como instrumento de parametrização das fórmulas contendo as variáveis criadas e seus operadores apropriados, será utilizada a '''''notação polonesa  reversa (RPN)''''', ferramenta de uso familiar a pessoas ligadas ao trabalho que envolva matemática financeira. Assim, a formação de preço deverá ser mais flexível e intuitiva na sua formação, além de facilitar em eventuais futuras modificações. As formulas serão definidas dentro de uma tabela de preço para um determinado grupo de produto facilitando o cadastro. &lt;br /&gt;
&lt;br /&gt;
Também visando a facilidade da manutenção dos valores de cada variável da fórmula, iremos construir o preço por um conjunto de parâmetros, podendo ser definido de forma atrelada às seguintes dimensões: produto e tabela de preço.&lt;br /&gt;
&lt;br /&gt;
Após a definição dos parâmetros, a fórmula será construída por meio da utilização destes. Finalizando esta etapa, basta pedir para processar a tabela, onde a mesma passará a ser vigente para a equipe de venda. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Dentro desta visão teremos 3 etapas na construção do preço:&lt;br /&gt;
&amp;lt;li&amp;gt;Cadastro dos parâmetros&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Construção da forma&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Processamento da tabela&amp;lt;/li&amp;gt;&lt;br /&gt;
Estes passos serão melhor esclarecidos adiante.--&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
== Implementação ==&lt;br /&gt;
&lt;br /&gt;
O processo terá como bases os seguintes passos: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. Criação de Tabela; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--2. para inserção de Variáveis e/ou aproveitamento de Tabela existente; &amp;lt;br&amp;gt;--&amp;gt;&lt;br /&gt;
2. Definição de Variáveis que deverão compor a fórmula de criação de preço, além da definição do atributo a qual tal variável está vinculada (produto ou Tabela);&amp;lt;br&amp;gt;&lt;br /&gt;
3. Definição de fórmula de formação de preços, utilizando RPN, e vinculações a grupos de produtos;&amp;lt;br&amp;gt;&lt;br /&gt;
4. Concluída a fórmula, com as relações operacionais entre as variáveis, os valores gerados devem ser processados para compor a Tabela de Preços.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cadastro tabela de preço'''&lt;br /&gt;
&amp;lt;dd&amp;gt; Para criação da tabela de preço, será criada uma tela para o usuário fazer o cadastro da tabela de preço. Nela será possível fazer a inserção e edição de cadastros, não sendo possível excluir qualquer cadastro de tabela de preço já realizado.  Ao entrar na tela o sistema deve apresentar campos de filtros, os quais o usuário poderá localizar um cadastro já inserido e realizar edição dos campos descrição e datas inicial e final de vigência. Além, disso no rodapé da tela o acesso a realizar um novo cadastro os quais o usuário vai preencher os seguintes campos.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Campo&lt;br /&gt;
! Tipo &lt;br /&gt;
! Utilização &lt;br /&gt;
|-&lt;br /&gt;
|  Descrição  || Texto || O campo de descrição é um texto que aceita no máximo 70 caracteres &lt;br /&gt;
|-&lt;br /&gt;
| Data inicial vigência  || Data || O campo de data inicial irá determinar o início da vigência para tabela de preço &lt;br /&gt;
|-&lt;br /&gt;
| Data final vigência  || Data || O campo de data final irá determinar o fim da vigência para tabela de preço &lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Uma tabela de preço não poderá ser excluída, só poderá ser desativada ou ativada através dos campos de data inicial e data final. Para desativar, basta colocar em seu intervalo de data validade, colocando a data final inferior a data atual;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Caso uma tabela de preço esteja com a data de validade vencida, a tabela de preço não será exibida para seleção no cadastro do pedido;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Os campos de datas não serão obrigatórios, quando não estiverem preenchidos, indica que aquela tabela estará disponível para uso;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Não será possível utilizar a integração e cadastro da tabela de preço ao mesmo tempo. Sendo necessário que haja uma única escolha: Integrar a tabela de preço do ERP ao GeoSales ou cadastrar a tabela de preço no próprio GeoSales. Caso tentem utiliza os dois cadastros ao mesmo tempo ERP e GeoSales, a integração apagará todos os registros cadastrados no GeoSales.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
'''Declaração de variáveis''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;dd&amp;gt;&lt;br /&gt;
Dentro da tela de Variáveis de preço, deve ser possível definir uma variável de forma livre, mas que atenda as seguintes regras:&lt;br /&gt;
&amp;lt;li&amp;gt; O campo chave, que será utilizado como referência na formula de preço, não deve conter caracteres especiais, espaço em branco e nao ser mais que 8 caracteres&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; A variável deve estar associada a um produto ou uma tabela de preço&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Para valores do tipo '''numérico (18,6)''', serão aceitos como possibilidade, podendo ser positivos ou negativos.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Será criado um log de históricos de alterações de valores destas variáveis e passível de ser exportado em relatórios em excel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
'''Definição da formula de preço'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Será necessário selecionar uma tabela de preço, a organização de venda e um ou mais produtos aos quais o preço deve ser inserido.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Para a regra de preço teremos que informar a '''formula''' do preço mínimo, sugerido e máximo com a quantidade mínima, que valida sua aplicação.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Nos campos de preço (mínimo, sugerido e máximo) teremos um espaço para a inserção da fórmula para composição de preço. Esta fórmula fará a relação matemática entre as variáveis criadas no processo anterior, por meio de '''operadores matemáticos (+, -, *, / )''', organizados em '''RPN''', notação comum para analistas financeiros, sendo bastante difundido, inclusive, na lógica de cálculo das calculadoras HP 12 C.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Será possível visualizar uma prévia da fórmula escrita, além do valor encontrado, a fim de que o usuário possa confirmar os valores que foram inseridos pelas variáveis e seus respectivos operadores.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como exemplo de notação polonesa reversa, tomemos a expressão '''''(A+B)*C'''''. Em RPN, a notação ficaria '''''AB+C*'''''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Processamento da Tabela ==&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
É importante frisar que os valores estão vinculados a uma tabela de preços, que consequentemente está vinculada a um cliente, organização de vendas, vendedores, e tabelas afins.&lt;br /&gt;
&lt;br /&gt;
As variáveis comuns a todos os clientes deverão ter valores diferenciados de acordo com a cidade onde a organização de vendas está alocada.&lt;br /&gt;
Há dois grupos de variáveis: aquelas que são relacionadas ao '''produto''' em si (tamanho, cor, embalagem, Tipo) e aquelas relacionadas à '''Tabela''' (Valor de partida, comissão promotor, frete, por exemplo). É importante determinar corretamente para qual grupo tal variável estará vinculada.&lt;br /&gt;
&lt;br /&gt;
Se mais de um produto possui a mesma característica, será possível fazer a precificação por grupos de produtos.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 1 ===&lt;br /&gt;
&lt;br /&gt;
Elaborando o preço do produto 'P001' para o cliente 'C001':&lt;br /&gt;
&lt;br /&gt;
Enumeração das variáveis&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 106,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 0,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1,02 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,02 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || Fc || / || 70,66 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Ce || + || 82,86 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Fr || + || 82,66 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Pr || * || 84,52 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Qu || * || 84,52 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Cf || * || 86,21 || F&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''P= PpFc/Ce+Fr+Pr*Qu*Cf*'''''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ao final do processo, a fórmula irá  apresentar o valor final: '''&amp;quot;R$ 86,21&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 2 ===&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P002' para o cliente 'C002'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,11 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || P1 || + || 113,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 75,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 87,86 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Fr || + || 90,86 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Pr || * || 90,86 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Qu || * || 90,86 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Cf || * || 100,86 || G&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''P= PpP1+Fc/Ce+Fr+Pr*Qu*Cf*'''''&lt;br /&gt;
&lt;br /&gt;
Ao final do processo de cálculo da fórmula, o valor do preço será '''&amp;quot;R$ 100,86&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 3 ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P003' para o cliente 'C003'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ -3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 8,67 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce2 || Custo de Embalagem 2 || R$ 2,00 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 2,5 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| K || Constante || 23,67 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp|| P1 || + || 107,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 71,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 80,33 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Ce2 || + || 82,33 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Fr || + || 84,83 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Pr || * || 84,83 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Qu || * || 84,83 || G&lt;br /&gt;
|-&lt;br /&gt;
| 8 || G || Cf || * || 84,83 || H&lt;br /&gt;
|-&lt;br /&gt;
| 9 || H || K || + || 108,50 || I&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''P= PpP1+Fc/Ce+Ce2+Fr+Pr*Qu*Cf*K+'''''&lt;br /&gt;
&lt;br /&gt;
Ao final do cálculo da forma, o valor final do preço será: '''&amp;quot;R$ 108,50&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--[[arquivo:formula1.png]]&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço2.png | 600 px]]&lt;br /&gt;
&lt;br /&gt;
Na formula acima, as somas de variaveis são agrupadas em blocos, multiplicando-se entre si. A relação entre os somatórios pode ser representada por&lt;br /&gt;
&lt;br /&gt;
[[arquivo:produto1.png | 200 px]]&lt;br /&gt;
&lt;br /&gt;
Portando, a equação de formação de preço pode ser representada da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ou pelo produtório&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço1.png]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A composição de preço tem como objetivo construir um preço de venda. Esse cadastro conta com tipos de variáveis para compor preço. Para que a composição de preço seja aplicada corretamente no cadastro do pedido, é necessário que as seguintes premissas sejam atendidas.&lt;br /&gt;
&lt;br /&gt;
=== Composição de preço ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Visto que há variação de preços de produtos para diferentes localidades, a formula criada para a composição de preços  deverá, além de compor toda a regra de cálculo de precificação de determinado produto, a sua parametrização vinculada ao seu respectivo Estado, Cidade e Filial. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em outras palavras, através da composição de preço, o usuário poderá informar a fórmula que o sistema irá aplicar para definir o preço unitário do produto. Essa regra poderá ser parametrizado por: filial, estado e cidade.&lt;br /&gt;
&lt;br /&gt;
== Regras de Negócios ==&lt;br /&gt;
&lt;br /&gt;
'''[RN1] - ''' Não poderá conter a mesma regra para o mesmo estado e filial;&lt;br /&gt;
&lt;br /&gt;
'''[RN2] - ''' Não deverá haver sobreposição de cadastros, e sim edição deste cadastro. Caso o usuário tente cadastrar o mesmo cenário mais de uma vez, a plataforma irá alertar informando que já existe uma regra, e que essa regra poderá ser sobreposta;&lt;br /&gt;
&lt;br /&gt;
'''[RN3] - ''' Essa funcionalidade será desenvolvida exclusivamente no GeoSales EVO.&lt;br /&gt;
&lt;br /&gt;
'''[RN4] - ''' Durante o processo, o portal não deverá travar (requisito não funcional).&lt;br /&gt;
&lt;br /&gt;
'''[RN5] - ''' Os históricos do log de alterações das variáveis ficarão registrados por um período de 1 (um) ano.&lt;br /&gt;
&lt;br /&gt;
'''[RN6] - ''' Um determinado produto poderá ser vinculado a mais de um grupo, mas a quantidade deve ser diferente.&lt;br /&gt;
&lt;br /&gt;
== Aprovação ==&lt;br /&gt;
&lt;br /&gt;
Considero aprovada a documentação da funcionalidade especificada acima, e autorizo a implementação da mesma no Sistema GeoSales, em nome da Organização a qual estou vinculado. &lt;br /&gt;
&lt;br /&gt;
=== GeoSales ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Desenvolvimento - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|- &lt;br /&gt;
| Integração - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
| Configurações - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Empresa solicitante === &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
! Assinatura&lt;br /&gt;
|-&lt;br /&gt;
| Gerente TI - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente de Projeto - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente Comercial - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Leo2s</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=14961</id>
		<title>Precificação</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=14961"/>
		<updated>2021-04-08T17:33:26Z</updated>

		<summary type="html">&lt;p&gt;Leo2s: /* tabela Preço */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Histórico de Alterações ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data&lt;br /&gt;
! Quem &lt;br /&gt;
! Comentários &lt;br /&gt;
|-&lt;br /&gt;
|  01/10/2020  || Ana Júlia || Criação do documento &lt;br /&gt;
|-&lt;br /&gt;
| 01/04/2021 || João Ramon || Atualização do documento&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
&lt;br /&gt;
No processo de formação de preços, conta-se com um número definido de variáveis que irão fazer a composição do valor final que será apresentado ao cliente final. Informações como custos operacionais, inclusão de markups, fatores de compensação por quebra e/ou comissionamento de venda devem estar contemplados na composição dos preços. A empresa deseja fazer esta composição dentro da Plataforma GeoSales EVO, inserindo todas as informações de custo, taxas e demais dados customizáveis, permitindo que o próprio cliente consiga fazer esta composição. &amp;lt;br&amp;gt;&lt;br /&gt;
O cenário de precificação atual não possui um processo uniformizado para cada cliente. Portanto, a necessidade de criar um processo padronizado para composição de preços, assim como a atualização customizável de algumas dessas variáveis, por se tratarem de variáveis cujos valores podem oscilar por motivos externos (oscilações de mercado, variação na política de preços, etc), é imperativa.&lt;br /&gt;
&lt;br /&gt;
== Solução ==&lt;br /&gt;
&lt;br /&gt;
Visto que a formação de preços, e seu processo de elaboração, devem ser totalmente customizáveis pelo cliente, primeiramente deve ser possível que ele não apenas determine quais as variáveis e seus respectivos valores devem ser atribuídos na plataforma para precificação, mas também como estas variáveis se relacionarão matematicamente, a fim de formular um preço baseado nas entradas fornecidas pelo cliente. Além disso, tais variáveis, uma vez inseridas no cadastro de preços, deverão ser passíveis de edição, feitas pelo próprio cliente, de forma manual.&lt;br /&gt;
&lt;br /&gt;
Como instrumento de parametrização das fórmulas contendo as variáveis criadas e seus operadores apropriados, será utilizada a '''''notação polonesa  reversa (RPN)''''', ferramenta de uso familiar a pessoas ligadas ao trabalho que envolva matemática financeira. Assim, a formação de preço deverá ser mais flexível e intuitiva na sua formação, além de facilitar em eventuais futuras modificações. As formulas serão definidas dentro de uma tabela de preço para um determinado grupo de produto facilitando o cadastro. &lt;br /&gt;
&lt;br /&gt;
Também visando a facilidade da manutenção dos valores de cada variável da fórmula, iremos construir o preço por um conjunto de parâmetros, podendo ser definido de forma atrelada às seguintes dimensões: produto e tabela de preço.&lt;br /&gt;
&lt;br /&gt;
Após a definição dos parâmetros, a fórmula será construída por meio da utilização destes. Finalizando esta etapa, basta pedir para processar a tabela, onde a mesma passará a ser vigente para a equipe de venda. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Dentro desta visão teremos 3 etapas na construção do preço:&lt;br /&gt;
&amp;lt;li&amp;gt;Cadastro dos parâmetros&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Construção da forma&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Processamento da tabela&amp;lt;/li&amp;gt;&lt;br /&gt;
Estes passos serão melhor esclarecidos adiante.--&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
== Implementação ==&lt;br /&gt;
&lt;br /&gt;
O processo terá como bases os seguintes passos: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. Criação de Tabela; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--2. para inserção de Variáveis e/ou aproveitamento de Tabela existente; &amp;lt;br&amp;gt;--&amp;gt;&lt;br /&gt;
2. Definição de Variáveis que deverão compor a fórmula de criação de preço, além da definição do atributo a qual tal variável está vinculada (produto ou Tabela);&amp;lt;br&amp;gt;&lt;br /&gt;
3. Definição de fórmula de formação de preços, utilizando RPN, e vinculações a grupos de produtos;&amp;lt;br&amp;gt;&lt;br /&gt;
4. Concluída a fórmula, com as relações operacionais entre as variáveis, os valores gerados devem ser processados para compor a Tabela de Preços.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cadastro tabela de preço'''&lt;br /&gt;
&amp;lt;dd&amp;gt; Para criação da tabela de preço, será criada uma tela para o usuário fazer o cadastro da tabela de preço. Nela será possível fazer a inserção e edição de cadastros, não sendo possível excluir qualquer cadastro de tabela de preço já realizado.  Ao entrar na tela o sistema deve apresentar campos de filtros, os quais o usuário poderá localizar um cadastro já inserido e realizar edição dos campos descrição e datas inicial e final de vigência. Além, disso no rodapé da tela o acesso a realizar um novo cadastro os quais o usuário vai preencher os seguintes campos.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Campo&lt;br /&gt;
! Tipo &lt;br /&gt;
! Utilização &lt;br /&gt;
|-&lt;br /&gt;
|  Descrição  || Texto || O campo de descrição é um texto que aceita no máximo 70 caracteres &lt;br /&gt;
|-&lt;br /&gt;
| Data inicial vigência  || Data || O campo de data inicial irá determinar o início da vigência para tabela de preço &lt;br /&gt;
|-&lt;br /&gt;
| Data final vigência  || Data || O campo de data final irá determinar o fim da vigência para tabela de preço &lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Uma tabela de preço não poderá ser excluída, só poderá ser desativada ou ativada através dos campos de data inicial e data final. Para desativar, basta colocar em seu intervalo de data validade, colocando a data final inferior a data atual;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Caso uma tabela de preço esteja com a data de validade vencida, a tabela de preço não será exibida para seleção no cadastro do pedido;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Os campos de datas não serão obrigatórios, quando não estiverem preenchidos, indica que aquela tabela estará disponível para uso;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Não será possível utilizar a integração e cadastro da tabela de preço ao mesmo tempo. Sendo necessário que haja uma única escolha: Integrar a tabela de preço do ERP ao GeoSales ou cadastrar a tabela de preço no próprio GeoSales. Caso tentem utiliza os dois cadastros ao mesmo tempo ERP e GeoSales, a integração apagará todos os registros cadastrados no GeoSales.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
'''Declaração de variáveis''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;dd&amp;gt;&lt;br /&gt;
Dentro da tela de Variáveis de preço, deve ser possível definir uma variável de forma livre, mas que atenda as seguintes regras:&lt;br /&gt;
&amp;lt;li&amp;gt; O campo chave, que será utilizado como referência na formula de preço, não deve conter caracteres especiais, espaço em branco e nao ser mais que 8 caracteres&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; A variável deve estar associada a um produto ou uma tabela de preço&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Para valores do tipo '''numérico (18,6)''', serão aceitos como possibilidade, podendo ser positivos ou negativos.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Será criado um log de históricos de alterações de valores destas variáveis e passível de ser exportado em relatórios em excel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
'''Definição da formula de preço'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Será necessário selecionar uma tabela de preço, a organização de venda e um ou mais produtos aos quais o preço deve ser inserido.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Para a regra de preço teremos que informar a '''formula''' do preço mínimo, sugerido e máximo com a quantidade mínima, que valida sua aplicação.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Nos campos de preço (mínimo, sugerido e máximo) teremos um espaço para a inserção da fórmula para composição de preço. Esta fórmula fará a relação matemática entre as variáveis criadas no processo anterior, por meio de '''operadores matemáticos (+, -, *, / )''', organizados em '''RPN''', notação comum para analistas financeiros, sendo bastante difundido, inclusive, na lógica de cálculo das calculadoras HP 12 C.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Será possível visualizar uma prévia da fórmula escrita, além do valor encontrado, a fim de que o usuário possa confirmar os valores que foram inseridos pelas variáveis e seus respectivos operadores.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como exemplo de notação polonesa reversa, tomemos a expressão '''''(A+B)*C'''''. Em RPN, a notação ficaria '''''AB+C*'''''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Processamento da Tabela ==&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
É importante frisar que os valores estão vinculados a uma tabela de preços, que consequentemente está vinculada a um cliente, organização de vendas, vendedores, e tabelas afins.&lt;br /&gt;
&lt;br /&gt;
As variáveis comuns a todos os clientes deverão ter valores diferenciados de acordo com a cidade onde a organização de vendas está alocada.&lt;br /&gt;
Há dois grupos de variáveis: aquelas que são relacionadas ao '''produto''' em si (tamanho, cor, embalagem, Tipo) e aquelas relacionadas à '''Tabela''' (Valor de partida, comissão promotor, frete, por exemplo). É importante determinar corretamente para qual grupo tal variável estará vinculada.&lt;br /&gt;
&lt;br /&gt;
Se mais de um produto possui a mesma característica, será possível fazer a precificação por grupos de produtos.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 1 ===&lt;br /&gt;
&lt;br /&gt;
Elaborando o preço do produto 'P001' para o cliente 'C001':&lt;br /&gt;
&lt;br /&gt;
Enumeração das variáveis&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 106,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 0,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1,02 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,02 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || Fc || / || 70,66 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Ce || + || 82,86 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Fr || + || 82,66 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Pr || * || 84,52 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Qu || * || 84,52 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Cf || * || 86,21 || F&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''P= PpFc/Ce+Fr+Pr*Qu*Cf*'''''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ao final do processo, a fórmula irá  apresentar o valor final: '''&amp;quot;R$ 86,21&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 2 ===&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P002' para o cliente 'C002'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,11 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || P1 || + || 113,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 75,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 87,86 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Fr || + || 90,86 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Pr || * || 90,86 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Qu || * || 90,86 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Cf || * || 100,86 || G&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''P= PpP1+Fc/Ce+Fr+Pr*Qu*Cf*'''''&lt;br /&gt;
&lt;br /&gt;
Ao final do processo de cálculo da fórmula, o valor do preço será '''&amp;quot;R$ 100,86&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 3 ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P003' para o cliente 'C003'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ -3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 8,67 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce2 || Custo de Embalagem 2 || R$ 2,00 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 2,5 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| K || Constante || 23,67 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp|| P1 || + || 107,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 71,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 80,33 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Ce2 || + || 82,33 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Fr || + || 84,83 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Pr || * || 84,83 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Qu || * || 84,83 || G&lt;br /&gt;
|-&lt;br /&gt;
| 8 || G || Cf || * || 84,83 || H&lt;br /&gt;
|-&lt;br /&gt;
| 9 || H || K || + || 108,50 || I&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''P= PpP1+Fc/Ce+Ce2+Fr+Pr*Qu*Cf*K+'''''&lt;br /&gt;
&lt;br /&gt;
Ao final do cálculo da forma, o valor final do preço será: '''&amp;quot;R$ 108,50&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--[[arquivo:formula1.png]]&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço2.png | 600 px]]&lt;br /&gt;
&lt;br /&gt;
Na formula acima, as somas de variaveis são agrupadas em blocos, multiplicando-se entre si. A relação entre os somatórios pode ser representada por&lt;br /&gt;
&lt;br /&gt;
[[arquivo:produto1.png | 200 px]]&lt;br /&gt;
&lt;br /&gt;
Portando, a equação de formação de preço pode ser representada da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ou pelo produtório&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço1.png]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A composição de preço tem como objetivo construir um preço de venda. Esse cadastro conta com tipos de variáveis para compor preço. Para que a composição de preço seja aplicada corretamente no cadastro do pedido, é necessário que as seguintes premissas sejam atendidas.&lt;br /&gt;
&lt;br /&gt;
=== Composição de preço ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Visto que há variação de preços de produtos para diferentes localidades, a formula criada para a composição de preços  deverá, além de compor toda a regra de cálculo de precificação de determinado produto, a sua parametrização vinculada ao seu respectivo Estado, Cidade e Filial. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em outras palavras, através da composição de preço, o usuário poderá informar a fórmula que o sistema irá aplicar para definir o preço unitário do produto. Essa regra poderá ser parametrizado por: filial, estado e cidade.&lt;br /&gt;
&lt;br /&gt;
== Regras de Negócios ==&lt;br /&gt;
&lt;br /&gt;
'''[RN1] - ''' Não poderá conter a mesma regra para o mesmo estado e filial;&lt;br /&gt;
&lt;br /&gt;
'''[RN2] - ''' Não deverá haver sobreposição de cadastros, e sim edição deste cadastro. Caso o usuário tente cadastrar o mesmo cenário mais de uma vez, a plataforma irá alertar informando que já existe uma regra, e que essa regra poderá ser sobreposta;&lt;br /&gt;
&lt;br /&gt;
'''[RN3] - ''' Essa funcionalidade será desenvolvida exclusivamente no GeoSales EVO.&lt;br /&gt;
&lt;br /&gt;
'''[RN4] - ''' Durante o processo, o portal não deverá travar (requisito não funcional).&lt;br /&gt;
&lt;br /&gt;
'''[RN5] - ''' Os históricos do log de alterações das variáveis ficarão registrados por um período de 1 (um) ano.&lt;br /&gt;
&lt;br /&gt;
'''[RN6] - ''' Um determinado produto poderá ser vinculado a mais de um grupo, mas a quantidade deve ser diferente.&lt;br /&gt;
&lt;br /&gt;
== Protótipos ==&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: 1200px-tela-de-cadastro-de-precificacao-mantiqueira.png|600px]]&lt;br /&gt;
&lt;br /&gt;
== Aprovação ==&lt;br /&gt;
&lt;br /&gt;
Considero aprovada a documentação da funcionalidade especificada acima, e autorizo a implementação da mesma no Sistema GeoSales, em nome da Organização a qual estou vinculado. &lt;br /&gt;
&lt;br /&gt;
=== GeoSales ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Desenvolvimento - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|- &lt;br /&gt;
| Integração - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
| Configurações - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Empresa solicitante === &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
! Assinatura&lt;br /&gt;
|-&lt;br /&gt;
| Gerente TI - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente de Projeto - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente Comercial - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Leo2s</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=14960</id>
		<title>Precificação</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=14960"/>
		<updated>2021-04-08T17:32:53Z</updated>

		<summary type="html">&lt;p&gt;Leo2s: /* Implementação */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Histórico de Alterações ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data&lt;br /&gt;
! Quem &lt;br /&gt;
! Comentários &lt;br /&gt;
|-&lt;br /&gt;
|  01/10/2020  || Ana Júlia || Criação do documento &lt;br /&gt;
|-&lt;br /&gt;
| 01/04/2021 || João Ramon || Atualização do documento&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
&lt;br /&gt;
No processo de formação de preços, conta-se com um número definido de variáveis que irão fazer a composição do valor final que será apresentado ao cliente final. Informações como custos operacionais, inclusão de markups, fatores de compensação por quebra e/ou comissionamento de venda devem estar contemplados na composição dos preços. A empresa deseja fazer esta composição dentro da Plataforma GeoSales EVO, inserindo todas as informações de custo, taxas e demais dados customizáveis, permitindo que o próprio cliente consiga fazer esta composição. &amp;lt;br&amp;gt;&lt;br /&gt;
O cenário de precificação atual não possui um processo uniformizado para cada cliente. Portanto, a necessidade de criar um processo padronizado para composição de preços, assim como a atualização customizável de algumas dessas variáveis, por se tratarem de variáveis cujos valores podem oscilar por motivos externos (oscilações de mercado, variação na política de preços, etc), é imperativa.&lt;br /&gt;
&lt;br /&gt;
== Solução ==&lt;br /&gt;
&lt;br /&gt;
Visto que a formação de preços, e seu processo de elaboração, devem ser totalmente customizáveis pelo cliente, primeiramente deve ser possível que ele não apenas determine quais as variáveis e seus respectivos valores devem ser atribuídos na plataforma para precificação, mas também como estas variáveis se relacionarão matematicamente, a fim de formular um preço baseado nas entradas fornecidas pelo cliente. Além disso, tais variáveis, uma vez inseridas no cadastro de preços, deverão ser passíveis de edição, feitas pelo próprio cliente, de forma manual.&lt;br /&gt;
&lt;br /&gt;
Como instrumento de parametrização das fórmulas contendo as variáveis criadas e seus operadores apropriados, será utilizada a '''''notação polonesa  reversa (RPN)''''', ferramenta de uso familiar a pessoas ligadas ao trabalho que envolva matemática financeira. Assim, a formação de preço deverá ser mais flexível e intuitiva na sua formação, além de facilitar em eventuais futuras modificações. As formulas serão definidas dentro de uma tabela de preço para um determinado grupo de produto facilitando o cadastro. &lt;br /&gt;
&lt;br /&gt;
Também visando a facilidade da manutenção dos valores de cada variável da fórmula, iremos construir o preço por um conjunto de parâmetros, podendo ser definido de forma atrelada às seguintes dimensões: produto e tabela de preço.&lt;br /&gt;
&lt;br /&gt;
Após a definição dos parâmetros, a fórmula será construída por meio da utilização destes. Finalizando esta etapa, basta pedir para processar a tabela, onde a mesma passará a ser vigente para a equipe de venda. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Dentro desta visão teremos 3 etapas na construção do preço:&lt;br /&gt;
&amp;lt;li&amp;gt;Cadastro dos parâmetros&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Construção da forma&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Processamento da tabela&amp;lt;/li&amp;gt;&lt;br /&gt;
Estes passos serão melhor esclarecidos adiante.--&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
== Implementação ==&lt;br /&gt;
&lt;br /&gt;
O processo terá como bases os seguintes passos: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. Criação de Tabela; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--2. para inserção de Variáveis e/ou aproveitamento de Tabela existente; &amp;lt;br&amp;gt;--&amp;gt;&lt;br /&gt;
2. Definição de Variáveis que deverão compor a fórmula de criação de preço, além da definição do atributo a qual tal variável está vinculada (produto ou Tabela);&amp;lt;br&amp;gt;&lt;br /&gt;
3. Definição de fórmula de formação de preços, utilizando RPN, e vinculações a grupos de produtos;&amp;lt;br&amp;gt;&lt;br /&gt;
4. Concluída a fórmula, com as relações operacionais entre as variáveis, os valores gerados devem ser processados para compor a Tabela de Preços.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cadastro tabela de preço'''&lt;br /&gt;
&amp;lt;dd&amp;gt; Para criação da tabela de preço, será criada uma tela para o usuário fazer o cadastro da tabela de preço. Nela será possível fazer a inserção e edição de cadastros, não sendo possível excluir qualquer cadastro de tabela de preço já realizado.  Ao entrar na tela o sistema deve apresentar campos de filtros, os quais o usuário poderá localizar um cadastro já inserido e realizar edição dos campos descrição e datas inicial e final de vigência. Além, disso no rodapé da tela o acesso a realizar um novo cadastro os quais o usuário vai preencher os seguintes campos.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Campo&lt;br /&gt;
! Tipo &lt;br /&gt;
! Utilização &lt;br /&gt;
|-&lt;br /&gt;
|  Descrição  || Texto || O campo de descrição é um texto que aceita no máximo 70 caracteres &lt;br /&gt;
|-&lt;br /&gt;
| Data inicial vigência  || Data || O campo de data inicial irá determinar o início da vigência para tabela de preço &lt;br /&gt;
|-&lt;br /&gt;
| Data final vigência  || Data || O campo de data final irá determinar o fim da vigência para tabela de preço &lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Uma tabela de preço não poderá ser excluída, só poderá ser desativada ou ativada através dos campos de data inicial e data final. Para desativar, basta colocar em seu intervalo de data validade, colocando a data final inferior a data atual;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Caso uma tabela de preço esteja com a data de validade vencida, a tabela de preço não será exibida para seleção no cadastro do pedido;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Os campos de datas não serão obrigatórios, quando não estiverem preenchidos, indica que aquela tabela estará disponível para uso;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Não será possível utilizar a integração e cadastro da tabela de preço ao mesmo tempo. Sendo necessário que haja uma única escolha: Integrar a tabela de preço do ERP ao GeoSales ou cadastrar a tabela de preço no próprio GeoSales. Caso tentem utiliza os dois cadastros ao mesmo tempo ERP e GeoSales, a integração apagará todos os registros cadastrados no GeoSales.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
'''Declaração de variáveis''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;dd&amp;gt;&lt;br /&gt;
Dentro da tela de Variáveis de preço, deve ser possível definir uma variável de forma livre, mas que atenda as seguintes regras:&lt;br /&gt;
&amp;lt;li&amp;gt; O campo chave, que será utilizado como referência na formula de preço, não deve conter caracteres especiais, espaço em branco e nao ser mais que 8 caracteres&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; A variável deve estar associada a um produto ou uma tabela de preço&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Para valores do tipo '''numérico (18,6)''', serão aceitos como possibilidade, podendo ser positivos ou negativos.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Será criado um log de históricos de alterações de valores destas variáveis e passível de ser exportado em relatórios em excel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
'''Definição da formula de preço'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Será necessário selecionar uma tabela de preço, a organização de venda e um ou mais produtos aos quais o preço deve ser inserido.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Para a regra de preço teremos que informar a '''formula''' do preço mínimo, sugerido e máximo com a quantidade mínima, que valida sua aplicação.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Nos campos de preço (mínimo, sugerido e máximo) teremos um espaço para a inserção da fórmula para composição de preço. Esta fórmula fará a relação matemática entre as variáveis criadas no processo anterior, por meio de '''operadores matemáticos (+, -, *, / )''', organizados em '''RPN''', notação comum para analistas financeiros, sendo bastante difundido, inclusive, na lógica de cálculo das calculadoras HP 12 C.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Será possível visualizar uma prévia da fórmula escrita, além do valor encontrado, a fim de que o usuário possa confirmar os valores que foram inseridos pelas variáveis e seus respectivos operadores.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como exemplo de notação polonesa reversa, tomemos a expressão '''''(A+B)*C'''''. Em RPN, a notação ficaria '''''AB+C*'''''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Processamento da Tabela ==&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
É importante frisar que os valores estão vinculados a uma tabela de preços, que consequentemente está vinculada a um cliente, organização de vendas, vendedores, e tabelas afins.&lt;br /&gt;
&lt;br /&gt;
As variáveis comuns a todos os clientes deverão ter valores diferenciados de acordo com a cidade onde a organização de vendas está alocada.&lt;br /&gt;
Há dois grupos de variáveis: aquelas que são relacionadas ao '''produto''' em si (tamanho, cor, embalagem, Tipo) e aquelas relacionadas à '''Tabela''' (Valor de partida, comissão promotor, frete, por exemplo). É importante determinar corretamente para qual grupo tal variável estará vinculada.&lt;br /&gt;
&lt;br /&gt;
Se mais de um produto possui a mesma característica, será possível fazer a precificação por grupos de produtos.&lt;br /&gt;
&lt;br /&gt;
== tabela Preço ==&lt;br /&gt;
&lt;br /&gt;
=== Cenário 1 ===&lt;br /&gt;
&lt;br /&gt;
Elaborando o preço do produto 'P001' para o cliente 'C001':&lt;br /&gt;
&lt;br /&gt;
Enumeração das variáveis&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 106,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 0,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1,02 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,02 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || Fc || / || 70,66 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Ce || + || 82,86 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Fr || + || 82,66 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Pr || * || 84,52 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Qu || * || 84,52 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Cf || * || 86,21 || F&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''P= PpFc/Ce+Fr+Pr*Qu*Cf*'''''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ao final do processo, a fórmula irá  apresentar o valor final: '''&amp;quot;R$ 86,21&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 2 ===&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P002' para o cliente 'C002'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,11 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || P1 || + || 113,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 75,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 87,86 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Fr || + || 90,86 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Pr || * || 90,86 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Qu || * || 90,86 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Cf || * || 100,86 || G&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''P= PpP1+Fc/Ce+Fr+Pr*Qu*Cf*'''''&lt;br /&gt;
&lt;br /&gt;
Ao final do processo de cálculo da fórmula, o valor do preço será '''&amp;quot;R$ 100,86&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 3 ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P003' para o cliente 'C003'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ -3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 8,67 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce2 || Custo de Embalagem 2 || R$ 2,00 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 2,5 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| K || Constante || 23,67 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp|| P1 || + || 107,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 71,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 80,33 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Ce2 || + || 82,33 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Fr || + || 84,83 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Pr || * || 84,83 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Qu || * || 84,83 || G&lt;br /&gt;
|-&lt;br /&gt;
| 8 || G || Cf || * || 84,83 || H&lt;br /&gt;
|-&lt;br /&gt;
| 9 || H || K || + || 108,50 || I&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''P= PpP1+Fc/Ce+Ce2+Fr+Pr*Qu*Cf*K+'''''&lt;br /&gt;
&lt;br /&gt;
Ao final do cálculo da forma, o valor final do preço será: '''&amp;quot;R$ 108,50&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--[[arquivo:formula1.png]]&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço2.png | 600 px]]&lt;br /&gt;
&lt;br /&gt;
Na formula acima, as somas de variaveis são agrupadas em blocos, multiplicando-se entre si. A relação entre os somatórios pode ser representada por&lt;br /&gt;
&lt;br /&gt;
[[arquivo:produto1.png | 200 px]]&lt;br /&gt;
&lt;br /&gt;
Portando, a equação de formação de preço pode ser representada da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ou pelo produtório&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço1.png]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A composição de preço tem como objetivo construir um preço de venda. Esse cadastro conta com tipos de variáveis para compor preço. Para que a composição de preço seja aplicada corretamente no cadastro do pedido, é necessário que as seguintes premissas sejam atendidas.&lt;br /&gt;
&lt;br /&gt;
=== Composição de preço ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Visto que há variação de preços de produtos para diferentes localidades, a formula criada para a composição de preços  deverá, além de compor toda a regra de cálculo de precificação de determinado produto, a sua parametrização vinculada ao seu respectivo Estado, Cidade e Filial. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em outras palavras, através da composição de preço, o usuário poderá informar a fórmula que o sistema irá aplicar para definir o preço unitário do produto. Essa regra poderá ser parametrizado por: filial, estado e cidade.&lt;br /&gt;
&lt;br /&gt;
== Regras de Negócios ==&lt;br /&gt;
&lt;br /&gt;
'''[RN1] - ''' Não poderá conter a mesma regra para o mesmo estado e filial;&lt;br /&gt;
&lt;br /&gt;
'''[RN2] - ''' Não deverá haver sobreposição de cadastros, e sim edição deste cadastro. Caso o usuário tente cadastrar o mesmo cenário mais de uma vez, a plataforma irá alertar informando que já existe uma regra, e que essa regra poderá ser sobreposta;&lt;br /&gt;
&lt;br /&gt;
'''[RN3] - ''' Essa funcionalidade será desenvolvida exclusivamente no GeoSales EVO.&lt;br /&gt;
&lt;br /&gt;
'''[RN4] - ''' Durante o processo, o portal não deverá travar (requisito não funcional).&lt;br /&gt;
&lt;br /&gt;
'''[RN5] - ''' Os históricos do log de alterações das variáveis ficarão registrados por um período de 1 (um) ano.&lt;br /&gt;
&lt;br /&gt;
'''[RN6] - ''' Um determinado produto poderá ser vinculado a mais de um grupo, mas a quantidade deve ser diferente.&lt;br /&gt;
&lt;br /&gt;
== Protótipos ==&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: 1200px-tela-de-cadastro-de-precificacao-mantiqueira.png|600px]]&lt;br /&gt;
&lt;br /&gt;
== Aprovação ==&lt;br /&gt;
&lt;br /&gt;
Considero aprovada a documentação da funcionalidade especificada acima, e autorizo a implementação da mesma no Sistema GeoSales, em nome da Organização a qual estou vinculado. &lt;br /&gt;
&lt;br /&gt;
=== GeoSales ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Desenvolvimento - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|- &lt;br /&gt;
| Integração - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
| Configurações - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Empresa solicitante === &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
! Assinatura&lt;br /&gt;
|-&lt;br /&gt;
| Gerente TI - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente de Projeto - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente Comercial - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Leo2s</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=14959</id>
		<title>Precificação</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=14959"/>
		<updated>2021-04-08T17:32:29Z</updated>

		<summary type="html">&lt;p&gt;Leo2s: /* Declaração de variáveis */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Histórico de Alterações ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data&lt;br /&gt;
! Quem &lt;br /&gt;
! Comentários &lt;br /&gt;
|-&lt;br /&gt;
|  01/10/2020  || Ana Júlia || Criação do documento &lt;br /&gt;
|-&lt;br /&gt;
| 01/04/2021 || João Ramon || Atualização do documento&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
&lt;br /&gt;
No processo de formação de preços, conta-se com um número definido de variáveis que irão fazer a composição do valor final que será apresentado ao cliente final. Informações como custos operacionais, inclusão de markups, fatores de compensação por quebra e/ou comissionamento de venda devem estar contemplados na composição dos preços. A empresa deseja fazer esta composição dentro da Plataforma GeoSales EVO, inserindo todas as informações de custo, taxas e demais dados customizáveis, permitindo que o próprio cliente consiga fazer esta composição. &amp;lt;br&amp;gt;&lt;br /&gt;
O cenário de precificação atual não possui um processo uniformizado para cada cliente. Portanto, a necessidade de criar um processo padronizado para composição de preços, assim como a atualização customizável de algumas dessas variáveis, por se tratarem de variáveis cujos valores podem oscilar por motivos externos (oscilações de mercado, variação na política de preços, etc), é imperativa.&lt;br /&gt;
&lt;br /&gt;
== Solução ==&lt;br /&gt;
&lt;br /&gt;
Visto que a formação de preços, e seu processo de elaboração, devem ser totalmente customizáveis pelo cliente, primeiramente deve ser possível que ele não apenas determine quais as variáveis e seus respectivos valores devem ser atribuídos na plataforma para precificação, mas também como estas variáveis se relacionarão matematicamente, a fim de formular um preço baseado nas entradas fornecidas pelo cliente. Além disso, tais variáveis, uma vez inseridas no cadastro de preços, deverão ser passíveis de edição, feitas pelo próprio cliente, de forma manual.&lt;br /&gt;
&lt;br /&gt;
Como instrumento de parametrização das fórmulas contendo as variáveis criadas e seus operadores apropriados, será utilizada a '''''notação polonesa  reversa (RPN)''''', ferramenta de uso familiar a pessoas ligadas ao trabalho que envolva matemática financeira. Assim, a formação de preço deverá ser mais flexível e intuitiva na sua formação, além de facilitar em eventuais futuras modificações. As formulas serão definidas dentro de uma tabela de preço para um determinado grupo de produto facilitando o cadastro. &lt;br /&gt;
&lt;br /&gt;
Também visando a facilidade da manutenção dos valores de cada variável da fórmula, iremos construir o preço por um conjunto de parâmetros, podendo ser definido de forma atrelada às seguintes dimensões: produto e tabela de preço.&lt;br /&gt;
&lt;br /&gt;
Após a definição dos parâmetros, a fórmula será construída por meio da utilização destes. Finalizando esta etapa, basta pedir para processar a tabela, onde a mesma passará a ser vigente para a equipe de venda. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Dentro desta visão teremos 3 etapas na construção do preço:&lt;br /&gt;
&amp;lt;li&amp;gt;Cadastro dos parâmetros&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Construção da forma&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Processamento da tabela&amp;lt;/li&amp;gt;&lt;br /&gt;
Estes passos serão melhor esclarecidos adiante.--&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
== Implementação ==&lt;br /&gt;
&lt;br /&gt;
O processo terá como bases os seguintes passos: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. Criação de Tabela; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--2. para inserção de Variáveis e/ou aproveitamento de Tabela existente; &amp;lt;br&amp;gt;--&amp;gt;&lt;br /&gt;
2. Definição de Variáveis que deverão compor a fórmula de criação de preço, além da definição do atributo a qual tal variável está vinculada (produto ou Tabela);&amp;lt;br&amp;gt;&lt;br /&gt;
3. Definição de fórmula de formação de preços, utilizando RPN, e vinculações a grupos de produtos;&amp;lt;br&amp;gt;&lt;br /&gt;
4. Concluída a fórmula, com as relações operacionais entre as variáveis, os valores gerados devem ser processados para compor a Tabela de Preços.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cadastro tabela de preço'''&lt;br /&gt;
&amp;lt;dd&amp;gt; Para criação da tabela de preço, será criada uma tela para o usuário fazer o cadastro da tabela de preço. Nela será possível fazer a inserção e edição de cadastros, não sendo possível excluir qualquer cadastro de tabela de preço já realizado.  Ao entrar na tela o sistema deve apresentar campos de filtros, os quais o usuário poderá localizar um cadastro já inserido e realizar edição dos campos descrição e datas inicial e final de vigência. Além, disso no rodapé da tela o acesso a realizar um novo cadastro os quais o usuário vai preencher os seguintes campos.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Campo&lt;br /&gt;
! Tipo &lt;br /&gt;
! Utilização &lt;br /&gt;
|-&lt;br /&gt;
|  Descrição  || Texto || O campo de descrição é um texto que aceita no máximo 70 caracteres &lt;br /&gt;
|-&lt;br /&gt;
| Data inicial vigência  || Data || O campo de data inicial irá determinar o início da vigência para tabela de preço &lt;br /&gt;
|-&lt;br /&gt;
| Data final vigência  || Data || O campo de data final irá determinar o fim da vigência para tabela de preço &lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Uma tabela de preço não poderá ser excluída, só poderá ser desativada ou ativada através dos campos de data inicial e data final. Para desativar, basta colocar em seu intervalo de data validade, colocando a data final inferior a data atual;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Caso uma tabela de preço esteja com a data de validade vencida, a tabela de preço não será exibida para seleção no cadastro do pedido;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Os campos de datas não serão obrigatórios, quando não estiverem preenchidos, indica que aquela tabela estará disponível para uso;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Não será possível utilizar a integração e cadastro da tabela de preço ao mesmo tempo. Sendo necessário que haja uma única escolha: Integrar a tabela de preço do ERP ao GeoSales ou cadastrar a tabela de preço no próprio GeoSales. Caso tentem utiliza os dois cadastros ao mesmo tempo ERP e GeoSales, a integração apagará todos os registros cadastrados no GeoSales.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Declaração de variáveis''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;dd&amp;gt;&lt;br /&gt;
Dentro da tela de Variáveis de preço, deve ser possível definir uma variável de forma livre, mas que atenda as seguintes regras:&lt;br /&gt;
&amp;lt;li&amp;gt; O campo chave, que será utilizado como referência na formula de preço, não deve conter caracteres especiais, espaço em branco e nao ser mais que 8 caracteres&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; A variável deve estar associada a um produto ou uma tabela de preço&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Para valores do tipo '''numérico (18,6)''', serão aceitos como possibilidade, podendo ser positivos ou negativos.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Será criado um log de históricos de alterações de valores destas variáveis e passível de ser exportado em relatórios em excel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
'''Definição da formula de preço'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Será necessário selecionar uma tabela de preço, a organização de venda e um ou mais produtos aos quais o preço deve ser inserido.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Para a regra de preço teremos que informar a '''formula''' do preço mínimo, sugerido e máximo com a quantidade mínima, que valida sua aplicação.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Nos campos de preço (mínimo, sugerido e máximo) teremos um espaço para a inserção da fórmula para composição de preço. Esta fórmula fará a relação matemática entre as variáveis criadas no processo anterior, por meio de '''operadores matemáticos (+, -, *, / )''', organizados em '''RPN''', notação comum para analistas financeiros, sendo bastante difundido, inclusive, na lógica de cálculo das calculadoras HP 12 C.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Será possível visualizar uma prévia da fórmula escrita, além do valor encontrado, a fim de que o usuário possa confirmar os valores que foram inseridos pelas variáveis e seus respectivos operadores.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como exemplo de notação polonesa reversa, tomemos a expressão '''''(A+B)*C'''''. Em RPN, a notação ficaria '''''AB+C*'''''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Processamento da Tabela ==&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
É importante frisar que os valores estão vinculados a uma tabela de preços, que consequentemente está vinculada a um cliente, organização de vendas, vendedores, e tabelas afins.&lt;br /&gt;
&lt;br /&gt;
As variáveis comuns a todos os clientes deverão ter valores diferenciados de acordo com a cidade onde a organização de vendas está alocada.&lt;br /&gt;
Há dois grupos de variáveis: aquelas que são relacionadas ao '''produto''' em si (tamanho, cor, embalagem, Tipo) e aquelas relacionadas à '''Tabela''' (Valor de partida, comissão promotor, frete, por exemplo). É importante determinar corretamente para qual grupo tal variável estará vinculada.&lt;br /&gt;
&lt;br /&gt;
Se mais de um produto possui a mesma característica, será possível fazer a precificação por grupos de produtos.&lt;br /&gt;
&lt;br /&gt;
== tabela Preço ==&lt;br /&gt;
&lt;br /&gt;
=== Cenário 1 ===&lt;br /&gt;
&lt;br /&gt;
Elaborando o preço do produto 'P001' para o cliente 'C001':&lt;br /&gt;
&lt;br /&gt;
Enumeração das variáveis&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 106,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 0,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1,02 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,02 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || Fc || / || 70,66 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Ce || + || 82,86 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Fr || + || 82,66 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Pr || * || 84,52 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Qu || * || 84,52 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Cf || * || 86,21 || F&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''P= PpFc/Ce+Fr+Pr*Qu*Cf*'''''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ao final do processo, a fórmula irá  apresentar o valor final: '''&amp;quot;R$ 86,21&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 2 ===&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P002' para o cliente 'C002'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,11 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || P1 || + || 113,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 75,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 87,86 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Fr || + || 90,86 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Pr || * || 90,86 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Qu || * || 90,86 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Cf || * || 100,86 || G&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''P= PpP1+Fc/Ce+Fr+Pr*Qu*Cf*'''''&lt;br /&gt;
&lt;br /&gt;
Ao final do processo de cálculo da fórmula, o valor do preço será '''&amp;quot;R$ 100,86&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 3 ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P003' para o cliente 'C003'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ -3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 8,67 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce2 || Custo de Embalagem 2 || R$ 2,00 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 2,5 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| K || Constante || 23,67 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp|| P1 || + || 107,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 71,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 80,33 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Ce2 || + || 82,33 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Fr || + || 84,83 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Pr || * || 84,83 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Qu || * || 84,83 || G&lt;br /&gt;
|-&lt;br /&gt;
| 8 || G || Cf || * || 84,83 || H&lt;br /&gt;
|-&lt;br /&gt;
| 9 || H || K || + || 108,50 || I&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''P= PpP1+Fc/Ce+Ce2+Fr+Pr*Qu*Cf*K+'''''&lt;br /&gt;
&lt;br /&gt;
Ao final do cálculo da forma, o valor final do preço será: '''&amp;quot;R$ 108,50&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--[[arquivo:formula1.png]]&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço2.png | 600 px]]&lt;br /&gt;
&lt;br /&gt;
Na formula acima, as somas de variaveis são agrupadas em blocos, multiplicando-se entre si. A relação entre os somatórios pode ser representada por&lt;br /&gt;
&lt;br /&gt;
[[arquivo:produto1.png | 200 px]]&lt;br /&gt;
&lt;br /&gt;
Portando, a equação de formação de preço pode ser representada da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ou pelo produtório&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço1.png]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A composição de preço tem como objetivo construir um preço de venda. Esse cadastro conta com tipos de variáveis para compor preço. Para que a composição de preço seja aplicada corretamente no cadastro do pedido, é necessário que as seguintes premissas sejam atendidas.&lt;br /&gt;
&lt;br /&gt;
=== Composição de preço ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Visto que há variação de preços de produtos para diferentes localidades, a formula criada para a composição de preços  deverá, além de compor toda a regra de cálculo de precificação de determinado produto, a sua parametrização vinculada ao seu respectivo Estado, Cidade e Filial. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em outras palavras, através da composição de preço, o usuário poderá informar a fórmula que o sistema irá aplicar para definir o preço unitário do produto. Essa regra poderá ser parametrizado por: filial, estado e cidade.&lt;br /&gt;
&lt;br /&gt;
== Regras de Negócios ==&lt;br /&gt;
&lt;br /&gt;
'''[RN1] - ''' Não poderá conter a mesma regra para o mesmo estado e filial;&lt;br /&gt;
&lt;br /&gt;
'''[RN2] - ''' Não deverá haver sobreposição de cadastros, e sim edição deste cadastro. Caso o usuário tente cadastrar o mesmo cenário mais de uma vez, a plataforma irá alertar informando que já existe uma regra, e que essa regra poderá ser sobreposta;&lt;br /&gt;
&lt;br /&gt;
'''[RN3] - ''' Essa funcionalidade será desenvolvida exclusivamente no GeoSales EVO.&lt;br /&gt;
&lt;br /&gt;
'''[RN4] - ''' Durante o processo, o portal não deverá travar (requisito não funcional).&lt;br /&gt;
&lt;br /&gt;
'''[RN5] - ''' Os históricos do log de alterações das variáveis ficarão registrados por um período de 1 (um) ano.&lt;br /&gt;
&lt;br /&gt;
'''[RN6] - ''' Um determinado produto poderá ser vinculado a mais de um grupo, mas a quantidade deve ser diferente.&lt;br /&gt;
&lt;br /&gt;
== Protótipos ==&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: 1200px-tela-de-cadastro-de-precificacao-mantiqueira.png|600px]]&lt;br /&gt;
&lt;br /&gt;
== Aprovação ==&lt;br /&gt;
&lt;br /&gt;
Considero aprovada a documentação da funcionalidade especificada acima, e autorizo a implementação da mesma no Sistema GeoSales, em nome da Organização a qual estou vinculado. &lt;br /&gt;
&lt;br /&gt;
=== GeoSales ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Desenvolvimento - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|- &lt;br /&gt;
| Integração - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
| Configurações - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Empresa solicitante === &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
! Assinatura&lt;br /&gt;
|-&lt;br /&gt;
| Gerente TI - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente de Projeto - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente Comercial - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Leo2s</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=14957</id>
		<title>Precificação</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=14957"/>
		<updated>2021-04-08T17:31:13Z</updated>

		<summary type="html">&lt;p&gt;Leo2s: /* Solução */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Histórico de Alterações ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data&lt;br /&gt;
! Quem &lt;br /&gt;
! Comentários &lt;br /&gt;
|-&lt;br /&gt;
|  01/10/2020  || Ana Júlia || Criação do documento &lt;br /&gt;
|-&lt;br /&gt;
| 01/04/2021 || João Ramon || Atualização do documento&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
&lt;br /&gt;
No processo de formação de preços, conta-se com um número definido de variáveis que irão fazer a composição do valor final que será apresentado ao cliente final. Informações como custos operacionais, inclusão de markups, fatores de compensação por quebra e/ou comissionamento de venda devem estar contemplados na composição dos preços. A empresa deseja fazer esta composição dentro da Plataforma GeoSales EVO, inserindo todas as informações de custo, taxas e demais dados customizáveis, permitindo que o próprio cliente consiga fazer esta composição. &amp;lt;br&amp;gt;&lt;br /&gt;
O cenário de precificação atual não possui um processo uniformizado para cada cliente. Portanto, a necessidade de criar um processo padronizado para composição de preços, assim como a atualização customizável de algumas dessas variáveis, por se tratarem de variáveis cujos valores podem oscilar por motivos externos (oscilações de mercado, variação na política de preços, etc), é imperativa.&lt;br /&gt;
&lt;br /&gt;
== Solução ==&lt;br /&gt;
&lt;br /&gt;
Visto que a formação de preços, e seu processo de elaboração, devem ser totalmente customizáveis pelo cliente, primeiramente deve ser possível que ele não apenas determine quais as variáveis e seus respectivos valores devem ser atribuídos na plataforma para precificação, mas também como estas variáveis se relacionarão matematicamente, a fim de formular um preço baseado nas entradas fornecidas pelo cliente. Além disso, tais variáveis, uma vez inseridas no cadastro de preços, deverão ser passíveis de edição, feitas pelo próprio cliente, de forma manual.&lt;br /&gt;
&lt;br /&gt;
Como instrumento de parametrização das fórmulas contendo as variáveis criadas e seus operadores apropriados, será utilizada a '''''notação polonesa  reversa (RPN)''''', ferramenta de uso familiar a pessoas ligadas ao trabalho que envolva matemática financeira. Assim, a formação de preço deverá ser mais flexível e intuitiva na sua formação, além de facilitar em eventuais futuras modificações. As formulas serão definidas dentro de uma tabela de preço para um determinado grupo de produto facilitando o cadastro. &lt;br /&gt;
&lt;br /&gt;
Também visando a facilidade da manutenção dos valores de cada variável da fórmula, iremos construir o preço por um conjunto de parâmetros, podendo ser definido de forma atrelada às seguintes dimensões: produto e tabela de preço.&lt;br /&gt;
&lt;br /&gt;
Após a definição dos parâmetros, a fórmula será construída por meio da utilização destes. Finalizando esta etapa, basta pedir para processar a tabela, onde a mesma passará a ser vigente para a equipe de venda. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Dentro desta visão teremos 3 etapas na construção do preço:&lt;br /&gt;
&amp;lt;li&amp;gt;Cadastro dos parâmetros&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Construção da forma&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Processamento da tabela&amp;lt;/li&amp;gt;&lt;br /&gt;
Estes passos serão melhor esclarecidos adiante.--&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
== Implementação ==&lt;br /&gt;
&lt;br /&gt;
O processo terá como bases os seguintes passos: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. Criação de Tabela; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--2. para inserção de Variáveis e/ou aproveitamento de Tabela existente; &amp;lt;br&amp;gt;--&amp;gt;&lt;br /&gt;
2. Definição de Variáveis que deverão compor a fórmula de criação de preço, além da definição do atributo a qual tal variável está vinculada (produto ou Tabela);&amp;lt;br&amp;gt;&lt;br /&gt;
3. Definição de fórmula de formação de preços, utilizando RPN, e vinculações a grupos de produtos;&amp;lt;br&amp;gt;&lt;br /&gt;
4. Concluída a fórmula, com as relações operacionais entre as variáveis, os valores gerados devem ser processados para compor a Tabela de Preços.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cadastro tabela de preço'''&lt;br /&gt;
&amp;lt;dd&amp;gt; Para criação da tabela de preço, será criada uma tela para o usuário fazer o cadastro da tabela de preço. Nela será possível fazer a inserção e edição de cadastros, não sendo possível excluir qualquer cadastro de tabela de preço já realizado.  Ao entrar na tela o sistema deve apresentar campos de filtros, os quais o usuário poderá localizar um cadastro já inserido e realizar edição dos campos descrição e datas inicial e final de vigência. Além, disso no rodapé da tela o acesso a realizar um novo cadastro os quais o usuário vai preencher os seguintes campos.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Campo&lt;br /&gt;
! Tipo &lt;br /&gt;
! Utilização &lt;br /&gt;
|-&lt;br /&gt;
|  Descrição  || Texto || O campo de descrição é um texto que aceita no máximo 70 caracteres &lt;br /&gt;
|-&lt;br /&gt;
| Data inicial vigência  || Data || O campo de data inicial irá determinar o início da vigência para tabela de preço &lt;br /&gt;
|-&lt;br /&gt;
| Data final vigência  || Data || O campo de data final irá determinar o fim da vigência para tabela de preço &lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Uma tabela de preço não poderá ser excluída, só poderá ser desativada ou ativada através dos campos de data inicial e data final. Para desativar, basta colocar em seu intervalo de data validade, colocando a data final inferior a data atual;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Caso uma tabela de preço esteja com a data de validade vencida, a tabela de preço não será exibida para seleção no cadastro do pedido;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Os campos de datas não serão obrigatórios, quando não estiverem preenchidos, indica que aquela tabela estará disponível para uso;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A função de cadastro da tabela de preço está disponível no pacote Evolution.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Não será possível utilizar a integração e cadastro da tabela de preço ao mesmo tempo. Sendo necessário que haja uma única escolha: Integrar a tabela de preço do ERP ao GeoSales ou cadastrar a tabela de preço no próprio GeoSales. Caso tentem utiliza os dois cadastros ao mesmo tempo ERP e GeoSales, a integração apagará todos os registros cadastrados no GeoSales.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''Declaração de variáveis''' ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dd&amp;gt;&lt;br /&gt;
Dentro da tela de Variáveis de preço, deve ser possível definir uma variável de forma livre, mas que atenda as seguintes regras:&lt;br /&gt;
&amp;lt;li&amp;gt; O campo chave, que será utilizado como referência na formula de preço, não deve conter caracteres especiais, espaço em branco e nao ser mais que 8 caracteres&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; A variável deve estar associada a um produto ou uma tabela de preço&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Para valores do tipo '''numérico (18,6)''', serão aceitos como possibilidade, podendo ser positivos ou negativos.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Será criado um log de históricos de alterações de valores destas variáveis e passível de ser exportado em relatórios em excel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
'''Definição da formula de preço'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Será necessário selecionar uma tabela de preço, a organização de venda e um ou mais produtos aos quais o preço deve ser inserido.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Para a regra de preço teremos que informar a '''formula''' do preço mínimo, sugerido e máximo com a quantidade mínima, que valida sua aplicação.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Nos campos de preço (mínimo, sugerido e máximo) teremos um espaço para a inserção da fórmula para composição de preço. Esta fórmula fará a relação matemática entre as variáveis criadas no processo anterior, por meio de '''operadores matemáticos (+, -, *, / )''', organizados em '''RPN''', notação comum para analistas financeiros, sendo bastante difundido, inclusive, na lógica de cálculo das calculadoras HP 12 C.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Será possível visualizar uma prévia da fórmula escrita, além do valor encontrado, a fim de que o usuário possa confirmar os valores que foram inseridos pelas variáveis e seus respectivos operadores.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como exemplo de notação polonesa reversa, tomemos a expressão '''''(A+B)*C'''''. Em RPN, a notação ficaria '''''AB+C*'''''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Processamento da Tabela ==&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
É importante frisar que os valores estão vinculados a uma tabela de preços, que consequentemente está vinculada a um cliente, organização de vendas, vendedores, e tabelas afins.&lt;br /&gt;
&lt;br /&gt;
As variáveis comuns a todos os clientes deverão ter valores diferenciados de acordo com a cidade onde a organização de vendas está alocada.&lt;br /&gt;
Há dois grupos de variáveis: aquelas que são relacionadas ao '''produto''' em si (tamanho, cor, embalagem, Tipo) e aquelas relacionadas à '''Tabela''' (Valor de partida, comissão promotor, frete, por exemplo). É importante determinar corretamente para qual grupo tal variável estará vinculada.&lt;br /&gt;
&lt;br /&gt;
Se mais de um produto possui a mesma característica, será possível fazer a precificação por grupos de produtos.&lt;br /&gt;
&lt;br /&gt;
== tabela Preço ==&lt;br /&gt;
&lt;br /&gt;
=== Cenário 1 ===&lt;br /&gt;
&lt;br /&gt;
Elaborando o preço do produto 'P001' para o cliente 'C001':&lt;br /&gt;
&lt;br /&gt;
Enumeração das variáveis&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 106,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 0,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1,02 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,02 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || Fc || / || 70,66 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Ce || + || 82,86 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Fr || + || 82,66 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Pr || * || 84,52 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Qu || * || 84,52 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Cf || * || 86,21 || F&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''P= PpFc/Ce+Fr+Pr*Qu*Cf*'''''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ao final do processo, a fórmula irá  apresentar o valor final: '''&amp;quot;R$ 86,21&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 2 ===&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P002' para o cliente 'C002'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,11 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || P1 || + || 113,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 75,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 87,86 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Fr || + || 90,86 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Pr || * || 90,86 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Qu || * || 90,86 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Cf || * || 100,86 || G&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''P= PpP1+Fc/Ce+Fr+Pr*Qu*Cf*'''''&lt;br /&gt;
&lt;br /&gt;
Ao final do processo de cálculo da fórmula, o valor do preço será '''&amp;quot;R$ 100,86&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 3 ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P003' para o cliente 'C003'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ -3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 8,67 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce2 || Custo de Embalagem 2 || R$ 2,00 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 2,5 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| K || Constante || 23,67 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp|| P1 || + || 107,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 71,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 80,33 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Ce2 || + || 82,33 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Fr || + || 84,83 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Pr || * || 84,83 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Qu || * || 84,83 || G&lt;br /&gt;
|-&lt;br /&gt;
| 8 || G || Cf || * || 84,83 || H&lt;br /&gt;
|-&lt;br /&gt;
| 9 || H || K || + || 108,50 || I&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''P= PpP1+Fc/Ce+Ce2+Fr+Pr*Qu*Cf*K+'''''&lt;br /&gt;
&lt;br /&gt;
Ao final do cálculo da forma, o valor final do preço será: '''&amp;quot;R$ 108,50&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--[[arquivo:formula1.png]]&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço2.png | 600 px]]&lt;br /&gt;
&lt;br /&gt;
Na formula acima, as somas de variaveis são agrupadas em blocos, multiplicando-se entre si. A relação entre os somatórios pode ser representada por&lt;br /&gt;
&lt;br /&gt;
[[arquivo:produto1.png | 200 px]]&lt;br /&gt;
&lt;br /&gt;
Portando, a equação de formação de preço pode ser representada da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ou pelo produtório&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço1.png]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A composição de preço tem como objetivo construir um preço de venda. Esse cadastro conta com tipos de variáveis para compor preço. Para que a composição de preço seja aplicada corretamente no cadastro do pedido, é necessário que as seguintes premissas sejam atendidas.&lt;br /&gt;
&lt;br /&gt;
=== Composição de preço ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Visto que há variação de preços de produtos para diferentes localidades, a formula criada para a composição de preços  deverá, além de compor toda a regra de cálculo de precificação de determinado produto, a sua parametrização vinculada ao seu respectivo Estado, Cidade e Filial. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em outras palavras, através da composição de preço, o usuário poderá informar a fórmula que o sistema irá aplicar para definir o preço unitário do produto. Essa regra poderá ser parametrizado por: filial, estado e cidade.&lt;br /&gt;
&lt;br /&gt;
== Regras de Negócios ==&lt;br /&gt;
&lt;br /&gt;
'''[RN1] - ''' Não poderá conter a mesma regra para o mesmo estado e filial;&lt;br /&gt;
&lt;br /&gt;
'''[RN2] - ''' Não deverá haver sobreposição de cadastros, e sim edição deste cadastro. Caso o usuário tente cadastrar o mesmo cenário mais de uma vez, a plataforma irá alertar informando que já existe uma regra, e que essa regra poderá ser sobreposta;&lt;br /&gt;
&lt;br /&gt;
'''[RN3] - ''' Essa funcionalidade será desenvolvida exclusivamente no GeoSales EVO.&lt;br /&gt;
&lt;br /&gt;
'''[RN4] - ''' Durante o processo, o portal não deverá travar (requisito não funcional).&lt;br /&gt;
&lt;br /&gt;
'''[RN5] - ''' Os históricos do log de alterações das variáveis ficarão registrados por um período de 1 (um) ano.&lt;br /&gt;
&lt;br /&gt;
'''[RN6] - ''' Um determinado produto poderá ser vinculado a mais de um grupo, mas a quantidade deve ser diferente.&lt;br /&gt;
&lt;br /&gt;
== Protótipos ==&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: 1200px-tela-de-cadastro-de-precificacao-mantiqueira.png|600px]]&lt;br /&gt;
&lt;br /&gt;
== Aprovação ==&lt;br /&gt;
&lt;br /&gt;
Considero aprovada a documentação da funcionalidade especificada acima, e autorizo a implementação da mesma no Sistema GeoSales, em nome da Organização a qual estou vinculado. &lt;br /&gt;
&lt;br /&gt;
=== GeoSales ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Desenvolvimento - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|- &lt;br /&gt;
| Integração - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
| Configurações - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Empresa solicitante === &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
! Assinatura&lt;br /&gt;
|-&lt;br /&gt;
| Gerente TI - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente de Projeto - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente Comercial - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Leo2s</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=14956</id>
		<title>Precificação</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=14956"/>
		<updated>2021-04-08T17:30:42Z</updated>

		<summary type="html">&lt;p&gt;Leo2s: /* tabela */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Histórico de Alterações ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data&lt;br /&gt;
! Quem &lt;br /&gt;
! Comentários &lt;br /&gt;
|-&lt;br /&gt;
|  01/10/2020  || Ana Júlia || Criação do documento &lt;br /&gt;
|-&lt;br /&gt;
| 01/04/2021 || João Ramon || Atualização do documento&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
&lt;br /&gt;
No processo de formação de preços, conta-se com um número definido de variáveis que irão fazer a composição do valor final que será apresentado ao cliente final. Informações como custos operacionais, inclusão de markups, fatores de compensação por quebra e/ou comissionamento de venda devem estar contemplados na composição dos preços. A empresa deseja fazer esta composição dentro da Plataforma GeoSales EVO, inserindo todas as informações de custo, taxas e demais dados customizáveis, permitindo que o próprio cliente consiga fazer esta composição. &amp;lt;br&amp;gt;&lt;br /&gt;
O cenário de precificação atual não possui um processo uniformizado para cada cliente. Portanto, a necessidade de criar um processo padronizado para composição de preços, assim como a atualização customizável de algumas dessas variáveis, por se tratarem de variáveis cujos valores podem oscilar por motivos externos (oscilações de mercado, variação na política de preços, etc), é imperativa.&lt;br /&gt;
&lt;br /&gt;
== Solução ==&lt;br /&gt;
&lt;br /&gt;
Visto que a formação de preços, e seu processo de elaboração, devem ser totalmente customizáveis pelo cliente, primeiramente deve ser possível que ele não apenas determine quais as variáveis e seus respectivos valores devem ser atribuídos na plataforma para precificação, mas também como estas variáveis se relacionarão matematicamente, a fim de formular um preço baseado nas entradas fornecidas pelo cliente. Além disso, tais variáveis, uma vez inseridas no cadastro de preços, deverão ser passíveis de edição, feitas pelo próprio cliente, de forma manual.&lt;br /&gt;
&lt;br /&gt;
Como instrumento de parametrização das fórmulas contendo as variáveis criadas e seus operadores apropriados, será utilizada a '''''notação polonesa  reversa (RPN)''''', ferramenta de uso familiar a pessoas ligadas ao trabalho que envolva matemática financeira. Assim, a formação de preço deverá ser mais flexível e intuitiva na sua formação, além de facilitar em eventuais futuras modificações. As formulas serão definidas dentro de uma tabela de preço para um determinado grupo de produto facilitando o cadastro. &lt;br /&gt;
&lt;br /&gt;
Também visando a facilidade da manutenção dos valores de cada variável da fórmula, iremos construir o preço por um conjunto de parâmetros, podendo ser definido de forma atrelada às seguintes dimensões: produto e tabela de preço.&lt;br /&gt;
&lt;br /&gt;
Após a definição dos parâmetros, a fórmula será construída por meio da utilização destes. Finalizando esta etapa, basta pedir para processar a tabela, onde a mesma passará a ser vigente para a equipe de venda. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Dentro desta visão teremos 3 etapas na construção do preço:&lt;br /&gt;
&amp;lt;li&amp;gt;Cadastro dos parâmetros&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Construção da forma&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Processamento da tabela&amp;lt;/li&amp;gt;&lt;br /&gt;
Estes passos serão melhor esclarecidos adiante.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Implementação ===&lt;br /&gt;
&lt;br /&gt;
O processo terá como bases os seguintes passos: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. Criação de Tabela; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--2. para inserção de Variáveis e/ou aproveitamento de Tabela existente; &amp;lt;br&amp;gt;--&amp;gt;&lt;br /&gt;
2. Definição de Variáveis que deverão compor a fórmula de criação de preço, além da definição do atributo a qual tal variável está vinculada (produto ou Tabela);&amp;lt;br&amp;gt;&lt;br /&gt;
3. Definição de fórmula de formação de preços, utilizando RPN, e vinculações a grupos de produtos;&amp;lt;br&amp;gt;&lt;br /&gt;
4. Concluída a fórmula, com as relações operacionais entre as variáveis, os valores gerados devem ser processados para compor a Tabela de Preços.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cadastro tabela de preço'''&lt;br /&gt;
&amp;lt;dd&amp;gt; Para criação da tabela de preço, será criada uma tela para o usuário fazer o cadastro da tabela de preço. Nela será possível fazer a inserção e edição de cadastros, não sendo possível excluir qualquer cadastro de tabela de preço já realizado.  Ao entrar na tela o sistema deve apresentar campos de filtros, os quais o usuário poderá localizar um cadastro já inserido e realizar edição dos campos descrição e datas inicial e final de vigência. Além, disso no rodapé da tela o acesso a realizar um novo cadastro os quais o usuário vai preencher os seguintes campos.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Campo&lt;br /&gt;
! Tipo &lt;br /&gt;
! Utilização &lt;br /&gt;
|-&lt;br /&gt;
|  Descrição  || Texto || O campo de descrição é um texto que aceita no máximo 70 caracteres &lt;br /&gt;
|-&lt;br /&gt;
| Data inicial vigência  || Data || O campo de data inicial irá determinar o início da vigência para tabela de preço &lt;br /&gt;
|-&lt;br /&gt;
| Data final vigência  || Data || O campo de data final irá determinar o fim da vigência para tabela de preço &lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Uma tabela de preço não poderá ser excluída, só poderá ser desativada ou ativada através dos campos de data inicial e data final. Para desativar, basta colocar em seu intervalo de data validade, colocando a data final inferior a data atual;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Caso uma tabela de preço esteja com a data de validade vencida, a tabela de preço não será exibida para seleção no cadastro do pedido;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Os campos de datas não serão obrigatórios, quando não estiverem preenchidos, indica que aquela tabela estará disponível para uso;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A função de cadastro da tabela de preço está disponível no pacote Evolution.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Não será possível utilizar a integração e cadastro da tabela de preço ao mesmo tempo. Sendo necessário que haja uma única escolha: Integrar a tabela de preço do ERP ao GeoSales ou cadastrar a tabela de preço no próprio GeoSales. Caso tentem utiliza os dois cadastros ao mesmo tempo ERP e GeoSales, a integração apagará todos os registros cadastrados no GeoSales.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''Declaração de variáveis''' ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dd&amp;gt;&lt;br /&gt;
Dentro da tela de Variáveis de preço, deve ser possível definir uma variável de forma livre, mas que atenda as seguintes regras:&lt;br /&gt;
&amp;lt;li&amp;gt; O campo chave, que será utilizado como referência na formula de preço, não deve conter caracteres especiais, espaço em branco e nao ser mais que 8 caracteres&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; A variável deve estar associada a um produto ou uma tabela de preço&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Para valores do tipo '''numérico (18,6)''', serão aceitos como possibilidade, podendo ser positivos ou negativos.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Será criado um log de históricos de alterações de valores destas variáveis e passível de ser exportado em relatórios em excel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
'''Definição da formula de preço'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Será necessário selecionar uma tabela de preço, a organização de venda e um ou mais produtos aos quais o preço deve ser inserido.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Para a regra de preço teremos que informar a '''formula''' do preço mínimo, sugerido e máximo com a quantidade mínima, que valida sua aplicação.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Nos campos de preço (mínimo, sugerido e máximo) teremos um espaço para a inserção da fórmula para composição de preço. Esta fórmula fará a relação matemática entre as variáveis criadas no processo anterior, por meio de '''operadores matemáticos (+, -, *, / )''', organizados em '''RPN''', notação comum para analistas financeiros, sendo bastante difundido, inclusive, na lógica de cálculo das calculadoras HP 12 C.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Será possível visualizar uma prévia da fórmula escrita, além do valor encontrado, a fim de que o usuário possa confirmar os valores que foram inseridos pelas variáveis e seus respectivos operadores.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como exemplo de notação polonesa reversa, tomemos a expressão '''''(A+B)*C'''''. Em RPN, a notação ficaria '''''AB+C*'''''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Processamento da Tabela ==&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
É importante frisar que os valores estão vinculados a uma tabela de preços, que consequentemente está vinculada a um cliente, organização de vendas, vendedores, e tabelas afins.&lt;br /&gt;
&lt;br /&gt;
As variáveis comuns a todos os clientes deverão ter valores diferenciados de acordo com a cidade onde a organização de vendas está alocada.&lt;br /&gt;
Há dois grupos de variáveis: aquelas que são relacionadas ao '''produto''' em si (tamanho, cor, embalagem, Tipo) e aquelas relacionadas à '''Tabela''' (Valor de partida, comissão promotor, frete, por exemplo). É importante determinar corretamente para qual grupo tal variável estará vinculada.&lt;br /&gt;
&lt;br /&gt;
Se mais de um produto possui a mesma característica, será possível fazer a precificação por grupos de produtos.&lt;br /&gt;
&lt;br /&gt;
== tabela Preço ==&lt;br /&gt;
&lt;br /&gt;
=== Cenário 1 ===&lt;br /&gt;
&lt;br /&gt;
Elaborando o preço do produto 'P001' para o cliente 'C001':&lt;br /&gt;
&lt;br /&gt;
Enumeração das variáveis&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 106,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 0,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1,02 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,02 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || Fc || / || 70,66 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Ce || + || 82,86 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Fr || + || 82,66 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Pr || * || 84,52 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Qu || * || 84,52 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Cf || * || 86,21 || F&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''P= PpFc/Ce+Fr+Pr*Qu*Cf*'''''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ao final do processo, a fórmula irá  apresentar o valor final: '''&amp;quot;R$ 86,21&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 2 ===&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P002' para o cliente 'C002'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,11 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || P1 || + || 113,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 75,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 87,86 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Fr || + || 90,86 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Pr || * || 90,86 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Qu || * || 90,86 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Cf || * || 100,86 || G&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''P= PpP1+Fc/Ce+Fr+Pr*Qu*Cf*'''''&lt;br /&gt;
&lt;br /&gt;
Ao final do processo de cálculo da fórmula, o valor do preço será '''&amp;quot;R$ 100,86&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 3 ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P003' para o cliente 'C003'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ -3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 8,67 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce2 || Custo de Embalagem 2 || R$ 2,00 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 2,5 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| K || Constante || 23,67 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp|| P1 || + || 107,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 71,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 80,33 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Ce2 || + || 82,33 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Fr || + || 84,83 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Pr || * || 84,83 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Qu || * || 84,83 || G&lt;br /&gt;
|-&lt;br /&gt;
| 8 || G || Cf || * || 84,83 || H&lt;br /&gt;
|-&lt;br /&gt;
| 9 || H || K || + || 108,50 || I&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''P= PpP1+Fc/Ce+Ce2+Fr+Pr*Qu*Cf*K+'''''&lt;br /&gt;
&lt;br /&gt;
Ao final do cálculo da forma, o valor final do preço será: '''&amp;quot;R$ 108,50&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--[[arquivo:formula1.png]]&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço2.png | 600 px]]&lt;br /&gt;
&lt;br /&gt;
Na formula acima, as somas de variaveis são agrupadas em blocos, multiplicando-se entre si. A relação entre os somatórios pode ser representada por&lt;br /&gt;
&lt;br /&gt;
[[arquivo:produto1.png | 200 px]]&lt;br /&gt;
&lt;br /&gt;
Portando, a equação de formação de preço pode ser representada da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ou pelo produtório&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço1.png]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A composição de preço tem como objetivo construir um preço de venda. Esse cadastro conta com tipos de variáveis para compor preço. Para que a composição de preço seja aplicada corretamente no cadastro do pedido, é necessário que as seguintes premissas sejam atendidas.&lt;br /&gt;
&lt;br /&gt;
=== Composição de preço ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Visto que há variação de preços de produtos para diferentes localidades, a formula criada para a composição de preços  deverá, além de compor toda a regra de cálculo de precificação de determinado produto, a sua parametrização vinculada ao seu respectivo Estado, Cidade e Filial. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em outras palavras, através da composição de preço, o usuário poderá informar a fórmula que o sistema irá aplicar para definir o preço unitário do produto. Essa regra poderá ser parametrizado por: filial, estado e cidade.&lt;br /&gt;
&lt;br /&gt;
== Regras de Negócios ==&lt;br /&gt;
&lt;br /&gt;
'''[RN1] - ''' Não poderá conter a mesma regra para o mesmo estado e filial;&lt;br /&gt;
&lt;br /&gt;
'''[RN2] - ''' Não deverá haver sobreposição de cadastros, e sim edição deste cadastro. Caso o usuário tente cadastrar o mesmo cenário mais de uma vez, a plataforma irá alertar informando que já existe uma regra, e que essa regra poderá ser sobreposta;&lt;br /&gt;
&lt;br /&gt;
'''[RN3] - ''' Essa funcionalidade será desenvolvida exclusivamente no GeoSales EVO.&lt;br /&gt;
&lt;br /&gt;
'''[RN4] - ''' Durante o processo, o portal não deverá travar (requisito não funcional).&lt;br /&gt;
&lt;br /&gt;
'''[RN5] - ''' Os históricos do log de alterações das variáveis ficarão registrados por um período de 1 (um) ano.&lt;br /&gt;
&lt;br /&gt;
'''[RN6] - ''' Um determinado produto poderá ser vinculado a mais de um grupo, mas a quantidade deve ser diferente.&lt;br /&gt;
&lt;br /&gt;
== Protótipos ==&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: 1200px-tela-de-cadastro-de-precificacao-mantiqueira.png|600px]]&lt;br /&gt;
&lt;br /&gt;
== Aprovação ==&lt;br /&gt;
&lt;br /&gt;
Considero aprovada a documentação da funcionalidade especificada acima, e autorizo a implementação da mesma no Sistema GeoSales, em nome da Organização a qual estou vinculado. &lt;br /&gt;
&lt;br /&gt;
=== GeoSales ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Desenvolvimento - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|- &lt;br /&gt;
| Integração - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
| Configurações - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Empresa solicitante === &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
! Assinatura&lt;br /&gt;
|-&lt;br /&gt;
| Gerente TI - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente de Projeto - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente Comercial - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Leo2s</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=14955</id>
		<title>Precificação</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=14955"/>
		<updated>2021-04-08T17:30:11Z</updated>

		<summary type="html">&lt;p&gt;Leo2s: /* tabela */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Histórico de Alterações ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data&lt;br /&gt;
! Quem &lt;br /&gt;
! Comentários &lt;br /&gt;
|-&lt;br /&gt;
|  01/10/2020  || Ana Júlia || Criação do documento &lt;br /&gt;
|-&lt;br /&gt;
| 01/04/2021 || João Ramon || Atualização do documento&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
&lt;br /&gt;
No processo de formação de preços, conta-se com um número definido de variáveis que irão fazer a composição do valor final que será apresentado ao cliente final. Informações como custos operacionais, inclusão de markups, fatores de compensação por quebra e/ou comissionamento de venda devem estar contemplados na composição dos preços. A empresa deseja fazer esta composição dentro da Plataforma GeoSales EVO, inserindo todas as informações de custo, taxas e demais dados customizáveis, permitindo que o próprio cliente consiga fazer esta composição. &amp;lt;br&amp;gt;&lt;br /&gt;
O cenário de precificação atual não possui um processo uniformizado para cada cliente. Portanto, a necessidade de criar um processo padronizado para composição de preços, assim como a atualização customizável de algumas dessas variáveis, por se tratarem de variáveis cujos valores podem oscilar por motivos externos (oscilações de mercado, variação na política de preços, etc), é imperativa.&lt;br /&gt;
&lt;br /&gt;
== Solução ==&lt;br /&gt;
&lt;br /&gt;
Visto que a formação de preços, e seu processo de elaboração, devem ser totalmente customizáveis pelo cliente, primeiramente deve ser possível que ele não apenas determine quais as variáveis e seus respectivos valores devem ser atribuídos na plataforma para precificação, mas também como estas variáveis se relacionarão matematicamente, a fim de formular um preço baseado nas entradas fornecidas pelo cliente. Além disso, tais variáveis, uma vez inseridas no cadastro de preços, deverão ser passíveis de edição, feitas pelo próprio cliente, de forma manual.&lt;br /&gt;
&lt;br /&gt;
Como instrumento de parametrização das fórmulas contendo as variáveis criadas e seus operadores apropriados, será utilizada a '''''notação polonesa  reversa (RPN)''''', ferramenta de uso familiar a pessoas ligadas ao trabalho que envolva matemática financeira. Assim, a formação de preço deverá ser mais flexível e intuitiva na sua formação, além de facilitar em eventuais futuras modificações. As formulas serão definidas dentro de uma tabela de preço para um determinado grupo de produto facilitando o cadastro. &lt;br /&gt;
&lt;br /&gt;
Também visando a facilidade da manutenção dos valores de cada variável da fórmula, iremos construir o preço por um conjunto de parâmetros, podendo ser definido de forma atrelada às seguintes dimensões: produto e tabela de preço.&lt;br /&gt;
&lt;br /&gt;
Após a definição dos parâmetros, a fórmula será construída por meio da utilização destes. Finalizando esta etapa, basta pedir para processar a tabela, onde a mesma passará a ser vigente para a equipe de venda. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Dentro desta visão teremos 3 etapas na construção do preço:&lt;br /&gt;
&amp;lt;li&amp;gt;Cadastro dos parâmetros&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Construção da forma&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Processamento da tabela&amp;lt;/li&amp;gt;&lt;br /&gt;
Estes passos serão melhor esclarecidos adiante.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Implementação ===&lt;br /&gt;
&lt;br /&gt;
O processo terá como bases os seguintes passos: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. Criação de Tabela; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--2. para inserção de Variáveis e/ou aproveitamento de Tabela existente; &amp;lt;br&amp;gt;--&amp;gt;&lt;br /&gt;
2. Definição de Variáveis que deverão compor a fórmula de criação de preço, além da definição do atributo a qual tal variável está vinculada (produto ou Tabela);&amp;lt;br&amp;gt;&lt;br /&gt;
3. Definição de fórmula de formação de preços, utilizando RPN, e vinculações a grupos de produtos;&amp;lt;br&amp;gt;&lt;br /&gt;
4. Concluída a fórmula, com as relações operacionais entre as variáveis, os valores gerados devem ser processados para compor a Tabela de Preços.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== tabela ==&lt;br /&gt;
&amp;lt;dd&amp;gt; Para criação da tabela de preço, será criada uma tela para o usuário fazer o cadastro da tabela de preço. Nela será possível fazer a inserção e edição de cadastros, não sendo possível excluir qualquer cadastro de tabela de preço já realizado.  Ao entrar na tela o sistema deve apresentar campos de filtros, os quais o usuário poderá localizar um cadastro já inserido e realizar edição dos campos descrição e datas inicial e final de vigência. Além, disso no rodapé da tela o acesso a realizar um novo cadastro os quais o usuário vai preencher os seguintes campos.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Campo&lt;br /&gt;
! Tipo &lt;br /&gt;
! Utilização &lt;br /&gt;
|-&lt;br /&gt;
|  Descrição  || Texto || O campo de descrição é um texto que aceita no máximo 70 caracteres &lt;br /&gt;
|-&lt;br /&gt;
| Data inicial vigência  || Data || O campo de data inicial irá determinar o início da vigência para tabela de preço &lt;br /&gt;
|-&lt;br /&gt;
| Data final vigência  || Data || O campo de data final irá determinar o fim da vigência para tabela de preço &lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Uma tabela de preço não poderá ser excluída, só poderá ser desativada ou ativada através dos campos de data inicial e data final. Para desativar, basta colocar em seu intervalo de data validade, colocando a data final inferior a data atual;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Caso uma tabela de preço esteja com a data de validade vencida, a tabela de preço não será exibida para seleção no cadastro do pedido;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Os campos de datas não serão obrigatórios, quando não estiverem preenchidos, indica que aquela tabela estará disponível para uso;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A função de cadastro da tabela de preço está disponível no pacote Evolution.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Não será possível utilizar a integração e cadastro da tabela de preço ao mesmo tempo. Sendo necessário que haja uma única escolha: Integrar a tabela de preço do ERP ao GeoSales ou cadastrar a tabela de preço no próprio GeoSales. Caso tentem utiliza os dois cadastros ao mesmo tempo ERP e GeoSales, a integração apagará todos os registros cadastrados no GeoSales.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''Declaração de variáveis''' ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dd&amp;gt;&lt;br /&gt;
Dentro da tela de Variáveis de preço, deve ser possível definir uma variável de forma livre, mas que atenda as seguintes regras:&lt;br /&gt;
&amp;lt;li&amp;gt; O campo chave, que será utilizado como referência na formula de preço, não deve conter caracteres especiais, espaço em branco e nao ser mais que 8 caracteres&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; A variável deve estar associada a um produto ou uma tabela de preço&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Para valores do tipo '''numérico (18,6)''', serão aceitos como possibilidade, podendo ser positivos ou negativos.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Será criado um log de históricos de alterações de valores destas variáveis e passível de ser exportado em relatórios em excel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
'''Definição da formula de preço'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Será necessário selecionar uma tabela de preço, a organização de venda e um ou mais produtos aos quais o preço deve ser inserido.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Para a regra de preço teremos que informar a '''formula''' do preço mínimo, sugerido e máximo com a quantidade mínima, que valida sua aplicação.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Nos campos de preço (mínimo, sugerido e máximo) teremos um espaço para a inserção da fórmula para composição de preço. Esta fórmula fará a relação matemática entre as variáveis criadas no processo anterior, por meio de '''operadores matemáticos (+, -, *, / )''', organizados em '''RPN''', notação comum para analistas financeiros, sendo bastante difundido, inclusive, na lógica de cálculo das calculadoras HP 12 C.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Será possível visualizar uma prévia da fórmula escrita, além do valor encontrado, a fim de que o usuário possa confirmar os valores que foram inseridos pelas variáveis e seus respectivos operadores.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como exemplo de notação polonesa reversa, tomemos a expressão '''''(A+B)*C'''''. Em RPN, a notação ficaria '''''AB+C*'''''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Processamento da Tabela ==&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
É importante frisar que os valores estão vinculados a uma tabela de preços, que consequentemente está vinculada a um cliente, organização de vendas, vendedores, e tabelas afins.&lt;br /&gt;
&lt;br /&gt;
As variáveis comuns a todos os clientes deverão ter valores diferenciados de acordo com a cidade onde a organização de vendas está alocada.&lt;br /&gt;
Há dois grupos de variáveis: aquelas que são relacionadas ao '''produto''' em si (tamanho, cor, embalagem, Tipo) e aquelas relacionadas à '''Tabela''' (Valor de partida, comissão promotor, frete, por exemplo). É importante determinar corretamente para qual grupo tal variável estará vinculada.&lt;br /&gt;
&lt;br /&gt;
Se mais de um produto possui a mesma característica, será possível fazer a precificação por grupos de produtos.&lt;br /&gt;
&lt;br /&gt;
== tabela Preço ==&lt;br /&gt;
&lt;br /&gt;
=== Cenário 1 ===&lt;br /&gt;
&lt;br /&gt;
Elaborando o preço do produto 'P001' para o cliente 'C001':&lt;br /&gt;
&lt;br /&gt;
Enumeração das variáveis&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 106,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 0,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1,02 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,02 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || Fc || / || 70,66 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Ce || + || 82,86 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Fr || + || 82,66 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Pr || * || 84,52 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Qu || * || 84,52 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Cf || * || 86,21 || F&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''P= PpFc/Ce+Fr+Pr*Qu*Cf*'''''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ao final do processo, a fórmula irá  apresentar o valor final: '''&amp;quot;R$ 86,21&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 2 ===&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P002' para o cliente 'C002'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,11 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || P1 || + || 113,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 75,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 87,86 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Fr || + || 90,86 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Pr || * || 90,86 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Qu || * || 90,86 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Cf || * || 100,86 || G&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''P= PpP1+Fc/Ce+Fr+Pr*Qu*Cf*'''''&lt;br /&gt;
&lt;br /&gt;
Ao final do processo de cálculo da fórmula, o valor do preço será '''&amp;quot;R$ 100,86&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 3 ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P003' para o cliente 'C003'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ -3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 8,67 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce2 || Custo de Embalagem 2 || R$ 2,00 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 2,5 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| K || Constante || 23,67 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp|| P1 || + || 107,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 71,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 80,33 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Ce2 || + || 82,33 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Fr || + || 84,83 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Pr || * || 84,83 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Qu || * || 84,83 || G&lt;br /&gt;
|-&lt;br /&gt;
| 8 || G || Cf || * || 84,83 || H&lt;br /&gt;
|-&lt;br /&gt;
| 9 || H || K || + || 108,50 || I&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''P= PpP1+Fc/Ce+Ce2+Fr+Pr*Qu*Cf*K+'''''&lt;br /&gt;
&lt;br /&gt;
Ao final do cálculo da forma, o valor final do preço será: '''&amp;quot;R$ 108,50&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--[[arquivo:formula1.png]]&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço2.png | 600 px]]&lt;br /&gt;
&lt;br /&gt;
Na formula acima, as somas de variaveis são agrupadas em blocos, multiplicando-se entre si. A relação entre os somatórios pode ser representada por&lt;br /&gt;
&lt;br /&gt;
[[arquivo:produto1.png | 200 px]]&lt;br /&gt;
&lt;br /&gt;
Portando, a equação de formação de preço pode ser representada da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ou pelo produtório&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço1.png]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A composição de preço tem como objetivo construir um preço de venda. Esse cadastro conta com tipos de variáveis para compor preço. Para que a composição de preço seja aplicada corretamente no cadastro do pedido, é necessário que as seguintes premissas sejam atendidas.&lt;br /&gt;
&lt;br /&gt;
=== Composição de preço ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Visto que há variação de preços de produtos para diferentes localidades, a formula criada para a composição de preços  deverá, além de compor toda a regra de cálculo de precificação de determinado produto, a sua parametrização vinculada ao seu respectivo Estado, Cidade e Filial. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em outras palavras, através da composição de preço, o usuário poderá informar a fórmula que o sistema irá aplicar para definir o preço unitário do produto. Essa regra poderá ser parametrizado por: filial, estado e cidade.&lt;br /&gt;
&lt;br /&gt;
== Regras de Negócios ==&lt;br /&gt;
&lt;br /&gt;
'''[RN1] - ''' Não poderá conter a mesma regra para o mesmo estado e filial;&lt;br /&gt;
&lt;br /&gt;
'''[RN2] - ''' Não deverá haver sobreposição de cadastros, e sim edição deste cadastro. Caso o usuário tente cadastrar o mesmo cenário mais de uma vez, a plataforma irá alertar informando que já existe uma regra, e que essa regra poderá ser sobreposta;&lt;br /&gt;
&lt;br /&gt;
'''[RN3] - ''' Essa funcionalidade será desenvolvida exclusivamente no GeoSales EVO.&lt;br /&gt;
&lt;br /&gt;
'''[RN4] - ''' Durante o processo, o portal não deverá travar (requisito não funcional).&lt;br /&gt;
&lt;br /&gt;
'''[RN5] - ''' Os históricos do log de alterações das variáveis ficarão registrados por um período de 1 (um) ano.&lt;br /&gt;
&lt;br /&gt;
'''[RN6] - ''' Um determinado produto poderá ser vinculado a mais de um grupo, mas a quantidade deve ser diferente.&lt;br /&gt;
&lt;br /&gt;
== Protótipos ==&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: 1200px-tela-de-cadastro-de-precificacao-mantiqueira.png|600px]]&lt;br /&gt;
&lt;br /&gt;
== Aprovação ==&lt;br /&gt;
&lt;br /&gt;
Considero aprovada a documentação da funcionalidade especificada acima, e autorizo a implementação da mesma no Sistema GeoSales, em nome da Organização a qual estou vinculado. &lt;br /&gt;
&lt;br /&gt;
=== GeoSales ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Desenvolvimento - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|- &lt;br /&gt;
| Integração - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
| Configurações - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Empresa solicitante === &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
! Assinatura&lt;br /&gt;
|-&lt;br /&gt;
| Gerente TI - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente de Projeto - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente Comercial - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Leo2s</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=14954</id>
		<title>Precificação</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=14954"/>
		<updated>2021-04-08T17:29:47Z</updated>

		<summary type="html">&lt;p&gt;Leo2s: /* tabela */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Histórico de Alterações ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data&lt;br /&gt;
! Quem &lt;br /&gt;
! Comentários &lt;br /&gt;
|-&lt;br /&gt;
|  01/10/2020  || Ana Júlia || Criação do documento &lt;br /&gt;
|-&lt;br /&gt;
| 01/04/2021 || João Ramon || Atualização do documento&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
&lt;br /&gt;
No processo de formação de preços, conta-se com um número definido de variáveis que irão fazer a composição do valor final que será apresentado ao cliente final. Informações como custos operacionais, inclusão de markups, fatores de compensação por quebra e/ou comissionamento de venda devem estar contemplados na composição dos preços. A empresa deseja fazer esta composição dentro da Plataforma GeoSales EVO, inserindo todas as informações de custo, taxas e demais dados customizáveis, permitindo que o próprio cliente consiga fazer esta composição. &amp;lt;br&amp;gt;&lt;br /&gt;
O cenário de precificação atual não possui um processo uniformizado para cada cliente. Portanto, a necessidade de criar um processo padronizado para composição de preços, assim como a atualização customizável de algumas dessas variáveis, por se tratarem de variáveis cujos valores podem oscilar por motivos externos (oscilações de mercado, variação na política de preços, etc), é imperativa.&lt;br /&gt;
&lt;br /&gt;
== Solução ==&lt;br /&gt;
&lt;br /&gt;
Visto que a formação de preços, e seu processo de elaboração, devem ser totalmente customizáveis pelo cliente, primeiramente deve ser possível que ele não apenas determine quais as variáveis e seus respectivos valores devem ser atribuídos na plataforma para precificação, mas também como estas variáveis se relacionarão matematicamente, a fim de formular um preço baseado nas entradas fornecidas pelo cliente. Além disso, tais variáveis, uma vez inseridas no cadastro de preços, deverão ser passíveis de edição, feitas pelo próprio cliente, de forma manual.&lt;br /&gt;
&lt;br /&gt;
Como instrumento de parametrização das fórmulas contendo as variáveis criadas e seus operadores apropriados, será utilizada a '''''notação polonesa  reversa (RPN)''''', ferramenta de uso familiar a pessoas ligadas ao trabalho que envolva matemática financeira. Assim, a formação de preço deverá ser mais flexível e intuitiva na sua formação, além de facilitar em eventuais futuras modificações. As formulas serão definidas dentro de uma tabela de preço para um determinado grupo de produto facilitando o cadastro. &lt;br /&gt;
&lt;br /&gt;
Também visando a facilidade da manutenção dos valores de cada variável da fórmula, iremos construir o preço por um conjunto de parâmetros, podendo ser definido de forma atrelada às seguintes dimensões: produto e tabela de preço.&lt;br /&gt;
&lt;br /&gt;
Após a definição dos parâmetros, a fórmula será construída por meio da utilização destes. Finalizando esta etapa, basta pedir para processar a tabela, onde a mesma passará a ser vigente para a equipe de venda. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Dentro desta visão teremos 3 etapas na construção do preço:&lt;br /&gt;
&amp;lt;li&amp;gt;Cadastro dos parâmetros&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Construção da forma&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Processamento da tabela&amp;lt;/li&amp;gt;&lt;br /&gt;
Estes passos serão melhor esclarecidos adiante.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Implementação ===&lt;br /&gt;
&lt;br /&gt;
O processo terá como bases os seguintes passos: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. Criação de Tabela; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--2. para inserção de Variáveis e/ou aproveitamento de Tabela existente; &amp;lt;br&amp;gt;--&amp;gt;&lt;br /&gt;
2. Definição de Variáveis que deverão compor a fórmula de criação de preço, além da definição do atributo a qual tal variável está vinculada (produto ou Tabela);&amp;lt;br&amp;gt;&lt;br /&gt;
3. Definição de fórmula de formação de preços, utilizando RPN, e vinculações a grupos de produtos;&amp;lt;br&amp;gt;&lt;br /&gt;
4. Concluída a fórmula, com as relações operacionais entre as variáveis, os valores gerados devem ser processados para compor a Tabela de Preços.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== tabela ==&lt;br /&gt;
Para criação da tabela de preço, será criada uma tela para o usuário fazer o cadastro da tabela de preço. Nela será possível fazer a inserção e edição de cadastros, não sendo possível excluir qualquer cadastro de tabela de preço já realizado.  Ao entrar na tela o sistema deve apresentar campos de filtros, os quais o usuário poderá localizar um cadastro já inserido e realizar edição dos campos descrição e datas inicial e final de vigência. Além, disso no rodapé da tela o acesso a realizar um novo cadastro os quais o usuário vai preencher os seguintes campos.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Campo&lt;br /&gt;
! Tipo &lt;br /&gt;
! Utilização &lt;br /&gt;
|-&lt;br /&gt;
|  Descrição  || Texto || O campo de descrição é um texto que aceita no máximo 70 caracteres &lt;br /&gt;
|-&lt;br /&gt;
| Data inicial vigência  || Data || O campo de data inicial irá determinar o início da vigência para tabela de preço &lt;br /&gt;
|-&lt;br /&gt;
| Data final vigência  || Data || O campo de data final irá determinar o fim da vigência para tabela de preço &lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Uma tabela de preço não poderá ser excluída, só poderá ser desativada ou ativada através dos campos de data inicial e data final. Para desativar, basta colocar em seu intervalo de data validade, colocando a data final inferior a data atual;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Caso uma tabela de preço esteja com a data de validade vencida, a tabela de preço não será exibida para seleção no cadastro do pedido;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Os campos de datas não serão obrigatórios, quando não estiverem preenchidos, indica que aquela tabela estará disponível para uso;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A função de cadastro da tabela de preço está disponível no pacote Evolution.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Não será possível utilizar a integração e cadastro da tabela de preço ao mesmo tempo. Sendo necessário que haja uma única escolha: Integrar a tabela de preço do ERP ao GeoSales ou cadastrar a tabela de preço no próprio GeoSales. Caso tentem utiliza os dois cadastros ao mesmo tempo ERP e GeoSales, a integração apagará todos os registros cadastrados no GeoSales.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''Declaração de variáveis''' ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dd&amp;gt;&lt;br /&gt;
Dentro da tela de Variáveis de preço, deve ser possível definir uma variável de forma livre, mas que atenda as seguintes regras:&lt;br /&gt;
&amp;lt;li&amp;gt; O campo chave, que será utilizado como referência na formula de preço, não deve conter caracteres especiais, espaço em branco e nao ser mais que 8 caracteres&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; A variável deve estar associada a um produto ou uma tabela de preço&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Para valores do tipo '''numérico (18,6)''', serão aceitos como possibilidade, podendo ser positivos ou negativos.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Será criado um log de históricos de alterações de valores destas variáveis e passível de ser exportado em relatórios em excel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
'''Definição da formula de preço'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Será necessário selecionar uma tabela de preço, a organização de venda e um ou mais produtos aos quais o preço deve ser inserido.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Para a regra de preço teremos que informar a '''formula''' do preço mínimo, sugerido e máximo com a quantidade mínima, que valida sua aplicação.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Nos campos de preço (mínimo, sugerido e máximo) teremos um espaço para a inserção da fórmula para composição de preço. Esta fórmula fará a relação matemática entre as variáveis criadas no processo anterior, por meio de '''operadores matemáticos (+, -, *, / )''', organizados em '''RPN''', notação comum para analistas financeiros, sendo bastante difundido, inclusive, na lógica de cálculo das calculadoras HP 12 C.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Será possível visualizar uma prévia da fórmula escrita, além do valor encontrado, a fim de que o usuário possa confirmar os valores que foram inseridos pelas variáveis e seus respectivos operadores.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como exemplo de notação polonesa reversa, tomemos a expressão '''''(A+B)*C'''''. Em RPN, a notação ficaria '''''AB+C*'''''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Processamento da Tabela ==&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
É importante frisar que os valores estão vinculados a uma tabela de preços, que consequentemente está vinculada a um cliente, organização de vendas, vendedores, e tabelas afins.&lt;br /&gt;
&lt;br /&gt;
As variáveis comuns a todos os clientes deverão ter valores diferenciados de acordo com a cidade onde a organização de vendas está alocada.&lt;br /&gt;
Há dois grupos de variáveis: aquelas que são relacionadas ao '''produto''' em si (tamanho, cor, embalagem, Tipo) e aquelas relacionadas à '''Tabela''' (Valor de partida, comissão promotor, frete, por exemplo). É importante determinar corretamente para qual grupo tal variável estará vinculada.&lt;br /&gt;
&lt;br /&gt;
Se mais de um produto possui a mesma característica, será possível fazer a precificação por grupos de produtos.&lt;br /&gt;
&lt;br /&gt;
== tabela Preço ==&lt;br /&gt;
&lt;br /&gt;
=== Cenário 1 ===&lt;br /&gt;
&lt;br /&gt;
Elaborando o preço do produto 'P001' para o cliente 'C001':&lt;br /&gt;
&lt;br /&gt;
Enumeração das variáveis&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 106,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 0,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1,02 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,02 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || Fc || / || 70,66 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Ce || + || 82,86 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Fr || + || 82,66 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Pr || * || 84,52 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Qu || * || 84,52 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Cf || * || 86,21 || F&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''P= PpFc/Ce+Fr+Pr*Qu*Cf*'''''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ao final do processo, a fórmula irá  apresentar o valor final: '''&amp;quot;R$ 86,21&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 2 ===&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P002' para o cliente 'C002'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,11 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || P1 || + || 113,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 75,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 87,86 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Fr || + || 90,86 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Pr || * || 90,86 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Qu || * || 90,86 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Cf || * || 100,86 || G&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''P= PpP1+Fc/Ce+Fr+Pr*Qu*Cf*'''''&lt;br /&gt;
&lt;br /&gt;
Ao final do processo de cálculo da fórmula, o valor do preço será '''&amp;quot;R$ 100,86&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 3 ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P003' para o cliente 'C003'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ -3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 8,67 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce2 || Custo de Embalagem 2 || R$ 2,00 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 2,5 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| K || Constante || 23,67 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp|| P1 || + || 107,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 71,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 80,33 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Ce2 || + || 82,33 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Fr || + || 84,83 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Pr || * || 84,83 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Qu || * || 84,83 || G&lt;br /&gt;
|-&lt;br /&gt;
| 8 || G || Cf || * || 84,83 || H&lt;br /&gt;
|-&lt;br /&gt;
| 9 || H || K || + || 108,50 || I&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''P= PpP1+Fc/Ce+Ce2+Fr+Pr*Qu*Cf*K+'''''&lt;br /&gt;
&lt;br /&gt;
Ao final do cálculo da forma, o valor final do preço será: '''&amp;quot;R$ 108,50&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--[[arquivo:formula1.png]]&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço2.png | 600 px]]&lt;br /&gt;
&lt;br /&gt;
Na formula acima, as somas de variaveis são agrupadas em blocos, multiplicando-se entre si. A relação entre os somatórios pode ser representada por&lt;br /&gt;
&lt;br /&gt;
[[arquivo:produto1.png | 200 px]]&lt;br /&gt;
&lt;br /&gt;
Portando, a equação de formação de preço pode ser representada da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ou pelo produtório&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço1.png]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A composição de preço tem como objetivo construir um preço de venda. Esse cadastro conta com tipos de variáveis para compor preço. Para que a composição de preço seja aplicada corretamente no cadastro do pedido, é necessário que as seguintes premissas sejam atendidas.&lt;br /&gt;
&lt;br /&gt;
=== Composição de preço ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Visto que há variação de preços de produtos para diferentes localidades, a formula criada para a composição de preços  deverá, além de compor toda a regra de cálculo de precificação de determinado produto, a sua parametrização vinculada ao seu respectivo Estado, Cidade e Filial. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em outras palavras, através da composição de preço, o usuário poderá informar a fórmula que o sistema irá aplicar para definir o preço unitário do produto. Essa regra poderá ser parametrizado por: filial, estado e cidade.&lt;br /&gt;
&lt;br /&gt;
== Regras de Negócios ==&lt;br /&gt;
&lt;br /&gt;
'''[RN1] - ''' Não poderá conter a mesma regra para o mesmo estado e filial;&lt;br /&gt;
&lt;br /&gt;
'''[RN2] - ''' Não deverá haver sobreposição de cadastros, e sim edição deste cadastro. Caso o usuário tente cadastrar o mesmo cenário mais de uma vez, a plataforma irá alertar informando que já existe uma regra, e que essa regra poderá ser sobreposta;&lt;br /&gt;
&lt;br /&gt;
'''[RN3] - ''' Essa funcionalidade será desenvolvida exclusivamente no GeoSales EVO.&lt;br /&gt;
&lt;br /&gt;
'''[RN4] - ''' Durante o processo, o portal não deverá travar (requisito não funcional).&lt;br /&gt;
&lt;br /&gt;
'''[RN5] - ''' Os históricos do log de alterações das variáveis ficarão registrados por um período de 1 (um) ano.&lt;br /&gt;
&lt;br /&gt;
'''[RN6] - ''' Um determinado produto poderá ser vinculado a mais de um grupo, mas a quantidade deve ser diferente.&lt;br /&gt;
&lt;br /&gt;
== Protótipos ==&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: 1200px-tela-de-cadastro-de-precificacao-mantiqueira.png|600px]]&lt;br /&gt;
&lt;br /&gt;
== Aprovação ==&lt;br /&gt;
&lt;br /&gt;
Considero aprovada a documentação da funcionalidade especificada acima, e autorizo a implementação da mesma no Sistema GeoSales, em nome da Organização a qual estou vinculado. &lt;br /&gt;
&lt;br /&gt;
=== GeoSales ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Desenvolvimento - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|- &lt;br /&gt;
| Integração - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
| Configurações - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Empresa solicitante === &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
! Assinatura&lt;br /&gt;
|-&lt;br /&gt;
| Gerente TI - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente de Projeto - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente Comercial - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Leo2s</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=14953</id>
		<title>Precificação</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=14953"/>
		<updated>2021-04-08T17:29:30Z</updated>

		<summary type="html">&lt;p&gt;Leo2s: /* Implementação */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Histórico de Alterações ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data&lt;br /&gt;
! Quem &lt;br /&gt;
! Comentários &lt;br /&gt;
|-&lt;br /&gt;
|  01/10/2020  || Ana Júlia || Criação do documento &lt;br /&gt;
|-&lt;br /&gt;
| 01/04/2021 || João Ramon || Atualização do documento&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
&lt;br /&gt;
No processo de formação de preços, conta-se com um número definido de variáveis que irão fazer a composição do valor final que será apresentado ao cliente final. Informações como custos operacionais, inclusão de markups, fatores de compensação por quebra e/ou comissionamento de venda devem estar contemplados na composição dos preços. A empresa deseja fazer esta composição dentro da Plataforma GeoSales EVO, inserindo todas as informações de custo, taxas e demais dados customizáveis, permitindo que o próprio cliente consiga fazer esta composição. &amp;lt;br&amp;gt;&lt;br /&gt;
O cenário de precificação atual não possui um processo uniformizado para cada cliente. Portanto, a necessidade de criar um processo padronizado para composição de preços, assim como a atualização customizável de algumas dessas variáveis, por se tratarem de variáveis cujos valores podem oscilar por motivos externos (oscilações de mercado, variação na política de preços, etc), é imperativa.&lt;br /&gt;
&lt;br /&gt;
== Solução ==&lt;br /&gt;
&lt;br /&gt;
Visto que a formação de preços, e seu processo de elaboração, devem ser totalmente customizáveis pelo cliente, primeiramente deve ser possível que ele não apenas determine quais as variáveis e seus respectivos valores devem ser atribuídos na plataforma para precificação, mas também como estas variáveis se relacionarão matematicamente, a fim de formular um preço baseado nas entradas fornecidas pelo cliente. Além disso, tais variáveis, uma vez inseridas no cadastro de preços, deverão ser passíveis de edição, feitas pelo próprio cliente, de forma manual.&lt;br /&gt;
&lt;br /&gt;
Como instrumento de parametrização das fórmulas contendo as variáveis criadas e seus operadores apropriados, será utilizada a '''''notação polonesa  reversa (RPN)''''', ferramenta de uso familiar a pessoas ligadas ao trabalho que envolva matemática financeira. Assim, a formação de preço deverá ser mais flexível e intuitiva na sua formação, além de facilitar em eventuais futuras modificações. As formulas serão definidas dentro de uma tabela de preço para um determinado grupo de produto facilitando o cadastro. &lt;br /&gt;
&lt;br /&gt;
Também visando a facilidade da manutenção dos valores de cada variável da fórmula, iremos construir o preço por um conjunto de parâmetros, podendo ser definido de forma atrelada às seguintes dimensões: produto e tabela de preço.&lt;br /&gt;
&lt;br /&gt;
Após a definição dos parâmetros, a fórmula será construída por meio da utilização destes. Finalizando esta etapa, basta pedir para processar a tabela, onde a mesma passará a ser vigente para a equipe de venda. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Dentro desta visão teremos 3 etapas na construção do preço:&lt;br /&gt;
&amp;lt;li&amp;gt;Cadastro dos parâmetros&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Construção da forma&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Processamento da tabela&amp;lt;/li&amp;gt;&lt;br /&gt;
Estes passos serão melhor esclarecidos adiante.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Implementação ===&lt;br /&gt;
&lt;br /&gt;
O processo terá como bases os seguintes passos: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. Criação de Tabela; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--2. para inserção de Variáveis e/ou aproveitamento de Tabela existente; &amp;lt;br&amp;gt;--&amp;gt;&lt;br /&gt;
2. Definição de Variáveis que deverão compor a fórmula de criação de preço, além da definição do atributo a qual tal variável está vinculada (produto ou Tabela);&amp;lt;br&amp;gt;&lt;br /&gt;
3. Definição de fórmula de formação de preços, utilizando RPN, e vinculações a grupos de produtos;&amp;lt;br&amp;gt;&lt;br /&gt;
4. Concluída a fórmula, com as relações operacionais entre as variáveis, os valores gerados devem ser processados para compor a Tabela de Preços.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== tabela ==&lt;br /&gt;
Para criação da tabela de preço, será criada uma tela para o usuário fazer o cadastro da tabela de preço. Nela será possível fazer a inserção e edição de cadastros, não sendo possível excluir qualquer cadastro de tabela de preço já realizado.  Ao entrar na tela o sistema deve apresentar campos de filtros, os quais o usuário poderá localizar um cadastro já inserido e realizar edição dos campos descrição e datas inicial e final de vigência. Além, disso no rodapé da tela o acesso a realizar um novo cadastro os quais o usuário vai preencher os seguintes campos.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Campo&lt;br /&gt;
! Tipo &lt;br /&gt;
! Utilização &lt;br /&gt;
|-&lt;br /&gt;
|  Descrição  || Texto || O campo de descrição é um texto que aceita no máximo 70 caracteres &lt;br /&gt;
|-&lt;br /&gt;
| Data inicial vigência  || Data || O campo de data inicial irá determinar o início da vigência para tabela de preço &lt;br /&gt;
|-&lt;br /&gt;
| Data final vigência  || Data || O campo de data final irá determinar o fim da vigência para tabela de preço &lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Uma tabela de preço não poderá ser excluída, só poderá ser desativada ou ativada através dos campos de data inicial e data final. Para desativar, basta colocar em seu intervalo de data validade, colocando a data final inferior a data atual;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Caso uma tabela de preço esteja com a data de validade vencida, a tabela de preço não será exibida para seleção no cadastro do pedido;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Os campos de datas não serão obrigatórios, quando não estiverem preenchidos, indica que aquela tabela estará disponível para uso;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A função de cadastro da tabela de preço está disponível no pacote Evolution.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Não será possível utilizar a integração e cadastro da tabela de preço ao mesmo tempo. Sendo necessário que haja uma única escolha: Integrar a tabela de preço do ERP ao GeoSales ou cadastrar a tabela de preço no próprio GeoSales. Caso tentem utiliza os dois cadastros ao mesmo tempo ERP e GeoSales, a integração apagará todos os registros cadastrados no GeoSales.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Declaração de variáveis'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dd&amp;gt;&lt;br /&gt;
Dentro da tela de Variáveis de preço, deve ser possível definir uma variável de forma livre, mas que atenda as seguintes regras:&lt;br /&gt;
&amp;lt;li&amp;gt; O campo chave, que será utilizado como referência na formula de preço, não deve conter caracteres especiais, espaço em branco e nao ser mais que 8 caracteres&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; A variável deve estar associada a um produto ou uma tabela de preço&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Para valores do tipo '''numérico (18,6)''', serão aceitos como possibilidade, podendo ser positivos ou negativos.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Será criado um log de históricos de alterações de valores destas variáveis e passível de ser exportado em relatórios em excel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
'''Definição da formula de preço'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Será necessário selecionar uma tabela de preço, a organização de venda e um ou mais produtos aos quais o preço deve ser inserido.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Para a regra de preço teremos que informar a '''formula''' do preço mínimo, sugerido e máximo com a quantidade mínima, que valida sua aplicação.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Nos campos de preço (mínimo, sugerido e máximo) teremos um espaço para a inserção da fórmula para composição de preço. Esta fórmula fará a relação matemática entre as variáveis criadas no processo anterior, por meio de '''operadores matemáticos (+, -, *, / )''', organizados em '''RPN''', notação comum para analistas financeiros, sendo bastante difundido, inclusive, na lógica de cálculo das calculadoras HP 12 C.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Será possível visualizar uma prévia da fórmula escrita, além do valor encontrado, a fim de que o usuário possa confirmar os valores que foram inseridos pelas variáveis e seus respectivos operadores.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como exemplo de notação polonesa reversa, tomemos a expressão '''''(A+B)*C'''''. Em RPN, a notação ficaria '''''AB+C*'''''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Processamento da Tabela ==&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
É importante frisar que os valores estão vinculados a uma tabela de preços, que consequentemente está vinculada a um cliente, organização de vendas, vendedores, e tabelas afins.&lt;br /&gt;
&lt;br /&gt;
As variáveis comuns a todos os clientes deverão ter valores diferenciados de acordo com a cidade onde a organização de vendas está alocada.&lt;br /&gt;
Há dois grupos de variáveis: aquelas que são relacionadas ao '''produto''' em si (tamanho, cor, embalagem, Tipo) e aquelas relacionadas à '''Tabela''' (Valor de partida, comissão promotor, frete, por exemplo). É importante determinar corretamente para qual grupo tal variável estará vinculada.&lt;br /&gt;
&lt;br /&gt;
Se mais de um produto possui a mesma característica, será possível fazer a precificação por grupos de produtos.&lt;br /&gt;
&lt;br /&gt;
== tabela Preço ==&lt;br /&gt;
&lt;br /&gt;
=== Cenário 1 ===&lt;br /&gt;
&lt;br /&gt;
Elaborando o preço do produto 'P001' para o cliente 'C001':&lt;br /&gt;
&lt;br /&gt;
Enumeração das variáveis&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 106,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 0,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1,02 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,02 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || Fc || / || 70,66 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Ce || + || 82,86 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Fr || + || 82,66 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Pr || * || 84,52 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Qu || * || 84,52 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Cf || * || 86,21 || F&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''P= PpFc/Ce+Fr+Pr*Qu*Cf*'''''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ao final do processo, a fórmula irá  apresentar o valor final: '''&amp;quot;R$ 86,21&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 2 ===&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P002' para o cliente 'C002'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,11 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || P1 || + || 113,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 75,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 87,86 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Fr || + || 90,86 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Pr || * || 90,86 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Qu || * || 90,86 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Cf || * || 100,86 || G&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''P= PpP1+Fc/Ce+Fr+Pr*Qu*Cf*'''''&lt;br /&gt;
&lt;br /&gt;
Ao final do processo de cálculo da fórmula, o valor do preço será '''&amp;quot;R$ 100,86&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 3 ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P003' para o cliente 'C003'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ -3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 8,67 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce2 || Custo de Embalagem 2 || R$ 2,00 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 2,5 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| K || Constante || 23,67 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp|| P1 || + || 107,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 71,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 80,33 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Ce2 || + || 82,33 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Fr || + || 84,83 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Pr || * || 84,83 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Qu || * || 84,83 || G&lt;br /&gt;
|-&lt;br /&gt;
| 8 || G || Cf || * || 84,83 || H&lt;br /&gt;
|-&lt;br /&gt;
| 9 || H || K || + || 108,50 || I&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''P= PpP1+Fc/Ce+Ce2+Fr+Pr*Qu*Cf*K+'''''&lt;br /&gt;
&lt;br /&gt;
Ao final do cálculo da forma, o valor final do preço será: '''&amp;quot;R$ 108,50&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--[[arquivo:formula1.png]]&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço2.png | 600 px]]&lt;br /&gt;
&lt;br /&gt;
Na formula acima, as somas de variaveis são agrupadas em blocos, multiplicando-se entre si. A relação entre os somatórios pode ser representada por&lt;br /&gt;
&lt;br /&gt;
[[arquivo:produto1.png | 200 px]]&lt;br /&gt;
&lt;br /&gt;
Portando, a equação de formação de preço pode ser representada da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ou pelo produtório&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço1.png]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A composição de preço tem como objetivo construir um preço de venda. Esse cadastro conta com tipos de variáveis para compor preço. Para que a composição de preço seja aplicada corretamente no cadastro do pedido, é necessário que as seguintes premissas sejam atendidas.&lt;br /&gt;
&lt;br /&gt;
=== Composição de preço ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Visto que há variação de preços de produtos para diferentes localidades, a formula criada para a composição de preços  deverá, além de compor toda a regra de cálculo de precificação de determinado produto, a sua parametrização vinculada ao seu respectivo Estado, Cidade e Filial. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em outras palavras, através da composição de preço, o usuário poderá informar a fórmula que o sistema irá aplicar para definir o preço unitário do produto. Essa regra poderá ser parametrizado por: filial, estado e cidade.&lt;br /&gt;
&lt;br /&gt;
== Regras de Negócios ==&lt;br /&gt;
&lt;br /&gt;
'''[RN1] - ''' Não poderá conter a mesma regra para o mesmo estado e filial;&lt;br /&gt;
&lt;br /&gt;
'''[RN2] - ''' Não deverá haver sobreposição de cadastros, e sim edição deste cadastro. Caso o usuário tente cadastrar o mesmo cenário mais de uma vez, a plataforma irá alertar informando que já existe uma regra, e que essa regra poderá ser sobreposta;&lt;br /&gt;
&lt;br /&gt;
'''[RN3] - ''' Essa funcionalidade será desenvolvida exclusivamente no GeoSales EVO.&lt;br /&gt;
&lt;br /&gt;
'''[RN4] - ''' Durante o processo, o portal não deverá travar (requisito não funcional).&lt;br /&gt;
&lt;br /&gt;
'''[RN5] - ''' Os históricos do log de alterações das variáveis ficarão registrados por um período de 1 (um) ano.&lt;br /&gt;
&lt;br /&gt;
'''[RN6] - ''' Um determinado produto poderá ser vinculado a mais de um grupo, mas a quantidade deve ser diferente.&lt;br /&gt;
&lt;br /&gt;
== Protótipos ==&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: 1200px-tela-de-cadastro-de-precificacao-mantiqueira.png|600px]]&lt;br /&gt;
&lt;br /&gt;
== Aprovação ==&lt;br /&gt;
&lt;br /&gt;
Considero aprovada a documentação da funcionalidade especificada acima, e autorizo a implementação da mesma no Sistema GeoSales, em nome da Organização a qual estou vinculado. &lt;br /&gt;
&lt;br /&gt;
=== GeoSales ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Desenvolvimento - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|- &lt;br /&gt;
| Integração - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
| Configurações - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Empresa solicitante === &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
! Assinatura&lt;br /&gt;
|-&lt;br /&gt;
| Gerente TI - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente de Projeto - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente Comercial - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Leo2s</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=14939</id>
		<title>Precificação</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=14939"/>
		<updated>2021-04-08T17:06:00Z</updated>

		<summary type="html">&lt;p&gt;Leo2s: /* Implementação */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Histórico de Alterações ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data&lt;br /&gt;
! Quem &lt;br /&gt;
! Comentários &lt;br /&gt;
|-&lt;br /&gt;
|  01/10/2020  || Ana Júlia || Criação do documento &lt;br /&gt;
|-&lt;br /&gt;
| 01/04/2021 || João Ramon || Atualização do documento&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
&lt;br /&gt;
No processo de formação de preços, conta-se com um número definido de variáveis que irão fazer a composição do valor final que será apresentado ao cliente final. Informações como custos operacionais, inclusão de markups, fatores de compensação por quebra e/ou comissionamento de venda devem estar contemplados na composição dos preços. A empresa deseja fazer esta composição dentro da Plataforma GeoSales EVO, inserindo todas as informações de custo, taxas e demais dados customizáveis, permitindo que o próprio cliente consiga fazer este levantamento.&lt;br /&gt;
&lt;br /&gt;
O cenário de precificação atual não possui um processo uniformizado para cada cliente. Portanto, a necessidade de criar um processo padronizado para composição de preços, assim como a atualização customizável de algumas dessas variáveis, por se tratarem de variáveis cujos valores podem oscilar por motivos externos (oscilações de mercado, variação na política de preços, etc), é imperativa.&lt;br /&gt;
&lt;br /&gt;
== Solução ==&lt;br /&gt;
&lt;br /&gt;
Visto que a formação de preços, e seu processo de elaboração, devem ser totalmente customizáveis pelo cliente, primeiramente deve ser possível que ele não apenas determine quais as variáveis e seus respectivos valores devem ser atribuídos na plataforma para precificação, mas também como estas variáveis se relacionarão matematicamente, a fim de formular um preço baseado nas entradas fornecidas pelo cliente. Além disso, tais variáveis, uma vez inseridas no cadastro de preços, deverão ser passíveis de edição, feitas pelo próprio cliente, de forma manual.&lt;br /&gt;
&lt;br /&gt;
Como instrumento de parametrização das fórmulas contendo as variáveis criadas e seus operadores apropriados, será utilizada a '''''notação polonesa  reversa (RPN)''''', ferramenta de uso familiar a pessoas ligadas ao trabalho que envolva matemática financeira. Assim, a formação de preço deverá ser mais flexível e intuitiva na sua formação, além de facilitar em eventuais futuras modificações. As formulas serão definidas dentro de uma tabela de preço para um determinado grupo de produto facilitando o cadastro. &lt;br /&gt;
&lt;br /&gt;
Também visando a facilidade da manutenção dos valores de cada variável da fórmula, iremos construir o preço por um conjunto de parâmetros, podendo ser definido de forma atrelada às seguintes dimensões: produto e tabela de preço.&lt;br /&gt;
&lt;br /&gt;
Após a definição dos parâmetros, a fórmula será construída por meio da utilização destes. Finalizando esta etapa, basta pedir para processar a tabela, onde a mesma passará a ser vigente para a equipe de venda. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Dentro desta visão teremos 3 etapas na construção do preço:&lt;br /&gt;
&amp;lt;li&amp;gt;Cadastro dos parâmetros&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Construção da forma&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Processamento da tabela&amp;lt;/li&amp;gt;&lt;br /&gt;
Estes passos serão melhor esclarecidos adiante.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Implementação ===&lt;br /&gt;
&lt;br /&gt;
O processo terá como bases os seguintes passos: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. Criação de Tabela; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--2. para inserção de Variáveis e/ou aproveitamento de Tabela existente; &amp;lt;br&amp;gt;--&amp;gt;&lt;br /&gt;
2. Definição de Variáveis que deverão compor a fórmula de criação de preço, além da definição do atributo a qual tal variável está vinculada (produto ou Tabela);&amp;lt;br&amp;gt;&lt;br /&gt;
3. Definição de fórmula de formação de preços, utilizando RPN, e vinculações a grupos de produtos;&amp;lt;br&amp;gt;&lt;br /&gt;
4. Concluída a fórmula, com as relações operacionais entre as variáveis, os valores gerados devem ser processados para compor a Tabela de Preços.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para criação da tabela e preço segui o documento '''XXXXX''' &amp;lt;br&amp;gt;&lt;br /&gt;
'''Declaração de variáveis'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dd&amp;gt;&lt;br /&gt;
Dentro da tela de Variáveis de preço, deve ser possível definir uma variável de forma livre, mas que atenda as seguintes regras:&lt;br /&gt;
&amp;lt;li&amp;gt;O campo chave, que será utilizado como referência na formula de preço, não deve conter caracteres especiais, espaço em branco e nao ser mais que 8 caracteres&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A variável deve estar associada a um produto ou uma tabela de preço&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Para valores do tipo '''numérico (18,6)''', serão aceitos como possibilidade, podendo ser positivos ou negativos.&amp;lt;/li&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
'''Definição da formula de preço'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;&lt;br /&gt;
Será necessário selecionar uma tabela de preço, a organização de venda e um ou mais produtos as quais o preço deve ser inserido.&lt;br /&gt;
Para a regra de preço teremos que informar a '''formula''' do preço mínimo, sugerido e máximo com a quantidade mínima, que valida sua aplicação. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nos campos de preço (mínimo, sugerido e máximo) teremos um espaço para a inserção da fórmula para composição de preço. Esta fórmula fará a relação matemática entre as variáveis criadas no processo anterior, por meio de '''operadores matemáticos (+, -, *, / )''', organizados em '''RPN''', notação comum para analistas financeiros, sendo bastante difundido, inclusive, na lógica de cálculo das calculadoras HP 12 C.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Será possível visualizar uma prévia da fórmula escrita, além do valor encontrado, a fim de qe o usuário possa confirmar os valores que foram inseridos pelas variáveis e seus respectivos operadores.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Processamento da Tabela ==&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
É importante frisar que os valores estão vinculados a uma tabela de preços, que consequentemente está vinculada a um cliente, organização de vendas, vendedores, e tabelas afins.&lt;br /&gt;
&lt;br /&gt;
As variáveis comuns a todos os clientes deverão ter valores diferenciados de acordo com a cidade onde a organização de vendas está alocada.&lt;br /&gt;
Há dois grupos de variáveis: aquelas que são relacionadas ao '''produto''' em si (tamanho, cor, embalagem, Tipo) e aquelas relacionadas à '''Tabela''' (Valor de partida, comissão promotor, frete, por exemplo). É importante determinar corretamente para qual grupo tal variável estará vinculada.&lt;br /&gt;
&lt;br /&gt;
Se mais de um produto possui a mesma característica, será possível fazer a precificação por grupos de produtos.&lt;br /&gt;
&lt;br /&gt;
== tabela Preço ==&lt;br /&gt;
&lt;br /&gt;
=== Cenário 1 ===&lt;br /&gt;
&lt;br /&gt;
Elaborando o preço do produto 'P001' para o cliente 'C001':&lt;br /&gt;
&lt;br /&gt;
Enumeração das variáveis&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 106,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 0,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1,02 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,02 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || Fc || / || 70,66 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Ce || + || 82,86 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Fr || + || 82,66 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Pr || * || 84,52 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Qu || * || 84,52 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Cf || * || 86,21 || F&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''P= PpFc/Ce+Fr+Pr*Qu*Cf*'''''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ao final do processo, a fórmula irá  apresentar o valor final: '''&amp;quot;R$ 86,21&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 2 ===&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P002' para o cliente 'C002'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,11 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || P1 || + || 113,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 75,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 87,86 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Fr || + || 90,86 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Pr || * || 90,86 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Qu || * || 90,86 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Cf || * || 100,86 || G&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''P= PpP1+Fc/Ce+Fr+Pr*Qu*Cf*'''''&lt;br /&gt;
&lt;br /&gt;
Ao final do processo de cálculo da fórmula, o valor do preço será '''&amp;quot;R$ 100,86&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 3 ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P003' para o cliente 'C003'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ -3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 8,67 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce2 || Custo de Embalagem 2 || R$ 2,00 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 2,5 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| K || Constante || 23,67 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp|| P1 || + || 107,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 71,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 80,33 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Ce2 || + || 82,33 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Fr || + || 84,83 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Pr || * || 84,83 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Qu || * || 84,83 || G&lt;br /&gt;
|-&lt;br /&gt;
| 8 || G || Cf || * || 84,83 || H&lt;br /&gt;
|-&lt;br /&gt;
| 9 || H || K || + || 108,50 || I&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''P= PpP1+Fc/Ce+Ce2+Fr+Pr*Qu*Cf*K+'''''&lt;br /&gt;
&lt;br /&gt;
Ao final do cálculo da forma, o valor final do preço será: '''&amp;quot;R$ 108,50&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--[[arquivo:formula1.png]]&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço2.png | 600 px]]&lt;br /&gt;
&lt;br /&gt;
Na formula acima, as somas de variaveis são agrupadas em blocos, multiplicando-se entre si. A relação entre os somatórios pode ser representada por&lt;br /&gt;
&lt;br /&gt;
[[arquivo:produto1.png | 200 px]]&lt;br /&gt;
&lt;br /&gt;
Portando, a equação de formação de preço pode ser representada da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ou pelo produtório&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço1.png]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A composição de preço tem como objetivo construir um preço de venda. Esse cadastro conta com tipos de variáveis para compor preço. Para que a composição de preço seja aplicada corretamente no cadastro do pedido, é necessário que as seguintes premissas sejam atendidas.&lt;br /&gt;
&lt;br /&gt;
=== Composição de preço ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Visto que há variação de preços de produtos para diferentes localidades, a formula criada para a composição de preços  deverá, além de compor toda a regra de cálculo de precificação de determinado produto, a sua parametrização vinculada ao seu respectivo Estado, Cidade e Filial. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em outras palavras, através da composição de preço, o usuário poderá informar a fórmula que o sistema irá aplicar para definir o preço unitário do produto. Essa regra poderá ser parametrizado por: filial, estado e cidade.&lt;br /&gt;
&lt;br /&gt;
== Regras de Negócios ==&lt;br /&gt;
&lt;br /&gt;
'''[RN1] - ''' Não poderá conter a mesma regra para o mesmo estado e filial;&lt;br /&gt;
&lt;br /&gt;
'''[RN2] - ''' Não deverá haver sobreposição de cadastros, e sim edição deste cadastro. Caso o usuário tente cadastrar o mesmo cenário mais de uma vez, a plataforma irá alertar informando que já existe uma regra, e que essa regra poderá ser sobreposta;&lt;br /&gt;
&lt;br /&gt;
'''[RN3] - ''' Essa funcionalidade será desenvolvida exclusivamente no GeoSales EVO.&lt;br /&gt;
&lt;br /&gt;
'''[RN4] - ''' Durante o processo, o portal não deverá travar (requisito não funcional).&lt;br /&gt;
&lt;br /&gt;
== Protótipos ==&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: 1200px-tela-de-cadastro-de-precificacao-mantiqueira.png|600px]]&lt;br /&gt;
&lt;br /&gt;
== Aprovação ==&lt;br /&gt;
&lt;br /&gt;
Considero aprovada a documentação da funcionalidade especificada acima, e autorizo a implementação da mesma no Sistema GeoSales, em nome da Organização a qual estou vinculado. &lt;br /&gt;
&lt;br /&gt;
=== GeoSales ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Desenvolvimento - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|- &lt;br /&gt;
| Integração - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
| Configurações - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Empresa solicitante === &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
! Assinatura&lt;br /&gt;
|-&lt;br /&gt;
| Gerente TI - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente de Projeto - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente Comercial - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Leo2s</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=14937</id>
		<title>Precificação</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=14937"/>
		<updated>2021-04-08T17:00:10Z</updated>

		<summary type="html">&lt;p&gt;Leo2s: /* Implementação */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Histórico de Alterações ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data&lt;br /&gt;
! Quem &lt;br /&gt;
! Comentários &lt;br /&gt;
|-&lt;br /&gt;
|  01/10/2020  || Ana Júlia || Criação do documento &lt;br /&gt;
|-&lt;br /&gt;
| 01/04/2021 || João Ramon || Atualização do documento&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
&lt;br /&gt;
No processo de formação de preços, conta-se com um número definido de variáveis que irão fazer a composição do valor final que será apresentado ao cliente final. Informações como custos operacionais, inclusão de markups, fatores de compensação por quebra e/ou comissionamento de venda devem estar contemplados na composição dos preços. A empresa deseja fazer esta composição dentro da Plataforma GeoSales EVO, inserindo todas as informações de custo, taxas e demais dados customizáveis, permitindo que o próprio cliente consiga fazer este levantamento.&lt;br /&gt;
&lt;br /&gt;
O cenário de precificação atual não possui um processo uniformizado para cada cliente. Portanto, a necessidade de criar um processo padronizado para composição de preços, assim como a atualização customizável de algumas dessas variáveis, por se tratarem de variáveis cujos valores podem oscilar por motivos externos (oscilações de mercado, variação na política de preços, etc), é imperativa.&lt;br /&gt;
&lt;br /&gt;
== Solução ==&lt;br /&gt;
&lt;br /&gt;
Visto que a formação de preços, e seu processo de elaboração, devem ser totalmente customizáveis pelo cliente, primeiramente deve ser possível que ele não apenas determine quais as variáveis e seus respectivos valores devem ser atribuídos na plataforma para precificação, mas também como estas variáveis se relacionarão matematicamente, a fim de formular um preço baseado nas entradas fornecidas pelo cliente. Além disso, tais variáveis, uma vez inseridas no cadastro de preços, deverão ser passíveis de edição, feitas pelo próprio cliente, de forma manual.&lt;br /&gt;
&lt;br /&gt;
Como instrumento de parametrização das fórmulas contendo as variáveis criadas e seus operadores apropriados, será utilizada a '''''notação polonesa  reversa (RPN)''''', ferramenta de uso familiar a pessoas ligadas ao trabalho que envolva matemática financeira. Assim, a formação de preço deverá ser mais flexível e intuitiva na sua formação, além de facilitar em eventuais futuras modificações. As formulas serão definidas dentro de uma tabela de preço para um determinado grupo de produto facilitando o cadastro. &lt;br /&gt;
&lt;br /&gt;
Também visando a facilidade da manutenção dos valores de cada variável da fórmula, iremos construir o preço por um conjunto de parâmetros, podendo ser definido de forma atrelada às seguintes dimensões: produto e tabela de preço.&lt;br /&gt;
&lt;br /&gt;
Após a definição dos parâmetros, a fórmula será construída por meio da utilização destes. Finalizando esta etapa, basta pedir para processar a tabela, onde a mesma passará a ser vigente para a equipe de venda. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Dentro desta visão teremos 3 etapas na construção do preço:&lt;br /&gt;
&amp;lt;li&amp;gt;Cadastro dos parâmetros&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Construção da forma&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Processamento da tabela&amp;lt;/li&amp;gt;&lt;br /&gt;
Estes passos serão melhor esclarecidos adiante.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Implementação ===&lt;br /&gt;
&lt;br /&gt;
O processo terá como bases os seguintes passos: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. Criação de Tabela; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--2. para inserção de Variáveis e/ou aproveitamento de Tabela existente; &amp;lt;br&amp;gt;--&amp;gt;&lt;br /&gt;
2. Definição de Variáveis que deverão compor a fórmula de criação de preço, além da definição do atributo a qual tal variável está vinculada (produto ou Tabela);&amp;lt;br&amp;gt;&lt;br /&gt;
3. Definição de fórmula de formação de preços, utilizando RPN, e vinculações a grupos de produtos;&amp;lt;br&amp;gt;&lt;br /&gt;
4. Concluída a fórmula, com as relações operacionais entre as variáveis, os valores gerados devem ser processados para compor a Tabela de Preços.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para criação da tabela e preço segui o documento '''XXXXX''' &amp;lt;br&amp;gt;&lt;br /&gt;
'''Declaração de variáveis'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dd&amp;gt;&lt;br /&gt;
Dentro da tela de Variáveis de preço, deve ser possível definir uma variável de forma livre, mas que atenda as seguintes regras:&lt;br /&gt;
&amp;lt;li&amp;gt;O campo chave, que será utilizado como referência na formula de preço, não deve conter caracteres especiais, espaço em branco e nao ser mais que 8 caracteres&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A variável deve estar associada a um produto ou uma tabela de preço&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Para valores do tipo '''numérico (18,6)''', serão aceitos como possibilidade, podendo ser positivos ou negativos.&amp;lt;/li&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
'''Definição da formula de preço'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;&lt;br /&gt;
Será necessário selecionar uma tabela de preço, a organização de venda e um ou mais produtos as quais o preço deve ser inserido.&lt;br /&gt;
Para a regra de preço teremos que informar a '''formula''' do preço mínimo, sugerido e máximo com a quantidade mínima, que valida sua aplicação. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nos campos de preço (mínimo, sugerido e máximo) teremos um espaço para a inserção da fórmula para composição de preço. Esta fórmula fará a relação matemática entre as variáveis criadas por meio de '''operadores matemáticos (+, -, *, / )''', organizados em '''RPN''', notação comum para analistas financeiros, sendo bastante difundido, inclusive, na lógica de cálculo das calculadoras HP 12 C.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
após a geração da notação da fórmula, será possível criar uma faixa de oscilação de valores, determinando um '''valor Sugerido''', '''Valor mímino''', '''Valor Máximo''' e a '''quantidade''' de produtos em determinado agrupamento.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Processamento da Tabela'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
É importante frisar que os valores estão vinculados a uma tabela de preços, que consequentemente está vinculada a um cliente, organização de vendas, vendedores, e tabelas afins.&lt;br /&gt;
&lt;br /&gt;
As variáveis comuns a todos os clientes deverão ter valores diferenciados de acordo com a cidade onde a organização de vendas está alocada.&lt;br /&gt;
Há dois grupos de variáveis: aquelas que são relacionadas ao '''produto''' em si (tamanho, cor, embalagem, Tipo) e aquelas relacionadas à '''Tabela''' (Valor de partida, comissão promotor, frete, por exemplo). É importante determinar corretamente para qual grupo tal variável estará vinculada.&lt;br /&gt;
&lt;br /&gt;
Se mais de um produto possui a mesma característica, será possível fazer a precificação por grupos de produtos.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 1 ===&lt;br /&gt;
&lt;br /&gt;
Elaborando o preço do produto 'P001' para o cliente 'C001':&lt;br /&gt;
&lt;br /&gt;
Enumeração das variáveis&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 106,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 0,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1,02 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,02 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || Fc || / || 70,66 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Ce || + || 82,86 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Fr || + || 82,66 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Pr || * || 84,52 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Qu || * || 84,52 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Cf || * || 86,21 || F&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''P= PpFc/Ce+Fr+Pr*Qu*Cf*'''''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ao final do processo, a fórmula irá  apresentar o valor final: '''&amp;quot;R$ 86,21&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 2 ===&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P002' para o cliente 'C002'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,11 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || P1 || + || 113,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 75,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 87,86 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Fr || + || 90,86 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Pr || * || 90,86 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Qu || * || 90,86 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Cf || * || 100,86 || G&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''P= PpP1+Fc/Ce+Fr+Pr*Qu*Cf*'''''&lt;br /&gt;
&lt;br /&gt;
Ao final do processo de cálculo da fórmula, o valor do preço será '''&amp;quot;R$ 100,86&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 3 ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P003' para o cliente 'C003'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ -3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 8,67 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce2 || Custo de Embalagem 2 || R$ 2,00 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 2,5 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| K || Constante || 23,67 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp|| P1 || + || 107,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 71,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 80,33 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Ce2 || + || 82,33 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Fr || + || 84,83 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Pr || * || 84,83 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Qu || * || 84,83 || G&lt;br /&gt;
|-&lt;br /&gt;
| 8 || G || Cf || * || 84,83 || H&lt;br /&gt;
|-&lt;br /&gt;
| 9 || H || K || + || 108,50 || I&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''P= PpP1+Fc/Ce+Ce2+Fr+Pr*Qu*Cf*K+'''''&lt;br /&gt;
&lt;br /&gt;
Ao final do cálculo da forma, o valor final do preço será: '''&amp;quot;R$ 108,50&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--[[arquivo:formula1.png]]&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço2.png | 600 px]]&lt;br /&gt;
&lt;br /&gt;
Na formula acima, as somas de variaveis são agrupadas em blocos, multiplicando-se entre si. A relação entre os somatórios pode ser representada por&lt;br /&gt;
&lt;br /&gt;
[[arquivo:produto1.png | 200 px]]&lt;br /&gt;
&lt;br /&gt;
Portando, a equação de formação de preço pode ser representada da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ou pelo produtório&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço1.png]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A composição de preço tem como objetivo construir um preço de venda. Esse cadastro conta com tipos de variáveis para compor preço. Para que a composição de preço seja aplicada corretamente no cadastro do pedido, é necessário que as seguintes premissas sejam atendidas.&lt;br /&gt;
&lt;br /&gt;
=== Composição de preço ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Visto que há variação de preços de produtos para diferentes localidades, a formula criada para a composição de preços  deverá, além de compor toda a regra de cálculo de precificação de determinado produto, a sua parametrização vinculada ao seu respectivo Estado, Cidade e Filial. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em outras palavras, através da composição de preço, o usuário poderá informar a fórmula que o sistema irá aplicar para definir o preço unitário do produto. Essa regra poderá ser parametrizado por: filial, estado e cidade.&lt;br /&gt;
&lt;br /&gt;
== Regras de Negócios ==&lt;br /&gt;
&lt;br /&gt;
'''[RN1] - ''' Não poderá conter a mesma regra para o mesmo estado e filial;&lt;br /&gt;
&lt;br /&gt;
'''[RN2] - ''' Não deverá haver sobreposição de cadastros, e sim edição deste cadastro. Caso o usuário tente cadastrar o mesmo cenário mais de uma vez, a plataforma irá alertar informando que já existe uma regra, e que essa regra poderá ser sobreposta;&lt;br /&gt;
&lt;br /&gt;
'''[RN3] - ''' Essa funcionalidade será desenvolvida exclusivamente no GeoSales EVO.&lt;br /&gt;
&lt;br /&gt;
'''[RN4] - ''' Durante o processo, o portal não deverá travar (requisito não funcional).&lt;br /&gt;
&lt;br /&gt;
== Protótipos ==&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: 1200px-tela-de-cadastro-de-precificacao-mantiqueira.png|600px]]&lt;br /&gt;
&lt;br /&gt;
== Aprovação ==&lt;br /&gt;
&lt;br /&gt;
Considero aprovada a documentação da funcionalidade especificada acima, e autorizo a implementação da mesma no Sistema GeoSales, em nome da Organização a qual estou vinculado. &lt;br /&gt;
&lt;br /&gt;
=== GeoSales ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Desenvolvimento - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|- &lt;br /&gt;
| Integração - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
| Configurações - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Empresa solicitante === &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
! Assinatura&lt;br /&gt;
|-&lt;br /&gt;
| Gerente TI - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente de Projeto - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente Comercial - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Leo2s</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=14936</id>
		<title>Precificação</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=14936"/>
		<updated>2021-04-08T16:59:30Z</updated>

		<summary type="html">&lt;p&gt;Leo2s: /* Implementação */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Histórico de Alterações ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data&lt;br /&gt;
! Quem &lt;br /&gt;
! Comentários &lt;br /&gt;
|-&lt;br /&gt;
|  01/10/2020  || Ana Júlia || Criação do documento &lt;br /&gt;
|-&lt;br /&gt;
| 01/04/2021 || João Ramon || Atualização do documento&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
&lt;br /&gt;
No processo de formação de preços, conta-se com um número definido de variáveis que irão fazer a composição do valor final que será apresentado ao cliente final. Informações como custos operacionais, inclusão de markups, fatores de compensação por quebra e/ou comissionamento de venda devem estar contemplados na composição dos preços. A empresa deseja fazer esta composição dentro da Plataforma GeoSales EVO, inserindo todas as informações de custo, taxas e demais dados customizáveis, permitindo que o próprio cliente consiga fazer este levantamento.&lt;br /&gt;
&lt;br /&gt;
O cenário de precificação atual não possui um processo uniformizado para cada cliente. Portanto, a necessidade de criar um processo padronizado para composição de preços, assim como a atualização customizável de algumas dessas variáveis, por se tratarem de variáveis cujos valores podem oscilar por motivos externos (oscilações de mercado, variação na política de preços, etc), é imperativa.&lt;br /&gt;
&lt;br /&gt;
== Solução ==&lt;br /&gt;
&lt;br /&gt;
Visto que a formação de preços, e seu processo de elaboração, devem ser totalmente customizáveis pelo cliente, primeiramente deve ser possível que ele não apenas determine quais as variáveis e seus respectivos valores devem ser atribuídos na plataforma para precificação, mas também como estas variáveis se relacionarão matematicamente, a fim de formular um preço baseado nas entradas fornecidas pelo cliente. Além disso, tais variáveis, uma vez inseridas no cadastro de preços, deverão ser passíveis de edição, feitas pelo próprio cliente, de forma manual.&lt;br /&gt;
&lt;br /&gt;
Como instrumento de parametrização das fórmulas contendo as variáveis criadas e seus operadores apropriados, será utilizada a '''''notação polonesa  reversa (RPN)''''', ferramenta de uso familiar a pessoas ligadas ao trabalho que envolva matemática financeira. Assim, a formação de preço deverá ser mais flexível e intuitiva na sua formação, além de facilitar em eventuais futuras modificações. As formulas serão definidas dentro de uma tabela de preço para um determinado grupo de produto facilitando o cadastro. &lt;br /&gt;
&lt;br /&gt;
Também visando a facilidade da manutenção dos valores de cada variável da fórmula, iremos construir o preço por um conjunto de parâmetros, podendo ser definido de forma atrelada às seguintes dimensões: produto e tabela de preço.&lt;br /&gt;
&lt;br /&gt;
Após a definição dos parâmetros, a fórmula será construída por meio da utilização destes. Finalizando esta etapa, basta pedir para processar a tabela, onde a mesma passará a ser vigente para a equipe de venda. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Dentro desta visão teremos 3 etapas na construção do preço:&lt;br /&gt;
&amp;lt;li&amp;gt;Cadastro dos parâmetros&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Construção da forma&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Processamento da tabela&amp;lt;/li&amp;gt;&lt;br /&gt;
Estes passos serão melhor esclarecidos adiante.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Implementação ===&lt;br /&gt;
&lt;br /&gt;
O processo terá como bases os seguintes passos: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. Criação de Tabela; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--2. para inserção de Variáveis e/ou aproveitamento de Tabela existente; &amp;lt;br&amp;gt;--&amp;gt;&lt;br /&gt;
2. Definição de Variáveis que deverão compor a fórmula de criação de preço, além da definição do atributo a qual tal variável está vinculada (produto ou Tabela);&amp;lt;br&amp;gt;&lt;br /&gt;
3. Definição de fórmula de formação de preços, utilizando RPN, e vinculações a grupos de produtos;&amp;lt;br&amp;gt;&lt;br /&gt;
4. Concluída a fórmula, com as relações operacionais entre as variáveis, os valores gerados devem ser processados para compor a Tabela de Preços.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para criação da tabela e preço segui o documento '''XXXXX''' &amp;lt;br&amp;gt;&lt;br /&gt;
'''Declaração de variáveis'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dd&amp;gt;&lt;br /&gt;
Dentro da tela de Variáveis de preço, deve ser possível definir uma variável de forma livre, mas que atenda as seguintes regras:&lt;br /&gt;
&amp;lt;li&amp;gt;O campo chave, que será utilizado como referência na formula de preço, não deve conter caracteres especiais, espaço em branco e nao ser mais que 8 caracteres&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A variável deve estar associada a um produto ou uma tabela de preço&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Para valores do tipo '''numérico (18,6)''', serão aceitos como possibilidade, podendo ser positivos ou negativos.&amp;lt;/li&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
'''Definição da formula de preço'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;&lt;br /&gt;
Será necessário selecionar uma tabela de preço, a organização de venda e um ou mais produtos as quais o preço deve ser inserido.&lt;br /&gt;
Para a regra de preço teremos que informar a '''formula'' do preço mínimo, sugerido e máximo com a quantidade mínima, que valida sua aplicação. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nos campos de preço (mínimo, sugerido e máximo) teremos um espaço para a inserção da fórmula para composição de preço. Esta fórmula fará a relação matemática entre as variáveis criadas por meio de '''operadores matemáticos (+, -, *, / )''', organizados em '''RPN''', notação comum para analistas financeiros, sendo bastante difundido, inclusive, na lógica de cálculo das calculadoras HP 12 C.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
após a geração da notação da fórmula, será possível criar uma faixa de oscilação de valores, determinando um '''valor Sugerido''', '''Valor mímino''', '''Valor Máximo''' e a '''quantidade''' de produtos em determinado agrupamento.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Processamento da Tabela'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
É importante frisar que os valores estão vinculados a uma tabela de preços, que consequentemente está vinculada a um cliente, organização de vendas, vendedores, e tabelas afins.&lt;br /&gt;
&lt;br /&gt;
As variáveis comuns a todos os clientes deverão ter valores diferenciados de acordo com a cidade onde a organização de vendas está alocada.&lt;br /&gt;
Há dois grupos de variáveis: aquelas que são relacionadas ao '''produto''' em si (tamanho, cor, embalagem, Tipo) e aquelas relacionadas à '''Tabela''' (Valor de partida, comissão promotor, frete, por exemplo). É importante determinar corretamente para qual grupo tal variável estará vinculada.&lt;br /&gt;
&lt;br /&gt;
Se mais de um produto possui a mesma característica, será possível fazer a precificação por grupos de produtos.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 1 ===&lt;br /&gt;
&lt;br /&gt;
Elaborando o preço do produto 'P001' para o cliente 'C001':&lt;br /&gt;
&lt;br /&gt;
Enumeração das variáveis&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 106,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 0,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1,02 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,02 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || Fc || / || 70,66 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Ce || + || 82,86 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Fr || + || 82,66 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Pr || * || 84,52 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Qu || * || 84,52 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Cf || * || 86,21 || F&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''P= PpFc/Ce+Fr+Pr*Qu*Cf*'''''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ao final do processo, a fórmula irá  apresentar o valor final: '''&amp;quot;R$ 86,21&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 2 ===&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P002' para o cliente 'C002'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,11 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || P1 || + || 113,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 75,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 87,86 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Fr || + || 90,86 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Pr || * || 90,86 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Qu || * || 90,86 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Cf || * || 100,86 || G&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''P= PpP1+Fc/Ce+Fr+Pr*Qu*Cf*'''''&lt;br /&gt;
&lt;br /&gt;
Ao final do processo de cálculo da fórmula, o valor do preço será '''&amp;quot;R$ 100,86&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 3 ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P003' para o cliente 'C003'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ -3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 8,67 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce2 || Custo de Embalagem 2 || R$ 2,00 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 2,5 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| K || Constante || 23,67 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp|| P1 || + || 107,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 71,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 80,33 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Ce2 || + || 82,33 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Fr || + || 84,83 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Pr || * || 84,83 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Qu || * || 84,83 || G&lt;br /&gt;
|-&lt;br /&gt;
| 8 || G || Cf || * || 84,83 || H&lt;br /&gt;
|-&lt;br /&gt;
| 9 || H || K || + || 108,50 || I&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''P= PpP1+Fc/Ce+Ce2+Fr+Pr*Qu*Cf*K+'''''&lt;br /&gt;
&lt;br /&gt;
Ao final do cálculo da forma, o valor final do preço será: '''&amp;quot;R$ 108,50&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--[[arquivo:formula1.png]]&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço2.png | 600 px]]&lt;br /&gt;
&lt;br /&gt;
Na formula acima, as somas de variaveis são agrupadas em blocos, multiplicando-se entre si. A relação entre os somatórios pode ser representada por&lt;br /&gt;
&lt;br /&gt;
[[arquivo:produto1.png | 200 px]]&lt;br /&gt;
&lt;br /&gt;
Portando, a equação de formação de preço pode ser representada da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ou pelo produtório&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço1.png]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A composição de preço tem como objetivo construir um preço de venda. Esse cadastro conta com tipos de variáveis para compor preço. Para que a composição de preço seja aplicada corretamente no cadastro do pedido, é necessário que as seguintes premissas sejam atendidas.&lt;br /&gt;
&lt;br /&gt;
=== Composição de preço ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Visto que há variação de preços de produtos para diferentes localidades, a formula criada para a composição de preços  deverá, além de compor toda a regra de cálculo de precificação de determinado produto, a sua parametrização vinculada ao seu respectivo Estado, Cidade e Filial. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em outras palavras, através da composição de preço, o usuário poderá informar a fórmula que o sistema irá aplicar para definir o preço unitário do produto. Essa regra poderá ser parametrizado por: filial, estado e cidade.&lt;br /&gt;
&lt;br /&gt;
== Regras de Negócios ==&lt;br /&gt;
&lt;br /&gt;
'''[RN1] - ''' Não poderá conter a mesma regra para o mesmo estado e filial;&lt;br /&gt;
&lt;br /&gt;
'''[RN2] - ''' Não deverá haver sobreposição de cadastros, e sim edição deste cadastro. Caso o usuário tente cadastrar o mesmo cenário mais de uma vez, a plataforma irá alertar informando que já existe uma regra, e que essa regra poderá ser sobreposta;&lt;br /&gt;
&lt;br /&gt;
'''[RN3] - ''' Essa funcionalidade será desenvolvida exclusivamente no GeoSales EVO.&lt;br /&gt;
&lt;br /&gt;
'''[RN4] - ''' Durante o processo, o portal não deverá travar (requisito não funcional).&lt;br /&gt;
&lt;br /&gt;
== Protótipos ==&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: 1200px-tela-de-cadastro-de-precificacao-mantiqueira.png|600px]]&lt;br /&gt;
&lt;br /&gt;
== Aprovação ==&lt;br /&gt;
&lt;br /&gt;
Considero aprovada a documentação da funcionalidade especificada acima, e autorizo a implementação da mesma no Sistema GeoSales, em nome da Organização a qual estou vinculado. &lt;br /&gt;
&lt;br /&gt;
=== GeoSales ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Desenvolvimento - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|- &lt;br /&gt;
| Integração - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
| Configurações - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Empresa solicitante === &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
! Assinatura&lt;br /&gt;
|-&lt;br /&gt;
| Gerente TI - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente de Projeto - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente Comercial - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Leo2s</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=14935</id>
		<title>Precificação</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=14935"/>
		<updated>2021-04-08T16:58:56Z</updated>

		<summary type="html">&lt;p&gt;Leo2s: /* Implementação */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Histórico de Alterações ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data&lt;br /&gt;
! Quem &lt;br /&gt;
! Comentários &lt;br /&gt;
|-&lt;br /&gt;
|  01/10/2020  || Ana Júlia || Criação do documento &lt;br /&gt;
|-&lt;br /&gt;
| 01/04/2021 || João Ramon || Atualização do documento&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
&lt;br /&gt;
No processo de formação de preços, conta-se com um número definido de variáveis que irão fazer a composição do valor final que será apresentado ao cliente final. Informações como custos operacionais, inclusão de markups, fatores de compensação por quebra e/ou comissionamento de venda devem estar contemplados na composição dos preços. A empresa deseja fazer esta composição dentro da Plataforma GeoSales EVO, inserindo todas as informações de custo, taxas e demais dados customizáveis, permitindo que o próprio cliente consiga fazer este levantamento.&lt;br /&gt;
&lt;br /&gt;
O cenário de precificação atual não possui um processo uniformizado para cada cliente. Portanto, a necessidade de criar um processo padronizado para composição de preços, assim como a atualização customizável de algumas dessas variáveis, por se tratarem de variáveis cujos valores podem oscilar por motivos externos (oscilações de mercado, variação na política de preços, etc), é imperativa.&lt;br /&gt;
&lt;br /&gt;
== Solução ==&lt;br /&gt;
&lt;br /&gt;
Visto que a formação de preços, e seu processo de elaboração, devem ser totalmente customizáveis pelo cliente, primeiramente deve ser possível que ele não apenas determine quais as variáveis e seus respectivos valores devem ser atribuídos na plataforma para precificação, mas também como estas variáveis se relacionarão matematicamente, a fim de formular um preço baseado nas entradas fornecidas pelo cliente. Além disso, tais variáveis, uma vez inseridas no cadastro de preços, deverão ser passíveis de edição, feitas pelo próprio cliente, de forma manual.&lt;br /&gt;
&lt;br /&gt;
Como instrumento de parametrização das fórmulas contendo as variáveis criadas e seus operadores apropriados, será utilizada a '''''notação polonesa  reversa (RPN)''''', ferramenta de uso familiar a pessoas ligadas ao trabalho que envolva matemática financeira. Assim, a formação de preço deverá ser mais flexível e intuitiva na sua formação, além de facilitar em eventuais futuras modificações. As formulas serão definidas dentro de uma tabela de preço para um determinado grupo de produto facilitando o cadastro. &lt;br /&gt;
&lt;br /&gt;
Também visando a facilidade da manutenção dos valores de cada variável da fórmula, iremos construir o preço por um conjunto de parâmetros, podendo ser definido de forma atrelada às seguintes dimensões: produto e tabela de preço.&lt;br /&gt;
&lt;br /&gt;
Após a definição dos parâmetros, a fórmula será construída por meio da utilização destes. Finalizando esta etapa, basta pedir para processar a tabela, onde a mesma passará a ser vigente para a equipe de venda. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Dentro desta visão teremos 3 etapas na construção do preço:&lt;br /&gt;
&amp;lt;li&amp;gt;Cadastro dos parâmetros&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Construção da forma&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Processamento da tabela&amp;lt;/li&amp;gt;&lt;br /&gt;
Estes passos serão melhor esclarecidos adiante.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Implementação ===&lt;br /&gt;
&lt;br /&gt;
O processo terá como bases os seguintes passos: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. Criação de Tabela; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--2. para inserção de Variáveis e/ou aproveitamento de Tabela existente; &amp;lt;br&amp;gt;--&amp;gt;&lt;br /&gt;
2. Definição de Variáveis que deverão compor a fórmula de criação de preço, além da definição do atributo a qual tal variável está vinculada (produto ou Tabela);&amp;lt;br&amp;gt;&lt;br /&gt;
3. Definição de fórmula de formação de preços, utilizando RPN, e vinculações a grupos de produtos;&amp;lt;br&amp;gt;&lt;br /&gt;
4. Concluída a fórmula, com as relações operacionais entre as variáveis, os valores gerados devem ser processados para compor a Tabela de Preços.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para criação da tabela e preço segui o documento '''XXXXX''' &amp;lt;br&amp;gt;&lt;br /&gt;
'''Declaração de variáveis'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dd&amp;gt;&lt;br /&gt;
Dentro da tela de Variáveis de preço, deve ser possível definir uma variável de forma livre, mas que atenda as seguintes regras:&lt;br /&gt;
&amp;lt;li&amp;gt;O campo chave, que será utilizado como referência na formula de preço, não deve conter caracteres especiais, espaço em branco e nao ser mais que 8 caracteres&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A variável deve estar associada a um produto ou uma tabela de preço&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Para valores do tipo '''numérico (18,6)''', serão aceitos como possibilidade, podendo ser positivos ou negativos.&amp;lt;/li&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
'''Definição da formula de preço'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;&lt;br /&gt;
Será necessário selecionar uma tabela de preço, a organização de venda e um ou mais produtos as quais o preço deve ser inserido.&lt;br /&gt;
Para a regra de preço teremos que informar a '''formula'' do preço mínimo, sugerido e máximo com a quantidade mínima, que valida sua aplicação. &lt;br /&gt;
&lt;br /&gt;
Nos campos de preço (mínimo, sugerido e máximo) teremos um espaço para a inserção da fórmula para composição de preço. Esta fórmula fará a relação matemática entre as variáveis criadas por meio de '''operadores matemáticos (+, -, *, / )''', organizados em '''RPN''', notação comum para analistas financeiros, sendo bastante difundido, inclusive, na lógica de cálculo das calculadoras HP 12 C.&lt;br /&gt;
&lt;br /&gt;
após a geração da notação da fórmula, será possível criar uma faixa de oscilação de valores, determinando um '''valor Sugerido''', '''Valor mímino''', '''Valor Máximo''' e a '''quantidade''' de produtos em determinado agrupamento.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Processamento da Tabela'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
É importante frisar que os valores estão vinculados a uma tabela de preços, que consequentemente está vinculada a um cliente, organização de vendas, vendedores, e tabelas afins.&lt;br /&gt;
&lt;br /&gt;
As variáveis comuns a todos os clientes deverão ter valores diferenciados de acordo com a cidade onde a organização de vendas está alocada.&lt;br /&gt;
Há dois grupos de variáveis: aquelas que são relacionadas ao '''produto''' em si (tamanho, cor, embalagem, Tipo) e aquelas relacionadas à '''Tabela''' (Valor de partida, comissão promotor, frete, por exemplo). É importante determinar corretamente para qual grupo tal variável estará vinculada.&lt;br /&gt;
&lt;br /&gt;
Se mais de um produto possui a mesma característica, será possível fazer a precificação por grupos de produtos.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 1 ===&lt;br /&gt;
&lt;br /&gt;
Elaborando o preço do produto 'P001' para o cliente 'C001':&lt;br /&gt;
&lt;br /&gt;
Enumeração das variáveis&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 106,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 0,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1,02 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,02 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || Fc || / || 70,66 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Ce || + || 82,86 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Fr || + || 82,66 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Pr || * || 84,52 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Qu || * || 84,52 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Cf || * || 86,21 || F&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''P= PpFc/Ce+Fr+Pr*Qu*Cf*'''''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ao final do processo, a fórmula irá  apresentar o valor final: '''&amp;quot;R$ 86,21&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 2 ===&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P002' para o cliente 'C002'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,11 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || P1 || + || 113,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 75,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 87,86 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Fr || + || 90,86 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Pr || * || 90,86 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Qu || * || 90,86 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Cf || * || 100,86 || G&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''P= PpP1+Fc/Ce+Fr+Pr*Qu*Cf*'''''&lt;br /&gt;
&lt;br /&gt;
Ao final do processo de cálculo da fórmula, o valor do preço será '''&amp;quot;R$ 100,86&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 3 ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P003' para o cliente 'C003'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ -3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 8,67 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce2 || Custo de Embalagem 2 || R$ 2,00 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 2,5 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| K || Constante || 23,67 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp|| P1 || + || 107,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 71,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 80,33 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Ce2 || + || 82,33 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Fr || + || 84,83 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Pr || * || 84,83 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Qu || * || 84,83 || G&lt;br /&gt;
|-&lt;br /&gt;
| 8 || G || Cf || * || 84,83 || H&lt;br /&gt;
|-&lt;br /&gt;
| 9 || H || K || + || 108,50 || I&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''P= PpP1+Fc/Ce+Ce2+Fr+Pr*Qu*Cf*K+'''''&lt;br /&gt;
&lt;br /&gt;
Ao final do cálculo da forma, o valor final do preço será: '''&amp;quot;R$ 108,50&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--[[arquivo:formula1.png]]&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço2.png | 600 px]]&lt;br /&gt;
&lt;br /&gt;
Na formula acima, as somas de variaveis são agrupadas em blocos, multiplicando-se entre si. A relação entre os somatórios pode ser representada por&lt;br /&gt;
&lt;br /&gt;
[[arquivo:produto1.png | 200 px]]&lt;br /&gt;
&lt;br /&gt;
Portando, a equação de formação de preço pode ser representada da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ou pelo produtório&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço1.png]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A composição de preço tem como objetivo construir um preço de venda. Esse cadastro conta com tipos de variáveis para compor preço. Para que a composição de preço seja aplicada corretamente no cadastro do pedido, é necessário que as seguintes premissas sejam atendidas.&lt;br /&gt;
&lt;br /&gt;
=== Composição de preço ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Visto que há variação de preços de produtos para diferentes localidades, a formula criada para a composição de preços  deverá, além de compor toda a regra de cálculo de precificação de determinado produto, a sua parametrização vinculada ao seu respectivo Estado, Cidade e Filial. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em outras palavras, através da composição de preço, o usuário poderá informar a fórmula que o sistema irá aplicar para definir o preço unitário do produto. Essa regra poderá ser parametrizado por: filial, estado e cidade.&lt;br /&gt;
&lt;br /&gt;
== Regras de Negócios ==&lt;br /&gt;
&lt;br /&gt;
'''[RN1] - ''' Não poderá conter a mesma regra para o mesmo estado e filial;&lt;br /&gt;
&lt;br /&gt;
'''[RN2] - ''' Não deverá haver sobreposição de cadastros, e sim edição deste cadastro. Caso o usuário tente cadastrar o mesmo cenário mais de uma vez, a plataforma irá alertar informando que já existe uma regra, e que essa regra poderá ser sobreposta;&lt;br /&gt;
&lt;br /&gt;
'''[RN3] - ''' Essa funcionalidade será desenvolvida exclusivamente no GeoSales EVO.&lt;br /&gt;
&lt;br /&gt;
'''[RN4] - ''' Durante o processo, o portal não deverá travar (requisito não funcional).&lt;br /&gt;
&lt;br /&gt;
== Protótipos ==&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: 1200px-tela-de-cadastro-de-precificacao-mantiqueira.png|600px]]&lt;br /&gt;
&lt;br /&gt;
== Aprovação ==&lt;br /&gt;
&lt;br /&gt;
Considero aprovada a documentação da funcionalidade especificada acima, e autorizo a implementação da mesma no Sistema GeoSales, em nome da Organização a qual estou vinculado. &lt;br /&gt;
&lt;br /&gt;
=== GeoSales ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Desenvolvimento - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|- &lt;br /&gt;
| Integração - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
| Configurações - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Empresa solicitante === &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
! Assinatura&lt;br /&gt;
|-&lt;br /&gt;
| Gerente TI - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente de Projeto - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente Comercial - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Leo2s</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=14934</id>
		<title>Precificação</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=14934"/>
		<updated>2021-04-08T16:58:36Z</updated>

		<summary type="html">&lt;p&gt;Leo2s: /* Implementação */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Histórico de Alterações ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data&lt;br /&gt;
! Quem &lt;br /&gt;
! Comentários &lt;br /&gt;
|-&lt;br /&gt;
|  01/10/2020  || Ana Júlia || Criação do documento &lt;br /&gt;
|-&lt;br /&gt;
| 01/04/2021 || João Ramon || Atualização do documento&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
&lt;br /&gt;
No processo de formação de preços, conta-se com um número definido de variáveis que irão fazer a composição do valor final que será apresentado ao cliente final. Informações como custos operacionais, inclusão de markups, fatores de compensação por quebra e/ou comissionamento de venda devem estar contemplados na composição dos preços. A empresa deseja fazer esta composição dentro da Plataforma GeoSales EVO, inserindo todas as informações de custo, taxas e demais dados customizáveis, permitindo que o próprio cliente consiga fazer este levantamento.&lt;br /&gt;
&lt;br /&gt;
O cenário de precificação atual não possui um processo uniformizado para cada cliente. Portanto, a necessidade de criar um processo padronizado para composição de preços, assim como a atualização customizável de algumas dessas variáveis, por se tratarem de variáveis cujos valores podem oscilar por motivos externos (oscilações de mercado, variação na política de preços, etc), é imperativa.&lt;br /&gt;
&lt;br /&gt;
== Solução ==&lt;br /&gt;
&lt;br /&gt;
Visto que a formação de preços, e seu processo de elaboração, devem ser totalmente customizáveis pelo cliente, primeiramente deve ser possível que ele não apenas determine quais as variáveis e seus respectivos valores devem ser atribuídos na plataforma para precificação, mas também como estas variáveis se relacionarão matematicamente, a fim de formular um preço baseado nas entradas fornecidas pelo cliente. Além disso, tais variáveis, uma vez inseridas no cadastro de preços, deverão ser passíveis de edição, feitas pelo próprio cliente, de forma manual.&lt;br /&gt;
&lt;br /&gt;
Como instrumento de parametrização das fórmulas contendo as variáveis criadas e seus operadores apropriados, será utilizada a '''''notação polonesa  reversa (RPN)''''', ferramenta de uso familiar a pessoas ligadas ao trabalho que envolva matemática financeira. Assim, a formação de preço deverá ser mais flexível e intuitiva na sua formação, além de facilitar em eventuais futuras modificações. As formulas serão definidas dentro de uma tabela de preço para um determinado grupo de produto facilitando o cadastro. &lt;br /&gt;
&lt;br /&gt;
Também visando a facilidade da manutenção dos valores de cada variável da fórmula, iremos construir o preço por um conjunto de parâmetros, podendo ser definido de forma atrelada às seguintes dimensões: produto e tabela de preço.&lt;br /&gt;
&lt;br /&gt;
Após a definição dos parâmetros, a fórmula será construída por meio da utilização destes. Finalizando esta etapa, basta pedir para processar a tabela, onde a mesma passará a ser vigente para a equipe de venda. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Dentro desta visão teremos 3 etapas na construção do preço:&lt;br /&gt;
&amp;lt;li&amp;gt;Cadastro dos parâmetros&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Construção da forma&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Processamento da tabela&amp;lt;/li&amp;gt;&lt;br /&gt;
Estes passos serão melhor esclarecidos adiante.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Implementação ===&lt;br /&gt;
&lt;br /&gt;
O processo terá como bases os seguintes passos: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. Criação de Tabela; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--2. para inserção de Variáveis e/ou aproveitamento de Tabela existente; &amp;lt;br&amp;gt;--&amp;gt;&lt;br /&gt;
2. Definição de Variáveis que deverão compor a fórmula de criação de preço, além da definição do atributo a qual tal variável está vinculada (produto ou Tabela);&amp;lt;br&amp;gt;&lt;br /&gt;
3. Definição de fórmula de formação de preços, utilizando RPN, e vinculações a grupos de produtos;&amp;lt;br&amp;gt;&lt;br /&gt;
4. Concluída a fórmula, com as relações operacionais entre as variáveis, os valores gerados devem ser processados para compor a Tabela de Preços.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para criação da tabela e preço segui o documento '''XXXXX''' &amp;lt;br&amp;gt;&lt;br /&gt;
'''Declaração de variáveis'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dd&amp;gt;&lt;br /&gt;
Dentro da tela de Variáveis de preço, deve ser possível definir uma variável de forma livre, mas que atenda as seguintes regras:&lt;br /&gt;
&amp;lt;li&amp;gt;O campo chave, que será utilizado como referência na formula de preço, não deve conter caracteres especiais, espaço em branco e nao ser mais que 8 caracteres&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A variável deve estar associada a um produto ou uma tabela de preço&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Para valores do tipo '''numérico (18,6)''', serão aceitos como possibilidade, podendo ser positivos ou negativos.&amp;lt;/li&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
'''Definição da formula de preço'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Será necessário selecionar uma tabela de preço, a organização de venda e um ou mais produtos as quais o preço deve ser inserido.&lt;br /&gt;
Para a regra de preço teremos que informar a '''formula'' do preço mínimo, sugerido e máximo com a quantidade mínima, que valida sua aplicação. &lt;br /&gt;
&lt;br /&gt;
Nos campos de preço (mínimo, sugerido e máximo) teremos um espaço para a inserção da fórmula para composição de preço. Esta fórmula fará a relação matemática entre as variáveis criadas por meio de '''operadores matemáticos (+, -, *, / )''', organizados em '''RPN''', notação comum para analistas financeiros, sendo bastante difundido, inclusive, na lógica de cálculo das calculadoras HP 12 C.&lt;br /&gt;
&lt;br /&gt;
após a geração da notação da fórmula, será possível criar uma faixa de oscilação de valores, determinando um '''valor Sugerido''', '''Valor mímino''', '''Valor Máximo''' e a '''quantidade''' de produtos em determinado agrupamento.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Processamento da Tabela'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
É importante frisar que os valores estão vinculados a uma tabela de preços, que consequentemente está vinculada a um cliente, organização de vendas, vendedores, e tabelas afins.&lt;br /&gt;
&lt;br /&gt;
As variáveis comuns a todos os clientes deverão ter valores diferenciados de acordo com a cidade onde a organização de vendas está alocada.&lt;br /&gt;
Há dois grupos de variáveis: aquelas que são relacionadas ao '''produto''' em si (tamanho, cor, embalagem, Tipo) e aquelas relacionadas à '''Tabela''' (Valor de partida, comissão promotor, frete, por exemplo). É importante determinar corretamente para qual grupo tal variável estará vinculada.&lt;br /&gt;
&lt;br /&gt;
Se mais de um produto possui a mesma característica, será possível fazer a precificação por grupos de produtos.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 1 ===&lt;br /&gt;
&lt;br /&gt;
Elaborando o preço do produto 'P001' para o cliente 'C001':&lt;br /&gt;
&lt;br /&gt;
Enumeração das variáveis&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 106,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 0,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1,02 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,02 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || Fc || / || 70,66 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Ce || + || 82,86 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Fr || + || 82,66 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Pr || * || 84,52 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Qu || * || 84,52 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Cf || * || 86,21 || F&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''P= PpFc/Ce+Fr+Pr*Qu*Cf*'''''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ao final do processo, a fórmula irá  apresentar o valor final: '''&amp;quot;R$ 86,21&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 2 ===&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P002' para o cliente 'C002'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,11 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || P1 || + || 113,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 75,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 87,86 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Fr || + || 90,86 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Pr || * || 90,86 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Qu || * || 90,86 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Cf || * || 100,86 || G&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''P= PpP1+Fc/Ce+Fr+Pr*Qu*Cf*'''''&lt;br /&gt;
&lt;br /&gt;
Ao final do processo de cálculo da fórmula, o valor do preço será '''&amp;quot;R$ 100,86&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 3 ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P003' para o cliente 'C003'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ -3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 8,67 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce2 || Custo de Embalagem 2 || R$ 2,00 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 2,5 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| K || Constante || 23,67 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp|| P1 || + || 107,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 71,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 80,33 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Ce2 || + || 82,33 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Fr || + || 84,83 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Pr || * || 84,83 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Qu || * || 84,83 || G&lt;br /&gt;
|-&lt;br /&gt;
| 8 || G || Cf || * || 84,83 || H&lt;br /&gt;
|-&lt;br /&gt;
| 9 || H || K || + || 108,50 || I&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''P= PpP1+Fc/Ce+Ce2+Fr+Pr*Qu*Cf*K+'''''&lt;br /&gt;
&lt;br /&gt;
Ao final do cálculo da forma, o valor final do preço será: '''&amp;quot;R$ 108,50&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--[[arquivo:formula1.png]]&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço2.png | 600 px]]&lt;br /&gt;
&lt;br /&gt;
Na formula acima, as somas de variaveis são agrupadas em blocos, multiplicando-se entre si. A relação entre os somatórios pode ser representada por&lt;br /&gt;
&lt;br /&gt;
[[arquivo:produto1.png | 200 px]]&lt;br /&gt;
&lt;br /&gt;
Portando, a equação de formação de preço pode ser representada da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ou pelo produtório&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço1.png]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A composição de preço tem como objetivo construir um preço de venda. Esse cadastro conta com tipos de variáveis para compor preço. Para que a composição de preço seja aplicada corretamente no cadastro do pedido, é necessário que as seguintes premissas sejam atendidas.&lt;br /&gt;
&lt;br /&gt;
=== Composição de preço ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Visto que há variação de preços de produtos para diferentes localidades, a formula criada para a composição de preços  deverá, além de compor toda a regra de cálculo de precificação de determinado produto, a sua parametrização vinculada ao seu respectivo Estado, Cidade e Filial. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em outras palavras, através da composição de preço, o usuário poderá informar a fórmula que o sistema irá aplicar para definir o preço unitário do produto. Essa regra poderá ser parametrizado por: filial, estado e cidade.&lt;br /&gt;
&lt;br /&gt;
== Regras de Negócios ==&lt;br /&gt;
&lt;br /&gt;
'''[RN1] - ''' Não poderá conter a mesma regra para o mesmo estado e filial;&lt;br /&gt;
&lt;br /&gt;
'''[RN2] - ''' Não deverá haver sobreposição de cadastros, e sim edição deste cadastro. Caso o usuário tente cadastrar o mesmo cenário mais de uma vez, a plataforma irá alertar informando que já existe uma regra, e que essa regra poderá ser sobreposta;&lt;br /&gt;
&lt;br /&gt;
'''[RN3] - ''' Essa funcionalidade será desenvolvida exclusivamente no GeoSales EVO.&lt;br /&gt;
&lt;br /&gt;
'''[RN4] - ''' Durante o processo, o portal não deverá travar (requisito não funcional).&lt;br /&gt;
&lt;br /&gt;
== Protótipos ==&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: 1200px-tela-de-cadastro-de-precificacao-mantiqueira.png|600px]]&lt;br /&gt;
&lt;br /&gt;
== Aprovação ==&lt;br /&gt;
&lt;br /&gt;
Considero aprovada a documentação da funcionalidade especificada acima, e autorizo a implementação da mesma no Sistema GeoSales, em nome da Organização a qual estou vinculado. &lt;br /&gt;
&lt;br /&gt;
=== GeoSales ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Desenvolvimento - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|- &lt;br /&gt;
| Integração - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
| Configurações - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Empresa solicitante === &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
! Assinatura&lt;br /&gt;
|-&lt;br /&gt;
| Gerente TI - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente de Projeto - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente Comercial - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Leo2s</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=14933</id>
		<title>Precificação</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=14933"/>
		<updated>2021-04-08T16:48:32Z</updated>

		<summary type="html">&lt;p&gt;Leo2s: /* Implementação */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Histórico de Alterações ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data&lt;br /&gt;
! Quem &lt;br /&gt;
! Comentários &lt;br /&gt;
|-&lt;br /&gt;
|  01/10/2020  || Ana Júlia || Criação do documento &lt;br /&gt;
|-&lt;br /&gt;
| 01/04/2021 || João Ramon || Atualização do documento&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
&lt;br /&gt;
No processo de formação de preços, conta-se com um número definido de variáveis que irão fazer a composição do valor final que será apresentado ao cliente final. Informações como custos operacionais, inclusão de markups, fatores de compensação por quebra e/ou comissionamento de venda devem estar contemplados na composição dos preços. A empresa deseja fazer esta composição dentro da Plataforma GeoSales EVO, inserindo todas as informações de custo, taxas e demais dados customizáveis, permitindo que o próprio cliente consiga fazer este levantamento.&lt;br /&gt;
&lt;br /&gt;
O cenário de precificação atual não possui um processo uniformizado para cada cliente. Portanto, a necessidade de criar um processo padronizado para composição de preços, assim como a atualização customizável de algumas dessas variáveis, por se tratarem de variáveis cujos valores podem oscilar por motivos externos (oscilações de mercado, variação na política de preços, etc), é imperativa.&lt;br /&gt;
&lt;br /&gt;
== Solução ==&lt;br /&gt;
&lt;br /&gt;
Visto que a formação de preços, e seu processo de elaboração, devem ser totalmente customizáveis pelo cliente, primeiramente deve ser possível que ele não apenas determine quais as variáveis e seus respectivos valores devem ser atribuídos na plataforma para precificação, mas também como estas variáveis se relacionarão matematicamente, a fim de formular um preço baseado nas entradas fornecidas pelo cliente. Além disso, tais variáveis, uma vez inseridas no cadastro de preços, deverão ser passíveis de edição, feitas pelo próprio cliente, de forma manual.&lt;br /&gt;
&lt;br /&gt;
Como instrumento de parametrização das fórmulas contendo as variáveis criadas e seus operadores apropriados, será utilizada a '''''notação polonesa  reversa (RPN)''''', ferramenta de uso familiar a pessoas ligadas ao trabalho que envolva matemática financeira. Assim, a formação de preço deverá ser mais flexível e intuitiva na sua formação, além de facilitar em eventuais futuras modificações. As formulas serão definidas dentro de uma tabela de preço para um determinado grupo de produto facilitando o cadastro. &lt;br /&gt;
&lt;br /&gt;
Também visando a facilidade da manutenção dos valores de cada variável da fórmula, iremos construir o preço por um conjunto de parâmetros, podendo ser definido de forma atrelada às seguintes dimensões: produto e tabela de preço.&lt;br /&gt;
&lt;br /&gt;
Após a definição dos parâmetros, a fórmula será construída por meio da utilização destes. Finalizando esta etapa, basta pedir para processar a tabela, onde a mesma passará a ser vigente para a equipe de venda. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Dentro desta visão teremos 3 etapas na construção do preço:&lt;br /&gt;
&amp;lt;li&amp;gt;Cadastro dos parâmetros&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Construção da forma&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Processamento da tabela&amp;lt;/li&amp;gt;&lt;br /&gt;
Estes passos serão melhor esclarecidos adiante.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Implementação ===&lt;br /&gt;
&lt;br /&gt;
O processo terá como bases os seguintes passos: &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. Criação de Tabela; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--2. para inserção de Variáveis e/ou aproveitamento de Tabela existente; &amp;lt;br&amp;gt;--&amp;gt;&lt;br /&gt;
2. Definição de Variáveis que deverão compor a fórmula de criação de preço, além da definição do atributo a qual tal variável está vinculada (produto ou Tabela);&amp;lt;br&amp;gt;&lt;br /&gt;
3. Definição de fórmula de formação de preços, utilizando RPN, e vinculações a grupos de produtos;&amp;lt;br&amp;gt;&lt;br /&gt;
4. Concluída a fórmula, com as relações operacionais entre as variáveis, os valores gerados devem ser processados para compor a Tabela de Preços.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para criação da tabela e preço segui o documento '''XXXXX''' &amp;lt;br&amp;gt;&lt;br /&gt;
'''Declaração de variáveis'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;&lt;br /&gt;
Dentro da tela de Variáveis de preço, deve ser possível definir uma variável de forma livre, mas que atenda as seguintes regras:&lt;br /&gt;
&amp;lt;li&amp;gt;O campo chave, que será utilizado como referência na formula de preço, não deve conter caracteres especiais, espaço em branco e nao ser mais que 8 caracteres&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A variável deve estar associada a um produto ou uma tabela de preço&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Para valores do tipo '''numérico (18,6)''', serão aceitos como possibilidade, podendo ser positivos ou negativos.&amp;lt;/li&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Se mais de um produto possui a mesma característica, será possível fazer a precificação por grupos de produtos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
'''Definição da formula de preço'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Haverá um espaço definido na tela para a inserção da fórmula para composição de preço. Esta fórmula fará a relação matemática entre as variáveis criadas por meio de '''operadores matemáticos (+, -, *, / )''', organizados em '''RPN''', notação comum para analistas financeiros, sendo bastante difundido, inclusive, na lógica de cálculo das calculadoras HP 12 C.&lt;br /&gt;
&lt;br /&gt;
após a geração da notação da fórmula, será possível criar uma faixa de oscilação de valores, determinando um '''valor Sugerido''', '''Valor mímino''', '''Valor Máximo''' e a '''quantidade''' de produtos em determinado agrupamento.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Processamento da Tabela'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
É importante frisar que os valores estão vinculados a uma tabela de preços, que consequentemente está vinculada a um cliente, organização de vendas, vendedores, e tabelas afins.&lt;br /&gt;
&lt;br /&gt;
As variáveis comuns a todos os clientes deverão ter valores diferenciados de acordo com a cidade onde a organização de vendas está alocada.&lt;br /&gt;
Há dois grupos de variáveis: aquelas que são relacionadas ao '''produto''' em si (tamanho, cor, embalagem, Tipo) e aquelas relacionadas à '''Tabela''' (Valor de partida, comissão promotor, frete, por exemplo). É importante determinar corretamente para qual grupo tal variável estará vinculada.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 1 ===&lt;br /&gt;
&lt;br /&gt;
Elaborando o preço do produto 'P001' para o cliente 'C001':&lt;br /&gt;
&lt;br /&gt;
Enumeração das variáveis&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 106,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 0,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1,02 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,02 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || Fc || / || 70,66 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Ce || + || 82,86 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Fr || + || 82,66 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Pr || * || 84,52 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Qu || * || 84,52 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Cf || * || 86,21 || F&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''P= PpFc/Ce+Fr+Pr*Qu*Cf*'''''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ao final do processo, a fórmula irá  apresentar o valor final: '''&amp;quot;R$ 86,21&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 2 ===&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P002' para o cliente 'C002'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,11 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || P1 || + || 113,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 75,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 87,86 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Fr || + || 90,86 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Pr || * || 90,86 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Qu || * || 90,86 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Cf || * || 100,86 || G&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''P= PpP1+Fc/Ce+Fr+Pr*Qu*Cf*'''''&lt;br /&gt;
&lt;br /&gt;
Ao final do processo de cálculo da fórmula, o valor do preço será '''&amp;quot;R$ 100,86&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 3 ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P003' para o cliente 'C003'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ -3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 8,67 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce2 || Custo de Embalagem 2 || R$ 2,00 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 2,5 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| K || Constante || 23,67 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp|| P1 || + || 107,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 71,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 80,33 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Ce2 || + || 82,33 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Fr || + || 84,83 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Pr || * || 84,83 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Qu || * || 84,83 || G&lt;br /&gt;
|-&lt;br /&gt;
| 8 || G || Cf || * || 84,83 || H&lt;br /&gt;
|-&lt;br /&gt;
| 9 || H || K || + || 108,50 || I&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''P= PpP1+Fc/Ce+Ce2+Fr+Pr*Qu*Cf*K+'''''&lt;br /&gt;
&lt;br /&gt;
Ao final do cálculo da forma, o valor final do preço será: '''&amp;quot;R$ 108,50&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--[[arquivo:formula1.png]]&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço2.png | 600 px]]&lt;br /&gt;
&lt;br /&gt;
Na formula acima, as somas de variaveis são agrupadas em blocos, multiplicando-se entre si. A relação entre os somatórios pode ser representada por&lt;br /&gt;
&lt;br /&gt;
[[arquivo:produto1.png | 200 px]]&lt;br /&gt;
&lt;br /&gt;
Portando, a equação de formação de preço pode ser representada da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ou pelo produtório&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço1.png]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A composição de preço tem como objetivo construir um preço de venda. Esse cadastro conta com tipos de variáveis para compor preço. Para que a composição de preço seja aplicada corretamente no cadastro do pedido, é necessário que as seguintes premissas sejam atendidas.&lt;br /&gt;
&lt;br /&gt;
=== Composição de preço ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Visto que há variação de preços de produtos para diferentes localidades, a formula criada para a composição de preços  deverá, além de compor toda a regra de cálculo de precificação de determinado produto, a sua parametrização vinculada ao seu respectivo Estado, Cidade e Filial. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em outras palavras, através da composição de preço, o usuário poderá informar a fórmula que o sistema irá aplicar para definir o preço unitário do produto. Essa regra poderá ser parametrizado por: filial, estado e cidade.&lt;br /&gt;
&lt;br /&gt;
== Regras de Negócios ==&lt;br /&gt;
&lt;br /&gt;
'''[RN1] - ''' Não poderá conter a mesma regra para o mesmo estado e filial;&lt;br /&gt;
&lt;br /&gt;
'''[RN2] - ''' Não deverá haver sobreposição de cadastros, e sim edição deste cadastro. Caso o usuário tente cadastrar o mesmo cenário mais de uma vez, a plataforma irá alertar informando que já existe uma regra, e que essa regra poderá ser sobreposta;&lt;br /&gt;
&lt;br /&gt;
'''[RN3] - ''' Essa funcionalidade será desenvolvida exclusivamente no GeoSales EVO.&lt;br /&gt;
&lt;br /&gt;
'''[RN4] - ''' Durante o processo, o portal não deverá travar (requisito não funcional).&lt;br /&gt;
&lt;br /&gt;
== Protótipos ==&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: 1200px-tela-de-cadastro-de-precificacao-mantiqueira.png|600px]]&lt;br /&gt;
&lt;br /&gt;
== Aprovação ==&lt;br /&gt;
&lt;br /&gt;
Considero aprovada a documentação da funcionalidade especificada acima, e autorizo a implementação da mesma no Sistema GeoSales, em nome da Organização a qual estou vinculado. &lt;br /&gt;
&lt;br /&gt;
=== GeoSales ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Desenvolvimento - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|- &lt;br /&gt;
| Integração - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
| Configurações - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Empresa solicitante === &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
! Assinatura&lt;br /&gt;
|-&lt;br /&gt;
| Gerente TI - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente de Projeto - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente Comercial - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Leo2s</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=14932</id>
		<title>Precificação</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=14932"/>
		<updated>2021-04-08T16:45:57Z</updated>

		<summary type="html">&lt;p&gt;Leo2s: /* Implementação */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Histórico de Alterações ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data&lt;br /&gt;
! Quem &lt;br /&gt;
! Comentários &lt;br /&gt;
|-&lt;br /&gt;
|  01/10/2020  || Ana Júlia || Criação do documento &lt;br /&gt;
|-&lt;br /&gt;
| 01/04/2021 || João Ramon || Atualização do documento&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
&lt;br /&gt;
No processo de formação de preços, conta-se com um número definido de variáveis que irão fazer a composição do valor final que será apresentado ao cliente final. Informações como custos operacionais, inclusão de markups, fatores de compensação por quebra e/ou comissionamento de venda devem estar contemplados na composição dos preços. A empresa deseja fazer esta composição dentro da Plataforma GeoSales EVO, inserindo todas as informações de custo, taxas e demais dados customizáveis, permitindo que o próprio cliente consiga fazer este levantamento.&lt;br /&gt;
&lt;br /&gt;
O cenário de precificação atual não possui um processo uniformizado para cada cliente. Portanto, a necessidade de criar um processo padronizado para composição de preços, assim como a atualização customizável de algumas dessas variáveis, por se tratarem de variáveis cujos valores podem oscilar por motivos externos (oscilações de mercado, variação na política de preços, etc), é imperativa.&lt;br /&gt;
&lt;br /&gt;
== Solução ==&lt;br /&gt;
&lt;br /&gt;
Visto que a formação de preços, e seu processo de elaboração, devem ser totalmente customizáveis pelo cliente, primeiramente deve ser possível que ele não apenas determine quais as variáveis e seus respectivos valores devem ser atribuídos na plataforma para precificação, mas também como estas variáveis se relacionarão matematicamente, a fim de formular um preço baseado nas entradas fornecidas pelo cliente. Além disso, tais variáveis, uma vez inseridas no cadastro de preços, deverão ser passíveis de edição, feitas pelo próprio cliente, de forma manual.&lt;br /&gt;
&lt;br /&gt;
Como instrumento de parametrização das fórmulas contendo as variáveis criadas e seus operadores apropriados, será utilizada a '''''notação polonesa  reversa (RPN)''''', ferramenta de uso familiar a pessoas ligadas ao trabalho que envolva matemática financeira. Assim, a formação de preço deverá ser mais flexível e intuitiva na sua formação, além de facilitar em eventuais futuras modificações. As formulas serão definidas dentro de uma tabela de preço para um determinado grupo de produto facilitando o cadastro. &lt;br /&gt;
&lt;br /&gt;
Também visando a facilidade da manutenção dos valores de cada variável da fórmula, iremos construir o preço por um conjunto de parâmetros, podendo ser definido de forma atrelada às seguintes dimensões: produto e tabela de preço.&lt;br /&gt;
&lt;br /&gt;
Após a definição dos parâmetros, a fórmula será construída por meio da utilização destes. Finalizando esta etapa, basta pedir para processar a tabela, onde a mesma passará a ser vigente para a equipe de venda. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Dentro desta visão teremos 3 etapas na construção do preço:&lt;br /&gt;
&amp;lt;li&amp;gt;Cadastro dos parâmetros&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Construção da forma&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Processamento da tabela&amp;lt;/li&amp;gt;&lt;br /&gt;
Estes passos serão melhor esclarecidos adiante.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Implementação ===&lt;br /&gt;
&lt;br /&gt;
O processo terá como bases os seguintes passos: &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. Criação de Tabela; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--2. para inserção de Variáveis e/ou aproveitamento de Tabela existente; &amp;lt;br&amp;gt;--&amp;gt;&lt;br /&gt;
2. Definição de Variáveis que deverão compor a fórmula de criação de preço, além da definição do atributo a qual tal variável está vinculada (produto ou Tabela);&amp;lt;br&amp;gt;&lt;br /&gt;
3. Definição de fórmula de formação de preços, utilizando RPN, e vinculações a grupos de produtos;&amp;lt;br&amp;gt;&lt;br /&gt;
4. Concluída a fórmula, com as relações operacionais entre as variáveis, os valores gerados devem ser processados para compor a Tabela de Preços.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para criação da tabela e preço segui o documento '''XXXXX''' &amp;lt;br&amp;gt;&lt;br /&gt;
'''Declaração de variáveis'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;&lt;br /&gt;
Dentro da tela de Variáveis de preço, deve ser possível definir uma variável de forma livre, mas que atenda as seguintes regras:&lt;br /&gt;
&amp;lt;li&amp;gt;O campo chave, que será utilizado como referência na formula de preço, não deve conter caracteres especiais, espaço em branco e nao ser mais que 8 caracteres&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A variável deve estar associada a um produto ou uma tabela de preço&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Para valores do tipo '''numérico (18,6)''', serão aceitos como possibilidade, podendo ser positivos ou negativos.&amp;lt;/li&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Há dois grupos de variáveis: aquelas que são relacionadas ao '''produto''' em si (tamanho, cor, embalagem, Tipo) e aquelas relacionadas à '''Tabela''' (Valor de partida, comissão promotor, frete, por exemplo). É importante determinar corretamente para qual grupo tal variável estará vinculada.&lt;br /&gt;
&lt;br /&gt;
Se mais de um produto possui a mesma característica, será possível fazer a precificação por grupos de produtos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
'''Definição da formula de preço'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Haverá um espaço definido na tela para a inserção da fórmula para composição de preço. Esta fórmula fará a relação matemática entre as variáveis criadas por meio de '''operadores matemáticos (+, -, *, / )''', organizados em '''RPN''', notação comum para analistas financeiros, sendo bastante difundido, inclusive, na lógica de cálculo das calculadoras HP 12 C.&lt;br /&gt;
&lt;br /&gt;
após a geração da notação da fórmula, será possível criar uma faixa de oscilação de valores, determinando um '''valor Sugerido''', '''Valor mímino''', '''Valor Máximo''' e a '''quantidade''' de produtos em determinado agrupamento.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Processamento da Tabela'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
É importante frisar que os valores estão vinculados a uma tabela de preços, que consequentemente está vinculada a um cliente, organização de vendas, vendedores, e tabelas afins.&lt;br /&gt;
&lt;br /&gt;
As variáveis comuns a todos os clientes deverão ter valores diferenciados de acordo com a cidade onde a organização de vendas está alocada.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 1 ===&lt;br /&gt;
&lt;br /&gt;
Elaborando o preço do produto 'P001' para o cliente 'C001':&lt;br /&gt;
&lt;br /&gt;
Enumeração das variáveis&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 106,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 0,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1,02 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,02 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || Fc || / || 70,66 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Ce || + || 82,86 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Fr || + || 82,66 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Pr || * || 84,52 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Qu || * || 84,52 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Cf || * || 86,21 || F&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''P= PpFc/Ce+Fr+Pr*Qu*Cf*'''''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ao final do processo, a fórmula irá  apresentar o valor final: '''&amp;quot;R$ 86,21&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 2 ===&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P002' para o cliente 'C002'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 12,20 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1,11 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp || P1 || + || 113,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 75,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 87,86 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Fr || + || 90,86 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Pr || * || 90,86 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Qu || * || 90,86 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Cf || * || 100,86 || G&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''P= PpP1+Fc/Ce+Fr+Pr*Qu*Cf*'''''&lt;br /&gt;
&lt;br /&gt;
Ao final do processo de cálculo da fórmula, o valor do preço será '''&amp;quot;R$ 100,86&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
=== Cenário 3 ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realizando o cadastro de preço do produto 'P003' para o cliente 'C003'&lt;br /&gt;
&lt;br /&gt;
{|class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Variável&lt;br /&gt;
! Descrição da Variável&lt;br /&gt;
! Valor&lt;br /&gt;
! Tipo Grupo&lt;br /&gt;
|-&lt;br /&gt;
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Adicional de Preço || R$ -3,00 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Fc || Fator de Conversão || 1,5 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce ||Custo de Embalagem || R$ 8,67 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Ce2 || Custo de Embalagem 2 || R$ 2,00 || Produto&lt;br /&gt;
|-&lt;br /&gt;
| Fr || Frete || R$ 2,5 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Pr  || Promotor || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| Qu || Fator Quebra || 1 || Tabela&lt;br /&gt;
|- &lt;br /&gt;
| Cf || Contrato de Fidelidade || 1 || Tabela&lt;br /&gt;
|-&lt;br /&gt;
| K || Constante || 23,67 || Tabela&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ordem de cálculo&lt;br /&gt;
! Variável 1&lt;br /&gt;
! Variável 2&lt;br /&gt;
! Operação Matemática&lt;br /&gt;
! Valor Armazenado&lt;br /&gt;
! Variável resultante&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Pp|| P1 || + || 107,50 || A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || Fc || / || 71,66 || B&lt;br /&gt;
|-&lt;br /&gt;
| 3 || B || Ce || + || 80,33 || C&lt;br /&gt;
|-&lt;br /&gt;
| 4 || C || Ce2 || + || 82,33 || D&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || Fr || + || 84,83 || E&lt;br /&gt;
|-&lt;br /&gt;
| 6 || E || Pr || * || 84,83 || F&lt;br /&gt;
|-&lt;br /&gt;
| 7 || F || Qu || * || 84,83 || G&lt;br /&gt;
|-&lt;br /&gt;
| 8 || G || Cf || * || 84,83 || H&lt;br /&gt;
|-&lt;br /&gt;
| 9 || H || K || + || 108,50 || I&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As variáveis estão relacionadas matematicamente de acordo com a notação: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''P= PpP1+Fc/Ce+Ce2+Fr+Pr*Qu*Cf*K+'''''&lt;br /&gt;
&lt;br /&gt;
Ao final do cálculo da forma, o valor final do preço será: '''&amp;quot;R$ 108,50&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--[[arquivo:formula1.png]]&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço2.png | 600 px]]&lt;br /&gt;
&lt;br /&gt;
Na formula acima, as somas de variaveis são agrupadas em blocos, multiplicando-se entre si. A relação entre os somatórios pode ser representada por&lt;br /&gt;
&lt;br /&gt;
[[arquivo:produto1.png | 200 px]]&lt;br /&gt;
&lt;br /&gt;
Portando, a equação de formação de preço pode ser representada da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ou pelo produtório&lt;br /&gt;
&lt;br /&gt;
[[arquivo:preço1.png]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A composição de preço tem como objetivo construir um preço de venda. Esse cadastro conta com tipos de variáveis para compor preço. Para que a composição de preço seja aplicada corretamente no cadastro do pedido, é necessário que as seguintes premissas sejam atendidas.&lt;br /&gt;
&lt;br /&gt;
=== Composição de preço ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Visto que há variação de preços de produtos para diferentes localidades, a formula criada para a composição de preços  deverá, além de compor toda a regra de cálculo de precificação de determinado produto, a sua parametrização vinculada ao seu respectivo Estado, Cidade e Filial. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em outras palavras, através da composição de preço, o usuário poderá informar a fórmula que o sistema irá aplicar para definir o preço unitário do produto. Essa regra poderá ser parametrizado por: filial, estado e cidade.&lt;br /&gt;
&lt;br /&gt;
== Regras de Negócios ==&lt;br /&gt;
&lt;br /&gt;
'''[RN1] - ''' Não poderá conter a mesma regra para o mesmo estado e filial;&lt;br /&gt;
&lt;br /&gt;
'''[RN2] - ''' Não deverá haver sobreposição de cadastros, e sim edição deste cadastro. Caso o usuário tente cadastrar o mesmo cenário mais de uma vez, a plataforma irá alertar informando que já existe uma regra, e que essa regra poderá ser sobreposta;&lt;br /&gt;
&lt;br /&gt;
'''[RN3] - ''' Essa funcionalidade será desenvolvida exclusivamente no GeoSales EVO.&lt;br /&gt;
&lt;br /&gt;
'''[RN4] - ''' Durante o processo, o portal não deverá travar (requisito não funcional).&lt;br /&gt;
&lt;br /&gt;
== Protótipos ==&lt;br /&gt;
&lt;br /&gt;
[[Arquivo: 1200px-tela-de-cadastro-de-precificacao-mantiqueira.png|600px]]&lt;br /&gt;
&lt;br /&gt;
== Aprovação ==&lt;br /&gt;
&lt;br /&gt;
Considero aprovada a documentação da funcionalidade especificada acima, e autorizo a implementação da mesma no Sistema GeoSales, em nome da Organização a qual estou vinculado. &lt;br /&gt;
&lt;br /&gt;
=== GeoSales ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Desenvolvimento - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|- &lt;br /&gt;
| Integração - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
| Configurações - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Empresa solicitante === &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
! Assinatura&lt;br /&gt;
|-&lt;br /&gt;
| Gerente TI - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente de Projeto - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente Comercial - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Leo2s</name></author>
	</entry>
</feed>