<?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=Jeffque</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=Jeffque"/>
	<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php/Especial:Contribui%C3%A7%C3%B5es/Jeffque"/>
	<updated>2026-05-05T13:46:33Z</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=Discuss%C3%A3o:Produtos_Medicados&amp;diff=15800</id>
		<title>Discussão:Produtos Medicados</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Discuss%C3%A3o:Produtos_Medicados&amp;diff=15800"/>
		<updated>2021-06-24T19:25:50Z</updated>

		<summary type="html">&lt;p&gt;Jeffque: Limpou toda a página&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jeffque</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=15066</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=15066"/>
		<updated>2021-04-08T20:16:01Z</updated>

		<summary type="html">&lt;p&gt;Jeffque: /* Campos de cadastro */&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 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;
=== 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;
&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>Jeffque</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=15043</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=15043"/>
		<updated>2021-04-08T20:02:39Z</updated>

		<summary type="html">&lt;p&gt;Jeffque: /* 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;
=== 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>Jeffque</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=15042</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=15042"/>
		<updated>2021-04-08T20:01:37Z</updated>

		<summary type="html">&lt;p&gt;Jeffque: /* 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 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 [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>Jeffque</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=15035</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=15035"/>
		<updated>2021-04-08T19:55:53Z</updated>

		<summary type="html">&lt;p&gt;Jeffque: /* Necessidade */&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;
&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;
É 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;
== 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/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/*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>Jeffque</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=15016</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=15016"/>
		<updated>2021-04-08T18:55:28Z</updated>

		<summary type="html">&lt;p&gt;Jeffque: /* 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.&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;
=== 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;
&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>Jeffque</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=15015</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=15015"/>
		<updated>2021-04-08T18:54:17Z</updated>

		<summary type="html">&lt;p&gt;Jeffque: /* Cenário 3 */&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;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;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;
=== 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;
&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>Jeffque</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=15014</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=15014"/>
		<updated>2021-04-08T18:54:01Z</updated>

		<summary type="html">&lt;p&gt;Jeffque: /* Cenário 2 */&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;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;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;
=== 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;
&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: &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>Jeffque</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=15013</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=15013"/>
		<updated>2021-04-08T18:53:26Z</updated>

		<summary type="html">&lt;p&gt;Jeffque: /* Cenário 1 */&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;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;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;
=== 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;
&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: &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>Jeffque</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=15012</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=15012"/>
		<updated>2021-04-08T18:52:45Z</updated>

		<summary type="html">&lt;p&gt;Jeffque: /* Cenário 1 */&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;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;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;
=== 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>Jeffque</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=15011</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=15011"/>
		<updated>2021-04-08T18:48:03Z</updated>

		<summary type="html">&lt;p&gt;Jeffque: /* Processar 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.&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;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;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á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>Jeffque</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=15010</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=15010"/>
		<updated>2021-04-08T18:47:46Z</updated>

		<summary type="html">&lt;p&gt;Jeffque: /* Campos de cadastro */&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;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;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;
&amp;lt;/dd&amp;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':&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>Jeffque</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=15009</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=15009"/>
		<updated>2021-04-08T18:47:10Z</updated>

		<summary type="html">&lt;p&gt;Jeffque: /* Campos de cadastro */&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;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;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;
&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;
==== Definição da formula de preço ====&lt;br /&gt;
&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;
&amp;lt;/dd&amp;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':&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>Jeffque</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=15008</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=15008"/>
		<updated>2021-04-08T18:46:23Z</updated>

		<summary type="html">&lt;p&gt;Jeffque: /* Cadastro tabela 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 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;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;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;
&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;
==== Definição da formula de preço ====&lt;br /&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;
=== 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;
&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>Jeffque</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=15007</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=15007"/>
		<updated>2021-04-08T18:45:55Z</updated>

		<summary type="html">&lt;p&gt;Jeffque: /* Campos de cadastro */&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;
&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;
&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;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;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;
&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;
==== Definição da formula de preço ====&lt;br /&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;
=== 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;
&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>Jeffque</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=15006</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=15006"/>
		<updated>2021-04-08T18:45:29Z</updated>

		<summary type="html">&lt;p&gt;Jeffque: /* 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;
&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;
&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;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;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;
&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;
&lt;br /&gt;
==== Definição da formula de preço ====&lt;br /&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;
=== 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;
&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>Jeffque</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=15005</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=15005"/>
		<updated>2021-04-08T18:45:10Z</updated>

		<summary type="html">&lt;p&gt;Jeffque: /* 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;
&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;
&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;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&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;
* 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;
* A variável deve estar associada a um produto ou uma tabela de preço&amp;lt;/li&amp;gt;&lt;br /&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;
* 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;
=== Campos de cadastro ===&lt;br /&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;
&lt;br /&gt;
==== Definição da formula de preço ====&lt;br /&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;
=== 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;
&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>Jeffque</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=15004</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=15004"/>
		<updated>2021-04-08T18:44:35Z</updated>

		<summary type="html">&lt;p&gt;Jeffque: /* Campos de cadastro */&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;
&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;
&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;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&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;
&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;
&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;
=== 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;
&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>Jeffque</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=15003</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=15003"/>
		<updated>2021-04-08T18:43:56Z</updated>

		<summary type="html">&lt;p&gt;Jeffque: /* Cadastro tabela 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 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;
&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;
&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;
&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;
&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;
=== 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;
&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>Jeffque</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=15002</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=15002"/>
		<updated>2021-04-08T18:43:27Z</updated>

		<summary type="html">&lt;p&gt;Jeffque: /* 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.&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;
&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;
&lt;br /&gt;
==== Campos de cadastro ====&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;
&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;
=== 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;
&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>Jeffque</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=15001</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=15001"/>
		<updated>2021-04-08T18:42:49Z</updated>

		<summary type="html">&lt;p&gt;Jeffque: /* Cadastro tabela 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 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;
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;
&lt;br /&gt;
==== Campos de cadastro ====&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;
&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;
=== 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;
&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>Jeffque</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=15000</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=15000"/>
		<updated>2021-04-08T18:42:29Z</updated>

		<summary type="html">&lt;p&gt;Jeffque: /* 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;
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 ====&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;
&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;
&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>Jeffque</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=14999</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=14999"/>
		<updated>2021-04-08T18:41:53Z</updated>

		<summary type="html">&lt;p&gt;Jeffque: /* 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.&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;
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 ====&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;
&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>Jeffque</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=14998</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=14998"/>
		<updated>2021-04-08T18:41:11Z</updated>

		<summary type="html">&lt;p&gt;Jeffque: /* 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.&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;
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>Jeffque</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Precifica%C3%A7%C3%A3o&amp;diff=14997</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=14997"/>
		<updated>2021-04-08T18:40:53Z</updated>

		<summary type="html">&lt;p&gt;Jeffque: /* Necessidade */&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;
&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>Jeffque</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Discuss%C3%A3o:Falta_de_Agrupamento_de_Pedidos&amp;diff=14349</id>
		<title>Discussão:Falta de Agrupamento de Pedidos</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Discuss%C3%A3o:Falta_de_Agrupamento_de_Pedidos&amp;diff=14349"/>
		<updated>2021-03-23T16:36:58Z</updated>

		<summary type="html">&lt;p&gt;Jeffque: /* Necessidade &amp;quot;não há filtro&amp;quot;? */ nova seção&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Apontamentos&lt;br /&gt;
&lt;br /&gt;
Dei uma olhada aki&lt;br /&gt;
eu fico meio receoso com esse modelo de cenários que passaram para você&lt;br /&gt;
http://wiki.geosales.com.br:8000/index.php/Funcionalidade/Limite_de_cr%C3%A9dito&lt;br /&gt;
da uma olhada nesse documento&lt;br /&gt;
que tem uma pegada mais técnica&lt;br /&gt;
mas pode dar uma noção de como injetar informações no cenário&lt;br /&gt;
pq o cenário que tem na tua documentação só trás ações e não dados.&lt;br /&gt;
e tipo&lt;br /&gt;
tem uns 3 cenários de ações que fazem parte da correção que eu alinheir contigo que não tão ai&lt;br /&gt;
a execução dos relatórios&lt;br /&gt;
o fluxo de filtrar por rota&lt;br /&gt;
e o documento também não deixa condizente como ela fará a execução desse fluxo&lt;br /&gt;
&amp;quot; no caso de pedidos por rota e por vendedor, seja possível pela filtração na lista de visualização.&lt;br /&gt;
&lt;br /&gt;
Implementação&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Regras de negócio fora da solução? ==&lt;br /&gt;
&lt;br /&gt;
A solução é onde se concentra a solução. Se algo faz parte da solução, precisa estar dentro dela. Se não faz parte da solução, então deveria ser um detalhe de implementação, um cenário ou a necessidade, ou algum trecho de conhecimento necessário para o entendimento de alguma dessas partes.&lt;br /&gt;
&lt;br /&gt;
== Que informação o grafo carreia? ==&lt;br /&gt;
&lt;br /&gt;
Não ficou claro para mim o porquê do grafo estar no documento.&lt;br /&gt;
&lt;br /&gt;
Na descrição, não vi nada realmente referente a alguma espécie de fluxo.&lt;br /&gt;
&lt;br /&gt;
Não há descrição das diferenças de cores entre os nós do grafo, apesar de que visualmente eles indicam nada além de um ponto de culminação do caminho, de onde o qual não há arestas de saída. Mesmo assim, essa conclusão é tirada assumindo que na real esse grafo seja direcionado, apesar de isto não estar claro.&lt;br /&gt;
&lt;br /&gt;
== Resultados esperados estão muito fracos e carrega pouca informação para o desenvolvimento ==&lt;br /&gt;
&lt;br /&gt;
Qual o significado de &amp;quot;a Plataforma GeoSales Evo irá buscar os dados relacionais referentes aos agrupamentos de Pedidos por Rota&amp;quot;?&lt;br /&gt;
&lt;br /&gt;
Não é palpável para o programdor essa informação&lt;br /&gt;
&lt;br /&gt;
E se o pedido 27 for do cliente 3, que está na rota 2, porém o pedido foi tirado fora da rota, ao agrupar por rotas devo mostrar que o pedido 27 está junto dos outros pedidos da rota 2?&lt;br /&gt;
&lt;br /&gt;
== O que é uma &amp;quot;rota pré-filtrada&amp;quot; conforme descrita no resultado de cenário &amp;quot;Cenário para o agrupamento de Pedidos por Vendedor e por Rota&amp;quot;? ==&lt;br /&gt;
&lt;br /&gt;
Pela definição solta das palavras, uma rota pré-filtrada pode ser a 15. Pronto.&lt;br /&gt;
&lt;br /&gt;
Isso significa que, de acordo com a estrita especificação descrita no cenário, se forem exibidos os pedidos da rota 15, mesmo que esse 15 não seja a rota selecionada no campo de filtro, mostrar apenas os pedidos da rota 15 estará certo&lt;br /&gt;
&lt;br /&gt;
== Necessidade &amp;quot;não há filtro&amp;quot;? ==&lt;br /&gt;
&lt;br /&gt;
A não existência de filtro não faz parte da necessidade. É um desdobramento da problemática. A construção do primeiro parágrafo não está sintaticamente óbvio que a necessidade é agrupar, ou aplicar filtros.&lt;br /&gt;
&lt;br /&gt;
Vamos para um exemplo da mesma estrutura sintaticamente porém voltada a alimentação de um persona, chamado de Marombado:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Não há feijão verde nem baião de dois no Arretado. Ambos os pratos são importantes na dieta hiper-calórica do Marombado, dado que ele necessita das proteínas oferecidas no feijão e o carboidrato do baião de dois, pois o hipertrofismo é atendimento por mais de um macronutriente. Essas opções existiam na Til Nilva.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Qual a necessidade do Marombado especificamente? Você consegue discernir facilmente isso? E que tal reformular do seguinte jeito:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Marombado precisa de refeições hipercalóricas em suas refeições, com feijão verde e baião de dois sendo sua base dietética, para conseguir o efeito desejado do hipertrofismo muscular. Feijão verde fornece proteínas e o baião de dois fornece o carboidrato necessários para a composição adequada dos macronutrientes da dieta do Marombado. Esses pratos eram oferecidos pela Tia Nilva antes dela ser transformada em Arretado.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notou como a necessidade agora está enfática logo nas primeiras palavras? Que a oração principal da primeira frase contém o cerne da necessidade, sendo os adjuntos adverbiais de instrumento e finalidade nas orações subordinadas subsequentes especificidades da necessidade central?&lt;/div&gt;</summary>
		<author><name>Jeffque</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Discuss%C3%A3o:Falta_de_Agrupamento_de_Pedidos&amp;diff=14348</id>
		<title>Discussão:Falta de Agrupamento de Pedidos</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Discuss%C3%A3o:Falta_de_Agrupamento_de_Pedidos&amp;diff=14348"/>
		<updated>2021-03-23T16:17:32Z</updated>

		<summary type="html">&lt;p&gt;Jeffque: /* O que é uma &amp;quot;rota pré-filtrada&amp;quot; conforme descrita no resultado de cenário &amp;quot;Cenário para o agrupamento de Pedidos por Vendedor e por Rota&amp;quot;? */ nova seção&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Apontamentos&lt;br /&gt;
&lt;br /&gt;
Dei uma olhada aki&lt;br /&gt;
eu fico meio receoso com esse modelo de cenários que passaram para você&lt;br /&gt;
http://wiki.geosales.com.br:8000/index.php/Funcionalidade/Limite_de_cr%C3%A9dito&lt;br /&gt;
da uma olhada nesse documento&lt;br /&gt;
que tem uma pegada mais técnica&lt;br /&gt;
mas pode dar uma noção de como injetar informações no cenário&lt;br /&gt;
pq o cenário que tem na tua documentação só trás ações e não dados.&lt;br /&gt;
e tipo&lt;br /&gt;
tem uns 3 cenários de ações que fazem parte da correção que eu alinheir contigo que não tão ai&lt;br /&gt;
a execução dos relatórios&lt;br /&gt;
o fluxo de filtrar por rota&lt;br /&gt;
e o documento também não deixa condizente como ela fará a execução desse fluxo&lt;br /&gt;
&amp;quot; no caso de pedidos por rota e por vendedor, seja possível pela filtração na lista de visualização.&lt;br /&gt;
&lt;br /&gt;
Implementação&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Regras de negócio fora da solução? ==&lt;br /&gt;
&lt;br /&gt;
A solução é onde se concentra a solução. Se algo faz parte da solução, precisa estar dentro dela. Se não faz parte da solução, então deveria ser um detalhe de implementação, um cenário ou a necessidade, ou algum trecho de conhecimento necessário para o entendimento de alguma dessas partes.&lt;br /&gt;
&lt;br /&gt;
== Que informação o grafo carreia? ==&lt;br /&gt;
&lt;br /&gt;
Não ficou claro para mim o porquê do grafo estar no documento.&lt;br /&gt;
&lt;br /&gt;
Na descrição, não vi nada realmente referente a alguma espécie de fluxo.&lt;br /&gt;
&lt;br /&gt;
Não há descrição das diferenças de cores entre os nós do grafo, apesar de que visualmente eles indicam nada além de um ponto de culminação do caminho, de onde o qual não há arestas de saída. Mesmo assim, essa conclusão é tirada assumindo que na real esse grafo seja direcionado, apesar de isto não estar claro.&lt;br /&gt;
&lt;br /&gt;
== Resultados esperados estão muito fracos e carrega pouca informação para o desenvolvimento ==&lt;br /&gt;
&lt;br /&gt;
Qual o significado de &amp;quot;a Plataforma GeoSales Evo irá buscar os dados relacionais referentes aos agrupamentos de Pedidos por Rota&amp;quot;?&lt;br /&gt;
&lt;br /&gt;
Não é palpável para o programdor essa informação&lt;br /&gt;
&lt;br /&gt;
E se o pedido 27 for do cliente 3, que está na rota 2, porém o pedido foi tirado fora da rota, ao agrupar por rotas devo mostrar que o pedido 27 está junto dos outros pedidos da rota 2?&lt;br /&gt;
&lt;br /&gt;
== O que é uma &amp;quot;rota pré-filtrada&amp;quot; conforme descrita no resultado de cenário &amp;quot;Cenário para o agrupamento de Pedidos por Vendedor e por Rota&amp;quot;? ==&lt;br /&gt;
&lt;br /&gt;
Pela definição solta das palavras, uma rota pré-filtrada pode ser a 15. Pronto.&lt;br /&gt;
&lt;br /&gt;
Isso significa que, de acordo com a estrita especificação descrita no cenário, se forem exibidos os pedidos da rota 15, mesmo que esse 15 não seja a rota selecionada no campo de filtro, mostrar apenas os pedidos da rota 15 estará certo&lt;/div&gt;</summary>
		<author><name>Jeffque</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Discuss%C3%A3o:Falta_de_Agrupamento_de_Pedidos&amp;diff=14347</id>
		<title>Discussão:Falta de Agrupamento de Pedidos</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Discuss%C3%A3o:Falta_de_Agrupamento_de_Pedidos&amp;diff=14347"/>
		<updated>2021-03-23T16:11:27Z</updated>

		<summary type="html">&lt;p&gt;Jeffque: /* Resultados esperados estão muito fracos e carrega pouca informação para o desenvolvimento */ nova seção&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Apontamentos&lt;br /&gt;
&lt;br /&gt;
Dei uma olhada aki&lt;br /&gt;
eu fico meio receoso com esse modelo de cenários que passaram para você&lt;br /&gt;
http://wiki.geosales.com.br:8000/index.php/Funcionalidade/Limite_de_cr%C3%A9dito&lt;br /&gt;
da uma olhada nesse documento&lt;br /&gt;
que tem uma pegada mais técnica&lt;br /&gt;
mas pode dar uma noção de como injetar informações no cenário&lt;br /&gt;
pq o cenário que tem na tua documentação só trás ações e não dados.&lt;br /&gt;
e tipo&lt;br /&gt;
tem uns 3 cenários de ações que fazem parte da correção que eu alinheir contigo que não tão ai&lt;br /&gt;
a execução dos relatórios&lt;br /&gt;
o fluxo de filtrar por rota&lt;br /&gt;
e o documento também não deixa condizente como ela fará a execução desse fluxo&lt;br /&gt;
&amp;quot; no caso de pedidos por rota e por vendedor, seja possível pela filtração na lista de visualização.&lt;br /&gt;
&lt;br /&gt;
Implementação&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Regras de negócio fora da solução? ==&lt;br /&gt;
&lt;br /&gt;
A solução é onde se concentra a solução. Se algo faz parte da solução, precisa estar dentro dela. Se não faz parte da solução, então deveria ser um detalhe de implementação, um cenário ou a necessidade, ou algum trecho de conhecimento necessário para o entendimento de alguma dessas partes.&lt;br /&gt;
&lt;br /&gt;
== Que informação o grafo carreia? ==&lt;br /&gt;
&lt;br /&gt;
Não ficou claro para mim o porquê do grafo estar no documento.&lt;br /&gt;
&lt;br /&gt;
Na descrição, não vi nada realmente referente a alguma espécie de fluxo.&lt;br /&gt;
&lt;br /&gt;
Não há descrição das diferenças de cores entre os nós do grafo, apesar de que visualmente eles indicam nada além de um ponto de culminação do caminho, de onde o qual não há arestas de saída. Mesmo assim, essa conclusão é tirada assumindo que na real esse grafo seja direcionado, apesar de isto não estar claro.&lt;br /&gt;
&lt;br /&gt;
== Resultados esperados estão muito fracos e carrega pouca informação para o desenvolvimento ==&lt;br /&gt;
&lt;br /&gt;
Qual o significado de &amp;quot;a Plataforma GeoSales Evo irá buscar os dados relacionais referentes aos agrupamentos de Pedidos por Rota&amp;quot;?&lt;br /&gt;
&lt;br /&gt;
Não é palpável para o programdor essa informação&lt;br /&gt;
&lt;br /&gt;
E se o pedido 27 for do cliente 3, que está na rota 2, porém o pedido foi tirado fora da rota, ao agrupar por rotas devo mostrar que o pedido 27 está junto dos outros pedidos da rota 2?&lt;/div&gt;</summary>
		<author><name>Jeffque</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Discuss%C3%A3o:Falta_de_Agrupamento_de_Pedidos&amp;diff=14335</id>
		<title>Discussão:Falta de Agrupamento de Pedidos</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Discuss%C3%A3o:Falta_de_Agrupamento_de_Pedidos&amp;diff=14335"/>
		<updated>2021-03-23T12:54:19Z</updated>

		<summary type="html">&lt;p&gt;Jeffque: /* Que informação o grafo carreia? */ nova seção&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Apontamentos&lt;br /&gt;
&lt;br /&gt;
Dei uma olhada aki&lt;br /&gt;
eu fico meio receoso com esse modelo de cenários que passaram para você&lt;br /&gt;
http://wiki.geosales.com.br:8000/index.php/Funcionalidade/Limite_de_cr%C3%A9dito&lt;br /&gt;
da uma olhada nesse documento&lt;br /&gt;
que tem uma pegada mais técnica&lt;br /&gt;
mas pode dar uma noção de como injetar informações no cenário&lt;br /&gt;
pq o cenário que tem na tua documentação só trás ações e não dados.&lt;br /&gt;
e tipo&lt;br /&gt;
tem uns 3 cenários de ações que fazem parte da correção que eu alinheir contigo que não tão ai&lt;br /&gt;
a execução dos relatórios&lt;br /&gt;
o fluxo de filtrar por rota&lt;br /&gt;
e o documento também não deixa condizente como ela fará a execução desse fluxo&lt;br /&gt;
&amp;quot; no caso de pedidos por rota e por vendedor, seja possível pela filtração na lista de visualização.&lt;br /&gt;
&lt;br /&gt;
Implementação&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Regras de negócio fora da solução? ==&lt;br /&gt;
&lt;br /&gt;
A solução é onde se concentra a solução. Se algo faz parte da solução, precisa estar dentro dela. Se não faz parte da solução, então deveria ser um detalhe de implementação, um cenário ou a necessidade, ou algum trecho de conhecimento necessário para o entendimento de alguma dessas partes.&lt;br /&gt;
&lt;br /&gt;
== Que informação o grafo carreia? ==&lt;br /&gt;
&lt;br /&gt;
Não ficou claro para mim o porquê do grafo estar no documento.&lt;br /&gt;
&lt;br /&gt;
Na descrição, não vi nada realmente referente a alguma espécie de fluxo.&lt;br /&gt;
&lt;br /&gt;
Não há descrição das diferenças de cores entre os nós do grafo, apesar de que visualmente eles indicam nada além de um ponto de culminação do caminho, de onde o qual não há arestas de saída. Mesmo assim, essa conclusão é tirada assumindo que na real esse grafo seja direcionado, apesar de isto não estar claro.&lt;/div&gt;</summary>
		<author><name>Jeffque</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Discuss%C3%A3o:Falta_de_Agrupamento_de_Pedidos&amp;diff=14334</id>
		<title>Discussão:Falta de Agrupamento de Pedidos</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Discuss%C3%A3o:Falta_de_Agrupamento_de_Pedidos&amp;diff=14334"/>
		<updated>2021-03-23T12:01:00Z</updated>

		<summary type="html">&lt;p&gt;Jeffque: /* Regras de negócio fora da solução? */ nova seção&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Apontamentos&lt;br /&gt;
&lt;br /&gt;
Dei uma olhada aki&lt;br /&gt;
eu fico meio receoso com esse modelo de cenários que passaram para você&lt;br /&gt;
http://wiki.geosales.com.br:8000/index.php/Funcionalidade/Limite_de_cr%C3%A9dito&lt;br /&gt;
da uma olhada nesse documento&lt;br /&gt;
que tem uma pegada mais técnica&lt;br /&gt;
mas pode dar uma noção de como injetar informações no cenário&lt;br /&gt;
pq o cenário que tem na tua documentação só trás ações e não dados.&lt;br /&gt;
e tipo&lt;br /&gt;
tem uns 3 cenários de ações que fazem parte da correção que eu alinheir contigo que não tão ai&lt;br /&gt;
a execução dos relatórios&lt;br /&gt;
o fluxo de filtrar por rota&lt;br /&gt;
e o documento também não deixa condizente como ela fará a execução desse fluxo&lt;br /&gt;
&amp;quot; no caso de pedidos por rota e por vendedor, seja possível pela filtração na lista de visualização.&lt;br /&gt;
&lt;br /&gt;
Implementação&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Regras de negócio fora da solução? ==&lt;br /&gt;
&lt;br /&gt;
A solução é onde se concentra a solução. Se algo faz parte da solução, precisa estar dentro dela. Se não faz parte da solução, então deveria ser um detalhe de implementação, um cenário ou a necessidade, ou algum trecho de conhecimento necessário para o entendimento de alguma dessas partes.&lt;/div&gt;</summary>
		<author><name>Jeffque</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Discuss%C3%A3o:Estoque_Reservado&amp;diff=13754</id>
		<title>Discussão:Estoque Reservado</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Discuss%C3%A3o:Estoque_Reservado&amp;diff=13754"/>
		<updated>2020-10-07T19:40:25Z</updated>

		<summary type="html">&lt;p&gt;Jeffque: /* Integração */ Algumas correções ortográficas&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Desenvolvimento ==&lt;br /&gt;
&lt;br /&gt;
# Será necessário criar um novo identificador de Json para enviar pedidos orçados. Vale salientar que pedidos com o status cancelado ou com a situação efetivada não deverão estar presente nesse Json.&lt;br /&gt;
# Será necessário criar um serviço para cancelamento de pedidos que funcionará em conjunto com uma configuração. Esse parâmetro será configurado com a quantidade de dias corridos para definir quando o pedido poderá ser cancelado, após a emissão do pedido.&lt;br /&gt;
&lt;br /&gt;
== Integração ==&lt;br /&gt;
&lt;br /&gt;
# Será necessário criar um campo no ERP para informar se o pedido possui a situação orçada ou não. Essa tratativa tem como ação evitar pedidos duplicados no ERP (Essa é uma trativa que o Jardel solicitou que fosse colocada no documento, pois ele precisa garatir que o pedido não integre duas vezes no ERP);&lt;br /&gt;
# Será necessário identificar se o pedido teve alteração ou não. Dessa forma evitamos que o pedido seja enviado várias vezes ao ERP;&lt;br /&gt;
# Será necessário adequar o fonte para pegar o novo arquivo Json;&lt;br /&gt;
# Será necessário retornar na URL a última data de validade do TJ dos pedidos orçados;&lt;br /&gt;
# Os pedidos orçados não deverão retornar nas tabelas pedido_retorno e item_pedido_retorno;&lt;br /&gt;
# Será necessário informar através da ack se a exportação de pedidos orçados foi realizada com sucesso ou falha.&lt;br /&gt;
&lt;br /&gt;
== Questionamentos ==&lt;br /&gt;
&lt;br /&gt;
==== Desenvolvimento ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;será necessário criar uma nova descrição na NM_TABLE na tabela ACK_TABELA_PROCEDURE&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em relação a o que é dito na tratativa do ACK, qual a tratativa que será feita com o ACK do orçamento enviado?&lt;br /&gt;
&lt;br /&gt;
Digo isso porque o comportamento padrão é salvar para futura disponibilização os sucessos e erros. Tratativas especiais são feitas sob demanda; por exemplo, a tratativa do pedido é atualizar a data de exportação caso tenha sido enviada com sucesso. Assim, qual a necessidade dessa tratativa?&lt;br /&gt;
&lt;br /&gt;
Então não vejo o porquê de ter algo desse tipo.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Será necessária criar um novo modelo de Json [...]&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tenho a impressão de que não era essa a intenção... O modelo será o mesmo do pedido, com um identificador distinto.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;[...] Vale salientar que pedidos com o status cancelado ou com a situação efetivada não deverão estar presente nesse Json&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Melhor separar em '''extração''' de dados essa questão.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Será necessário criar um serviço para cancelamento de pedidos que funcionará em conjunto com uma configuração&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Já há algo nesse sentido no Erp-Importer. No rodapé da documentação pública do Erp-Importer temos o seguinte dito:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Ainda existem os end-points &amp;lt;code&amp;gt;{host/contexto}/{tenant}/data/{tabela}/{chave}&amp;lt;/code&amp;gt; e &amp;lt;code&amp;gt;{host/contexto}/{tenant}/import-new&amp;lt;/code&amp;gt;, serão documentados posteriormente.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No caso, o end-point específico &amp;lt;code&amp;gt;{host/contexto}/{tenant}/data/{tabela}/{chave}&amp;lt;/code&amp;gt; permite resgatar/alterar/deletar coisas da chave específica. Só foi implementado coisas relativas a tabelas de chave única (como é o caso de pedido). Detalhes do como fazer isso posso fornecer depois. O Protheus tem suporte aos detalhes necessários para fazer essa atualização específica.&lt;br /&gt;
&lt;br /&gt;
Será feita a atualização na documentação em https://softsite.gitlab.io/tj2/erp-importer para falar especificamente sobre esse end-point e suas capacidades.&lt;br /&gt;
&lt;br /&gt;
==== Integração ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Será necessário adequar o fonte para pegar o novo arquivo Json&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Será um novo consumo de serviço. Talvez nem tanto &amp;quot;adequar&amp;quot; um fonte pré-existente, talvez criar um novo. Não gosto de entrar tanto no mérito do '''como''' será feito, apenas o que espero do '''resultado final'''. Enfim, só um detalhe de comunicação&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Será necessário retornar na URL a última data de validade do TJ dos pedidos orçados&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aqui, novamente, conforme conversamos, indo para o ponto em que a nomenclatura é correta. É responsabilidade do ''cliente'' fornecer qual foi a última data ''através'' da URL. Detalhes precisos do como é feita essa informação será adicionada na documentação do erp-importer https://softsite.gitlab.io/tj2/erp-importer.&lt;br /&gt;
&lt;br /&gt;
Esse dado será disponibilizado através da &amp;quot;tabela&amp;quot; de nome &amp;lt;code&amp;gt;VALIDADE_TJ&amp;lt;/code&amp;gt;. Essa &amp;quot;tabela&amp;quot; conterá uma única linha com uma única coluna. Mais detalhes serão especificados em https://softsite.gitlab.io/tj2/protocolo-tj, assim como será mencionado adequadamente aqui https://softsite.gitlab.io/tj2/erp-integrator.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Será necessário salvar na ack a falha ou sucesso da exportação dos pedidos orçados&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No caso, não deveria estar descrito &amp;quot;será necessário informar através do ACK se os orçamentos foram enviados com sucesso ou não&amp;quot;?&lt;/div&gt;</summary>
		<author><name>Jeffque</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Discuss%C3%A3o:Estoque_Reservado&amp;diff=13753</id>
		<title>Discussão:Estoque Reservado</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Discuss%C3%A3o:Estoque_Reservado&amp;diff=13753"/>
		<updated>2020-10-07T19:35:54Z</updated>

		<summary type="html">&lt;p&gt;Jeffque: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Desenvolvimento ==&lt;br /&gt;
&lt;br /&gt;
# Será necessário criar um novo identificador de Json para enviar pedidos orçados. Vale salientar que pedidos com o status cancelado ou com a situação efetivada não deverão estar presente nesse Json.&lt;br /&gt;
# Será necessário criar um serviço para cancelamento de pedidos que funcionará em conjunto com uma configuração. Esse parâmetro será configurado com a quantidade de dias corridos para definir quando o pedido poderá ser cancelado, após a emissão do pedido.&lt;br /&gt;
&lt;br /&gt;
== Integração ==&lt;br /&gt;
&lt;br /&gt;
# Será necessário criar um campo no ERP para informar se o pedido possui a situação orçada ou não. Essa tratativa tem como ação evitar pedidos duplicados no ERP (Essa é uma trativa que o Jardel solicitou que fosse colocada no documento, pois ele precisa garatir que o pedido não integre duas vezes no ERP);&lt;br /&gt;
# Será necessário identificar se o pedido teve alteração ou não. Dessa forma evitamos que o pedido seja enviado várias vezes ao ERP;&lt;br /&gt;
# Será necessário adequar o fonte para pegar o novo arquivo Json;&lt;br /&gt;
# Será necessário retornar na URL a última data de validade do TJ dos pedidos orçados;&lt;br /&gt;
# Os pedidos orçados não deverão retornar nas tabelas pedido_retorno e item_pedido_retorno;&lt;br /&gt;
# Será necessário informar através da ack se a esxportação de pedidos orçados doi realizada com sucesso ou falha.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Questionamentos ==&lt;br /&gt;
&lt;br /&gt;
==== Desenvolvimento ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;será necessário criar uma nova descrição na NM_TABLE na tabela ACK_TABELA_PROCEDURE&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em relação a o que é dito na tratativa do ACK, qual a tratativa que será feita com o ACK do orçamento enviado?&lt;br /&gt;
&lt;br /&gt;
Digo isso porque o comportamento padrão é salvar para futura disponibilização os sucessos e erros. Tratativas especiais são feitas sob demanda; por exemplo, a tratativa do pedido é atualizar a data de exportação caso tenha sido enviada com sucesso. Assim, qual a necessidade dessa tratativa?&lt;br /&gt;
&lt;br /&gt;
Então não vejo o porquê de ter algo desse tipo.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Será necessária criar um novo modelo de Json [...]&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tenho a impressão de que não era essa a intenção... O modelo será o mesmo do pedido, com um identificador distinto.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;[...] Vale salientar que pedidos com o status cancelado ou com a situação efetivada não deverão estar presente nesse Json&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Melhor separar em '''extração''' de dados essa questão.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Será necessário criar um serviço para cancelamento de pedidos que funcionará em conjunto com uma configuração&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Já há algo nesse sentido no Erp-Importer. No rodapé da documentação pública do Erp-Importer temos o seguinte dito:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Ainda existem os end-points &amp;lt;code&amp;gt;{host/contexto}/{tenant}/data/{tabela}/{chave}&amp;lt;/code&amp;gt; e &amp;lt;code&amp;gt;{host/contexto}/{tenant}/import-new&amp;lt;/code&amp;gt;, serão documentados posteriormente.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No caso, o end-point específico &amp;lt;code&amp;gt;{host/contexto}/{tenant}/data/{tabela}/{chave}&amp;lt;/code&amp;gt; permite resgatar/alterar/deletar coisas da chave específica. Só foi implementado coisas relativas a tabelas de chave única (como é o caso de pedido). Detalhes do como fazer isso posso fornecer depois. O Protheus tem suporte aos detalhes necessários para fazer essa atualização específica.&lt;br /&gt;
&lt;br /&gt;
Será feita a atualização na documentação em https://softsite.gitlab.io/tj2/erp-importer para falar especificamente sobre esse end-point e suas capacidades.&lt;br /&gt;
&lt;br /&gt;
==== Integração ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Será necessário adequar o fonte para pegar o novo arquivo Json&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Será um novo consumo de serviço. Talvez nem tanto &amp;quot;adequar&amp;quot; um fonte pré-existente, talvez criar um novo. Não gosto de entrar tanto no mérito do '''como''' será feito, apenas o que espero do '''resultado final'''. Enfim, só um detalhe de comunicação&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Será necessário retornar na URL a última data de validade do TJ dos pedidos orçados&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aqui, novamente, conforme conversamos, indo para o ponto em que a nomenclatura é correta. É responsabilidade do ''cliente'' fornecer qual foi a última data ''através'' da URL. Detalhes precisos do como é feita essa informação será adicionada na documentação do erp-importer https://softsite.gitlab.io/tj2/erp-importer.&lt;br /&gt;
&lt;br /&gt;
Esse dado será disponibilizado através da &amp;quot;tabela&amp;quot; de nome &amp;lt;code&amp;gt;VALIDADE_TJ&amp;lt;/code&amp;gt;. Essa &amp;quot;tabela&amp;quot; conterá uma única linha com uma única coluna. Mais detalhes serão especificados em https://softsite.gitlab.io/tj2/protocolo-tj, assim como será mencionado adequadamente aqui https://softsite.gitlab.io/tj2/erp-integrator.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Será necessário salvar na ack a falha ou sucesso da exportação dos pedidos orçados&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No caso, não deveria estar descrito &amp;quot;será necessário informar através do ACK se os orçamentos foram enviados com sucesso ou não&amp;quot;?&lt;/div&gt;</summary>
		<author><name>Jeffque</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Aplica%C3%A7%C3%A3o_de_Desconto_por_Per%C3%ADodo_Log%C3%ADstico&amp;diff=11892</id>
		<title>Aplicação de Desconto por Período Logístico</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Aplica%C3%A7%C3%A3o_de_Desconto_por_Per%C3%ADodo_Log%C3%ADstico&amp;diff=11892"/>
		<updated>2019-05-17T12:22:08Z</updated>

		<summary type="html">&lt;p&gt;Jeffque: Typo&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;
| 13/11/2018  || Ryvane Maria || Criação do documento &lt;br /&gt;
|-&lt;br /&gt;
| 17/04/2019  || Ryvane Maria || Inclusão de solicitações do cliente &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
&lt;br /&gt;
É possível que seja aplicado, durante um determinado período de tempo, um percentual de desconto logístico faseado sob uma venda. Este desconto possibilita, por exemplo, alavancar as vendas antes do fechamento do fim do mês.&lt;br /&gt;
&lt;br /&gt;
Esse percentual de desconto, chamado de desconto por período logístico, tendo como base de cálculo a data de faturamento do pedido, e varia de acordo com o período do mês. Este desconto deverá ser cadastrado diretamente no GeoSales, conforme previsto no documento [[Cadastro de Desconto por Período Logístico]].&lt;br /&gt;
&lt;br /&gt;
== Solução ==&lt;br /&gt;
&lt;br /&gt;
Será utilizada como data base de cálculo de desconto, a data de faturamento prevista para o pedido. No momento que a data de faturamento prevista for definida, o GeoSales irá informar ao vendedor que existe, para a organização de venda, canal de venda e grupo de cliente selecionados, um desconto para aquele período logístico, e perguntar se o vendedor deseja aplicar algum desconto ou não. É importante salientar que o percentual inserido será aplicado sob todos os itens do pedido. &lt;br /&gt;
&lt;br /&gt;
É importante salientar, também, que este desconto será validado considerando a data de faturamento do pedido, ou seja, o desconto aplicado será referente o período em que se encaixa a data de faturamento do pedido. Caso haja um desconto a ser aplicado neste período, o vendedor será alertado e poderá decidir entre aplicar ou não, e qual valor aplicar, o desconto sob o valor final do pedido, ou seja, sob todos os seus itens.&lt;br /&gt;
&lt;br /&gt;
== Implementação ==&lt;br /&gt;
&lt;br /&gt;
'''- Parametrizar o desconto no GeoSales:'''&lt;br /&gt;
&lt;br /&gt;
O usuário deverá, inicialmente, cadastrar o desconto de período logístico na sua respectiva tela de cadastro, conforme mencionado no documento de [[Cadastro de Desconto por Período Logístico]]. Nesta tela o usuário deverá inserir o dia inicial e final do período, organização de venda, canal de venda, grupo de clientes, data de vigência e o percentual de desconto a ser aplicado.&lt;br /&gt;
&lt;br /&gt;
'''- Validar o período logístico:'''&lt;br /&gt;
&lt;br /&gt;
Cadastradas as informações acima, que serão salvas na tabela DESCONTO_PERIODO, o GeoSales deverá validar, no momento do cadastro de pedido, logo após a definição da data de faturamento, se há um desconto a ser aplicado de acordo com a organização de venda, canal de venda, grupo de cliente e a data de faturamento cadastrada.&lt;br /&gt;
&lt;br /&gt;
Essa validação deve ser feita tão logo a data de faturamento seja definida no pedido. Ou seja, quando o usuário selecionar a data de faturamento, o campo de aplicação de desconto logístico será liberado para inclusão do percentual de desconto, e o usuário poderá definir um desconto a ser aplicado para aquele período logístico. Portanto, o percentual definido nas regras de cadastro é o valor máximo que pode ser aplicado pelo vendedor. Por exemplo: caso tenha sido cadastrada uma regra de desconto no valor de 5%, o vendedor poderá aplicar qualquer desconto entre 0 e 5%.&lt;br /&gt;
&lt;br /&gt;
É válido salientar que, caso essa data de faturamento seja alterada, o GeoSales deverá realizar uma nova validação. Ou seja, caso o vendedor opte por aplicar um desconto, e, logo depois, precise alterar a data de faturamento por qualquer motivo, o GeoSales deverá validar novamente se há desconto para a nova data de faturamento.&lt;br /&gt;
&lt;br /&gt;
'''- Aplicar descontos no pedido:'''&lt;br /&gt;
&lt;br /&gt;
Caso seja identificado que há um desconto para a data de faturamento cadastrada, e o vendedor opte por aplicar o desconto no pedido, o percentual de desconto contido no campo PR_DESCONTO_PERIODO da tabela DESCONTO_PERIODO poderá ser aplicado sob o valor final do pedido, ou seja, sob todos os itens, cabe então ao vendedor inserir o percentual de desconto a ser aplicado, respeitando o máximo parametrizado para este desconto. Neste caso, é importante salientar que a data de faturamento se trata da data prevista que o pedido será faturado, e não da data de criação do pedido.&lt;br /&gt;
&lt;br /&gt;
É importante salientar que, caso o usuário insira novos itens, mesmo que isso não altere o LeadTime de faturamento, o desconto por período logístico aplicado anteriormente deverá ser aplicado também sob os novos itens inseridos.&lt;br /&gt;
&lt;br /&gt;
== Regras de Negócios ==&lt;br /&gt;
&lt;br /&gt;
'''[RN1] - ''' O vendedor poderá decidir se irá ou não aplicar o desconto logístico quando a data de faturamento for definida.&lt;br /&gt;
&lt;br /&gt;
'''[RN2] - ''' A validação de desconto por período logístico será feita baseando-se na data de faturamento do pedido. Caso essa data de faturamento seja alterada, o GeoSales deverá realizar uma nova validação. &lt;br /&gt;
&lt;br /&gt;
'''[RN3] - ''' O desconto por período logístico será aplicado sob o valor final do pedido, ou seja, sob todos os produtos inseridos.&lt;br /&gt;
&lt;br /&gt;
'''[RN4] - ''' Caso, após definir uma data de faturamento, o vendedor queira inserir novos itens que alterem o leadtime de faturamento previsto, a data de faturamento será recalculada e será necessário selecionar uma nova data de faturamento, dentro do cenário de LeadTime atual.&lt;br /&gt;
&lt;br /&gt;
'''[RN5] - ''' Os descontos aplicados em um pedido serão aplicados sob o valor atual do pedido, ou seja, sob o valor com descontos que possam já ter sido aplicados anteriormente. Por exemplo: em um pedido de 100 Reais, já foi aplicado 10% de desconto, resultando 90 reais, caso o vendedor deseje aplicar um desconto de período logístico de 10%, este desconto será aplicado sob o valor atual do pedido, ou seja, 90 reais. A partir daí, o pedido resultaria em 81 reais totais.&lt;br /&gt;
&lt;br /&gt;
== Regras de Integração ==&lt;br /&gt;
&lt;br /&gt;
'''[RI1] - ''' As informações de desconto por período logístico serão cadastradas diretamente no GeoSales e não serão trazidas do ERP.&lt;br /&gt;
&lt;br /&gt;
'''[RI2] - ''' As informações de percentual de desconto por período logístico será salva no campo XXX do ERP.&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 || Jefferson Quesado || 21/12/2019&lt;br /&gt;
|- &lt;br /&gt;
| Integração - GeoSales ||  || &lt;br /&gt;
|-&lt;br /&gt;
| Configurações - GeoSales ||  || &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;
! style=&amp;quot;width:200px&amp;quot; |Aprovado Por&lt;br /&gt;
! style=&amp;quot;width:200px&amp;quot; |Data&lt;br /&gt;
&lt;br /&gt;
|-  &lt;br /&gt;
| TI - Montana ||  || &lt;br /&gt;
|- &lt;br /&gt;
| Gestor do Projeto - Montana ||  || &lt;br /&gt;
|- &lt;br /&gt;
| Diretoria - Montana ||  || &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Jeffque</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Composi%C3%A7%C3%A3o_do_pre%C3%A7o_de_venda&amp;diff=11850</id>
		<title>Composição do preço de venda</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Composi%C3%A7%C3%A3o_do_pre%C3%A7o_de_venda&amp;diff=11850"/>
		<updated>2019-05-07T11:40:10Z</updated>

		<summary type="html">&lt;p&gt;Jeffque: &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;
|  02/04/2019  || Ana Júlia || Criação do documento&lt;br /&gt;
|-&lt;br /&gt;
|  06/05/2019  || Jefferson Quesado || Revisão do documento&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
&lt;br /&gt;
O preço da Famiglia Zanlorenzi dentro do ERP, é constituído pelo preço de tabela somado ao frete e divido pela alíquota do PIS, COFIN, ICMS. Além disso, para que o preço seja construído, o ERP considera também um percentual de acréscimo de contrato do cliente. Este percentual é definido por cliente e família de produto.&lt;br /&gt;
&lt;br /&gt;
Desta forma, a Famiglia Zanlorenzi necessita que a composição de preço do produto, no GeoSales, seja feita pela soma do preço de tabela ao frete e divido pela alíquota do PIS, COFINS, ICMS, e o percentual do contrato com o cliente.&lt;br /&gt;
&lt;br /&gt;
== Solução ==&lt;br /&gt;
&lt;br /&gt;
No ERP da Famiglia Zanlorenzi o cliente possui um percentual de acréscimo por família de produto. Para que o percentual de acréscimo reflita no GeoSales, será necessário realizar a integração da tabela VERBA_CONTRATUAL. Além disso, para atender a necessidade de vinculação de cliente e família de produto, será necessário criar a coluna CD_FAMILIA na tabela VERBA_CONTRATUAL.&lt;br /&gt;
&lt;br /&gt;
Para que o preço dentro do GeoSales EVO seja constituído pela soma do preço de tabela ao frete divido pela alíquota do PIS, COFINS, ICMS e Verba Financeira será necessário desenvolver uma regra de composição de preço.&lt;br /&gt;
&lt;br /&gt;
== Implementação ==&lt;br /&gt;
&lt;br /&gt;
=== Desenvolvimento ===&lt;br /&gt;
&lt;br /&gt;
'''- Constituição do preço de venda'''&lt;br /&gt;
&lt;br /&gt;
Para que no GeoSales EVO o preço seja composto pelo preço de tabela somado ao frete divido pelos percentuais do PIS, COFINS, ICMS e Verba Contratual, será necessário criar uma nova regra de composição de preço. &lt;br /&gt;
&lt;br /&gt;
Para atender a necessidade da Famiglia Zanlorenzi, será necessário criar as tabelas COMPOSICAO_PRECO e FORMULA_COMPOSICAO_PRECO. Essas tabelas irão definir, como e o quê, irá compor o preço de venda. Além disso, será possível definir por organização de venda e pelo tipo do pedido. Vale salientar que a tabela COMPOSICAO_PRECO e FORMULA_COMPOSICAO_PRECO são preenchidas exclusivamente pelo GeoSales. A Famiglia Zanlorenzi utilizará da seguinte fórmula:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Zanlorenzi composicao preco venda calculo de demonstranação.PNG|center]]&lt;br /&gt;
&lt;br /&gt;
=== Integração ===&lt;br /&gt;
&lt;br /&gt;
'''- Percentual de contrato'''&lt;br /&gt;
&lt;br /&gt;
Dentro do ERP o cliente possui um acréscimo no preço de tabela. Este acréscimo é definido por famílias de produtos. Para que esse percentual seja refletido no GeoSales, será necessário realizar a integração da tabela VERBA_CONTRATUAL, segue abaixo estrutura:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;5&amp;quot;  | PERCENTUAL DE ACRÉSCIMO&lt;br /&gt;
|-&lt;br /&gt;
! Tabela ERP&lt;br /&gt;
! Coluna ERP&lt;br /&gt;
! Tabela GeoSales&lt;br /&gt;
! Coluna ERP&lt;br /&gt;
|- &lt;br /&gt;
| SA1 || A1_COD || VERBA_FINANCEIRA || CD_CLIENTE&lt;br /&gt;
|- &lt;br /&gt;
| SA1 || A1_COADFIN || VERBA_CONTRATUAL || PR_MAX_DESC&lt;br /&gt;
|- &lt;br /&gt;
| SA1 || A1_CONDFIN || VERBA_CONTRATUAL || PR_MAX_DESC&lt;br /&gt;
|- &lt;br /&gt;
| SA1 || A1_CONVERP || VERBA_CONTRATUAL || PR_MAX_DESC&lt;br /&gt;
|- &lt;br /&gt;
| SB1 || B1_SUBGRUP || VERBA_CONTRATUAL || CD_FAMILIA&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Por questões de estruturas, os percentuais de acréscimo devem vir integrados com o sinal de (-), como, por exemplo: &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Exemplo zanlorenzi de acrescimo no produto porcliente e familia.PNG]]&lt;br /&gt;
&lt;br /&gt;
A integração no exemplo dado acima deve ser de '''-4'''. Saliento que esses cenários ocorrem somente para acréscimos.&lt;br /&gt;
&lt;br /&gt;
'''Observação:''' Dentro do GeoSales existe um cadastro de Verba Contratual, porém, não é possível cadastrar acréscimos. É de suma importância que o acréscimo seja integrado ao GeoSales.&lt;br /&gt;
&lt;br /&gt;
== Regras de Negócios ==&lt;br /&gt;
&lt;br /&gt;
'''[RN1] - ''' O sistema só irá aplicar o percentual de contrato se houver dados de vinculação de cliente e família de produto na tabela VERBA_CONTRATUAL.&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>Jeffque</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Aplica%C3%A7%C3%A3o_de_Desconto_por_condi%C3%A7%C3%A3o_de_pagamento&amp;diff=10717</id>
		<title>Aplicação de Desconto por condição de pagamento</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Aplica%C3%A7%C3%A3o_de_Desconto_por_condi%C3%A7%C3%A3o_de_pagamento&amp;diff=10717"/>
		<updated>2018-12-21T05:12:42Z</updated>

		<summary type="html">&lt;p&gt;Jeffque: Deixando claro a estratégia do Null coalesce; reinserindo a coluna com o valor do desonto; corrigindo nome de alguma tabela perdida no texto&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;
|  16/11/2018  || Ryvane Maria || Criação do documento  &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
&lt;br /&gt;
Algumas condições de pagamento, por exemplo 'a vista', viabilizam a aplicação de descontos no processo de negociação. Este percentual de desconto por condição de pagamento deve ser aplicado de forma automática, diretamente sob o valor do pedido.&lt;br /&gt;
&lt;br /&gt;
Diferente de alguns outros percentuais de descontos que podem ser aplicados em um pedido, o desconto por condição de pagamento não necessita de interferência do vendedor, e, conforme seja integrado do ERP junto a condição de pagamento, será devidamente aplicado sob o valor final do pedido.&lt;br /&gt;
&lt;br /&gt;
== Solução ==&lt;br /&gt;
&lt;br /&gt;
Aplicado de forma automática no pedido, de acordo com a organização de venda e a condição de pagamento selecionada, o desconto por condição de pagamento não precisa de interferência do vendedor e, conforme seja integrado do ERP junto a condição de pagamento, será aplicado sob o valor final do pedido.&lt;br /&gt;
 &lt;br /&gt;
Ao passo da seleção da condição de pagamento pelo vendedor, no momento da finalização do pedido, o GeoSales irá verificar se há um desconto cadastrado associado a condição de pagamento selecionada. Caso haja, este desconto será aplicado diretamente sobre o valor final do pedido, sem que se tenha a necessidade de que seja executada alguma ação de aplicação de desconto pelo usuário.&lt;br /&gt;
&lt;br /&gt;
== Implementação ==&lt;br /&gt;
&lt;br /&gt;
'''- Integrar informações de associação de desconto por condição de pagamento:'''&lt;br /&gt;
&lt;br /&gt;
As informações de condição de pagamento serão trazidas da tabela XXX do campo YYY no ERP. Já as informações de organização de venda serão trazidas da tabela XXX do campo YYY no ERP. &lt;br /&gt;
&lt;br /&gt;
'''- Salvar informações integradas no banco de dados do GeoSales:'''&lt;br /&gt;
&lt;br /&gt;
Ao integrar as informações de condição de pagamento, o GeoSales irá integrar também o desconto a ser aplicado para cada condição de pagamento integrada.&lt;br /&gt;
&lt;br /&gt;
O percentual de desconto por condição de pagamento deverá ser salvo no campo PR_DESCONTO da tabela CONDICAO_PAGAMENTO. &lt;br /&gt;
Para associar os dados de condição de pagamento a organização de venda a ser utilizada, será criada uma estrutura com finalizada de normatizar essas informações.&lt;br /&gt;
&lt;br /&gt;
Caso não haja nenhum percentual de desconto associado a condição de pagamento no ERP, deverá ser integrado e salvo no campo PR_DESCONTO o valor 0 (zero). &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;5&amp;quot;  | ORG_VENDA_CONDICAO_PAGAMENTO&lt;br /&gt;
|-&lt;br /&gt;
! Coluna || Tipo || Obrigatório || Chave Primária || Explicação&lt;br /&gt;
|- &lt;br /&gt;
| CD_COND_PGTO || Int || SIM || NAO || Código da condição de pagamento&lt;br /&gt;
|-&lt;br /&gt;
| CD_ORG_VENDA || Varchar(20) || SIM || NAO || Código da organização de venda&lt;br /&gt;
|-&lt;br /&gt;
| PR_DESCONTO || Decimal(18,6) || SIM || NAO || Percentual de desconto&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''- Aplicar desconto no cadastro de pedido do Geosales:'''&lt;br /&gt;
&lt;br /&gt;
Havendo um desconto diferente de zero salvo no campo PR_DESCONTO da tabela ORG_VENDA_CONDICAO_PAGAMENTO, o Geosales irá aplicar este valor, dado em percentual, sob o valor total do pedido.&lt;br /&gt;
&lt;br /&gt;
Por exemplo: Um vendedor está cadastrando um pedido, que tem como valor total R$1000 (mil reais). Na finalização do pedido, o vendedor seleciona a condição de pagamento 'a vista', que tem desconto de 10% parametrizado na tabela CONDICAO_PAGAMENTO para a organização de venda selecionada. Ao passo da seleção dessa condição de pagamento, será aplicado 10% de desconto no pedido, que terá seu valor ajustado para R$900 (novecentos reais).&lt;br /&gt;
&lt;br /&gt;
Caso haja cadastrado algum valor de desconto na coluna PR_DESCONTO da tabela CONDICAO_PAGAMENTO e, também, em ORG_VENDA_CONDICAO_PAGAMENTO para a condição de pagamento de mesmo código, prevalece a informação de ORG_VENDA_CONDICAO_PAGAMENTO.&lt;br /&gt;
&lt;br /&gt;
Por exemplo: &amp;quot;à vista&amp;quot; tem, em seu cadastro, 5% de desconto. Porém, para a organização de venda 0101, há um cadastro na ORG_VENDA_CONDICAO_PAGAMENTO para a condição à vista com 10% de desconto; já para a organização de venda 0102,  há um cadastro na ORG_VENDA_CONDICAO_PAGAMENTO para a condição à vista com 1% de desconto. Caso um vendedor realize um pedido de R$ 100,00 para a organização de venda 0101, ao selecionar a condição &amp;quot;à vista&amp;quot;, o preço do pedido se tornará R$ 90,00; já, se for para a organização de venda 0102, esse preço seria de 99; para a organização de venda 0103, o preço do pedido será de R$ 95,00.&lt;br /&gt;
&lt;br /&gt;
== Regras de Negócios ==&lt;br /&gt;
&lt;br /&gt;
'''[RN1] - ''' O desconto por condição de pagamento será cadastrado e parametrizado exclusivamente no ERP.&lt;br /&gt;
&lt;br /&gt;
'''[RN2] - ''' Além do desconto, será possível aplicar um acréscimo por condição de pagamento, também parametrizado no ERP no mesmo cadastro do desconto por condição de pagamento. Este acréscimo será aplicado caso o valor cadastrado no campo seja negativo.&lt;br /&gt;
&lt;br /&gt;
== Regras de Integração ==&lt;br /&gt;
&lt;br /&gt;
'''[RI1] - ''' Os dados de condição de pagamento serão trazidos da tabela XXXX do ERP.&lt;br /&gt;
&lt;br /&gt;
'''[RI2] - ''' Caso não haja nenhum percentual de desconto associado a condição de pagamento no ERP, deverá ser integrado e salvo no campo PR_DESCONTO o valor 0 (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>Jeffque</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Discuss%C3%A3o:Aplica%C3%A7%C3%A3o_de_Desconto_por_Per%C3%ADodo_Log%C3%ADstico&amp;diff=10701</id>
		<title>Discussão:Aplicação de Desconto por Período Logístico</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Discuss%C3%A3o:Aplica%C3%A7%C3%A3o_de_Desconto_por_Per%C3%ADodo_Log%C3%ADstico&amp;diff=10701"/>
		<updated>2018-12-18T21:00:11Z</updated>

		<summary type="html">&lt;p&gt;Jeffque: Criou página com 'A priori, o que estou vendo da UI é o seguinte (para o caso em que o usuário inserirá algum desconto de período logístico):  # usuário seleciona uma data # sistema detec...'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A priori, o que estou vendo da UI é o seguinte (para o caso em que o usuário inserirá algum desconto de período logístico):&lt;br /&gt;
&lt;br /&gt;
# usuário seleciona uma data&lt;br /&gt;
# sistema detecta que a data está no alcance do período logístico&lt;br /&gt;
# sistema informa ao usuário que existe o desconto de X%&lt;br /&gt;
# sistema pergunta ao usuário o quanto ele quer colocar dos X% de desconto&lt;br /&gt;
# usuário informa Y%, o desconto a ser aplicado (Y &amp;lt;= X)&lt;br /&gt;
# para cada item cadastrado no pedido, o sistema colocará Y% de desconto&lt;br /&gt;
&lt;br /&gt;
Porém, isso tem alguns revezes...&lt;br /&gt;
&lt;br /&gt;
# O que acontece com itens posteriormente inseridos? O sistema coloca o desconto informado neles?&lt;br /&gt;
# O desconto a ser inserido, entra como desconto adicional? Desconto padrão? Fica de algum jeito visível para o usuário?&lt;br /&gt;
# O sistema não impede que o usuário altere esse valor... entretanto, a única abertura possível para o usuário alterar esse desconto é setar uma nova data de faturamento... isso é certo?&lt;br /&gt;
# O que acontece quando algum dos itens já tiver algum desconto manual?&lt;br /&gt;
&lt;br /&gt;
Faltaram-me cenários de exemplos também. Isso implica que não há uma validação fria, objetiva e 100% não-ambígua para alguns cenários. O ideal é sempre que possível fornecer cenários para que possamos automatizar os testes e garantir a parte da lógica da implementação.&lt;br /&gt;
&lt;br /&gt;
Um cenário consiste de 3 partes:&lt;br /&gt;
&lt;br /&gt;
* dados&lt;br /&gt;
* operações&lt;br /&gt;
* aferições&lt;br /&gt;
&lt;br /&gt;
Isso deve ser fornecido da maneira mais fria e mecânica possível. Conforme um cenário voltado a TDD. Exemplos de como isso foi feito:&lt;br /&gt;
&lt;br /&gt;
* http://10.0.0.32/wiki/index.php/Funcionalidade/Limite_de_cr%C3%A9dito#Fluxo_AEIL &amp;lt;br/&amp;gt; Note que nesse caso, os dados que foram feitos em comum estão separados, com a parametrização específica para cada cenário descrita em outro momento, sempre fazendo a menção de onde se busca essa informação&lt;br /&gt;
* http://10.0.0.32/wiki/index.php/Desconto_negociado#Prioridade_1_vence &amp;lt;br/&amp;gt; Note que, aqui, todos os cenários que começam com os mesmos dados, porém tem operações distintas (e, portanto, necessitam de suas próprias aferições), foram agrupados. &amp;lt;br/&amp;gt; Tem muitos detalhes técnicos que estão dentro das assertivas, como valor unitário do item, pendências, valor do pedido...&lt;/div&gt;</summary>
		<author><name>Jeffque</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Taxa_de_c%C3%A2mbio_por_item&amp;diff=9556</id>
		<title>Taxa de câmbio por item</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Taxa_de_c%C3%A2mbio_por_item&amp;diff=9556"/>
		<updated>2018-09-13T17:47:13Z</updated>

		<summary type="html">&lt;p&gt;Jeffque: Pequenas correções na descrição da tabela '''FAIXA_PRECO_MOEDA'''&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Histórico de Revisõ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;
|  14/05/2018  ||  Ryvane Maria  ||  Criação do Documento &lt;br /&gt;
|-&lt;br /&gt;
|  23/05/2018  ||  Marcus Fábio Salviano  ||  Aprovação Desenvolvimento &lt;br /&gt;
|-&lt;br /&gt;
|  03/08/2018  ||  Ryvane Maria  ||  Alteração do Documento segundo solicitação do cliente&lt;br /&gt;
|-&lt;br /&gt;
|  13/09/2018  ||  Ryvane Maria  ||  Incluindo a tabela FAIXA_PRECO_MOEDA.&lt;br /&gt;
|-&lt;br /&gt;
|  13/09/2018  ||  Jefferson Quesado ||  Pequenas correções na descrição da tabela '''FAIXA_PRECO_MOEDA'''.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
&lt;br /&gt;
São comercializados itens que podem ser convertidos em diferentes tipos de moedas, principalmente Euro e Dólar. É necessário que o sistema esteja apto a processar esse tipo de pedido, explicitando o valor, item a item, em várias moedas.&lt;br /&gt;
&lt;br /&gt;
Alguns produtos tem seu valor de tabela de preço dado em moeda estrangeira, sendo assim, o GeoSales deve, após o vendedor informar o valor (dado em moeda estrangeira), converter este valor e inserir o valor do produto, em real, no pedido. Desta forma, o vendedor deverá digitar o valor do produto, que deve ser sinalizado a respeito da sua moeda, visualizando então o valor em moeda estrangeira, e realizando a negociação daquele produto.&lt;br /&gt;
&lt;br /&gt;
No momento da tiragem do pedido, o sistema deve apresentar o valor total dos produtos, tanto em real, quanto em outras moedas, possibilitando que o usuário visualize os distintos valores, sob aplicação de diferentes taxas de câmbio, para aquele produto, de acordo com a cotação diária daquela moeda.&lt;br /&gt;
&lt;br /&gt;
== Solução == &lt;br /&gt;
&lt;br /&gt;
Inicialmente, deverão ser cadastradas no ERP as informações de moedas e suas taxas de câmbio. Essas informações serão trazidas para o GeoSales através de integração. Nesse cadastro poderão ser inseridos dados como o nome da moeda, o seu símbolo e a sua taxa de câmbio. Essa situação permitirá a inclusão de outras moedas de forma fácil, colaborando na manutenção dos dados.&lt;br /&gt;
&lt;br /&gt;
Serão integradas as informações da tabela de preço cadastradas na tabela padrão (DA1) de vendas do protheus, bem como o tipo da moeda que aquele produto será aplicado. No momento da criação do pedido, o valor trazido será utilizado como base para que, a partir do valor digitado (em moeda estrangeira) pelo vendedor, seja convertido para real, e inserido no pedido. O vendedor será informado, no momento da inserção do item, a respeito da moeda que aquele produto deve ser trabalhado. &lt;br /&gt;
&lt;br /&gt;
É importante salientar que o valor trazido da tabela de vendas já deverá ser o valor correspondente a sua moeda de venda. (Por exemplo, um produto que cuja venda é feita em dólar, caso seu valor na tabela de venda seja 3,65 o Geosales entenderá que se trata de 3,65 dólares, e realizará a devida conversão ao inserir o item no pedido).&lt;br /&gt;
&lt;br /&gt;
No momento da criação do pedido, na tela da decomposição do produto, o GeoSales irá mostrar o valor em dólar, em euro e em reais, para todos os produtos. O usuário poderá visualizar também a data e a hora da alteração da taxa de câmbio de cada moeda. &lt;br /&gt;
&lt;br /&gt;
As informações do valor do produto em moeda estrangeira serão persistidas, de acordo com a moeda cadastrada para o produto, e enviadas ao ERP.&lt;br /&gt;
&lt;br /&gt;
É importante salientar que valor final do pedido deve ser dado sempre em Real.&lt;br /&gt;
&lt;br /&gt;
== Implementação ==&lt;br /&gt;
&lt;br /&gt;
'''- Criação de uma configuração com a finalidade de informar a existência de diferentes moedas:'''&lt;br /&gt;
&lt;br /&gt;
Será criada configuração para ativar a funcionalidade de visualização do valor dos itens por taxa de câmbio.&lt;br /&gt;
&lt;br /&gt;
Caso esta configuração esteja ativa, o sistema deverá exibir informações de moeda na decomposição de preço. &lt;br /&gt;
&lt;br /&gt;
A configuração, chamada de 'UTILIZA_MOEDA_ESTRANGEIRA', poderá receber os valores 'S', para ativá-la, ou 'N', para desativá-la. O valor default para essa configuração é 'N'.&lt;br /&gt;
&lt;br /&gt;
'''- Integração das informações de taxa de câmbio cadastradas no ERP:'''&lt;br /&gt;
&lt;br /&gt;
No ERP, a tabela SM2 será integrada com a finalidade de atualizar a taxa de câmbio. É desta tabela que o GeoSales irá trazer a informação de taxa de câmbio, para converter os valores emitidos em moeda estrangeira para real.&lt;br /&gt;
&lt;br /&gt;
As informações de taxa de câmbio da tabela SM2 do ERP serão salvas na tabela TIPO_MOEDA do GeoSales. &lt;br /&gt;
&lt;br /&gt;
Além disso, deverá ser criado um campo para salvar a data de atualização da taxa de câmbio para uma moeda específica. Este campo deverá ser atualizado sempre que a taxa de câmbio for integrada. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;5&amp;quot;  | TIPO_MOEDA&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:200px&amp;quot; |Coluna&lt;br /&gt;
! Tipo&lt;br /&gt;
! style=&amp;quot;width:200px&amp;quot; |Obrigatório&lt;br /&gt;
! style=&amp;quot;width:300px&amp;quot; |Chave Primária&lt;br /&gt;
! style=&amp;quot;width:300px&amp;quot; |Explicação&lt;br /&gt;
|- &lt;br /&gt;
| DT_ATUALIZACAO_MOEDA&lt;br /&gt;
| DATETIME&lt;br /&gt;
| NAO&lt;br /&gt;
| NAO&lt;br /&gt;
| Data da última atualização da taxa de câmbio.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''- Integração das informações de moeda associada ao produto no ERP:'''&lt;br /&gt;
&lt;br /&gt;
Serão integradas as informações da tabela de preço cadastradas na tabela padrão (DA1) de vendas do protheus, e, associada ao produto, deverá ser trazido o tipo da moeda que aquele produto será aplicado.&lt;br /&gt;
&lt;br /&gt;
A informação da moeda, associada ao produto no campo DA1_MOEDA da tabela de vendas DA1 deverá ser salva no campo DS_SIGLA_MOEDA que será criado com esta finalidade da tabela FAIXA_PRECO_MOEDA, para determinar o preço daquele produto, na sua respectiva moeda.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;5&amp;quot;  | FAIXA_PRECO_MOEDA&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:200px&amp;quot; |Coluna&lt;br /&gt;
! Tipo&lt;br /&gt;
! style=&amp;quot;width:200px&amp;quot; |Obrigatório&lt;br /&gt;
! style=&amp;quot;width:300px&amp;quot; |Chave Primária&lt;br /&gt;
! style=&amp;quot;width:300px&amp;quot; |Explicação&lt;br /&gt;
|- &lt;br /&gt;
| CD_SEQUENCIAL || VARCHAR || SIM || SIM || Código do sequencial&lt;br /&gt;
|-&lt;br /&gt;
| QT_MIN_FAIXA || VARCHAR || SIM || SIM || Quantidade mínima dessa faixa de escalonamento&lt;br /&gt;
|-&lt;br /&gt;
| DS_SIGLA_MOEDA || VARCHAR || SIM || SIM || Moeda de venda&lt;br /&gt;
|-&lt;br /&gt;
| VR_PRECO_MINIMO || VARCHAR || SIM || NÃO || Valor mínimo dessa faixa de escalonamento&lt;br /&gt;
|-&lt;br /&gt;
| VR_PRECO_SUGERIDO || VARCHAR || SIM || NÃO || Valor sugerido dessa faixa de escalonamento&lt;br /&gt;
|-&lt;br /&gt;
| VR_PRECO_MAXIMO || VARCHAR || SIM || NÃO || Valor máximo dessa faixa de escalonamento&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Veja os [http://sync.geosalesmobile.com:8185/erp-importer/sandbox/self-conscious/faixa_preco_moeda.json metadados da tabela]&lt;br /&gt;
&lt;br /&gt;
'''- Converter o valor da moeda ao inserir o item no pedido:'''&lt;br /&gt;
&lt;br /&gt;
Será informado ao vendedor no momento da inserção do item a moeda em que aquele produto deve ser trabalhado. Desta forma, o vendedor pode ter a ciência de que a quantidade inserida refletirá no valor do produto em dólar/euro.&lt;br /&gt;
&lt;br /&gt;
É importante salientar que, apesar de ser inserido seu valor em moeda estrangeira, ao passo da inserção do item no pedido, esse valor será convertido, de acordo com a quantidade digitada, no valor total do produto em reais, e então inserido no pedido.&lt;br /&gt;
&lt;br /&gt;
 Por exemplo: O vendedor, na inserção dos dados do produto, seleciona um item, e este item tem como valor '4,50'. O campo DS_SIGLA_MOEDA da tabela FAIXA_PRECO_MOEDA define que este produto é vendido em dólar. Isso quer dizer que o valor deste produto é de 4,50 dólares. O vendedor digita então a quantidade desejada e, ao inserir este item no pedido seu valor é convertido para a moeda 'real' de acordo com a última taxa de câmbio cadastrada na tabela TIPO_MOEDA para a respectiva moeda do produto. Deste modo, o item inserido será visualizado no pedido sempre na moeda padrão 'real'.&lt;br /&gt;
&lt;br /&gt;
É importante salientar que o valor do item só será convertido para real quando este item for inserido no pedido. &lt;br /&gt;
&lt;br /&gt;
'''- Tratar a possibilidade de visualizar o valor dos itens em uma moeda estrangeira, uma na tiragem do pedido:'''&lt;br /&gt;
&lt;br /&gt;
No momento da tiragem do pedido, o usuário irá realizar o fluxo usual de cadastro de cabeçalho de pedido e de inserção de itens, porém, ao selecionar um novo item para ser inserido no pedido, e definir a quantidade que será inserida, o sistema deverá realizar os seguintes passos: &lt;br /&gt;
&lt;br /&gt;
 1) As taxas de câmbio utilizadas serão integradas da tabela SM2 do ERP e cada moeda será associada a sua taxa de câmbio;&lt;br /&gt;
 2) Deverá ser feita a conversão do valor de cada item, para todas as moedas cadastradas. Com a finalidade de exibir na pop-up de decomposição do preço.&lt;br /&gt;
 3) Da decomposição de preço, deverão ser criados novos campos que sinalizem o valor daquele item convertido em cadas moeda cadastrada.&lt;br /&gt;
&lt;br /&gt;
Deverão ser disponibilizadas para visualização as informações de descrição da moeda (por exemplo: Dólar), símbolo (Por exemplo: $), taxa de câmbio, sua data de atualização, e valor total daquele item convertido nesta moeda.&lt;br /&gt;
&lt;br /&gt;
Para que isso ocorra, será necessário inserir alguns campos na tela de decomposição do preço, como pode-se visualizar no protótipo abaixo: &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Decomposicao taxas cambio.png]]&lt;br /&gt;
&lt;br /&gt;
Deve ser possível visualizar, nesta tela, as informações de moeda daquele item, além da data de atualização da taxa de câmbio.&lt;br /&gt;
&lt;br /&gt;
É importante salientar que essas informações são exclusivamente informativas, ou seja não vão interferir no valor final do pedido, que será dado em real, como já ocorre atualmente.&lt;br /&gt;
&lt;br /&gt;
Além disso deve ser possível, também, visualizar a decomposição de preço antes de inserir um item no pedido, tal qual o protótipo abaixo: &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Decomposicao taxas cambio item.png]]&lt;br /&gt;
&lt;br /&gt;
'''- Enviar ao ERP informação do valor de itens na sua moeda estrangeira: '''&lt;br /&gt;
&lt;br /&gt;
Serão criados dois novos campos na tabela ITEM_PEDIDO, com a finalidade de persistir o valor de venda em moeda estrangeira do item, e qual a sua moeda de aplicação.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;5&amp;quot;  | ITEM_PEDIDO&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:200px&amp;quot; |Coluna&lt;br /&gt;
! Tipo&lt;br /&gt;
! style=&amp;quot;width:200px&amp;quot; |Obrigatório&lt;br /&gt;
! style=&amp;quot;width:300px&amp;quot; |Chave Primária&lt;br /&gt;
! style=&amp;quot;width:300px&amp;quot; |Explicação&lt;br /&gt;
|- &lt;br /&gt;
| DS_SIGLA_MOEDA || VARCHAR(50) || NAO || NAO || Descrição da moeda de venda do produto.&lt;br /&gt;
|-&lt;br /&gt;
| VR_ITEM_MOEDA || DECIMAL || NAO || NAO || Valor do item em moeda estrangeira.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;5&amp;quot;  | ITEM_PEDIDO_RETORNO&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:200px&amp;quot; |Coluna&lt;br /&gt;
! Tipo&lt;br /&gt;
! style=&amp;quot;width:200px&amp;quot; |Obrigatório&lt;br /&gt;
! style=&amp;quot;width:300px&amp;quot; |Chave Primária&lt;br /&gt;
! style=&amp;quot;width:300px&amp;quot; |Explicação&lt;br /&gt;
|- &lt;br /&gt;
| DS_SIGLA_MOEDA || VARCHAR(50) || NAO || NAO || Descrição da moeda de venda do produto.&lt;br /&gt;
|-&lt;br /&gt;
| VR_ITEM_MOEDA || DECIMAL || NAO || NAO || Valor do item em moeda estrangeira.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
O campo DS_SIGLA_MOEDA irá salvar a informação da moeda estrangeira que foi aplicada para aquele item (a mesma associada ao item, cadastrada na tabela FAIXA_PRECO_MOEDA). O campo VR_ITEM_MOEDA irá persistir a informação de valor do item na moeda estrangeira respectiva, também cadastrado na tabela FAIXA_PRECO_MOEDA. É importante salientar que estes dados se tratam do valor aplicado naquela venda, ou seja, a moeda e o valor cadastrado na tabela FAIXA_PRECO_MOEDA no momento da inserção do item.&lt;br /&gt;
&lt;br /&gt;
Essas informações serão integradas junto a tabela de ITEM_PEDIDO, e, quando a moeda do item for diferente de real, o valor do item (em moeda estrangeira) enviado será o contido no campo VR_ITEM_MOEDA.&lt;br /&gt;
&lt;br /&gt;
O campo referente a moeda, DS_SIGLA_MOEDA será salvo no campo UB_MOEDKG do ERP. O campo referente a =o valor do item em moeda estrangeira VR_ITEM_MOEDA será salvo no campo UB_PRCKG do ERP.&lt;br /&gt;
&lt;br /&gt;
'''Obs.: Todos os protótipos acima são meramente ilustrativos e, no momento do desenvolvimento, podem sofrer alguma alteração, em virtude de viabilidade técnica.'''&lt;br /&gt;
&lt;br /&gt;
== Regras de Negócio ==&lt;br /&gt;
&lt;br /&gt;
'''RN1 - ''' O valor final do final do pedido será calculado sempre na moeda padrão, ou seja, Real.&lt;br /&gt;
&lt;br /&gt;
'''RN2 - ''' O campo DT_ATUALIZACAO_MOEDA deve ser setado com a data de cada atualização de taxa de câmbio.&lt;br /&gt;
&lt;br /&gt;
'''RN3 - ''' A informação da tabela de preço será integrada sem necessidade de realizar conversão da moeda, ou seja, o valor cadastrado na tabela de preço do produto no ERP deve ser o valor já convertido para moeda estrangeira e será aplicado diretamente no preço do produto. Ao inserir o produto no pedido, o valor deste produto será convertido para real, caso ele seja um produto com moeda estrangeira.&lt;br /&gt;
&lt;br /&gt;
'''RN4 - ''' Este levantamento não contempla alteração em nenhum relatório do Geosales. Portanto, os relatórios que envolvem informações a respeito dos valores do item do pedido serão dados em moeda local (real), e não serão exibidas informações a respeito de outras moedas ou de taxa de câmbio.&lt;br /&gt;
&lt;br /&gt;
'''RN5 - ''' Após inserir o item no pedido, sob este item constará o valor em real convertido. Porém, o usuário poderá visualizar o valor em euro e dólar aplicado sob o item na tela de decomposição do preço.&lt;br /&gt;
&lt;br /&gt;
'''RN6 - ''' A taxa de câmbio utilizada para conversão dos valores dos itens será data pela taxa vigente no dia da inserção do item.&lt;br /&gt;
&lt;br /&gt;
'''RN7 - ''' Será possível que, num mesmo pedido, sejam incluídos produtos com diferentes moedas.&lt;br /&gt;
&lt;br /&gt;
'''RN8 - ''' Um produto só poderá ser associado a uma única moeda. Isso significa que um produto não poderá ser vendido em duas moedas, mesmo que para clientes diferentes.&lt;br /&gt;
&lt;br /&gt;
'''RN9 - ''' Caso o usuário deseje editar um item já inserido, o GeoSales trará o valor de tabela de preço atual para aquele item.&lt;br /&gt;
&lt;br /&gt;
'''RN10 - ''' Só será exibido, na decomposição de preço, o valor em diferentes moedas, caso exista uma taxa de câmbio cadastrada para a respectiva moeda.&lt;br /&gt;
&lt;br /&gt;
'''RN11 - ''' Caso o valor da taxa de câmbio da tabela SM2 do ERP seja igual a zero, este valor não deve ser integrado. Isso tem como finalidade preservar a ultima taxa de câmbio válida cadastrada.&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;
! style=&amp;quot;width:200px&amp;quot; |Setor &lt;br /&gt;
! style=&amp;quot;width:180px&amp;quot; |Aprovado Por&lt;br /&gt;
! style=&amp;quot;width:100px&amp;quot; |Data&lt;br /&gt;
|- &lt;br /&gt;
| Desenvolvimento - GeoSales || Anderson Gomes || 06/08/2018 &lt;br /&gt;
|- &lt;br /&gt;
| Integração - GeoSales || Carlos Robson || 06/08/2018 &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;
! style=&amp;quot;width:200px&amp;quot; |Setor &lt;br /&gt;
! style=&amp;quot;width:180px&amp;quot; |Aprovado Por&lt;br /&gt;
! style=&amp;quot;width:100px&amp;quot; |Data&lt;br /&gt;
! style=&amp;quot;width:200px&amp;quot; |Assinatura&lt;br /&gt;
|-&lt;br /&gt;
| Gerente TI - Cliente         ||  ||  ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente de Projeto - Cliente ||  ||  ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente Comercial - Cliente  ||  ||  ||&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Jeffque</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Discuss%C3%A3o:Calculo_Frete_Peso_total_e_ranger_-ANHAMBI&amp;diff=8308</id>
		<title>Discussão:Calculo Frete Peso total e ranger -ANHAMBI</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Discuss%C3%A3o:Calculo_Frete_Peso_total_e_ranger_-ANHAMBI&amp;diff=8308"/>
		<updated>2018-07-05T20:06:30Z</updated>

		<summary type="html">&lt;p&gt;Jeffque: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Mapeamento do campo '''ID_COMPOE_CALC_FRETE''' ==&lt;br /&gt;
&lt;br /&gt;
Essa coluna deveria ser simplesmente auto-contida. Do jeito que está, o funcionamento dela depende de outra informação, que deveria ser paralela, que é o tipo de frete padrão do cliente.&lt;br /&gt;
&lt;br /&gt;
Como está escrito, as duas colunas não tem funcionalidades ortogonais. Sugiro, então, fazer não um pareamento tosco 1:1 da fonte dos dados para cá. Sugiro fazer uma mineração semântica dessa coluna, assim então não entraremos com gambiarras absurdas no sistema as quais deveremos desfazer e manter a compatibilidade no futuro, quando for detectada a questão da ortogonalidade das informações.&lt;br /&gt;
&lt;br /&gt;
Então, como atualmente quem está como frete padrão de FOB não compõe o cálculo de frete, que se traga assim da integração. Isso é um mapeamento semântico dos dados. Fazendo a mineração correta dos dados, teremos menor dor de cabeça, implementação mais simples, direta, aferível, automaticamente testável através de unidades menores de código e, também, menos manutenção e problemas futuros.&lt;br /&gt;
&lt;br /&gt;
Não se esqueça de algo: o cliente não vai usar a nossa base, ele irá usar o sistema. Para ele, a questão semântica precisa fazer sentido, não a paridade 1:1 dos dados.&lt;/div&gt;</summary>
		<author><name>Jeffque</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Discuss%C3%A3o:Calculo_Frete_Peso_total_e_ranger_-ANHAMBI&amp;diff=8307</id>
		<title>Discussão:Calculo Frete Peso total e ranger -ANHAMBI</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Discuss%C3%A3o:Calculo_Frete_Peso_total_e_ranger_-ANHAMBI&amp;diff=8307"/>
		<updated>2018-07-05T20:05:48Z</updated>

		<summary type="html">&lt;p&gt;Jeffque: /* Mapeamento do campo **ID_COMPOE_CALC_FRETE** */ nova seção&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Mapeamento do campo **ID_COMPOE_CALC_FRETE** ==&lt;br /&gt;
&lt;br /&gt;
Essa coluna deveria ser simplesmente auto-contida. Do jeito que está, o funcionamento dela depende de outra informação, que deveria ser paralela, que é o tipo de frete padrão do cliente.&lt;br /&gt;
&lt;br /&gt;
Como está escrito, as duas colunas não tem funcionalidades ortogonais. Sugiro, então, fazer não um pareamento tosco 1:1 da fonte dos dados para cá. Sugiro fazer uma mineração semântica dessa coluna, assim então não entraremos com gambiarras absurdas no sistema as quais deveremos desfazer e manter a compatibilidade no futuro, quando for detectada a questão da ortogonalidade das informações.&lt;br /&gt;
&lt;br /&gt;
Então, como atualmente quem está como frete padrão de FOB não compõe o cálculo de frete, que se traga assim da integração. Isso é um mapeamento semântico dos dados. Fazendo a mineração correta dos dados, teremos menor dor de cabeça, implementação mais simples, direta, aferível, automaticamente testável através de unidades menores de código e, também, menos manutenção e problemas futuros.&lt;br /&gt;
&lt;br /&gt;
Não se esqueça de algo: o cliente não vai usar a nossa base, ele irá usar o sistema. Para ele, a questão semântica precisa fazer sentido, não a paridade 1:1 dos dados.&lt;/div&gt;</summary>
		<author><name>Jeffque</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Novo_sincronismo&amp;diff=3663</id>
		<title>Novo sincronismo</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Novo_sincronismo&amp;diff=3663"/>
		<updated>2017-04-17T20:37:29Z</updated>

		<summary type="html">&lt;p&gt;Jeffque: /* Ambiente de teste/beta */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;O novo sincronismo é uma estratégia de marcação horizontal de dados, envio flexível e otimizado para compactação.&lt;br /&gt;
&lt;br /&gt;
O nome do projeto do novo sincronismo é TamoJunto.&lt;br /&gt;
&lt;br /&gt;
==Ambiente de teste/beta==&lt;br /&gt;
O host do TamoJunto é [http://beta.softsitemobile.com:8015 o host do beta]. Na versão &amp;lt;strike&amp;gt;[http://10.0.0.75:7070/job/GeoSales_Mobile/1081/ 4.0.1]&amp;lt;/strike&amp;gt; &amp;lt;strike&amp;gt;[http://10.0.0.75:7070/job/GeoSales_Mobile/1085/ 4.0.2]&amp;lt;/strike&amp;gt; &amp;lt;strike&amp;gt;[http://10.0.0.75:7070/job/GeoSales_Mobile/1095/ 4.0.3]&amp;lt;/strike&amp;gt; [http://10.0.0.75:7070/job/GeoSales_Mobile/1116/ 4.0.6], o mesmo host usado para o SyncServer será usado para o TamoJunto, de tal sorte que o usuário não precisará entrar com dados novos no momento do sincronismo, e a porta está fixada como 8015 '''sempre'''.&lt;br /&gt;
&lt;br /&gt;
No ambiente beta, existe um SyncServer e um TamoJunto configurado. O endereço do host é [http://beta.softsitemobile.com beta.softsitemobile.com], a porta do SyncServer é 8015.&lt;br /&gt;
&lt;br /&gt;
A base HugoCini2 está configurada devidamente para o novo sincronismo.&lt;br /&gt;
&lt;br /&gt;
===Teste comparativo===&lt;br /&gt;
A versão básica para comparação é a [http://10.0.0.75:7070/job/GeoSales_Mobile/965/ 3.22.9]. Ela é a base para ver se tem algum dado faltoso ou se tem algum comportamento distinto.&lt;br /&gt;
&lt;br /&gt;
Por hora, a única tabela que está no novo esquema é &amp;lt;code&amp;gt;ORG_VENDA_CLIENTE&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Criando novos ambientes==&lt;br /&gt;
O primeiro passo no novo sincronismo é subir o servidor do [https://http.cat/404 TamoJunto] na porta 8015. O TamoJunto roda sobre o Java 7, homologado no container Tomcat 8.&lt;br /&gt;
&lt;br /&gt;
==Cadastro de novas empresas==&lt;br /&gt;
Dado um ambiente conhecido (no caso, Ares), vamos colocar uma empresa para esse novo sincronismo.&lt;br /&gt;
&lt;br /&gt;
O primeiro ponto é travar totalmente a base. Importação, Claudus, Portal e qualquer outro serviço precisa ser parado para essa base, TOTALMENTE.&lt;br /&gt;
&lt;br /&gt;
Aplique o [https://http.cat/404 script de migração] na base. Então faça as [[novo sincronismo/verificações|verificações]] de que tudo está no canto.&lt;br /&gt;
&lt;br /&gt;
Depois dessa migração, religue TODOS os sistemas.&lt;br /&gt;
&lt;br /&gt;
Cadastre a versão [http://10.0.0.75:7070/job/GeoSales_Mobile/1095/ 4.0.3] para sincronizar (ou a última versão 4.x.y) para a empresa. Coloque para [[novo sincronismo/cadastrar tabela|sincronizar as tabelas desejadas]]. As tabelas disponíveis são:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;ORG_VENDA_CLIENTE&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Códigos de erro==&lt;br /&gt;
Ao terminar um sincronismo mal sucedido, o sincronismo do TamoJunto lança um código na tela do usuário. O código tem o seguinte formato: &amp;lt;code&amp;gt;IXHHH&amp;lt;/code&amp;gt;. A parte &amp;lt;code&amp;gt;I&amp;lt;/code&amp;gt; se refere ao ''instante'', a parte &amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt; se refere ao ''erro'' lançado, e a parte &amp;lt;code&amp;gt;HHH&amp;lt;/code&amp;gt; se refere ao retorno HTTP.&lt;br /&gt;
&lt;br /&gt;
Os possíveis valores pra &amp;lt;code&amp;gt;I&amp;lt;/code&amp;gt; são:&lt;br /&gt;
* 1 : autenticação &amp;lt;code&amp;gt;/auth&amp;lt;/code&amp;gt;&lt;br /&gt;
* 2 : sincronismo &amp;lt;code&amp;gt;/sync&amp;lt;/code&amp;gt;&lt;br /&gt;
* 3 : truncagem &amp;lt;code&amp;gt;/truncate&amp;lt;/code&amp;gt;&lt;br /&gt;
* 8 : desconhecido&lt;br /&gt;
* 9 : não relacionado ainda&lt;br /&gt;
&lt;br /&gt;
Os possíveis valores pra &amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt; são:&lt;br /&gt;
* 0 : erro de IO&lt;br /&gt;
* 1 : erro de HTTP; o código HTTP de erro segue na parte &amp;lt;code&amp;gt;HHH&amp;lt;/code&amp;gt;&lt;br /&gt;
* 2 : erro de host&lt;br /&gt;
* 3 : erro de SQL&lt;br /&gt;
* 9 : erro desconhecido&lt;br /&gt;
&lt;br /&gt;
Os códigos de erro HTTP podem ser encontrados [https://en.wikipedia.org/wiki/List_of_HTTP_status_codes na página da Wikipedia], ou então tem ainda uma [https://http.cat/ lista rápida com gatos].&lt;br /&gt;
&lt;br /&gt;
Caso alguma chamada do TamoJunto retorne um código HTTP diferente de [https://http.cat/200 200], o protocolo reconhece como erro.&lt;br /&gt;
&lt;br /&gt;
Os erros HTTP mais comuns (e seus respectivos significados comuns) retornados pelo TamoJunto são:&lt;br /&gt;
* 000 : possivelmente não se conectou num servidor HTTP?&lt;br /&gt;
* 400 : o dispositivo falhou ao montar a requisição; deve-se contatar ''imediatamente'' o Anderson e reportar essa problema; também pode ser um sinal de que o usuário esqueceu de preencher o ID palm ou a senha&lt;br /&gt;
* 401 : erro de usuário e senha; o ID palm não confere com a senha para aquela empresa, ou o usuário colocou um ID palm errado&lt;br /&gt;
* 404 : empresa não cadastrada&lt;br /&gt;
* 500 : internal server error; deve-se contatar ''imediatamente'' o Anderson e reportar essa problema&lt;br /&gt;
&lt;br /&gt;
== NÃO ESQUECER ==&lt;br /&gt;
&lt;br /&gt;
* SEMPRE que for instalar o TJ em um servidor TROCAR o jdbc.properties no diretorio /WEB-INF/classes/jdbc.properties pelo jdbc de conexões apropriado.&lt;br /&gt;
Caso não seja feito esse passo, o TJ vai acessar uma base diferente.&lt;br /&gt;
&lt;br /&gt;
==Passo a passo migração para o novo Sincronismo==&lt;br /&gt;
&lt;br /&gt;
* Passo 1&lt;br /&gt;
  * Executar os seguintes scripts&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/****** Object:  Table [dbo].[TAMOJUNTO_TABELA_FUNCAO]    Script Date: 26/01/2017 17:02:53 ******/&lt;br /&gt;
SET ANSI_NULLS ON&lt;br /&gt;
GO&lt;br /&gt;
&lt;br /&gt;
SET QUOTED_IDENTIFIER ON&lt;br /&gt;
GO&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE [dbo].[TAMOJUNTO_TABELA_FUNCAO](&lt;br /&gt;
	[ID] [int] IDENTITY(-2147483648,1) NOT NULL,&lt;br /&gt;
	[NM_TABLE] [varchar](256) NOT NULL,&lt;br /&gt;
	[NM_FN] [varchar](256) NOT NULL,&lt;br /&gt;
	[FL_ATIVA] [bit] NULL,&lt;br /&gt;
PRIMARY KEY CLUSTERED &lt;br /&gt;
(&lt;br /&gt;
	[ID] ASC&lt;br /&gt;
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]&lt;br /&gt;
) ON [PRIMARY]&lt;br /&gt;
&lt;br /&gt;
GO&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CREATE TABLE [dbo].[tamojunto_auth](&lt;br /&gt;
	[cd_vendedor] [int] NOT NULL,&lt;br /&gt;
	[token] [varchar](255) NULL,&lt;br /&gt;
	[dt_criacao] [datetime] NULL,&lt;br /&gt;
	[dt_validade] [datetime] NULL&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CREATE TABLE [dbo].[tamojunto_data_geracao_registro](&lt;br /&gt;
	[id] [int] IDENTITY(-2147483648,1) PRIMARY KEY NOT NULL,&lt;br /&gt;
	[dt_geracao] [datetime] NOT NULL,&lt;br /&gt;
	[cd_vendedor] [int] NOT NULL&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/****** Object:  StoredProcedure [dbo].[sp_get_auth_token]    Script Date: 10/11/2016 17:15:21 ******/&lt;br /&gt;
SET ANSI_NULLS ON&lt;br /&gt;
GO&lt;br /&gt;
&lt;br /&gt;
SET QUOTED_IDENTIFIER ON&lt;br /&gt;
GO&lt;br /&gt;
&lt;br /&gt;
if exists (select top 1 1 from sys.sysobjects where name = 'sp_get_auth_token')&lt;br /&gt;
begin&lt;br /&gt;
drop proc [sp_get_auth_token]&lt;br /&gt;
end&lt;br /&gt;
go&lt;br /&gt;
CREATE PROCEDURE [dbo].[sp_get_auth_token] (@id_palm  CHAR(10),&lt;br /&gt;
                                    @ds_senha VARCHAR(20))&lt;br /&gt;
AS&lt;br /&gt;
  BEGIN&lt;br /&gt;
      ;WITH mysource&lt;br /&gt;
           AS (SELECT dv.cd_vendedor,&lt;br /&gt;
                      substring(convert(varchar, hashbytes('SHA1', Cast(dv.cd_vendedor AS VARCHAR)&lt;br /&gt;
                                        + CONVERT(VARCHAR, Getdate(), 126)), 1), 3, 128) AS token,&lt;br /&gt;
                      Getdate()                                             AS dt_criacao,&lt;br /&gt;
                      Dateadd(hh, 1, Getdate())                             AS dt_validade&lt;br /&gt;
               FROM   dados_vendedor dv&lt;br /&gt;
                      LEFT JOIN tamojunto_auth tau&lt;br /&gt;
                             ON ( dv.cd_vendedor = tau.cd_vendedor )&lt;br /&gt;
               WHERE  dv.id_palm = @id_palm&lt;br /&gt;
                      AND dv.ds_senha = @ds_senha)&lt;br /&gt;
      MERGE tamojunto_auth AS mytarget&lt;br /&gt;
      using mysource&lt;br /&gt;
      ON mysource.cd_vendedor = myTarget.cd_vendedor&lt;br /&gt;
      WHEN matched THEN&lt;br /&gt;
        UPDATE SET token = mysource.token,&lt;br /&gt;
                   dt_criacao = mysource.dt_criacao,&lt;br /&gt;
                   dt_validade = mysource.dt_validade&lt;br /&gt;
      WHEN NOT matched THEN&lt;br /&gt;
        INSERT ( cd_vendedor,&lt;br /&gt;
                 token,&lt;br /&gt;
                 dt_criacao,&lt;br /&gt;
                 dt_validade )&lt;br /&gt;
        VALUES ( mysource.cd_vendedor,&lt;br /&gt;
                 mysource.token,&lt;br /&gt;
                 mysource.dt_criacao,&lt;br /&gt;
                 mysource.dt_validade )&lt;br /&gt;
      output mysource.token;&lt;br /&gt;
  END &lt;br /&gt;
GO&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/****** Object:  UserDefinedFunction [dbo].[fn_STRING_JSON]    Script Date: 10/11/2016 17:11:51 ******/&lt;br /&gt;
SET ANSI_NULLS ON&lt;br /&gt;
GO&lt;br /&gt;
&lt;br /&gt;
SET QUOTED_IDENTIFIER ON&lt;br /&gt;
GO&lt;br /&gt;
&lt;br /&gt;
CREATE FUNCTION [dbo].[fn_STRING_JSON](@ID_VENDEDOR int, @DT_LAST_SINC datetime, @FN VARCHAR(256) )&lt;br /&gt;
RETURNS VARCHAR(MAX)&lt;br /&gt;
BEGIN&lt;br /&gt;
	DECLARE @LIN INT = 0&lt;br /&gt;
	DECLARE @I INT&lt;br /&gt;
	DECLARE @NAME VARCHAR(256)&lt;br /&gt;
	DECLARE @system_type_id tinyint&lt;br /&gt;
	DECLARE @scale tinyint&lt;br /&gt;
	DECLARE @CMD VARCHAR(MAX) = ' SELECT ''{'''&lt;br /&gt;
	DECLARE @AUX TABLE (&lt;br /&gt;
		NAME VARCHAR(256),&lt;br /&gt;
		LIN SMALLINT,&lt;br /&gt;
		system_type_id tinyint,&lt;br /&gt;
		scale tinyint&lt;br /&gt;
	)&lt;br /&gt;
&lt;br /&gt;
	INSERT INTO @AUX&lt;br /&gt;
	SELECT C.NAME,&lt;br /&gt;
		   ROW_NUMBER() OVER(ORDER BY C.column_id) LIN,&lt;br /&gt;
		   C.system_type_id,&lt;br /&gt;
		   C.scale&lt;br /&gt;
	FROM SYS.objects O&lt;br /&gt;
	INNER JOIN SYS.COLUMNS C ON C.OBJECT_ID = O.OBJECT_ID&lt;br /&gt;
	WHERE O.NAME = @FN&lt;br /&gt;
&lt;br /&gt;
	SET @I = ISNULL((SELECT MAX(LIN) FROM @AUX),0)&lt;br /&gt;
&lt;br /&gt;
	WHILE @I &amp;gt; @LIN&lt;br /&gt;
	BEGIN &lt;br /&gt;
	&lt;br /&gt;
		SET @LIN = @LIN + 1&lt;br /&gt;
&lt;br /&gt;
		SELECT @NAME = NAME, @system_type_id = system_type_id, @scale = scale&lt;br /&gt;
		FROM @AUX&lt;br /&gt;
		WHERE LIN = @LIN&lt;br /&gt;
&lt;br /&gt;
		SET @CMD = @CMD + ' + &lt;br /&gt;
							CASE WHEN '+ @NAME +' IS NOT NULL  THEN&lt;br /&gt;
								  ''&amp;quot;'+lower(@NAME)+'&amp;quot;'' + '':&amp;quot;'' + ' +&lt;br /&gt;
								  case &lt;br /&gt;
									when @system_type_id = 61 then &lt;br /&gt;
									'convert(varchar, ' + @NAME + ', 126)'&lt;br /&gt;
									when @scale &amp;gt; 0 then&lt;br /&gt;
									'case when ' + @NAME + ' = 0 then ''0'' when abs(' + @NAME + ') - floor(abs(' + @NAME + '))  = 0 and ' + @NAME + ' &amp;gt;= -2147483648 AND ' + @NAME + ' &amp;lt;= 2147483647 then cast(cast(' + @NAME + ' as integer) as varchar(max)) else cast(' + @NAME + ' as varchar(max)) end'&lt;br /&gt;
								  else&lt;br /&gt;
									'replace(rtrim(cast('+@NAME+' as varchar(max)) collate SQL_Latin1_General_CP1_CI_AI), ''&amp;quot;'', ''\&amp;quot;'')'&lt;br /&gt;
								  end&lt;br /&gt;
								  + ' + ''&amp;quot;' + (case when @LIN = @I  then '' else ',' end) + &lt;br /&gt;
							'''ELSE ''''&lt;br /&gt;
							END '  &lt;br /&gt;
						&lt;br /&gt;
	END&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	SET @CMD = @CMD + '+''},'' as json  FROM ' + @FN + '('+CONVERT(VARCHAR(30),@ID_VENDEDOR)+','+ ISNULL(quotename(convert(varchar, @DT_LAST_SINC, 126),char(39)),'NULL')+')'&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	RETURN @CMD&lt;br /&gt;
END&lt;br /&gt;
&lt;br /&gt;
GO&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Passo 2&lt;br /&gt;
  * Deve ser executado o programa ScriptGenerator do projeto TamoJunto. Na classe main devem ser especificado para quais tabelas devem ser gerados os scripts de migração.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
private final String[] tabelas = {&lt;br /&gt;
     		&amp;quot;org_venda_cliente&amp;quot;,&lt;br /&gt;
    		&amp;quot;lista_produto&amp;quot;,&lt;br /&gt;
    		&amp;quot;lista_produto_lote&amp;quot;,&lt;br /&gt;
    		&amp;quot;faixa_preco_produto&amp;quot;,&lt;br /&gt;
    		&amp;quot;valor_original_produto&amp;quot;,&lt;br /&gt;
    		&amp;quot;produto_custo&amp;quot;,&lt;br /&gt;
    		&amp;quot;produto_estoque&amp;quot;,&lt;br /&gt;
    		&amp;quot;cliente_rota&amp;quot;,&lt;br /&gt;
    		&amp;quot;rota&amp;quot;,&lt;br /&gt;
    		&amp;quot;produto&amp;quot;,&lt;br /&gt;
    		&amp;quot;tributacao&amp;quot;,&lt;br /&gt;
    		&amp;quot;tributacao_produto&amp;quot;,&lt;br /&gt;
    		&amp;quot;tributacao_cliente&amp;quot;,&lt;br /&gt;
    		&amp;quot;cliente&amp;quot;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Nessa etapa pode acontecer uma exceção na hora da geração dos scripts devido a alguma trigger fora do padrão na tabela a ser migrada que pode gerar algum erro. Nessa situação será mostrada uma mensagem no console e o script não será gerado. Exemplos de mensagens:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cliente_rota possui triggers que podem afetar a conversão: TR_DELETE_CLIENTE_ROTA, TR_INSERT_CLIENTE_ROTA&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tributacao possui triggers que podem afetar a conversão: TRATAR_INSERT_TRIBUTACAO&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  Nesses casos você deve analisar as triggers e verificar se isso pode ser corrigido ou se a triggers pode ser modificada por uma ação da integração.&lt;br /&gt;
&lt;br /&gt;
  Após efetuar os ajustes foi possível efetuar a geração de scripts para as tabelas solicitadas.&lt;br /&gt;
&lt;br /&gt;
*Passo 3&lt;br /&gt;
  Nesta etapa, deve-se aplicar os scripts gerados no passo anterior.&lt;br /&gt;
&lt;br /&gt;
*Passo 4&lt;br /&gt;
  Nesta etapa deve-se fazer as mudanças necessárias na procedure sp_gerar_registro e nas procedures correlacionadas de geração de registro. A primeira mudança é adicionar o seguinte trecho de código acima da instrução  commit tran -- will release the lock:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PRINT CONVERT(VARCHAR(MAX) ,GETDATE(),13) + ' - tamojunto_data_geracao_registro' &lt;br /&gt;
INSERT INTO tamojunto_data_geracao_registro (cd_vendedor, dt_geracao) VALUES (@CDVENDEDOR,GETDATE())&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  Esta parte é muito importante e tem que ter bastante atenção por ser um processo manual. Você terá que retirar os inserts de log para todas as tabelas que estão no novo modelo de sincronismo. Basta comentar esses trechos.&lt;br /&gt;
&lt;br /&gt;
*Passo 5&lt;br /&gt;
  Nesta etapa deve-se aplicar as funções de consultas de dados das tabelas migradas e inserir na tabela de funções o nome das funções. As funções inseridas foram: &lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;fn_registro_sync_validade_tj&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;fn_registro_sync_org_venda_cliente&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;fn_REGISTRO_SYNC_LISTA_PRODUTO&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
Devem ser inseridos os registros na tabela TAMOJUNTO_TABELA_FUNCAO com os seguintes exemplos&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
INSERT INTO TAMOJUNTO_TABELA_FUNCAO (NM_TABLE, NM_FN, FL_ATIVA)&lt;br /&gt;
VALUES ('VALIDADE_TJ', 'fn_registro_sync_validade_tj', 1)&lt;br /&gt;
&lt;br /&gt;
INSERT INTO TAMOJUNTO_TABELA_FUNCAO (NM_TABLE, NM_FN, FL_ATIVA)&lt;br /&gt;
VALUES ('ORG_VENDA_CLIENTE', 'fn_registro_sync_org_venda_cliente', 1)&lt;br /&gt;
&lt;br /&gt;
INSERT INTO TAMOJUNTO_TABELA_FUNCAO (NM_TABLE, NM_FN, FL_ATIVA)&lt;br /&gt;
VALUES ('LISTA_PRODUTO', 'fn_REGISTRO_SYNC_LISTA_PRODUTO', 1)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jeffque</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Vers%C3%A3o/mobile/v4.1.0&amp;diff=3221</id>
		<title>Versão/mobile/v4.1.0</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Vers%C3%A3o/mobile/v4.1.0&amp;diff=3221"/>
		<updated>2017-03-06T18:38:29Z</updated>

		<summary type="html">&lt;p&gt;Jeffque: /* Detalhes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Detalhes=&lt;br /&gt;
&lt;br /&gt;
* Data de liberação&lt;br /&gt;
** &amp;lt;strike&amp;gt;RC1 08/03/2017&amp;lt;/strike&amp;gt;&lt;br /&gt;
** RC2 08/03/2017&lt;br /&gt;
** previsão para 08/03/2017&lt;br /&gt;
* Nome da versão&lt;br /&gt;
** [[versão/mobile/v4.1.0|v4.1.0]]&lt;br /&gt;
* Versão pai&lt;br /&gt;
** [[versão/mobile/v4.0.18|v4.0.18]]&lt;br /&gt;
* Link para versão:&lt;br /&gt;
** &amp;lt;strike&amp;gt;(RC1) http://10.0.0.75:7070/job/GeoSales_Mobile/1198/&amp;lt;/strike&amp;gt; - deu erro de compilação&lt;br /&gt;
** &amp;lt;strike&amp;gt;(RC2) http://10.0.0.75:7070/job/GeoSales_Mobile/1199/&amp;lt;/strike&amp;gt; - dá erro após falhar no sincronismo&lt;br /&gt;
** (RC3) http://homolog1.softsitemobile.com:7171/view/Jeff/job/GeoSales_Mobile/1201/&lt;br /&gt;
&lt;br /&gt;
=Clientes atendidos=&lt;br /&gt;
&lt;br /&gt;
* Agrosema&lt;br /&gt;
* Camil&lt;br /&gt;
* Makita&lt;br /&gt;
* Ourolux&lt;br /&gt;
* Reflexa&lt;br /&gt;
&lt;br /&gt;
=Mudança na infraestrutura=&lt;br /&gt;
&lt;br /&gt;
Remover cliente prospect que contenha pedido foi alterado o fluxo de interface. Precisa ver se ficou legal ou não.&lt;br /&gt;
&lt;br /&gt;
Exclusão de pedidos foi ligeiramente modificada, não creio que afete a vida em nada, mas não tenha certeza.&lt;br /&gt;
&lt;br /&gt;
O protocolo de geração de código do pedido foi alterado. Agora, o próximo &amp;lt;code&amp;gt;cd_pedido_palm&amp;lt;/code&amp;gt; que é disponibilizado para o vendedor tem pouca relação com a hora atual. O protocolo de geração agora determina um número mínimo, esse por sua vez que é o momento atual (&amp;lt;code&amp;gt;YYMMDDhhmmss&amp;lt;/code&amp;gt;), então ele pega sempre o próximo número disponível. Então, se o vendedor &amp;lt;code&amp;gt;509&amp;lt;/code&amp;gt; iniciar o sistema as &amp;lt;code&amp;gt;8:40:12&amp;lt;/code&amp;gt; da manhã do dia &amp;lt;code&amp;gt;2017-03-06&amp;lt;/code&amp;gt;, não sincronizar nem desligar a aplicação, então realizar um pedido as &amp;lt;code&amp;gt;17:37:47&amp;lt;/code&amp;gt;, o código gerado é &amp;lt;code&amp;gt;509170306084012&amp;lt;/code&amp;gt; e o do pedido seguinte é &amp;lt;code&amp;gt;509170306084013&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=Branches utilizados para essa versão desde a versão anterior=&lt;br /&gt;
Núcleo:&lt;br /&gt;
&lt;br /&gt;
* feature-rel-estoque-ausente [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/717 717]&lt;br /&gt;
* feature-utiliza-preco-maximo [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/726 726]&lt;br /&gt;
* bugfix-controle-tramitacoes-pedido [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/726 726]&lt;br /&gt;
* bugfix-controle-tramitacoes-pedido [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/751 751]&lt;br /&gt;
* feature-cond-pgto-padrao [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/723 723]&lt;br /&gt;
* feature-camil-campos-obs [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/764 764]&lt;br /&gt;
* bugfix-filtro-fornecedor-cadastro-pedido [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/710 710]&lt;br /&gt;
* feature-camil-exibe-tipo-venda-pedido-conf [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/765 765]&lt;br /&gt;
* hotfix-melhorando-desempenho-arquivo-edi [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/766 766]&lt;br /&gt;
* bugfix-campanha-validacao-dt-entrega [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/731 731]&lt;br /&gt;
* hotfix-valor-pedido-julgar-condicao [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/769 769]&lt;br /&gt;
* bugfix-valor-fatura-frete-manual [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/768 768]&lt;br /&gt;
* bugfix-prioridade-vr-pedido-jug-cond-pgto-str [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/785 785]&lt;br /&gt;
* feature-agrosema-bloqueio-por-prazo [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/748 748]&lt;br /&gt;
* hotfix-configuracao-id-obriga-vencimento [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/789 789]&lt;br /&gt;
* bugfix-remover-dtCadastroDate-bean-cliente [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/790 790]&lt;br /&gt;
* feature-agrosema-clientes-vencidos [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/771 771]&lt;br /&gt;
* bugfix-julgar-rentabilidade-pedido-familias-hidratadas [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/794 794]&lt;br /&gt;
* feature-agrosema-agenda-visita [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/791 791]&lt;br /&gt;
* feature-controle-retorno-pedido [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/809 809]&lt;br /&gt;
* fix-testes [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/811 811]&lt;br /&gt;
&lt;br /&gt;
Mobile:&lt;br /&gt;
&lt;br /&gt;
* hotfix-filtros-fornecedores-portal [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1036 1036]&lt;br /&gt;
* feature-camil-campos-obs [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1028 1028]&lt;br /&gt;
* feature-agrosema-widgets-tela-inicial [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/997 997]&lt;br /&gt;
* hotfix-valor-pedido-julgar-condicao [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1037 1037]&lt;br /&gt;
* feature-agrosema-bloqueio-por-prazo [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/996 996]&lt;br /&gt;
* feature-agrosema-clientes-vencidos [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1038 1038]&lt;br /&gt;
* feature-agrosema-agenda-visita [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1050 1050]&lt;br /&gt;
* feature-cond-pgto-padrao [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/967 967]&lt;br /&gt;
* feature-controle-retorno-pedido [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1074 1074]&lt;br /&gt;
* improve-safesleep [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1077 1077]&lt;br /&gt;
* fix-testes [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1078 1078]&lt;br /&gt;
&lt;br /&gt;
=Liberação de funcionalidade=&lt;br /&gt;
&lt;br /&gt;
* Estoque ausente&lt;br /&gt;
** Ourolux&lt;br /&gt;
** Um dia vai pra Wiki&lt;br /&gt;
* Utiliza peço máximo&lt;br /&gt;
** Ourolux&lt;br /&gt;
** Ao carregar o item, ele já carrega com o valor máximo&lt;br /&gt;
** Configuração: &amp;lt;code&amp;gt;ID_UTILIZA_PRECO_MAXIMO&amp;lt;/code&amp;gt;&lt;br /&gt;
* Condição de pagamento padrão&lt;br /&gt;
** Reflexa&lt;br /&gt;
** http://10.0.0.32/wiki/index.php/Projeto/Reflexa/Documentação/Condição_de_Pagamento_Padrão&lt;br /&gt;
* Sumir com os campos de observação&lt;br /&gt;
** Camil&lt;br /&gt;
** http://redmine.softsitemobile.com/issues/1594&lt;br /&gt;
* Oculta tipo de venda do item&lt;br /&gt;
** Camil&lt;br /&gt;
** http://redmine.softsitemobile.com/issues/1595&lt;br /&gt;
* Bloqueio por prazo&lt;br /&gt;
** Agrosema&lt;br /&gt;
** http://redmine.softsitemobile.com/issues/1238&lt;br /&gt;
** http://10.0.0.32/wiki/index.php/Bloqueio_de_Prazo&lt;br /&gt;
* Clientes vencidos&lt;br /&gt;
** Agrosema&lt;br /&gt;
** http://10.0.0.32/wiki/index.php/Cadastro_Clientes_Vencidos&lt;br /&gt;
* Agenda de visita&lt;br /&gt;
** Agrosema&lt;br /&gt;
** http://10.0.0.32/wiki/index.php/Agenda_de_Visita&lt;br /&gt;
* Controle de retorno do pedido&lt;br /&gt;
** Makita&lt;br /&gt;
** Em algum documento MID22 antigo perdido pelo mundo...&lt;br /&gt;
** Quantas vezes o pedido retornar ao vendedor&lt;br /&gt;
* Widgets da tela inicial&lt;br /&gt;
** Agrosema&lt;br /&gt;
** http://redmine.softsitemobile.com/issues/1237&lt;br /&gt;
** http://10.0.0.32/wiki/index.php/Widgets_da_Tela_Inicial&lt;br /&gt;
&lt;br /&gt;
=Mudanças gerais em funcionalidades=&lt;br /&gt;
&lt;br /&gt;
Nenhuma&lt;br /&gt;
&lt;br /&gt;
=Correção de bugs=&lt;br /&gt;
&lt;br /&gt;
Correção&lt;br /&gt;
* Cliente afetado&lt;br /&gt;
** Empresa&lt;br /&gt;
* Versões onde o bug foi detectado&lt;br /&gt;
** Versão&lt;br /&gt;
* Possíveis side effects da correção&lt;br /&gt;
** side effects&lt;br /&gt;
* Link para issue tracker&lt;br /&gt;
** N/A&lt;/div&gt;</summary>
		<author><name>Jeffque</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Vers%C3%A3o/mobile/v4.1.0&amp;diff=3220</id>
		<title>Versão/mobile/v4.1.0</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Vers%C3%A3o/mobile/v4.1.0&amp;diff=3220"/>
		<updated>2017-03-06T17:24:23Z</updated>

		<summary type="html">&lt;p&gt;Jeffque: /* Mudança na infraestrutura */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Detalhes=&lt;br /&gt;
&lt;br /&gt;
* Data de liberação&lt;br /&gt;
** &amp;lt;strike&amp;gt;RC1 08/03/2017&amp;lt;/strike&amp;gt;&lt;br /&gt;
** RC2 08/03/2017&lt;br /&gt;
** previsão para 08/03/2017&lt;br /&gt;
* Nome da versão&lt;br /&gt;
** [[versão/mobile/v4.1.0|v4.1.0]]&lt;br /&gt;
* Versão pai&lt;br /&gt;
** [[versão/mobile/v4.0.18|v4.0.18]]&lt;br /&gt;
* Link para versão:&lt;br /&gt;
** &amp;lt;strike&amp;gt;(RC1) http://10.0.0.75:7070/job/GeoSales_Mobile/1198/&amp;lt;/strike&amp;gt;&lt;br /&gt;
** (RC2) http://10.0.0.75:7070/job/GeoSales_Mobile/1199/&lt;br /&gt;
&lt;br /&gt;
=Clientes atendidos=&lt;br /&gt;
&lt;br /&gt;
* Agrosema&lt;br /&gt;
* Camil&lt;br /&gt;
* Makita&lt;br /&gt;
* Ourolux&lt;br /&gt;
* Reflexa&lt;br /&gt;
&lt;br /&gt;
=Mudança na infraestrutura=&lt;br /&gt;
&lt;br /&gt;
Remover cliente prospect que contenha pedido foi alterado o fluxo de interface. Precisa ver se ficou legal ou não.&lt;br /&gt;
&lt;br /&gt;
Exclusão de pedidos foi ligeiramente modificada, não creio que afete a vida em nada, mas não tenha certeza.&lt;br /&gt;
&lt;br /&gt;
O protocolo de geração de código do pedido foi alterado. Agora, o próximo &amp;lt;code&amp;gt;cd_pedido_palm&amp;lt;/code&amp;gt; que é disponibilizado para o vendedor tem pouca relação com a hora atual. O protocolo de geração agora determina um número mínimo, esse por sua vez que é o momento atual (&amp;lt;code&amp;gt;YYMMDDhhmmss&amp;lt;/code&amp;gt;), então ele pega sempre o próximo número disponível. Então, se o vendedor &amp;lt;code&amp;gt;509&amp;lt;/code&amp;gt; iniciar o sistema as &amp;lt;code&amp;gt;8:40:12&amp;lt;/code&amp;gt; da manhã do dia &amp;lt;code&amp;gt;2017-03-06&amp;lt;/code&amp;gt;, não sincronizar nem desligar a aplicação, então realizar um pedido as &amp;lt;code&amp;gt;17:37:47&amp;lt;/code&amp;gt;, o código gerado é &amp;lt;code&amp;gt;509170306084012&amp;lt;/code&amp;gt; e o do pedido seguinte é &amp;lt;code&amp;gt;509170306084013&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=Branches utilizados para essa versão desde a versão anterior=&lt;br /&gt;
Núcleo:&lt;br /&gt;
&lt;br /&gt;
* feature-rel-estoque-ausente [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/717 717]&lt;br /&gt;
* feature-utiliza-preco-maximo [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/726 726]&lt;br /&gt;
* bugfix-controle-tramitacoes-pedido [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/726 726]&lt;br /&gt;
* bugfix-controle-tramitacoes-pedido [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/751 751]&lt;br /&gt;
* feature-cond-pgto-padrao [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/723 723]&lt;br /&gt;
* feature-camil-campos-obs [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/764 764]&lt;br /&gt;
* bugfix-filtro-fornecedor-cadastro-pedido [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/710 710]&lt;br /&gt;
* feature-camil-exibe-tipo-venda-pedido-conf [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/765 765]&lt;br /&gt;
* hotfix-melhorando-desempenho-arquivo-edi [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/766 766]&lt;br /&gt;
* bugfix-campanha-validacao-dt-entrega [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/731 731]&lt;br /&gt;
* hotfix-valor-pedido-julgar-condicao [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/769 769]&lt;br /&gt;
* bugfix-valor-fatura-frete-manual [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/768 768]&lt;br /&gt;
* bugfix-prioridade-vr-pedido-jug-cond-pgto-str [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/785 785]&lt;br /&gt;
* feature-agrosema-bloqueio-por-prazo [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/748 748]&lt;br /&gt;
* hotfix-configuracao-id-obriga-vencimento [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/789 789]&lt;br /&gt;
* bugfix-remover-dtCadastroDate-bean-cliente [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/790 790]&lt;br /&gt;
* feature-agrosema-clientes-vencidos [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/771 771]&lt;br /&gt;
* bugfix-julgar-rentabilidade-pedido-familias-hidratadas [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/794 794]&lt;br /&gt;
* feature-agrosema-agenda-visita [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/791 791]&lt;br /&gt;
* feature-controle-retorno-pedido [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/809 809]&lt;br /&gt;
* fix-testes [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/811 811]&lt;br /&gt;
&lt;br /&gt;
Mobile:&lt;br /&gt;
&lt;br /&gt;
* hotfix-filtros-fornecedores-portal [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1036 1036]&lt;br /&gt;
* feature-camil-campos-obs [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1028 1028]&lt;br /&gt;
* feature-agrosema-widgets-tela-inicial [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/997 997]&lt;br /&gt;
* hotfix-valor-pedido-julgar-condicao [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1037 1037]&lt;br /&gt;
* feature-agrosema-bloqueio-por-prazo [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/996 996]&lt;br /&gt;
* feature-agrosema-clientes-vencidos [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1038 1038]&lt;br /&gt;
* feature-agrosema-agenda-visita [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1050 1050]&lt;br /&gt;
* feature-cond-pgto-padrao [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/967 967]&lt;br /&gt;
* feature-controle-retorno-pedido [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1074 1074]&lt;br /&gt;
* improve-safesleep [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1077 1077]&lt;br /&gt;
* fix-testes [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1078 1078]&lt;br /&gt;
&lt;br /&gt;
=Liberação de funcionalidade=&lt;br /&gt;
&lt;br /&gt;
* Estoque ausente&lt;br /&gt;
** Ourolux&lt;br /&gt;
** Um dia vai pra Wiki&lt;br /&gt;
* Utiliza peço máximo&lt;br /&gt;
** Ourolux&lt;br /&gt;
** Ao carregar o item, ele já carrega com o valor máximo&lt;br /&gt;
** Configuração: &amp;lt;code&amp;gt;ID_UTILIZA_PRECO_MAXIMO&amp;lt;/code&amp;gt;&lt;br /&gt;
* Condição de pagamento padrão&lt;br /&gt;
** Reflexa&lt;br /&gt;
** http://10.0.0.32/wiki/index.php/Projeto/Reflexa/Documentação/Condição_de_Pagamento_Padrão&lt;br /&gt;
* Sumir com os campos de observação&lt;br /&gt;
** Camil&lt;br /&gt;
** http://redmine.softsitemobile.com/issues/1594&lt;br /&gt;
* Oculta tipo de venda do item&lt;br /&gt;
** Camil&lt;br /&gt;
** http://redmine.softsitemobile.com/issues/1595&lt;br /&gt;
* Bloqueio por prazo&lt;br /&gt;
** Agrosema&lt;br /&gt;
** http://redmine.softsitemobile.com/issues/1238&lt;br /&gt;
** http://10.0.0.32/wiki/index.php/Bloqueio_de_Prazo&lt;br /&gt;
* Clientes vencidos&lt;br /&gt;
** Agrosema&lt;br /&gt;
** http://10.0.0.32/wiki/index.php/Cadastro_Clientes_Vencidos&lt;br /&gt;
* Agenda de visita&lt;br /&gt;
** Agrosema&lt;br /&gt;
** http://10.0.0.32/wiki/index.php/Agenda_de_Visita&lt;br /&gt;
* Controle de retorno do pedido&lt;br /&gt;
** Makita&lt;br /&gt;
** Em algum documento MID22 antigo perdido pelo mundo...&lt;br /&gt;
** Quantas vezes o pedido retornar ao vendedor&lt;br /&gt;
* Widgets da tela inicial&lt;br /&gt;
** Agrosema&lt;br /&gt;
** http://redmine.softsitemobile.com/issues/1237&lt;br /&gt;
** http://10.0.0.32/wiki/index.php/Widgets_da_Tela_Inicial&lt;br /&gt;
&lt;br /&gt;
=Mudanças gerais em funcionalidades=&lt;br /&gt;
&lt;br /&gt;
Nenhuma&lt;br /&gt;
&lt;br /&gt;
=Correção de bugs=&lt;br /&gt;
&lt;br /&gt;
Correção&lt;br /&gt;
* Cliente afetado&lt;br /&gt;
** Empresa&lt;br /&gt;
* Versões onde o bug foi detectado&lt;br /&gt;
** Versão&lt;br /&gt;
* Possíveis side effects da correção&lt;br /&gt;
** side effects&lt;br /&gt;
* Link para issue tracker&lt;br /&gt;
** N/A&lt;/div&gt;</summary>
		<author><name>Jeffque</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Vers%C3%A3o/mobile/v4.1.0&amp;diff=3219</id>
		<title>Versão/mobile/v4.1.0</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Vers%C3%A3o/mobile/v4.1.0&amp;diff=3219"/>
		<updated>2017-03-06T17:16:35Z</updated>

		<summary type="html">&lt;p&gt;Jeffque: /* Clientes atendidos */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Detalhes=&lt;br /&gt;
&lt;br /&gt;
* Data de liberação&lt;br /&gt;
** &amp;lt;strike&amp;gt;RC1 08/03/2017&amp;lt;/strike&amp;gt;&lt;br /&gt;
** RC2 08/03/2017&lt;br /&gt;
** previsão para 08/03/2017&lt;br /&gt;
* Nome da versão&lt;br /&gt;
** [[versão/mobile/v4.1.0|v4.1.0]]&lt;br /&gt;
* Versão pai&lt;br /&gt;
** [[versão/mobile/v4.0.18|v4.0.18]]&lt;br /&gt;
* Link para versão:&lt;br /&gt;
** &amp;lt;strike&amp;gt;(RC1) http://10.0.0.75:7070/job/GeoSales_Mobile/1198/&amp;lt;/strike&amp;gt;&lt;br /&gt;
** (RC2) http://10.0.0.75:7070/job/GeoSales_Mobile/1199/&lt;br /&gt;
&lt;br /&gt;
=Clientes atendidos=&lt;br /&gt;
&lt;br /&gt;
* Agrosema&lt;br /&gt;
* Camil&lt;br /&gt;
* Makita&lt;br /&gt;
* Ourolux&lt;br /&gt;
* Reflexa&lt;br /&gt;
&lt;br /&gt;
=Mudança na infraestrutura=&lt;br /&gt;
&lt;br /&gt;
PREENCHER&lt;br /&gt;
&lt;br /&gt;
=Branches utilizados para essa versão desde a versão anterior=&lt;br /&gt;
Núcleo:&lt;br /&gt;
&lt;br /&gt;
* feature-rel-estoque-ausente [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/717 717]&lt;br /&gt;
* feature-utiliza-preco-maximo [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/726 726]&lt;br /&gt;
* bugfix-controle-tramitacoes-pedido [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/726 726]&lt;br /&gt;
* bugfix-controle-tramitacoes-pedido [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/751 751]&lt;br /&gt;
* feature-cond-pgto-padrao [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/723 723]&lt;br /&gt;
* feature-camil-campos-obs [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/764 764]&lt;br /&gt;
* bugfix-filtro-fornecedor-cadastro-pedido [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/710 710]&lt;br /&gt;
* feature-camil-exibe-tipo-venda-pedido-conf [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/765 765]&lt;br /&gt;
* hotfix-melhorando-desempenho-arquivo-edi [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/766 766]&lt;br /&gt;
* bugfix-campanha-validacao-dt-entrega [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/731 731]&lt;br /&gt;
* hotfix-valor-pedido-julgar-condicao [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/769 769]&lt;br /&gt;
* bugfix-valor-fatura-frete-manual [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/768 768]&lt;br /&gt;
* bugfix-prioridade-vr-pedido-jug-cond-pgto-str [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/785 785]&lt;br /&gt;
* feature-agrosema-bloqueio-por-prazo [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/748 748]&lt;br /&gt;
* hotfix-configuracao-id-obriga-vencimento [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/789 789]&lt;br /&gt;
* bugfix-remover-dtCadastroDate-bean-cliente [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/790 790]&lt;br /&gt;
* feature-agrosema-clientes-vencidos [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/771 771]&lt;br /&gt;
* bugfix-julgar-rentabilidade-pedido-familias-hidratadas [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/794 794]&lt;br /&gt;
* feature-agrosema-agenda-visita [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/791 791]&lt;br /&gt;
* feature-controle-retorno-pedido [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/809 809]&lt;br /&gt;
* fix-testes [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/811 811]&lt;br /&gt;
&lt;br /&gt;
Mobile:&lt;br /&gt;
&lt;br /&gt;
* hotfix-filtros-fornecedores-portal [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1036 1036]&lt;br /&gt;
* feature-camil-campos-obs [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1028 1028]&lt;br /&gt;
* feature-agrosema-widgets-tela-inicial [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/997 997]&lt;br /&gt;
* hotfix-valor-pedido-julgar-condicao [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1037 1037]&lt;br /&gt;
* feature-agrosema-bloqueio-por-prazo [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/996 996]&lt;br /&gt;
* feature-agrosema-clientes-vencidos [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1038 1038]&lt;br /&gt;
* feature-agrosema-agenda-visita [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1050 1050]&lt;br /&gt;
* feature-cond-pgto-padrao [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/967 967]&lt;br /&gt;
* feature-controle-retorno-pedido [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1074 1074]&lt;br /&gt;
* improve-safesleep [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1077 1077]&lt;br /&gt;
* fix-testes [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1078 1078]&lt;br /&gt;
&lt;br /&gt;
=Liberação de funcionalidade=&lt;br /&gt;
&lt;br /&gt;
* Estoque ausente&lt;br /&gt;
** Ourolux&lt;br /&gt;
** Um dia vai pra Wiki&lt;br /&gt;
* Utiliza peço máximo&lt;br /&gt;
** Ourolux&lt;br /&gt;
** Ao carregar o item, ele já carrega com o valor máximo&lt;br /&gt;
** Configuração: &amp;lt;code&amp;gt;ID_UTILIZA_PRECO_MAXIMO&amp;lt;/code&amp;gt;&lt;br /&gt;
* Condição de pagamento padrão&lt;br /&gt;
** Reflexa&lt;br /&gt;
** http://10.0.0.32/wiki/index.php/Projeto/Reflexa/Documentação/Condição_de_Pagamento_Padrão&lt;br /&gt;
* Sumir com os campos de observação&lt;br /&gt;
** Camil&lt;br /&gt;
** http://redmine.softsitemobile.com/issues/1594&lt;br /&gt;
* Oculta tipo de venda do item&lt;br /&gt;
** Camil&lt;br /&gt;
** http://redmine.softsitemobile.com/issues/1595&lt;br /&gt;
* Bloqueio por prazo&lt;br /&gt;
** Agrosema&lt;br /&gt;
** http://redmine.softsitemobile.com/issues/1238&lt;br /&gt;
** http://10.0.0.32/wiki/index.php/Bloqueio_de_Prazo&lt;br /&gt;
* Clientes vencidos&lt;br /&gt;
** Agrosema&lt;br /&gt;
** http://10.0.0.32/wiki/index.php/Cadastro_Clientes_Vencidos&lt;br /&gt;
* Agenda de visita&lt;br /&gt;
** Agrosema&lt;br /&gt;
** http://10.0.0.32/wiki/index.php/Agenda_de_Visita&lt;br /&gt;
* Controle de retorno do pedido&lt;br /&gt;
** Makita&lt;br /&gt;
** Em algum documento MID22 antigo perdido pelo mundo...&lt;br /&gt;
** Quantas vezes o pedido retornar ao vendedor&lt;br /&gt;
* Widgets da tela inicial&lt;br /&gt;
** Agrosema&lt;br /&gt;
** http://redmine.softsitemobile.com/issues/1237&lt;br /&gt;
** http://10.0.0.32/wiki/index.php/Widgets_da_Tela_Inicial&lt;br /&gt;
&lt;br /&gt;
=Mudanças gerais em funcionalidades=&lt;br /&gt;
&lt;br /&gt;
Nenhuma&lt;br /&gt;
&lt;br /&gt;
=Correção de bugs=&lt;br /&gt;
&lt;br /&gt;
Correção&lt;br /&gt;
* Cliente afetado&lt;br /&gt;
** Empresa&lt;br /&gt;
* Versões onde o bug foi detectado&lt;br /&gt;
** Versão&lt;br /&gt;
* Possíveis side effects da correção&lt;br /&gt;
** side effects&lt;br /&gt;
* Link para issue tracker&lt;br /&gt;
** N/A&lt;/div&gt;</summary>
		<author><name>Jeffque</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Vers%C3%A3o/mobile/v4.1.0&amp;diff=3218</id>
		<title>Versão/mobile/v4.1.0</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Vers%C3%A3o/mobile/v4.1.0&amp;diff=3218"/>
		<updated>2017-03-06T17:15:46Z</updated>

		<summary type="html">&lt;p&gt;Jeffque: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Detalhes=&lt;br /&gt;
&lt;br /&gt;
* Data de liberação&lt;br /&gt;
** &amp;lt;strike&amp;gt;RC1 08/03/2017&amp;lt;/strike&amp;gt;&lt;br /&gt;
** RC2 08/03/2017&lt;br /&gt;
** previsão para 08/03/2017&lt;br /&gt;
* Nome da versão&lt;br /&gt;
** [[versão/mobile/v4.1.0|v4.1.0]]&lt;br /&gt;
* Versão pai&lt;br /&gt;
** [[versão/mobile/v4.0.18|v4.0.18]]&lt;br /&gt;
* Link para versão:&lt;br /&gt;
** &amp;lt;strike&amp;gt;(RC1) http://10.0.0.75:7070/job/GeoSales_Mobile/1198/&amp;lt;/strike&amp;gt;&lt;br /&gt;
** (RC2) http://10.0.0.75:7070/job/GeoSales_Mobile/1199/&lt;br /&gt;
&lt;br /&gt;
=Clientes atendidos=&lt;br /&gt;
&lt;br /&gt;
* Todos&lt;br /&gt;
* Agrosema&lt;br /&gt;
* Alguns que eu preciso perguntar coisas&lt;br /&gt;
&lt;br /&gt;
=Mudança na infraestrutura=&lt;br /&gt;
&lt;br /&gt;
PREENCHER&lt;br /&gt;
&lt;br /&gt;
=Branches utilizados para essa versão desde a versão anterior=&lt;br /&gt;
Núcleo:&lt;br /&gt;
&lt;br /&gt;
* feature-rel-estoque-ausente [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/717 717]&lt;br /&gt;
* feature-utiliza-preco-maximo [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/726 726]&lt;br /&gt;
* bugfix-controle-tramitacoes-pedido [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/726 726]&lt;br /&gt;
* bugfix-controle-tramitacoes-pedido [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/751 751]&lt;br /&gt;
* feature-cond-pgto-padrao [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/723 723]&lt;br /&gt;
* feature-camil-campos-obs [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/764 764]&lt;br /&gt;
* bugfix-filtro-fornecedor-cadastro-pedido [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/710 710]&lt;br /&gt;
* feature-camil-exibe-tipo-venda-pedido-conf [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/765 765]&lt;br /&gt;
* hotfix-melhorando-desempenho-arquivo-edi [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/766 766]&lt;br /&gt;
* bugfix-campanha-validacao-dt-entrega [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/731 731]&lt;br /&gt;
* hotfix-valor-pedido-julgar-condicao [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/769 769]&lt;br /&gt;
* bugfix-valor-fatura-frete-manual [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/768 768]&lt;br /&gt;
* bugfix-prioridade-vr-pedido-jug-cond-pgto-str [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/785 785]&lt;br /&gt;
* feature-agrosema-bloqueio-por-prazo [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/748 748]&lt;br /&gt;
* hotfix-configuracao-id-obriga-vencimento [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/789 789]&lt;br /&gt;
* bugfix-remover-dtCadastroDate-bean-cliente [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/790 790]&lt;br /&gt;
* feature-agrosema-clientes-vencidos [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/771 771]&lt;br /&gt;
* bugfix-julgar-rentabilidade-pedido-familias-hidratadas [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/794 794]&lt;br /&gt;
* feature-agrosema-agenda-visita [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/791 791]&lt;br /&gt;
* feature-controle-retorno-pedido [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/809 809]&lt;br /&gt;
* fix-testes [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/811 811]&lt;br /&gt;
&lt;br /&gt;
Mobile:&lt;br /&gt;
&lt;br /&gt;
* hotfix-filtros-fornecedores-portal [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1036 1036]&lt;br /&gt;
* feature-camil-campos-obs [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1028 1028]&lt;br /&gt;
* feature-agrosema-widgets-tela-inicial [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/997 997]&lt;br /&gt;
* hotfix-valor-pedido-julgar-condicao [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1037 1037]&lt;br /&gt;
* feature-agrosema-bloqueio-por-prazo [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/996 996]&lt;br /&gt;
* feature-agrosema-clientes-vencidos [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1038 1038]&lt;br /&gt;
* feature-agrosema-agenda-visita [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1050 1050]&lt;br /&gt;
* feature-cond-pgto-padrao [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/967 967]&lt;br /&gt;
* feature-controle-retorno-pedido [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1074 1074]&lt;br /&gt;
* improve-safesleep [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1077 1077]&lt;br /&gt;
* fix-testes [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1078 1078]&lt;br /&gt;
&lt;br /&gt;
=Liberação de funcionalidade=&lt;br /&gt;
&lt;br /&gt;
* Estoque ausente&lt;br /&gt;
** Ourolux&lt;br /&gt;
** Um dia vai pra Wiki&lt;br /&gt;
* Utiliza peço máximo&lt;br /&gt;
** Ourolux&lt;br /&gt;
** Ao carregar o item, ele já carrega com o valor máximo&lt;br /&gt;
** Configuração: &amp;lt;code&amp;gt;ID_UTILIZA_PRECO_MAXIMO&amp;lt;/code&amp;gt;&lt;br /&gt;
* Condição de pagamento padrão&lt;br /&gt;
** Reflexa&lt;br /&gt;
** http://10.0.0.32/wiki/index.php/Projeto/Reflexa/Documentação/Condição_de_Pagamento_Padrão&lt;br /&gt;
* Sumir com os campos de observação&lt;br /&gt;
** Camil&lt;br /&gt;
** http://redmine.softsitemobile.com/issues/1594&lt;br /&gt;
* Oculta tipo de venda do item&lt;br /&gt;
** Camil&lt;br /&gt;
** http://redmine.softsitemobile.com/issues/1595&lt;br /&gt;
* Bloqueio por prazo&lt;br /&gt;
** Agrosema&lt;br /&gt;
** http://redmine.softsitemobile.com/issues/1238&lt;br /&gt;
** http://10.0.0.32/wiki/index.php/Bloqueio_de_Prazo&lt;br /&gt;
* Clientes vencidos&lt;br /&gt;
** Agrosema&lt;br /&gt;
** http://10.0.0.32/wiki/index.php/Cadastro_Clientes_Vencidos&lt;br /&gt;
* Agenda de visita&lt;br /&gt;
** Agrosema&lt;br /&gt;
** http://10.0.0.32/wiki/index.php/Agenda_de_Visita&lt;br /&gt;
* Controle de retorno do pedido&lt;br /&gt;
** Makita&lt;br /&gt;
** Em algum documento MID22 antigo perdido pelo mundo...&lt;br /&gt;
** Quantas vezes o pedido retornar ao vendedor&lt;br /&gt;
* Widgets da tela inicial&lt;br /&gt;
** Agrosema&lt;br /&gt;
** http://redmine.softsitemobile.com/issues/1237&lt;br /&gt;
** http://10.0.0.32/wiki/index.php/Widgets_da_Tela_Inicial&lt;br /&gt;
&lt;br /&gt;
=Mudanças gerais em funcionalidades=&lt;br /&gt;
&lt;br /&gt;
Nenhuma&lt;br /&gt;
&lt;br /&gt;
=Correção de bugs=&lt;br /&gt;
&lt;br /&gt;
Correção&lt;br /&gt;
* Cliente afetado&lt;br /&gt;
** Empresa&lt;br /&gt;
* Versões onde o bug foi detectado&lt;br /&gt;
** Versão&lt;br /&gt;
* Possíveis side effects da correção&lt;br /&gt;
** side effects&lt;br /&gt;
* Link para issue tracker&lt;br /&gt;
** N/A&lt;/div&gt;</summary>
		<author><name>Jeffque</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Vers%C3%A3o/mobile/v4.1.0&amp;diff=3217</id>
		<title>Versão/mobile/v4.1.0</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Vers%C3%A3o/mobile/v4.1.0&amp;diff=3217"/>
		<updated>2017-03-06T17:15:33Z</updated>

		<summary type="html">&lt;p&gt;Jeffque: /* Mudanças gerais em funcionalidades */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Público do documento=&lt;br /&gt;
&lt;br /&gt;
* Desenvolvimento&lt;br /&gt;
* Suporte&lt;br /&gt;
* Teste&lt;br /&gt;
&lt;br /&gt;
=Detalhes=&lt;br /&gt;
&lt;br /&gt;
* Data de liberação&lt;br /&gt;
** &amp;lt;strike&amp;gt;RC1 08/03/2017&amp;lt;/strike&amp;gt;&lt;br /&gt;
** RC2 08/03/2017&lt;br /&gt;
** previsão para 08/03/2017&lt;br /&gt;
* Nome da versão&lt;br /&gt;
** [[versão/mobile/v4.1.0|v4.1.0]]&lt;br /&gt;
* Versão pai&lt;br /&gt;
** [[versão/mobile/v4.0.18|v4.0.18]]&lt;br /&gt;
* Link para versão:&lt;br /&gt;
** &amp;lt;strike&amp;gt;(RC1) http://10.0.0.75:7070/job/GeoSales_Mobile/1198/&amp;lt;/strike&amp;gt;&lt;br /&gt;
** (RC2) http://10.0.0.75:7070/job/GeoSales_Mobile/1199/&lt;br /&gt;
&lt;br /&gt;
=Clientes atendidos=&lt;br /&gt;
&lt;br /&gt;
* Todos&lt;br /&gt;
* Agrosema&lt;br /&gt;
* Alguns que eu preciso perguntar coisas&lt;br /&gt;
&lt;br /&gt;
=Mudança na infraestrutura=&lt;br /&gt;
&lt;br /&gt;
PREENCHER&lt;br /&gt;
&lt;br /&gt;
=Branches utilizados para essa versão desde a versão anterior=&lt;br /&gt;
Núcleo:&lt;br /&gt;
&lt;br /&gt;
* feature-rel-estoque-ausente [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/717 717]&lt;br /&gt;
* feature-utiliza-preco-maximo [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/726 726]&lt;br /&gt;
* bugfix-controle-tramitacoes-pedido [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/726 726]&lt;br /&gt;
* bugfix-controle-tramitacoes-pedido [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/751 751]&lt;br /&gt;
* feature-cond-pgto-padrao [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/723 723]&lt;br /&gt;
* feature-camil-campos-obs [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/764 764]&lt;br /&gt;
* bugfix-filtro-fornecedor-cadastro-pedido [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/710 710]&lt;br /&gt;
* feature-camil-exibe-tipo-venda-pedido-conf [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/765 765]&lt;br /&gt;
* hotfix-melhorando-desempenho-arquivo-edi [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/766 766]&lt;br /&gt;
* bugfix-campanha-validacao-dt-entrega [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/731 731]&lt;br /&gt;
* hotfix-valor-pedido-julgar-condicao [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/769 769]&lt;br /&gt;
* bugfix-valor-fatura-frete-manual [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/768 768]&lt;br /&gt;
* bugfix-prioridade-vr-pedido-jug-cond-pgto-str [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/785 785]&lt;br /&gt;
* feature-agrosema-bloqueio-por-prazo [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/748 748]&lt;br /&gt;
* hotfix-configuracao-id-obriga-vencimento [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/789 789]&lt;br /&gt;
* bugfix-remover-dtCadastroDate-bean-cliente [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/790 790]&lt;br /&gt;
* feature-agrosema-clientes-vencidos [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/771 771]&lt;br /&gt;
* bugfix-julgar-rentabilidade-pedido-familias-hidratadas [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/794 794]&lt;br /&gt;
* feature-agrosema-agenda-visita [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/791 791]&lt;br /&gt;
* feature-controle-retorno-pedido [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/809 809]&lt;br /&gt;
* fix-testes [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/811 811]&lt;br /&gt;
&lt;br /&gt;
Mobile:&lt;br /&gt;
&lt;br /&gt;
* hotfix-filtros-fornecedores-portal [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1036 1036]&lt;br /&gt;
* feature-camil-campos-obs [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1028 1028]&lt;br /&gt;
* feature-agrosema-widgets-tela-inicial [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/997 997]&lt;br /&gt;
* hotfix-valor-pedido-julgar-condicao [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1037 1037]&lt;br /&gt;
* feature-agrosema-bloqueio-por-prazo [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/996 996]&lt;br /&gt;
* feature-agrosema-clientes-vencidos [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1038 1038]&lt;br /&gt;
* feature-agrosema-agenda-visita [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1050 1050]&lt;br /&gt;
* feature-cond-pgto-padrao [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/967 967]&lt;br /&gt;
* feature-controle-retorno-pedido [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1074 1074]&lt;br /&gt;
* improve-safesleep [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1077 1077]&lt;br /&gt;
* fix-testes [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1078 1078]&lt;br /&gt;
&lt;br /&gt;
=Liberação de funcionalidade=&lt;br /&gt;
&lt;br /&gt;
* Estoque ausente&lt;br /&gt;
** Ourolux&lt;br /&gt;
** Um dia vai pra Wiki&lt;br /&gt;
* Utiliza peço máximo&lt;br /&gt;
** Ourolux&lt;br /&gt;
** Ao carregar o item, ele já carrega com o valor máximo&lt;br /&gt;
** Configuração: &amp;lt;code&amp;gt;ID_UTILIZA_PRECO_MAXIMO&amp;lt;/code&amp;gt;&lt;br /&gt;
* Condição de pagamento padrão&lt;br /&gt;
** Reflexa&lt;br /&gt;
** http://10.0.0.32/wiki/index.php/Projeto/Reflexa/Documentação/Condição_de_Pagamento_Padrão&lt;br /&gt;
* Sumir com os campos de observação&lt;br /&gt;
** Camil&lt;br /&gt;
** http://redmine.softsitemobile.com/issues/1594&lt;br /&gt;
* Oculta tipo de venda do item&lt;br /&gt;
** Camil&lt;br /&gt;
** http://redmine.softsitemobile.com/issues/1595&lt;br /&gt;
* Bloqueio por prazo&lt;br /&gt;
** Agrosema&lt;br /&gt;
** http://redmine.softsitemobile.com/issues/1238&lt;br /&gt;
** http://10.0.0.32/wiki/index.php/Bloqueio_de_Prazo&lt;br /&gt;
* Clientes vencidos&lt;br /&gt;
** Agrosema&lt;br /&gt;
** http://10.0.0.32/wiki/index.php/Cadastro_Clientes_Vencidos&lt;br /&gt;
* Agenda de visita&lt;br /&gt;
** Agrosema&lt;br /&gt;
** http://10.0.0.32/wiki/index.php/Agenda_de_Visita&lt;br /&gt;
* Controle de retorno do pedido&lt;br /&gt;
** Makita&lt;br /&gt;
** Em algum documento MID22 antigo perdido pelo mundo...&lt;br /&gt;
** Quantas vezes o pedido retornar ao vendedor&lt;br /&gt;
* Widgets da tela inicial&lt;br /&gt;
** Agrosema&lt;br /&gt;
** http://redmine.softsitemobile.com/issues/1237&lt;br /&gt;
** http://10.0.0.32/wiki/index.php/Widgets_da_Tela_Inicial&lt;br /&gt;
&lt;br /&gt;
=Mudanças gerais em funcionalidades=&lt;br /&gt;
&lt;br /&gt;
Nenhuma&lt;br /&gt;
&lt;br /&gt;
=Correção de bugs=&lt;br /&gt;
&lt;br /&gt;
Correção&lt;br /&gt;
* Cliente afetado&lt;br /&gt;
** Empresa&lt;br /&gt;
* Versões onde o bug foi detectado&lt;br /&gt;
** Versão&lt;br /&gt;
* Possíveis side effects da correção&lt;br /&gt;
** side effects&lt;br /&gt;
* Link para issue tracker&lt;br /&gt;
** N/A&lt;/div&gt;</summary>
		<author><name>Jeffque</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Vers%C3%A3o/mobile/v4.1.0&amp;diff=3216</id>
		<title>Versão/mobile/v4.1.0</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Vers%C3%A3o/mobile/v4.1.0&amp;diff=3216"/>
		<updated>2017-03-06T17:13:12Z</updated>

		<summary type="html">&lt;p&gt;Jeffque: /* Liberação de funcionalidade */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Público do documento=&lt;br /&gt;
&lt;br /&gt;
* Desenvolvimento&lt;br /&gt;
* Suporte&lt;br /&gt;
* Teste&lt;br /&gt;
&lt;br /&gt;
=Detalhes=&lt;br /&gt;
&lt;br /&gt;
* Data de liberação&lt;br /&gt;
** &amp;lt;strike&amp;gt;RC1 08/03/2017&amp;lt;/strike&amp;gt;&lt;br /&gt;
** RC2 08/03/2017&lt;br /&gt;
** previsão para 08/03/2017&lt;br /&gt;
* Nome da versão&lt;br /&gt;
** [[versão/mobile/v4.1.0|v4.1.0]]&lt;br /&gt;
* Versão pai&lt;br /&gt;
** [[versão/mobile/v4.0.18|v4.0.18]]&lt;br /&gt;
* Link para versão:&lt;br /&gt;
** &amp;lt;strike&amp;gt;(RC1) http://10.0.0.75:7070/job/GeoSales_Mobile/1198/&amp;lt;/strike&amp;gt;&lt;br /&gt;
** (RC2) http://10.0.0.75:7070/job/GeoSales_Mobile/1199/&lt;br /&gt;
&lt;br /&gt;
=Clientes atendidos=&lt;br /&gt;
&lt;br /&gt;
* Todos&lt;br /&gt;
* Agrosema&lt;br /&gt;
* Alguns que eu preciso perguntar coisas&lt;br /&gt;
&lt;br /&gt;
=Mudança na infraestrutura=&lt;br /&gt;
&lt;br /&gt;
PREENCHER&lt;br /&gt;
&lt;br /&gt;
=Branches utilizados para essa versão desde a versão anterior=&lt;br /&gt;
Núcleo:&lt;br /&gt;
&lt;br /&gt;
* feature-rel-estoque-ausente [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/717 717]&lt;br /&gt;
* feature-utiliza-preco-maximo [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/726 726]&lt;br /&gt;
* bugfix-controle-tramitacoes-pedido [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/726 726]&lt;br /&gt;
* bugfix-controle-tramitacoes-pedido [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/751 751]&lt;br /&gt;
* feature-cond-pgto-padrao [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/723 723]&lt;br /&gt;
* feature-camil-campos-obs [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/764 764]&lt;br /&gt;
* bugfix-filtro-fornecedor-cadastro-pedido [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/710 710]&lt;br /&gt;
* feature-camil-exibe-tipo-venda-pedido-conf [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/765 765]&lt;br /&gt;
* hotfix-melhorando-desempenho-arquivo-edi [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/766 766]&lt;br /&gt;
* bugfix-campanha-validacao-dt-entrega [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/731 731]&lt;br /&gt;
* hotfix-valor-pedido-julgar-condicao [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/769 769]&lt;br /&gt;
* bugfix-valor-fatura-frete-manual [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/768 768]&lt;br /&gt;
* bugfix-prioridade-vr-pedido-jug-cond-pgto-str [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/785 785]&lt;br /&gt;
* feature-agrosema-bloqueio-por-prazo [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/748 748]&lt;br /&gt;
* hotfix-configuracao-id-obriga-vencimento [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/789 789]&lt;br /&gt;
* bugfix-remover-dtCadastroDate-bean-cliente [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/790 790]&lt;br /&gt;
* feature-agrosema-clientes-vencidos [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/771 771]&lt;br /&gt;
* bugfix-julgar-rentabilidade-pedido-familias-hidratadas [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/794 794]&lt;br /&gt;
* feature-agrosema-agenda-visita [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/791 791]&lt;br /&gt;
* feature-controle-retorno-pedido [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/809 809]&lt;br /&gt;
* fix-testes [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/811 811]&lt;br /&gt;
&lt;br /&gt;
Mobile:&lt;br /&gt;
&lt;br /&gt;
* hotfix-filtros-fornecedores-portal [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1036 1036]&lt;br /&gt;
* feature-camil-campos-obs [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1028 1028]&lt;br /&gt;
* feature-agrosema-widgets-tela-inicial [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/997 997]&lt;br /&gt;
* hotfix-valor-pedido-julgar-condicao [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1037 1037]&lt;br /&gt;
* feature-agrosema-bloqueio-por-prazo [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/996 996]&lt;br /&gt;
* feature-agrosema-clientes-vencidos [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1038 1038]&lt;br /&gt;
* feature-agrosema-agenda-visita [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1050 1050]&lt;br /&gt;
* feature-cond-pgto-padrao [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/967 967]&lt;br /&gt;
* feature-controle-retorno-pedido [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1074 1074]&lt;br /&gt;
* improve-safesleep [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1077 1077]&lt;br /&gt;
* fix-testes [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1078 1078]&lt;br /&gt;
&lt;br /&gt;
=Liberação de funcionalidade=&lt;br /&gt;
&lt;br /&gt;
* Estoque ausente&lt;br /&gt;
** Ourolux&lt;br /&gt;
** Um dia vai pra Wiki&lt;br /&gt;
* Utiliza peço máximo&lt;br /&gt;
** Ourolux&lt;br /&gt;
** Ao carregar o item, ele já carrega com o valor máximo&lt;br /&gt;
** Configuração: &amp;lt;code&amp;gt;ID_UTILIZA_PRECO_MAXIMO&amp;lt;/code&amp;gt;&lt;br /&gt;
* Condição de pagamento padrão&lt;br /&gt;
** Reflexa&lt;br /&gt;
** http://10.0.0.32/wiki/index.php/Projeto/Reflexa/Documentação/Condição_de_Pagamento_Padrão&lt;br /&gt;
* Sumir com os campos de observação&lt;br /&gt;
** Camil&lt;br /&gt;
** http://redmine.softsitemobile.com/issues/1594&lt;br /&gt;
* Oculta tipo de venda do item&lt;br /&gt;
** Camil&lt;br /&gt;
** http://redmine.softsitemobile.com/issues/1595&lt;br /&gt;
* Bloqueio por prazo&lt;br /&gt;
** Agrosema&lt;br /&gt;
** http://redmine.softsitemobile.com/issues/1238&lt;br /&gt;
** http://10.0.0.32/wiki/index.php/Bloqueio_de_Prazo&lt;br /&gt;
* Clientes vencidos&lt;br /&gt;
** Agrosema&lt;br /&gt;
** http://10.0.0.32/wiki/index.php/Cadastro_Clientes_Vencidos&lt;br /&gt;
* Agenda de visita&lt;br /&gt;
** Agrosema&lt;br /&gt;
** http://10.0.0.32/wiki/index.php/Agenda_de_Visita&lt;br /&gt;
* Controle de retorno do pedido&lt;br /&gt;
** Makita&lt;br /&gt;
** Em algum documento MID22 antigo perdido pelo mundo...&lt;br /&gt;
** Quantas vezes o pedido retornar ao vendedor&lt;br /&gt;
* Widgets da tela inicial&lt;br /&gt;
** Agrosema&lt;br /&gt;
** http://redmine.softsitemobile.com/issues/1237&lt;br /&gt;
** http://10.0.0.32/wiki/index.php/Widgets_da_Tela_Inicial&lt;br /&gt;
&lt;br /&gt;
=Mudanças gerais em funcionalidades=&lt;br /&gt;
&lt;br /&gt;
PREENCHER&lt;br /&gt;
&lt;br /&gt;
=Correção de bugs=&lt;br /&gt;
&lt;br /&gt;
Correção&lt;br /&gt;
* Cliente afetado&lt;br /&gt;
** Empresa&lt;br /&gt;
* Versões onde o bug foi detectado&lt;br /&gt;
** Versão&lt;br /&gt;
* Possíveis side effects da correção&lt;br /&gt;
** side effects&lt;br /&gt;
* Link para issue tracker&lt;br /&gt;
** N/A&lt;/div&gt;</summary>
		<author><name>Jeffque</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Vers%C3%A3o/mobile/v4.1.0&amp;diff=3215</id>
		<title>Versão/mobile/v4.1.0</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Vers%C3%A3o/mobile/v4.1.0&amp;diff=3215"/>
		<updated>2017-03-06T17:12:43Z</updated>

		<summary type="html">&lt;p&gt;Jeffque: /* Liberação de funcionalidade */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Público do documento=&lt;br /&gt;
&lt;br /&gt;
* Desenvolvimento&lt;br /&gt;
* Suporte&lt;br /&gt;
* Teste&lt;br /&gt;
&lt;br /&gt;
=Detalhes=&lt;br /&gt;
&lt;br /&gt;
* Data de liberação&lt;br /&gt;
** &amp;lt;strike&amp;gt;RC1 08/03/2017&amp;lt;/strike&amp;gt;&lt;br /&gt;
** RC2 08/03/2017&lt;br /&gt;
** previsão para 08/03/2017&lt;br /&gt;
* Nome da versão&lt;br /&gt;
** [[versão/mobile/v4.1.0|v4.1.0]]&lt;br /&gt;
* Versão pai&lt;br /&gt;
** [[versão/mobile/v4.0.18|v4.0.18]]&lt;br /&gt;
* Link para versão:&lt;br /&gt;
** &amp;lt;strike&amp;gt;(RC1) http://10.0.0.75:7070/job/GeoSales_Mobile/1198/&amp;lt;/strike&amp;gt;&lt;br /&gt;
** (RC2) http://10.0.0.75:7070/job/GeoSales_Mobile/1199/&lt;br /&gt;
&lt;br /&gt;
=Clientes atendidos=&lt;br /&gt;
&lt;br /&gt;
* Todos&lt;br /&gt;
* Agrosema&lt;br /&gt;
* Alguns que eu preciso perguntar coisas&lt;br /&gt;
&lt;br /&gt;
=Mudança na infraestrutura=&lt;br /&gt;
&lt;br /&gt;
PREENCHER&lt;br /&gt;
&lt;br /&gt;
=Branches utilizados para essa versão desde a versão anterior=&lt;br /&gt;
Núcleo:&lt;br /&gt;
&lt;br /&gt;
* feature-rel-estoque-ausente [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/717 717]&lt;br /&gt;
* feature-utiliza-preco-maximo [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/726 726]&lt;br /&gt;
* bugfix-controle-tramitacoes-pedido [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/726 726]&lt;br /&gt;
* bugfix-controle-tramitacoes-pedido [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/751 751]&lt;br /&gt;
* feature-cond-pgto-padrao [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/723 723]&lt;br /&gt;
* feature-camil-campos-obs [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/764 764]&lt;br /&gt;
* bugfix-filtro-fornecedor-cadastro-pedido [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/710 710]&lt;br /&gt;
* feature-camil-exibe-tipo-venda-pedido-conf [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/765 765]&lt;br /&gt;
* hotfix-melhorando-desempenho-arquivo-edi [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/766 766]&lt;br /&gt;
* bugfix-campanha-validacao-dt-entrega [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/731 731]&lt;br /&gt;
* hotfix-valor-pedido-julgar-condicao [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/769 769]&lt;br /&gt;
* bugfix-valor-fatura-frete-manual [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/768 768]&lt;br /&gt;
* bugfix-prioridade-vr-pedido-jug-cond-pgto-str [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/785 785]&lt;br /&gt;
* feature-agrosema-bloqueio-por-prazo [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/748 748]&lt;br /&gt;
* hotfix-configuracao-id-obriga-vencimento [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/789 789]&lt;br /&gt;
* bugfix-remover-dtCadastroDate-bean-cliente [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/790 790]&lt;br /&gt;
* feature-agrosema-clientes-vencidos [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/771 771]&lt;br /&gt;
* bugfix-julgar-rentabilidade-pedido-familias-hidratadas [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/794 794]&lt;br /&gt;
* feature-agrosema-agenda-visita [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/791 791]&lt;br /&gt;
* feature-controle-retorno-pedido [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/809 809]&lt;br /&gt;
* fix-testes [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/811 811]&lt;br /&gt;
&lt;br /&gt;
Mobile:&lt;br /&gt;
&lt;br /&gt;
* hotfix-filtros-fornecedores-portal [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1036 1036]&lt;br /&gt;
* feature-camil-campos-obs [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1028 1028]&lt;br /&gt;
* feature-agrosema-widgets-tela-inicial [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/997 997]&lt;br /&gt;
* hotfix-valor-pedido-julgar-condicao [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1037 1037]&lt;br /&gt;
* feature-agrosema-bloqueio-por-prazo [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/996 996]&lt;br /&gt;
* feature-agrosema-clientes-vencidos [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1038 1038]&lt;br /&gt;
* feature-agrosema-agenda-visita [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1050 1050]&lt;br /&gt;
* feature-cond-pgto-padrao [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/967 967]&lt;br /&gt;
* feature-controle-retorno-pedido [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1074 1074]&lt;br /&gt;
* improve-safesleep [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1077 1077]&lt;br /&gt;
* fix-testes [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1078 1078]&lt;br /&gt;
&lt;br /&gt;
=Liberação de funcionalidade=&lt;br /&gt;
&lt;br /&gt;
* Estoque ausente&lt;br /&gt;
** Ourolux&lt;br /&gt;
** Um dia vai pra Wiki&lt;br /&gt;
* Utiliza peço máximo&lt;br /&gt;
** Ourolux&lt;br /&gt;
** Ao carregar o item, ele já carrega com o valor máximo&lt;br /&gt;
** Configuração: &amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* Condição de pagamento padrão&lt;br /&gt;
** Reflexa&lt;br /&gt;
** http://10.0.0.32/wiki/index.php/Projeto/Reflexa/Documentação/Condição_de_Pagamento_Padrão&lt;br /&gt;
* Sumir com os campos de observação&lt;br /&gt;
** Camil&lt;br /&gt;
** http://redmine.softsitemobile.com/issues/1594&lt;br /&gt;
* Oculta tipo de venda do item&lt;br /&gt;
** Camil&lt;br /&gt;
** http://redmine.softsitemobile.com/issues/1595&lt;br /&gt;
* Bloqueio por prazo&lt;br /&gt;
** Agrosema&lt;br /&gt;
** http://redmine.softsitemobile.com/issues/1238&lt;br /&gt;
** http://10.0.0.32/wiki/index.php/Bloqueio_de_Prazo&lt;br /&gt;
* Clientes vencidos&lt;br /&gt;
** Agrosema&lt;br /&gt;
** http://10.0.0.32/wiki/index.php/Cadastro_Clientes_Vencidos&lt;br /&gt;
* Agenda de visita&lt;br /&gt;
** Agrosema&lt;br /&gt;
** http://10.0.0.32/wiki/index.php/Agenda_de_Visita&lt;br /&gt;
* Controle de retorno do pedido&lt;br /&gt;
** Makita&lt;br /&gt;
** Em algum documento MID22 antigo perdido pelo mundo...&lt;br /&gt;
** Quantas vezes o pedido retornar ao vendedor&lt;br /&gt;
* Widgets da tela inicial&lt;br /&gt;
** Agrosema&lt;br /&gt;
** http://redmine.softsitemobile.com/issues/1237&lt;br /&gt;
** http://10.0.0.32/wiki/index.php/Widgets_da_Tela_Inicial&lt;br /&gt;
&lt;br /&gt;
=Mudanças gerais em funcionalidades=&lt;br /&gt;
&lt;br /&gt;
PREENCHER&lt;br /&gt;
&lt;br /&gt;
=Correção de bugs=&lt;br /&gt;
&lt;br /&gt;
Correção&lt;br /&gt;
* Cliente afetado&lt;br /&gt;
** Empresa&lt;br /&gt;
* Versões onde o bug foi detectado&lt;br /&gt;
** Versão&lt;br /&gt;
* Possíveis side effects da correção&lt;br /&gt;
** side effects&lt;br /&gt;
* Link para issue tracker&lt;br /&gt;
** N/A&lt;/div&gt;</summary>
		<author><name>Jeffque</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Vers%C3%A3o/mobile/v4.1.0&amp;diff=3214</id>
		<title>Versão/mobile/v4.1.0</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Vers%C3%A3o/mobile/v4.1.0&amp;diff=3214"/>
		<updated>2017-03-06T17:11:31Z</updated>

		<summary type="html">&lt;p&gt;Jeffque: /* Liberação de funcionalidade */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Público do documento=&lt;br /&gt;
&lt;br /&gt;
* Desenvolvimento&lt;br /&gt;
* Suporte&lt;br /&gt;
* Teste&lt;br /&gt;
&lt;br /&gt;
=Detalhes=&lt;br /&gt;
&lt;br /&gt;
* Data de liberação&lt;br /&gt;
** &amp;lt;strike&amp;gt;RC1 08/03/2017&amp;lt;/strike&amp;gt;&lt;br /&gt;
** RC2 08/03/2017&lt;br /&gt;
** previsão para 08/03/2017&lt;br /&gt;
* Nome da versão&lt;br /&gt;
** [[versão/mobile/v4.1.0|v4.1.0]]&lt;br /&gt;
* Versão pai&lt;br /&gt;
** [[versão/mobile/v4.0.18|v4.0.18]]&lt;br /&gt;
* Link para versão:&lt;br /&gt;
** &amp;lt;strike&amp;gt;(RC1) http://10.0.0.75:7070/job/GeoSales_Mobile/1198/&amp;lt;/strike&amp;gt;&lt;br /&gt;
** (RC2) http://10.0.0.75:7070/job/GeoSales_Mobile/1199/&lt;br /&gt;
&lt;br /&gt;
=Clientes atendidos=&lt;br /&gt;
&lt;br /&gt;
* Todos&lt;br /&gt;
* Agrosema&lt;br /&gt;
* Alguns que eu preciso perguntar coisas&lt;br /&gt;
&lt;br /&gt;
=Mudança na infraestrutura=&lt;br /&gt;
&lt;br /&gt;
PREENCHER&lt;br /&gt;
&lt;br /&gt;
=Branches utilizados para essa versão desde a versão anterior=&lt;br /&gt;
Núcleo:&lt;br /&gt;
&lt;br /&gt;
* feature-rel-estoque-ausente [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/717 717]&lt;br /&gt;
* feature-utiliza-preco-maximo [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/726 726]&lt;br /&gt;
* bugfix-controle-tramitacoes-pedido [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/726 726]&lt;br /&gt;
* bugfix-controle-tramitacoes-pedido [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/751 751]&lt;br /&gt;
* feature-cond-pgto-padrao [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/723 723]&lt;br /&gt;
* feature-camil-campos-obs [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/764 764]&lt;br /&gt;
* bugfix-filtro-fornecedor-cadastro-pedido [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/710 710]&lt;br /&gt;
* feature-camil-exibe-tipo-venda-pedido-conf [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/765 765]&lt;br /&gt;
* hotfix-melhorando-desempenho-arquivo-edi [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/766 766]&lt;br /&gt;
* bugfix-campanha-validacao-dt-entrega [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/731 731]&lt;br /&gt;
* hotfix-valor-pedido-julgar-condicao [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/769 769]&lt;br /&gt;
* bugfix-valor-fatura-frete-manual [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/768 768]&lt;br /&gt;
* bugfix-prioridade-vr-pedido-jug-cond-pgto-str [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/785 785]&lt;br /&gt;
* feature-agrosema-bloqueio-por-prazo [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/748 748]&lt;br /&gt;
* hotfix-configuracao-id-obriga-vencimento [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/789 789]&lt;br /&gt;
* bugfix-remover-dtCadastroDate-bean-cliente [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/790 790]&lt;br /&gt;
* feature-agrosema-clientes-vencidos [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/771 771]&lt;br /&gt;
* bugfix-julgar-rentabilidade-pedido-familias-hidratadas [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/794 794]&lt;br /&gt;
* feature-agrosema-agenda-visita [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/791 791]&lt;br /&gt;
* feature-controle-retorno-pedido [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/809 809]&lt;br /&gt;
* fix-testes [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/811 811]&lt;br /&gt;
&lt;br /&gt;
Mobile:&lt;br /&gt;
&lt;br /&gt;
* hotfix-filtros-fornecedores-portal [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1036 1036]&lt;br /&gt;
* feature-camil-campos-obs [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1028 1028]&lt;br /&gt;
* feature-agrosema-widgets-tela-inicial [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/997 997]&lt;br /&gt;
* hotfix-valor-pedido-julgar-condicao [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1037 1037]&lt;br /&gt;
* feature-agrosema-bloqueio-por-prazo [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/996 996]&lt;br /&gt;
* feature-agrosema-clientes-vencidos [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1038 1038]&lt;br /&gt;
* feature-agrosema-agenda-visita [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1050 1050]&lt;br /&gt;
* feature-cond-pgto-padrao [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/967 967]&lt;br /&gt;
* feature-controle-retorno-pedido [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1074 1074]&lt;br /&gt;
* improve-safesleep [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1077 1077]&lt;br /&gt;
* fix-testes [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1078 1078]&lt;br /&gt;
&lt;br /&gt;
=Liberação de funcionalidade=&lt;br /&gt;
&lt;br /&gt;
* Estoque ausente&lt;br /&gt;
** Ourolux&lt;br /&gt;
** Um dia vai pra Wiki&lt;br /&gt;
* Utiliza peço máximo&lt;br /&gt;
** Perguntar ao Araújo&lt;br /&gt;
* Condição de pagamento padrão&lt;br /&gt;
** Reflexa&lt;br /&gt;
** http://10.0.0.32/wiki/index.php/Projeto/Reflexa/Documentação/Condição_de_Pagamento_Padrão&lt;br /&gt;
* Sumir com os campos de observação&lt;br /&gt;
** Camil&lt;br /&gt;
** http://redmine.softsitemobile.com/issues/1594&lt;br /&gt;
* Oculta tipo de venda do item&lt;br /&gt;
** Camil&lt;br /&gt;
** http://redmine.softsitemobile.com/issues/1595&lt;br /&gt;
* Bloqueio por prazo&lt;br /&gt;
** Agrosema&lt;br /&gt;
** http://redmine.softsitemobile.com/issues/1238&lt;br /&gt;
** http://10.0.0.32/wiki/index.php/Bloqueio_de_Prazo&lt;br /&gt;
* Clientes vencidos&lt;br /&gt;
** Agrosema&lt;br /&gt;
** http://10.0.0.32/wiki/index.php/Cadastro_Clientes_Vencidos&lt;br /&gt;
* Agenda de visita&lt;br /&gt;
** Agrosema&lt;br /&gt;
** http://10.0.0.32/wiki/index.php/Agenda_de_Visita&lt;br /&gt;
* Controle de retorno do pedido&lt;br /&gt;
** Makita&lt;br /&gt;
** Em algum documento MID22 antigo perdido pelo mundo...&lt;br /&gt;
** Quantas vezes o pedido retornar ao vendedor&lt;br /&gt;
* Widgets da tela inicial&lt;br /&gt;
** Agrosema&lt;br /&gt;
** http://redmine.softsitemobile.com/issues/1237&lt;br /&gt;
** http://10.0.0.32/wiki/index.php/Widgets_da_Tela_Inicial&lt;br /&gt;
&lt;br /&gt;
=Mudanças gerais em funcionalidades=&lt;br /&gt;
&lt;br /&gt;
PREENCHER&lt;br /&gt;
&lt;br /&gt;
=Correção de bugs=&lt;br /&gt;
&lt;br /&gt;
Correção&lt;br /&gt;
* Cliente afetado&lt;br /&gt;
** Empresa&lt;br /&gt;
* Versões onde o bug foi detectado&lt;br /&gt;
** Versão&lt;br /&gt;
* Possíveis side effects da correção&lt;br /&gt;
** side effects&lt;br /&gt;
* Link para issue tracker&lt;br /&gt;
** N/A&lt;/div&gt;</summary>
		<author><name>Jeffque</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Vers%C3%A3o/mobile/v4.1.0&amp;diff=3213</id>
		<title>Versão/mobile/v4.1.0</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Vers%C3%A3o/mobile/v4.1.0&amp;diff=3213"/>
		<updated>2017-03-06T17:08:15Z</updated>

		<summary type="html">&lt;p&gt;Jeffque: /* Liberação de funcionalidade */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Público do documento=&lt;br /&gt;
&lt;br /&gt;
* Desenvolvimento&lt;br /&gt;
* Suporte&lt;br /&gt;
* Teste&lt;br /&gt;
&lt;br /&gt;
=Detalhes=&lt;br /&gt;
&lt;br /&gt;
* Data de liberação&lt;br /&gt;
** &amp;lt;strike&amp;gt;RC1 08/03/2017&amp;lt;/strike&amp;gt;&lt;br /&gt;
** RC2 08/03/2017&lt;br /&gt;
** previsão para 08/03/2017&lt;br /&gt;
* Nome da versão&lt;br /&gt;
** [[versão/mobile/v4.1.0|v4.1.0]]&lt;br /&gt;
* Versão pai&lt;br /&gt;
** [[versão/mobile/v4.0.18|v4.0.18]]&lt;br /&gt;
* Link para versão:&lt;br /&gt;
** &amp;lt;strike&amp;gt;(RC1) http://10.0.0.75:7070/job/GeoSales_Mobile/1198/&amp;lt;/strike&amp;gt;&lt;br /&gt;
** (RC2) http://10.0.0.75:7070/job/GeoSales_Mobile/1199/&lt;br /&gt;
&lt;br /&gt;
=Clientes atendidos=&lt;br /&gt;
&lt;br /&gt;
* Todos&lt;br /&gt;
* Agrosema&lt;br /&gt;
* Alguns que eu preciso perguntar coisas&lt;br /&gt;
&lt;br /&gt;
=Mudança na infraestrutura=&lt;br /&gt;
&lt;br /&gt;
PREENCHER&lt;br /&gt;
&lt;br /&gt;
=Branches utilizados para essa versão desde a versão anterior=&lt;br /&gt;
Núcleo:&lt;br /&gt;
&lt;br /&gt;
* feature-rel-estoque-ausente [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/717 717]&lt;br /&gt;
* feature-utiliza-preco-maximo [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/726 726]&lt;br /&gt;
* bugfix-controle-tramitacoes-pedido [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/726 726]&lt;br /&gt;
* bugfix-controle-tramitacoes-pedido [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/751 751]&lt;br /&gt;
* feature-cond-pgto-padrao [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/723 723]&lt;br /&gt;
* feature-camil-campos-obs [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/764 764]&lt;br /&gt;
* bugfix-filtro-fornecedor-cadastro-pedido [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/710 710]&lt;br /&gt;
* feature-camil-exibe-tipo-venda-pedido-conf [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/765 765]&lt;br /&gt;
* hotfix-melhorando-desempenho-arquivo-edi [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/766 766]&lt;br /&gt;
* bugfix-campanha-validacao-dt-entrega [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/731 731]&lt;br /&gt;
* hotfix-valor-pedido-julgar-condicao [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/769 769]&lt;br /&gt;
* bugfix-valor-fatura-frete-manual [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/768 768]&lt;br /&gt;
* bugfix-prioridade-vr-pedido-jug-cond-pgto-str [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/785 785]&lt;br /&gt;
* feature-agrosema-bloqueio-por-prazo [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/748 748]&lt;br /&gt;
* hotfix-configuracao-id-obriga-vencimento [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/789 789]&lt;br /&gt;
* bugfix-remover-dtCadastroDate-bean-cliente [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/790 790]&lt;br /&gt;
* feature-agrosema-clientes-vencidos [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/771 771]&lt;br /&gt;
* bugfix-julgar-rentabilidade-pedido-familias-hidratadas [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/794 794]&lt;br /&gt;
* feature-agrosema-agenda-visita [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/791 791]&lt;br /&gt;
* feature-controle-retorno-pedido [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/809 809]&lt;br /&gt;
* fix-testes [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/811 811]&lt;br /&gt;
&lt;br /&gt;
Mobile:&lt;br /&gt;
&lt;br /&gt;
* hotfix-filtros-fornecedores-portal [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1036 1036]&lt;br /&gt;
* feature-camil-campos-obs [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1028 1028]&lt;br /&gt;
* feature-agrosema-widgets-tela-inicial [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/997 997]&lt;br /&gt;
* hotfix-valor-pedido-julgar-condicao [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1037 1037]&lt;br /&gt;
* feature-agrosema-bloqueio-por-prazo [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/996 996]&lt;br /&gt;
* feature-agrosema-clientes-vencidos [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1038 1038]&lt;br /&gt;
* feature-agrosema-agenda-visita [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1050 1050]&lt;br /&gt;
* feature-cond-pgto-padrao [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/967 967]&lt;br /&gt;
* feature-controle-retorno-pedido [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1074 1074]&lt;br /&gt;
* improve-safesleep [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1077 1077]&lt;br /&gt;
* fix-testes [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1078 1078]&lt;br /&gt;
&lt;br /&gt;
=Liberação de funcionalidade=&lt;br /&gt;
&lt;br /&gt;
* Estoque ausente&lt;br /&gt;
** Perguntar para o Roseno&lt;br /&gt;
* Utiliza peço máximo&lt;br /&gt;
** Perguntar ao Araújo&lt;br /&gt;
* Condição de pagamento padrão&lt;br /&gt;
** Reflexa&lt;br /&gt;
** http://10.0.0.32/wiki/index.php/Projeto/Reflexa/Documentação/Condição_de_Pagamento_Padrão&lt;br /&gt;
* Sumir com os campos de observação&lt;br /&gt;
** Camil&lt;br /&gt;
** http://redmine.softsitemobile.com/issues/1594&lt;br /&gt;
* Oculta tipo de venda do item&lt;br /&gt;
** Camil&lt;br /&gt;
** http://redmine.softsitemobile.com/issues/1595&lt;br /&gt;
* Bloqueio por prazo&lt;br /&gt;
** Agrosema&lt;br /&gt;
** http://redmine.softsitemobile.com/issues/1238&lt;br /&gt;
** http://10.0.0.32/wiki/index.php/Bloqueio_de_Prazo&lt;br /&gt;
* Clientes vencidos&lt;br /&gt;
** Agrosema&lt;br /&gt;
** http://10.0.0.32/wiki/index.php/Cadastro_Clientes_Vencidos&lt;br /&gt;
* Agenda de visita&lt;br /&gt;
** Agrosema&lt;br /&gt;
** http://10.0.0.32/wiki/index.php/Agenda_de_Visita&lt;br /&gt;
* Controle de retorno do pedido&lt;br /&gt;
** Makita&lt;br /&gt;
** Em algum documento MID22 antigo perdido pelo mundo...&lt;br /&gt;
** Quantas vezes o pedido retornar ao vendedor&lt;br /&gt;
* Widgets da tela inicial&lt;br /&gt;
** Agrosema&lt;br /&gt;
** http://redmine.softsitemobile.com/issues/1237&lt;br /&gt;
** http://10.0.0.32/wiki/index.php/Widgets_da_Tela_Inicial&lt;br /&gt;
&lt;br /&gt;
=Mudanças gerais em funcionalidades=&lt;br /&gt;
&lt;br /&gt;
PREENCHER&lt;br /&gt;
&lt;br /&gt;
=Correção de bugs=&lt;br /&gt;
&lt;br /&gt;
Correção&lt;br /&gt;
* Cliente afetado&lt;br /&gt;
** Empresa&lt;br /&gt;
* Versões onde o bug foi detectado&lt;br /&gt;
** Versão&lt;br /&gt;
* Possíveis side effects da correção&lt;br /&gt;
** side effects&lt;br /&gt;
* Link para issue tracker&lt;br /&gt;
** N/A&lt;/div&gt;</summary>
		<author><name>Jeffque</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Vers%C3%A3o/mobile/v4.1.0&amp;diff=3212</id>
		<title>Versão/mobile/v4.1.0</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Vers%C3%A3o/mobile/v4.1.0&amp;diff=3212"/>
		<updated>2017-03-06T17:04:50Z</updated>

		<summary type="html">&lt;p&gt;Jeffque: /* Liberação de funcionalidade */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Público do documento=&lt;br /&gt;
&lt;br /&gt;
* Desenvolvimento&lt;br /&gt;
* Suporte&lt;br /&gt;
* Teste&lt;br /&gt;
&lt;br /&gt;
=Detalhes=&lt;br /&gt;
&lt;br /&gt;
* Data de liberação&lt;br /&gt;
** &amp;lt;strike&amp;gt;RC1 08/03/2017&amp;lt;/strike&amp;gt;&lt;br /&gt;
** RC2 08/03/2017&lt;br /&gt;
** previsão para 08/03/2017&lt;br /&gt;
* Nome da versão&lt;br /&gt;
** [[versão/mobile/v4.1.0|v4.1.0]]&lt;br /&gt;
* Versão pai&lt;br /&gt;
** [[versão/mobile/v4.0.18|v4.0.18]]&lt;br /&gt;
* Link para versão:&lt;br /&gt;
** &amp;lt;strike&amp;gt;(RC1) http://10.0.0.75:7070/job/GeoSales_Mobile/1198/&amp;lt;/strike&amp;gt;&lt;br /&gt;
** (RC2) http://10.0.0.75:7070/job/GeoSales_Mobile/1199/&lt;br /&gt;
&lt;br /&gt;
=Clientes atendidos=&lt;br /&gt;
&lt;br /&gt;
* Todos&lt;br /&gt;
* Agrosema&lt;br /&gt;
* Alguns que eu preciso perguntar coisas&lt;br /&gt;
&lt;br /&gt;
=Mudança na infraestrutura=&lt;br /&gt;
&lt;br /&gt;
PREENCHER&lt;br /&gt;
&lt;br /&gt;
=Branches utilizados para essa versão desde a versão anterior=&lt;br /&gt;
Núcleo:&lt;br /&gt;
&lt;br /&gt;
* feature-rel-estoque-ausente [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/717 717]&lt;br /&gt;
* feature-utiliza-preco-maximo [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/726 726]&lt;br /&gt;
* bugfix-controle-tramitacoes-pedido [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/726 726]&lt;br /&gt;
* bugfix-controle-tramitacoes-pedido [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/751 751]&lt;br /&gt;
* feature-cond-pgto-padrao [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/723 723]&lt;br /&gt;
* feature-camil-campos-obs [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/764 764]&lt;br /&gt;
* bugfix-filtro-fornecedor-cadastro-pedido [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/710 710]&lt;br /&gt;
* feature-camil-exibe-tipo-venda-pedido-conf [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/765 765]&lt;br /&gt;
* hotfix-melhorando-desempenho-arquivo-edi [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/766 766]&lt;br /&gt;
* bugfix-campanha-validacao-dt-entrega [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/731 731]&lt;br /&gt;
* hotfix-valor-pedido-julgar-condicao [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/769 769]&lt;br /&gt;
* bugfix-valor-fatura-frete-manual [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/768 768]&lt;br /&gt;
* bugfix-prioridade-vr-pedido-jug-cond-pgto-str [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/785 785]&lt;br /&gt;
* feature-agrosema-bloqueio-por-prazo [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/748 748]&lt;br /&gt;
* hotfix-configuracao-id-obriga-vencimento [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/789 789]&lt;br /&gt;
* bugfix-remover-dtCadastroDate-bean-cliente [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/790 790]&lt;br /&gt;
* feature-agrosema-clientes-vencidos [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/771 771]&lt;br /&gt;
* bugfix-julgar-rentabilidade-pedido-familias-hidratadas [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/794 794]&lt;br /&gt;
* feature-agrosema-agenda-visita [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/791 791]&lt;br /&gt;
* feature-controle-retorno-pedido [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/809 809]&lt;br /&gt;
* fix-testes [http://homolog1.softsitemobile.com:1232/geosales/nucleo/merge_requests/811 811]&lt;br /&gt;
&lt;br /&gt;
Mobile:&lt;br /&gt;
&lt;br /&gt;
* hotfix-filtros-fornecedores-portal [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1036 1036]&lt;br /&gt;
* feature-camil-campos-obs [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1028 1028]&lt;br /&gt;
* feature-agrosema-widgets-tela-inicial [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/997 997]&lt;br /&gt;
* hotfix-valor-pedido-julgar-condicao [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1037 1037]&lt;br /&gt;
* feature-agrosema-bloqueio-por-prazo [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/996 996]&lt;br /&gt;
* feature-agrosema-clientes-vencidos [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1038 1038]&lt;br /&gt;
* feature-agrosema-agenda-visita [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1050 1050]&lt;br /&gt;
* feature-cond-pgto-padrao [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/967 967]&lt;br /&gt;
* feature-controle-retorno-pedido [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1074 1074]&lt;br /&gt;
* improve-safesleep [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1077 1077]&lt;br /&gt;
* fix-testes [http://homolog1.softsitemobile.com:1232/geosales/mobile/merge_requests/1078 1078]&lt;br /&gt;
&lt;br /&gt;
=Liberação de funcionalidade=&lt;br /&gt;
&lt;br /&gt;
* Estoque ausente&lt;br /&gt;
** Perguntar para o Roseno&lt;br /&gt;
* Utiliza peço máximo&lt;br /&gt;
** Perguntar ao Araújo&lt;br /&gt;
* Condição de pagamento padrão&lt;br /&gt;
** Reflexa&lt;br /&gt;
** http://10.0.0.32/wiki/index.php/Projeto/Reflexa/Documentação/Condição_de_Pagamento_Padrão&lt;br /&gt;
* Sumir com os campos de observação&lt;br /&gt;
** Camil&lt;br /&gt;
** http://redmine.softsitemobile.com/issues/1594&lt;br /&gt;
* Oculta tipo de venda do item&lt;br /&gt;
** Camil&lt;br /&gt;
** http://redmine.softsitemobile.com/issues/1595&lt;br /&gt;
* Bloqueio por prazo&lt;br /&gt;
** Agrosema&lt;br /&gt;
** http://redmine.softsitemobile.com/issues/1238&lt;br /&gt;
** http://10.0.0.32/wiki/index.php/Bloqueio_de_Prazo&lt;br /&gt;
* Clientes vencidos&lt;br /&gt;
** Agrosema&lt;br /&gt;
** Procurar pelo doc na Wiki&lt;br /&gt;
* Agenda de visita&lt;br /&gt;
** Agrosema&lt;br /&gt;
** Procurar pelo doc na Wiki&lt;br /&gt;
* Controle de retorno do pedido&lt;br /&gt;
** Makita&lt;br /&gt;
** Em algum documento MID22 antigo perdido pelo mundo...&lt;br /&gt;
** Quantas vezes o pedido retornar ao vendedor&lt;br /&gt;
* Widgets da tela inicial&lt;br /&gt;
** Agrosema&lt;br /&gt;
** http://redmine.softsitemobile.com/issues/1237&lt;br /&gt;
** Procurar o documento na Wiki&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
=Mudanças gerais em funcionalidades=&lt;br /&gt;
&lt;br /&gt;
PREENCHER&lt;br /&gt;
&lt;br /&gt;
=Correção de bugs=&lt;br /&gt;
&lt;br /&gt;
Correção&lt;br /&gt;
* Cliente afetado&lt;br /&gt;
** Empresa&lt;br /&gt;
* Versões onde o bug foi detectado&lt;br /&gt;
** Versão&lt;br /&gt;
* Possíveis side effects da correção&lt;br /&gt;
** side effects&lt;br /&gt;
* Link para issue tracker&lt;br /&gt;
** N/A&lt;/div&gt;</summary>
		<author><name>Jeffque</name></author>
	</entry>
</feed>