<?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=Leonardo</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=Leonardo"/>
	<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php/Especial:Contribui%C3%A7%C3%B5es/Leonardo"/>
	<updated>2026-05-06T17:12:52Z</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=Venda_por_lote&amp;diff=4525</id>
		<title>Venda por lote</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Venda_por_lote&amp;diff=4525"/>
		<updated>2017-07-26T03:56:20Z</updated>

		<summary type="html">&lt;p&gt;Leonardo: /* Histórico de Revisões */&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;
|  19/06/2017  ||  Arielton Nunes  ||  Criação do Documento&lt;br /&gt;
|-&lt;br /&gt;
|  19/06/2017  ||  Leonardo Sousa  ||  Documento Aprovado&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
&lt;br /&gt;
Atualmente o sistema não controla a venda de itens por lote associando cada lote a uma tabela de preço. Dessa forma o usuário não consegue vender o mesmo item em lotes separados por conta do estado do item e vencimento associados a preços diferentes para o mesmo produto.&lt;br /&gt;
&lt;br /&gt;
== Solução ==&lt;br /&gt;
Para que o GeoSales realize a venda por lote, a informação deve ser importada do ERP para o GeoSales, associando o lote ao seu devido produto.&lt;br /&gt;
Cada lote terá seu estoque que não afetara no estoque do produto que será controlado de forma individual.&lt;br /&gt;
Todo estoque terá uma data de validade. Após a data de validade o estoque deverá ficar indisponível para venda.&lt;br /&gt;
O preço será por produto e não por lote, mas o GeoSales terá a opção de desconto por lote permitindo flexibilidade de valores.&lt;br /&gt;
&lt;br /&gt;
== Pré-Requisitos==&lt;br /&gt;
Será necessário utilizar o campo nr_item como chave do pedido para que possamos ter mais de um item do pedido com o mesmo produto mas de lotes diferentes.&lt;br /&gt;
Será necessário utilizar a tabela lista_produto_lote para diferenciar o sequencial dos produtos nos lotes específicos esse sequencial deverá relacionar com faixa_precco_produto.&lt;br /&gt;
O campo cd_lote na tabela item_pedido deve ser preenchido com o código do lote do produto escolhido.&lt;br /&gt;
As tabelas estoque_lote e lote devem ser preenchidas com os respectivos produtos.&lt;br /&gt;
Os relatórios de pedidos devem contemplar itens com lote e sem lote para evitar agrupamento de itens pelo código do produto, nesse caso deverá ser feita a distinção do agrupamento através da configuração '''ID_UTILIZA_VENDA_POR_LOTE''' dentro da tabela '''CONFIGURACAO''' com valor S.&lt;br /&gt;
&lt;br /&gt;
=== Cadastro de Pedido ===&lt;br /&gt;
&lt;br /&gt;
O vendedor poderá filtrar os lotes do produto no GeoSales Portal através de um campo de texto e um botão de busca onde ele preencherá uma parte ou a totalidade do nome de um produto. Em caso de não preenchimento o GeoSales irá exibir nessa tabela uma listagem dos lotes dos produtos por ordem alfabética limitada a uma quantidade de 100 lotes para efeito de performance.   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:TelaPedidosLote.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A tabela resultante após a busca deverá listar:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''- Cód. Lote''': Código alfanumérico do lote que será selecionado (CAMPO DS_LOTE da tabela lote)&lt;br /&gt;
&lt;br /&gt;
'''- Cód. Produto''':  Código do produto selecionado&lt;br /&gt;
&lt;br /&gt;
'''- Produto''': Nome do produto selecionado&lt;br /&gt;
&lt;br /&gt;
'''- Estoque Lote''': Quantidade de itens em estoque para aquele lote&lt;br /&gt;
&lt;br /&gt;
'''- Validade''': Data de validade do lote&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
O vendedor ao receber a tabela com as opções detalhadas deverá clicar no botão de [+] para incluir os dados daquele lote na tela de dados de produto. Que deve trazer os dados de estoque e faixa de preço do lote selecionado.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:TelaProdutoLote.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Todas as validações de preço e estoque devem ser implementadas nas ações de inserir e editar.&lt;br /&gt;
&lt;br /&gt;
O item deverá ser apresentado exibindo o código do lote antes do código do produto.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:ItemPedidoLote.png]]&lt;br /&gt;
&lt;br /&gt;
No GeoSales Mobile o campo qtd deve ser desabilitado e a seleção do lote deverá ser feita através de um botão que abrirá uma tela com as informações do lote. &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:MobileCadastroPedidoLote.png]]&lt;br /&gt;
&lt;br /&gt;
O botão Lote só estará habilitado se existir saldo em estoque nos lotes do produto selecionado.&lt;br /&gt;
&lt;br /&gt;
Havendo estoque a seguinte tela exibindo as informações de código do Lote, qtd em estoque e vencimento deverá ser apresentada. &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:MobileTelaSelecaoLote.png]]&lt;br /&gt;
&lt;br /&gt;
A coluna identificada por quantidade deverá ser responsável pela inserção dos itens. Ao pressionar a área de uma célula um teclado numérico deverá ser exibido.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:MobileTelaSelecaoQtdLote.png]]&lt;br /&gt;
&lt;br /&gt;
Depois da seleção de lote o lote deverá virar um item e exibir a informação do lote selecionado na tela inferior.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:MobileTelaItemLote.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Relatório ===&lt;br /&gt;
&lt;br /&gt;
O relatório de pedidos necessita ser alterado para exibir a informação do lote do item&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:RelatorioPedidoLote.png]]&lt;br /&gt;
&lt;br /&gt;
== Regras de Negócio ==&lt;br /&gt;
'''[RN1]''' – Deve ser criado uma flag no banco de dados que irá alterar a configuração do sistema para utilizar VENDA POR LOTE, sugerimos a flag '''ID_UTILIZA_VENDA_POR_LOTE''', quando configurada como &amp;quot;S&amp;quot; no banco de dados, o GeoSales Mobile irá apresentar na tabela de pedidos toda a estrutura de itens levando em consideração o código do lote.  Caso esteja marcado como &amp;quot;N&amp;quot;, o sistema irá utilizar a estrutura de itens pelo código do produto como também toda a estrutura de criação de pedidos padrão.&lt;br /&gt;
&lt;br /&gt;
'''[RN2]''' - No GeoSales Mobile Deverá apresentar na tela de pedidos uma primeira seleção com os dados da busca por produto exibindo no campo de estoque os dados da tabela estoque lote caso os lotes tenham o cd_produto do produto selecionado. O campo Qtd não deve ser possível de editar pois as quantidades serão escolhidas na tela de itens de lote que é acessada através de um botão habilitado apenas quando o produto possuir estoque.&lt;br /&gt;
&lt;br /&gt;
'''[RN3]''' - No GeoSales Mobile Na tela de consulta de produtos a quantidade em estoque de produtos deverá conter os dados do estoque do produto vindo do somatório de todas as quantidades de lotes para a organização de venda selecionada.&lt;br /&gt;
&lt;br /&gt;
'''[RN4]''' - No GeoSales Portal Deverá ser alterada a tela de cadastro de pedido para caso a configuração '''ID_UTILIZA_VENDA_POR_LOTE''' esteja com valor &amp;quot;S&amp;quot; a lupa de produto seja substituída por um campo de texto e um botão de busca cujo evento disparado constrói uma tabela com os lotes que possuem data de validade posterior a data atual e estoque na tabela de estoque_lote caso o lote tenha estoque maior que zero.&lt;br /&gt;
&lt;br /&gt;
'''[RN5]''' - No GeoSales Portal quando o usuário selecionar o lote na tabela gerada ele carregará os detalhes de quantidade em estoque e faixa de preço do lote específico.&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;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:200px&amp;quot; |Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! style=&amp;quot;width:200px&amp;quot; |Data&lt;br /&gt;
! style=&amp;quot;width:300px&amp;quot; |Assinatura&lt;br /&gt;
|- &lt;br /&gt;
| TOTVS&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- &lt;br /&gt;
| CLIENTE&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Leonardo</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Venda_por_lote&amp;diff=4524</id>
		<title>Venda por lote</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Venda_por_lote&amp;diff=4524"/>
		<updated>2017-07-26T03:56:00Z</updated>

		<summary type="html">&lt;p&gt;Leonardo: /* Histórico de Revisões */&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;
|  19/06/2017  ||  Arielton Nunes  ||  Criação do Documento&lt;br /&gt;
|-&lt;br /&gt;
|  19/06/2017  ||  Leonardo Sousa  ||  Documento Aprovada&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
&lt;br /&gt;
Atualmente o sistema não controla a venda de itens por lote associando cada lote a uma tabela de preço. Dessa forma o usuário não consegue vender o mesmo item em lotes separados por conta do estado do item e vencimento associados a preços diferentes para o mesmo produto.&lt;br /&gt;
&lt;br /&gt;
== Solução ==&lt;br /&gt;
Para que o GeoSales realize a venda por lote, a informação deve ser importada do ERP para o GeoSales, associando o lote ao seu devido produto.&lt;br /&gt;
Cada lote terá seu estoque que não afetara no estoque do produto que será controlado de forma individual.&lt;br /&gt;
Todo estoque terá uma data de validade. Após a data de validade o estoque deverá ficar indisponível para venda.&lt;br /&gt;
O preço será por produto e não por lote, mas o GeoSales terá a opção de desconto por lote permitindo flexibilidade de valores.&lt;br /&gt;
&lt;br /&gt;
== Pré-Requisitos==&lt;br /&gt;
Será necessário utilizar o campo nr_item como chave do pedido para que possamos ter mais de um item do pedido com o mesmo produto mas de lotes diferentes.&lt;br /&gt;
Será necessário utilizar a tabela lista_produto_lote para diferenciar o sequencial dos produtos nos lotes específicos esse sequencial deverá relacionar com faixa_precco_produto.&lt;br /&gt;
O campo cd_lote na tabela item_pedido deve ser preenchido com o código do lote do produto escolhido.&lt;br /&gt;
As tabelas estoque_lote e lote devem ser preenchidas com os respectivos produtos.&lt;br /&gt;
Os relatórios de pedidos devem contemplar itens com lote e sem lote para evitar agrupamento de itens pelo código do produto, nesse caso deverá ser feita a distinção do agrupamento através da configuração '''ID_UTILIZA_VENDA_POR_LOTE''' dentro da tabela '''CONFIGURACAO''' com valor S.&lt;br /&gt;
&lt;br /&gt;
=== Cadastro de Pedido ===&lt;br /&gt;
&lt;br /&gt;
O vendedor poderá filtrar os lotes do produto no GeoSales Portal através de um campo de texto e um botão de busca onde ele preencherá uma parte ou a totalidade do nome de um produto. Em caso de não preenchimento o GeoSales irá exibir nessa tabela uma listagem dos lotes dos produtos por ordem alfabética limitada a uma quantidade de 100 lotes para efeito de performance.   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:TelaPedidosLote.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A tabela resultante após a busca deverá listar:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''- Cód. Lote''': Código alfanumérico do lote que será selecionado (CAMPO DS_LOTE da tabela lote)&lt;br /&gt;
&lt;br /&gt;
'''- Cód. Produto''':  Código do produto selecionado&lt;br /&gt;
&lt;br /&gt;
'''- Produto''': Nome do produto selecionado&lt;br /&gt;
&lt;br /&gt;
'''- Estoque Lote''': Quantidade de itens em estoque para aquele lote&lt;br /&gt;
&lt;br /&gt;
'''- Validade''': Data de validade do lote&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
O vendedor ao receber a tabela com as opções detalhadas deverá clicar no botão de [+] para incluir os dados daquele lote na tela de dados de produto. Que deve trazer os dados de estoque e faixa de preço do lote selecionado.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:TelaProdutoLote.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Todas as validações de preço e estoque devem ser implementadas nas ações de inserir e editar.&lt;br /&gt;
&lt;br /&gt;
O item deverá ser apresentado exibindo o código do lote antes do código do produto.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:ItemPedidoLote.png]]&lt;br /&gt;
&lt;br /&gt;
No GeoSales Mobile o campo qtd deve ser desabilitado e a seleção do lote deverá ser feita através de um botão que abrirá uma tela com as informações do lote. &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:MobileCadastroPedidoLote.png]]&lt;br /&gt;
&lt;br /&gt;
O botão Lote só estará habilitado se existir saldo em estoque nos lotes do produto selecionado.&lt;br /&gt;
&lt;br /&gt;
Havendo estoque a seguinte tela exibindo as informações de código do Lote, qtd em estoque e vencimento deverá ser apresentada. &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:MobileTelaSelecaoLote.png]]&lt;br /&gt;
&lt;br /&gt;
A coluna identificada por quantidade deverá ser responsável pela inserção dos itens. Ao pressionar a área de uma célula um teclado numérico deverá ser exibido.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:MobileTelaSelecaoQtdLote.png]]&lt;br /&gt;
&lt;br /&gt;
Depois da seleção de lote o lote deverá virar um item e exibir a informação do lote selecionado na tela inferior.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:MobileTelaItemLote.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Relatório ===&lt;br /&gt;
&lt;br /&gt;
O relatório de pedidos necessita ser alterado para exibir a informação do lote do item&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:RelatorioPedidoLote.png]]&lt;br /&gt;
&lt;br /&gt;
== Regras de Negócio ==&lt;br /&gt;
'''[RN1]''' – Deve ser criado uma flag no banco de dados que irá alterar a configuração do sistema para utilizar VENDA POR LOTE, sugerimos a flag '''ID_UTILIZA_VENDA_POR_LOTE''', quando configurada como &amp;quot;S&amp;quot; no banco de dados, o GeoSales Mobile irá apresentar na tabela de pedidos toda a estrutura de itens levando em consideração o código do lote.  Caso esteja marcado como &amp;quot;N&amp;quot;, o sistema irá utilizar a estrutura de itens pelo código do produto como também toda a estrutura de criação de pedidos padrão.&lt;br /&gt;
&lt;br /&gt;
'''[RN2]''' - No GeoSales Mobile Deverá apresentar na tela de pedidos uma primeira seleção com os dados da busca por produto exibindo no campo de estoque os dados da tabela estoque lote caso os lotes tenham o cd_produto do produto selecionado. O campo Qtd não deve ser possível de editar pois as quantidades serão escolhidas na tela de itens de lote que é acessada através de um botão habilitado apenas quando o produto possuir estoque.&lt;br /&gt;
&lt;br /&gt;
'''[RN3]''' - No GeoSales Mobile Na tela de consulta de produtos a quantidade em estoque de produtos deverá conter os dados do estoque do produto vindo do somatório de todas as quantidades de lotes para a organização de venda selecionada.&lt;br /&gt;
&lt;br /&gt;
'''[RN4]''' - No GeoSales Portal Deverá ser alterada a tela de cadastro de pedido para caso a configuração '''ID_UTILIZA_VENDA_POR_LOTE''' esteja com valor &amp;quot;S&amp;quot; a lupa de produto seja substituída por um campo de texto e um botão de busca cujo evento disparado constrói uma tabela com os lotes que possuem data de validade posterior a data atual e estoque na tabela de estoque_lote caso o lote tenha estoque maior que zero.&lt;br /&gt;
&lt;br /&gt;
'''[RN5]''' - No GeoSales Portal quando o usuário selecionar o lote na tabela gerada ele carregará os detalhes de quantidade em estoque e faixa de preço do lote específico.&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;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:200px&amp;quot; |Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! style=&amp;quot;width:200px&amp;quot; |Data&lt;br /&gt;
! style=&amp;quot;width:300px&amp;quot; |Assinatura&lt;br /&gt;
|- &lt;br /&gt;
| TOTVS&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- &lt;br /&gt;
| CLIENTE&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Leonardo</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Venda_por_lote&amp;diff=4523</id>
		<title>Venda por lote</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Venda_por_lote&amp;diff=4523"/>
		<updated>2017-07-26T03:55:42Z</updated>

		<summary type="html">&lt;p&gt;Leonardo: /* Histórico de Revisões */&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;
|  19/06/2017  ||  Arielton Nunes  ||  Criação do Documento&lt;br /&gt;
|  19/06/2017  ||  Leonardo Sousa  ||  Documento Aprovada&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
&lt;br /&gt;
Atualmente o sistema não controla a venda de itens por lote associando cada lote a uma tabela de preço. Dessa forma o usuário não consegue vender o mesmo item em lotes separados por conta do estado do item e vencimento associados a preços diferentes para o mesmo produto.&lt;br /&gt;
&lt;br /&gt;
== Solução ==&lt;br /&gt;
Para que o GeoSales realize a venda por lote, a informação deve ser importada do ERP para o GeoSales, associando o lote ao seu devido produto.&lt;br /&gt;
Cada lote terá seu estoque que não afetara no estoque do produto que será controlado de forma individual.&lt;br /&gt;
Todo estoque terá uma data de validade. Após a data de validade o estoque deverá ficar indisponível para venda.&lt;br /&gt;
O preço será por produto e não por lote, mas o GeoSales terá a opção de desconto por lote permitindo flexibilidade de valores.&lt;br /&gt;
&lt;br /&gt;
== Pré-Requisitos==&lt;br /&gt;
Será necessário utilizar o campo nr_item como chave do pedido para que possamos ter mais de um item do pedido com o mesmo produto mas de lotes diferentes.&lt;br /&gt;
Será necessário utilizar a tabela lista_produto_lote para diferenciar o sequencial dos produtos nos lotes específicos esse sequencial deverá relacionar com faixa_precco_produto.&lt;br /&gt;
O campo cd_lote na tabela item_pedido deve ser preenchido com o código do lote do produto escolhido.&lt;br /&gt;
As tabelas estoque_lote e lote devem ser preenchidas com os respectivos produtos.&lt;br /&gt;
Os relatórios de pedidos devem contemplar itens com lote e sem lote para evitar agrupamento de itens pelo código do produto, nesse caso deverá ser feita a distinção do agrupamento através da configuração '''ID_UTILIZA_VENDA_POR_LOTE''' dentro da tabela '''CONFIGURACAO''' com valor S.&lt;br /&gt;
&lt;br /&gt;
=== Cadastro de Pedido ===&lt;br /&gt;
&lt;br /&gt;
O vendedor poderá filtrar os lotes do produto no GeoSales Portal através de um campo de texto e um botão de busca onde ele preencherá uma parte ou a totalidade do nome de um produto. Em caso de não preenchimento o GeoSales irá exibir nessa tabela uma listagem dos lotes dos produtos por ordem alfabética limitada a uma quantidade de 100 lotes para efeito de performance.   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:TelaPedidosLote.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A tabela resultante após a busca deverá listar:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''- Cód. Lote''': Código alfanumérico do lote que será selecionado (CAMPO DS_LOTE da tabela lote)&lt;br /&gt;
&lt;br /&gt;
'''- Cód. Produto''':  Código do produto selecionado&lt;br /&gt;
&lt;br /&gt;
'''- Produto''': Nome do produto selecionado&lt;br /&gt;
&lt;br /&gt;
'''- Estoque Lote''': Quantidade de itens em estoque para aquele lote&lt;br /&gt;
&lt;br /&gt;
'''- Validade''': Data de validade do lote&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
O vendedor ao receber a tabela com as opções detalhadas deverá clicar no botão de [+] para incluir os dados daquele lote na tela de dados de produto. Que deve trazer os dados de estoque e faixa de preço do lote selecionado.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:TelaProdutoLote.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Todas as validações de preço e estoque devem ser implementadas nas ações de inserir e editar.&lt;br /&gt;
&lt;br /&gt;
O item deverá ser apresentado exibindo o código do lote antes do código do produto.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:ItemPedidoLote.png]]&lt;br /&gt;
&lt;br /&gt;
No GeoSales Mobile o campo qtd deve ser desabilitado e a seleção do lote deverá ser feita através de um botão que abrirá uma tela com as informações do lote. &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:MobileCadastroPedidoLote.png]]&lt;br /&gt;
&lt;br /&gt;
O botão Lote só estará habilitado se existir saldo em estoque nos lotes do produto selecionado.&lt;br /&gt;
&lt;br /&gt;
Havendo estoque a seguinte tela exibindo as informações de código do Lote, qtd em estoque e vencimento deverá ser apresentada. &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:MobileTelaSelecaoLote.png]]&lt;br /&gt;
&lt;br /&gt;
A coluna identificada por quantidade deverá ser responsável pela inserção dos itens. Ao pressionar a área de uma célula um teclado numérico deverá ser exibido.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:MobileTelaSelecaoQtdLote.png]]&lt;br /&gt;
&lt;br /&gt;
Depois da seleção de lote o lote deverá virar um item e exibir a informação do lote selecionado na tela inferior.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:MobileTelaItemLote.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Relatório ===&lt;br /&gt;
&lt;br /&gt;
O relatório de pedidos necessita ser alterado para exibir a informação do lote do item&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:RelatorioPedidoLote.png]]&lt;br /&gt;
&lt;br /&gt;
== Regras de Negócio ==&lt;br /&gt;
'''[RN1]''' – Deve ser criado uma flag no banco de dados que irá alterar a configuração do sistema para utilizar VENDA POR LOTE, sugerimos a flag '''ID_UTILIZA_VENDA_POR_LOTE''', quando configurada como &amp;quot;S&amp;quot; no banco de dados, o GeoSales Mobile irá apresentar na tabela de pedidos toda a estrutura de itens levando em consideração o código do lote.  Caso esteja marcado como &amp;quot;N&amp;quot;, o sistema irá utilizar a estrutura de itens pelo código do produto como também toda a estrutura de criação de pedidos padrão.&lt;br /&gt;
&lt;br /&gt;
'''[RN2]''' - No GeoSales Mobile Deverá apresentar na tela de pedidos uma primeira seleção com os dados da busca por produto exibindo no campo de estoque os dados da tabela estoque lote caso os lotes tenham o cd_produto do produto selecionado. O campo Qtd não deve ser possível de editar pois as quantidades serão escolhidas na tela de itens de lote que é acessada através de um botão habilitado apenas quando o produto possuir estoque.&lt;br /&gt;
&lt;br /&gt;
'''[RN3]''' - No GeoSales Mobile Na tela de consulta de produtos a quantidade em estoque de produtos deverá conter os dados do estoque do produto vindo do somatório de todas as quantidades de lotes para a organização de venda selecionada.&lt;br /&gt;
&lt;br /&gt;
'''[RN4]''' - No GeoSales Portal Deverá ser alterada a tela de cadastro de pedido para caso a configuração '''ID_UTILIZA_VENDA_POR_LOTE''' esteja com valor &amp;quot;S&amp;quot; a lupa de produto seja substituída por um campo de texto e um botão de busca cujo evento disparado constrói uma tabela com os lotes que possuem data de validade posterior a data atual e estoque na tabela de estoque_lote caso o lote tenha estoque maior que zero.&lt;br /&gt;
&lt;br /&gt;
'''[RN5]''' - No GeoSales Portal quando o usuário selecionar o lote na tabela gerada ele carregará os detalhes de quantidade em estoque e faixa de preço do lote específico.&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;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:200px&amp;quot; |Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! style=&amp;quot;width:200px&amp;quot; |Data&lt;br /&gt;
! style=&amp;quot;width:300px&amp;quot; |Assinatura&lt;br /&gt;
|- &lt;br /&gt;
| TOTVS&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- &lt;br /&gt;
| CLIENTE&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Leonardo</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Venda_por_lote&amp;diff=4522</id>
		<title>Venda por lote</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Venda_por_lote&amp;diff=4522"/>
		<updated>2017-07-26T03:54:49Z</updated>

		<summary type="html">&lt;p&gt;Leonardo: /* Solução */&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;
|  19/06/2017  ||  Arielton Nunes  ||  Criação do Documento&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
&lt;br /&gt;
Atualmente o sistema não controla a venda de itens por lote associando cada lote a uma tabela de preço. Dessa forma o usuário não consegue vender o mesmo item em lotes separados por conta do estado do item e vencimento associados a preços diferentes para o mesmo produto.&lt;br /&gt;
&lt;br /&gt;
== Solução ==&lt;br /&gt;
Para que o GeoSales realize a venda por lote, a informação deve ser importada do ERP para o GeoSales, associando o lote ao seu devido produto.&lt;br /&gt;
Cada lote terá seu estoque que não afetara no estoque do produto que será controlado de forma individual.&lt;br /&gt;
Todo estoque terá uma data de validade. Após a data de validade o estoque deverá ficar indisponível para venda.&lt;br /&gt;
O preço será por produto e não por lote, mas o GeoSales terá a opção de desconto por lote permitindo flexibilidade de valores.&lt;br /&gt;
&lt;br /&gt;
== Pré-Requisitos==&lt;br /&gt;
Será necessário utilizar o campo nr_item como chave do pedido para que possamos ter mais de um item do pedido com o mesmo produto mas de lotes diferentes.&lt;br /&gt;
Será necessário utilizar a tabela lista_produto_lote para diferenciar o sequencial dos produtos nos lotes específicos esse sequencial deverá relacionar com faixa_precco_produto.&lt;br /&gt;
O campo cd_lote na tabela item_pedido deve ser preenchido com o código do lote do produto escolhido.&lt;br /&gt;
As tabelas estoque_lote e lote devem ser preenchidas com os respectivos produtos.&lt;br /&gt;
Os relatórios de pedidos devem contemplar itens com lote e sem lote para evitar agrupamento de itens pelo código do produto, nesse caso deverá ser feita a distinção do agrupamento através da configuração '''ID_UTILIZA_VENDA_POR_LOTE''' dentro da tabela '''CONFIGURACAO''' com valor S.&lt;br /&gt;
&lt;br /&gt;
=== Cadastro de Pedido ===&lt;br /&gt;
&lt;br /&gt;
O vendedor poderá filtrar os lotes do produto no GeoSales Portal através de um campo de texto e um botão de busca onde ele preencherá uma parte ou a totalidade do nome de um produto. Em caso de não preenchimento o GeoSales irá exibir nessa tabela uma listagem dos lotes dos produtos por ordem alfabética limitada a uma quantidade de 100 lotes para efeito de performance.   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:TelaPedidosLote.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A tabela resultante após a busca deverá listar:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''- Cód. Lote''': Código alfanumérico do lote que será selecionado (CAMPO DS_LOTE da tabela lote)&lt;br /&gt;
&lt;br /&gt;
'''- Cód. Produto''':  Código do produto selecionado&lt;br /&gt;
&lt;br /&gt;
'''- Produto''': Nome do produto selecionado&lt;br /&gt;
&lt;br /&gt;
'''- Estoque Lote''': Quantidade de itens em estoque para aquele lote&lt;br /&gt;
&lt;br /&gt;
'''- Validade''': Data de validade do lote&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
O vendedor ao receber a tabela com as opções detalhadas deverá clicar no botão de [+] para incluir os dados daquele lote na tela de dados de produto. Que deve trazer os dados de estoque e faixa de preço do lote selecionado.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:TelaProdutoLote.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Todas as validações de preço e estoque devem ser implementadas nas ações de inserir e editar.&lt;br /&gt;
&lt;br /&gt;
O item deverá ser apresentado exibindo o código do lote antes do código do produto.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:ItemPedidoLote.png]]&lt;br /&gt;
&lt;br /&gt;
No GeoSales Mobile o campo qtd deve ser desabilitado e a seleção do lote deverá ser feita através de um botão que abrirá uma tela com as informações do lote. &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:MobileCadastroPedidoLote.png]]&lt;br /&gt;
&lt;br /&gt;
O botão Lote só estará habilitado se existir saldo em estoque nos lotes do produto selecionado.&lt;br /&gt;
&lt;br /&gt;
Havendo estoque a seguinte tela exibindo as informações de código do Lote, qtd em estoque e vencimento deverá ser apresentada. &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:MobileTelaSelecaoLote.png]]&lt;br /&gt;
&lt;br /&gt;
A coluna identificada por quantidade deverá ser responsável pela inserção dos itens. Ao pressionar a área de uma célula um teclado numérico deverá ser exibido.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:MobileTelaSelecaoQtdLote.png]]&lt;br /&gt;
&lt;br /&gt;
Depois da seleção de lote o lote deverá virar um item e exibir a informação do lote selecionado na tela inferior.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:MobileTelaItemLote.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Relatório ===&lt;br /&gt;
&lt;br /&gt;
O relatório de pedidos necessita ser alterado para exibir a informação do lote do item&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:RelatorioPedidoLote.png]]&lt;br /&gt;
&lt;br /&gt;
== Regras de Negócio ==&lt;br /&gt;
'''[RN1]''' – Deve ser criado uma flag no banco de dados que irá alterar a configuração do sistema para utilizar VENDA POR LOTE, sugerimos a flag '''ID_UTILIZA_VENDA_POR_LOTE''', quando configurada como &amp;quot;S&amp;quot; no banco de dados, o GeoSales Mobile irá apresentar na tabela de pedidos toda a estrutura de itens levando em consideração o código do lote.  Caso esteja marcado como &amp;quot;N&amp;quot;, o sistema irá utilizar a estrutura de itens pelo código do produto como também toda a estrutura de criação de pedidos padrão.&lt;br /&gt;
&lt;br /&gt;
'''[RN2]''' - No GeoSales Mobile Deverá apresentar na tela de pedidos uma primeira seleção com os dados da busca por produto exibindo no campo de estoque os dados da tabela estoque lote caso os lotes tenham o cd_produto do produto selecionado. O campo Qtd não deve ser possível de editar pois as quantidades serão escolhidas na tela de itens de lote que é acessada através de um botão habilitado apenas quando o produto possuir estoque.&lt;br /&gt;
&lt;br /&gt;
'''[RN3]''' - No GeoSales Mobile Na tela de consulta de produtos a quantidade em estoque de produtos deverá conter os dados do estoque do produto vindo do somatório de todas as quantidades de lotes para a organização de venda selecionada.&lt;br /&gt;
&lt;br /&gt;
'''[RN4]''' - No GeoSales Portal Deverá ser alterada a tela de cadastro de pedido para caso a configuração '''ID_UTILIZA_VENDA_POR_LOTE''' esteja com valor &amp;quot;S&amp;quot; a lupa de produto seja substituída por um campo de texto e um botão de busca cujo evento disparado constrói uma tabela com os lotes que possuem data de validade posterior a data atual e estoque na tabela de estoque_lote caso o lote tenha estoque maior que zero.&lt;br /&gt;
&lt;br /&gt;
'''[RN5]''' - No GeoSales Portal quando o usuário selecionar o lote na tabela gerada ele carregará os detalhes de quantidade em estoque e faixa de preço do lote específico.&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;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:200px&amp;quot; |Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! style=&amp;quot;width:200px&amp;quot; |Data&lt;br /&gt;
! style=&amp;quot;width:300px&amp;quot; |Assinatura&lt;br /&gt;
|- &lt;br /&gt;
| TOTVS&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- &lt;br /&gt;
| CLIENTE&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Leonardo</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=A52_%E2%80%93_M%C3%A1scara_no_Valor_do_Pedido&amp;diff=4521</id>
		<title>A52 – Máscara no Valor do Pedido</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=A52_%E2%80%93_M%C3%A1scara_no_Valor_do_Pedido&amp;diff=4521"/>
		<updated>2017-07-26T03:42:04Z</updated>

		<summary type="html">&lt;p&gt;Leonardo: /* Solução */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Necessidade==&lt;br /&gt;
Ter uma facilidade de leitura dos campos de numéricos.&lt;br /&gt;
&lt;br /&gt;
== Solução ==&lt;br /&gt;
Aplicar máscara nos campos numéricos (Valores, Quantidade e Peso) na tela do pedido (Portal, Mobile e Supervisor). Essa mudança deverá ser aplicada tando no cadastro como no relatório de pedido.&lt;br /&gt;
Aplicar a seguinte mascará 00.000,00&lt;br /&gt;
Ex: 1.200,99 e não 1200,99&lt;/div&gt;</summary>
		<author><name>Leonardo</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=A52_%E2%80%93_M%C3%A1scara_no_Valor_do_Pedido&amp;diff=4520</id>
		<title>A52 – Máscara no Valor do Pedido</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=A52_%E2%80%93_M%C3%A1scara_no_Valor_do_Pedido&amp;diff=4520"/>
		<updated>2017-07-26T03:36:29Z</updated>

		<summary type="html">&lt;p&gt;Leonardo: /* Necessidade */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Necessidade==&lt;br /&gt;
Ter uma facilidade de leitura dos campos de numéricos.&lt;br /&gt;
&lt;br /&gt;
== Solução ==&lt;br /&gt;
Criar máscara para o valor dos itens e dos pedidos. Ex: 1.200,99 e não 1200,99&lt;br /&gt;
&lt;br /&gt;
=== Locais ===&lt;br /&gt;
1. Grid do item no Portal no momento de fazer o pedido&lt;br /&gt;
&lt;br /&gt;
2. Grid de item do Mobile no momento de fazer o pedido&lt;br /&gt;
&lt;br /&gt;
3. Tela de Histórico de Pedidos do Mobile&lt;/div&gt;</summary>
		<author><name>Leonardo</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=A46_%E2%80%93_Duplicar_Pedido&amp;diff=4519</id>
		<title>A46 – Duplicar Pedido</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=A46_%E2%80%93_Duplicar_Pedido&amp;diff=4519"/>
		<updated>2017-07-26T03:28:56Z</updated>

		<summary type="html">&lt;p&gt;Leonardo: /* Necessidade */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Necessidade ==&lt;br /&gt;
Os clientes tem a necessidade de configurar quais as informações podem ou não ser duplicada e até qual o tipo de pedido pode ser duplicado. Isto para proporcionar um melhor controle da venda evitando possíveis erros da operação.&lt;br /&gt;
&lt;br /&gt;
== Solução ==&lt;br /&gt;
O GeoSales deverá permitir configurar qual o tipo de pedido poderá ser duplicado e quais são as informações que podem ser aplicadas em uma duplicação. Informações que podem ser configuradas para o controle da duplicação:&lt;br /&gt;
&lt;br /&gt;
Adaptar rotina de duplicação de pedidos para obedecer às regras específicas da camil.&lt;br /&gt;
&amp;lt;B&amp;gt;&lt;br /&gt;
*Meio de pagamento &lt;br /&gt;
*Condição de pagamento&lt;br /&gt;
*Data de entrega&lt;br /&gt;
*Descontos&lt;br /&gt;
*Preço &amp;lt;/B&amp;gt; (Caso o preço não possa ser duplicado o sistema irá praticar o preço atual)&lt;br /&gt;
&lt;br /&gt;
Está configuração será interna da SoftSite, não será disponibilizado tela de configuração para o cliente. &lt;br /&gt;
&lt;br /&gt;
Quando alguma dessas informações tiverem parametrizadas para duplicar o sistema repetirá a mesma do pedido original, mas possibilitará edição, caso não esteja para parametrizado para duplicar o sistema não irá carregar essas informações no pedido duplicado.&lt;br /&gt;
&lt;br /&gt;
== Regras de Negócio ==&lt;br /&gt;
*RN1 – Quando alguma dessas informações tiverem parametrizadas para duplicar o sistema repetirá a mesma do pedido original, mas possibilitará edição, caso não esteja para parametrizado para duplicar o sistema não irá carregar essas informações no pedido duplicado.&lt;br /&gt;
*RN2 – Os movimentos que não tiverem habilitados para duplicar não terão essa funcionalidade disponibilizada &lt;br /&gt;
*RN3 – Caso a data de entrega esteja parametrizado para não duplicar o sistema irá aplicar o calcular da data de entrega, caso esteja parametrizado.&lt;br /&gt;
*RN4 – Pedido duplicado seguirá fluxo padrão após o carregamento das informações parametrizadas.&lt;/div&gt;</summary>
		<author><name>Leonardo</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=A46_%E2%80%93_Duplicar_Pedido&amp;diff=4518</id>
		<title>A46 – Duplicar Pedido</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=A46_%E2%80%93_Duplicar_Pedido&amp;diff=4518"/>
		<updated>2017-07-26T03:27:01Z</updated>

		<summary type="html">&lt;p&gt;Leonardo: /* Solução */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Necessidade ==&lt;br /&gt;
Adequar as regras de preço e data de entrega na funcionalidade de duplicação de pedido.&lt;br /&gt;
&lt;br /&gt;
== Solução ==&lt;br /&gt;
O GeoSales deverá permitir configurar qual o tipo de pedido poderá ser duplicado e quais são as informações que podem ser aplicadas em uma duplicação. Informações que podem ser configuradas para o controle da duplicação:&lt;br /&gt;
&lt;br /&gt;
Adaptar rotina de duplicação de pedidos para obedecer às regras específicas da camil.&lt;br /&gt;
&amp;lt;B&amp;gt;&lt;br /&gt;
*Meio de pagamento &lt;br /&gt;
*Condição de pagamento&lt;br /&gt;
*Data de entrega&lt;br /&gt;
*Descontos&lt;br /&gt;
*Preço &amp;lt;/B&amp;gt; (Caso o preço não possa ser duplicado o sistema irá praticar o preço atual)&lt;br /&gt;
&lt;br /&gt;
Está configuração será interna da SoftSite, não será disponibilizado tela de configuração para o cliente. &lt;br /&gt;
&lt;br /&gt;
Quando alguma dessas informações tiverem parametrizadas para duplicar o sistema repetirá a mesma do pedido original, mas possibilitará edição, caso não esteja para parametrizado para duplicar o sistema não irá carregar essas informações no pedido duplicado.&lt;br /&gt;
&lt;br /&gt;
== Regras de Negócio ==&lt;br /&gt;
*RN1 – Quando alguma dessas informações tiverem parametrizadas para duplicar o sistema repetirá a mesma do pedido original, mas possibilitará edição, caso não esteja para parametrizado para duplicar o sistema não irá carregar essas informações no pedido duplicado.&lt;br /&gt;
*RN2 – Os movimentos que não tiverem habilitados para duplicar não terão essa funcionalidade disponibilizada &lt;br /&gt;
*RN3 – Caso a data de entrega esteja parametrizado para não duplicar o sistema irá aplicar o calcular da data de entrega, caso esteja parametrizado.&lt;br /&gt;
*RN4 – Pedido duplicado seguirá fluxo padrão após o carregamento das informações parametrizadas.&lt;/div&gt;</summary>
		<author><name>Leonardo</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=A46_%E2%80%93_Duplicar_Pedido&amp;diff=4517</id>
		<title>A46 – Duplicar Pedido</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=A46_%E2%80%93_Duplicar_Pedido&amp;diff=4517"/>
		<updated>2017-07-26T03:25:34Z</updated>

		<summary type="html">&lt;p&gt;Leonardo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Necessidade ==&lt;br /&gt;
Adequar as regras de preço e data de entrega na funcionalidade de duplicação de pedido.&lt;br /&gt;
&lt;br /&gt;
== Solução ==&lt;br /&gt;
O GeoSales deverá permitir configurar qual o tipo de pedido poderá ser duplicado e quais são as informações que podem ser aplicadas em uma duplicação. Informações que podem ser configuradas para o controle da duplicação:&lt;br /&gt;
&lt;br /&gt;
Adaptar rotina de duplicação de pedidos para obedecer às regras específicas da camil.&lt;br /&gt;
&amp;lt;B&amp;gt;&lt;br /&gt;
*Meio de pagamento &lt;br /&gt;
*Condição de pagamento&lt;br /&gt;
*Data de entrega&lt;br /&gt;
*Descontos&lt;br /&gt;
*Preço &amp;lt;/B&amp;gt; (Caso o preço não possa ser duplicado o sistema irá praticar o preço atual)&lt;br /&gt;
&lt;br /&gt;
Quando alguma dessas informações tiverem parametrizadas para duplicar o sistema repetirá a mesma do pedido original, mas possibilitará edição, caso não esteja para parametrizado para duplicar o sistema não irá carregar essas informações no pedido duplicado. &lt;br /&gt;
&lt;br /&gt;
Solução será criar um estrutura dinâmica para identificar poderá ser duplicado.&lt;br /&gt;
&lt;br /&gt;
== Regras de Negócio ==&lt;br /&gt;
*RN1 – Quando alguma dessas informações tiverem parametrizadas para duplicar o sistema repetirá a mesma do pedido original, mas possibilitará edição, caso não esteja para parametrizado para duplicar o sistema não irá carregar essas informações no pedido duplicado.&lt;br /&gt;
*RN2 – Os movimentos que não tiverem habilitados para duplicar não terão essa funcionalidade disponibilizada &lt;br /&gt;
*RN3 – Caso a data de entrega esteja parametrizado para não duplicar o sistema irá aplicar o calcular da data de entrega, caso esteja parametrizado.&lt;br /&gt;
*RN4 – Pedido duplicado seguirá fluxo padrão após o carregamento das informações parametrizadas.&lt;/div&gt;</summary>
		<author><name>Leonardo</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Discuss%C3%A3o:Sugest%C3%A3o_de_Venda&amp;diff=3647</id>
		<title>Discussão:Sugestão de Venda</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Discuss%C3%A3o:Sugest%C3%A3o_de_Venda&amp;diff=3647"/>
		<updated>2017-04-06T12:41:17Z</updated>

		<summary type="html">&lt;p&gt;Leonardo: /* Aguardando retorno */ nova seção&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Integração ==&lt;br /&gt;
&lt;br /&gt;
Integração[editar]&lt;br /&gt;
As informações contidas '''nesses 2 campos''' não precisam ser integradas com o ERP do cliente. Logo nesse primeiro momento não há interação da integração.&lt;br /&gt;
&lt;br /&gt;
Que campos são estes??&lt;br /&gt;
&lt;br /&gt;
== Choque de funcionalidade  ==&lt;br /&gt;
&lt;br /&gt;
Essa funcionalidade já existe para Empresa Real Alimentos. &lt;br /&gt;
Existe uma diferença na forma do calculo da sugestão com isso precisamos criar um meio da coexistência das duas formas. &lt;br /&gt;
Poderia ser criado uma cadastro de parametrização que definirá a forma de calculo, exemplo:&lt;br /&gt;
&lt;br /&gt;
Com base em quantas ultimas vendas?&lt;br /&gt;
Linear?&lt;br /&gt;
Com base na mesma semana nos meses passados?&lt;br /&gt;
&lt;br /&gt;
Coisa desse tipo.&lt;br /&gt;
&lt;br /&gt;
== Aguardando retorno ==&lt;br /&gt;
&lt;br /&gt;
Como informei funcionalidade já existe para outros clientes.&lt;br /&gt;
Precisa se analisar se atende totalmente ou parcialmente a necessidade e a partir do que exite gerar um documento adequando o sistema para atender a demanda.&lt;/div&gt;</summary>
		<author><name>Leonardo</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Discuss%C3%A3o:Relat%C3%B3rio_Agendado_X_Realizado&amp;diff=3646</id>
		<title>Discussão:Relatório Agendado X Realizado</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Discuss%C3%A3o:Relat%C3%B3rio_Agendado_X_Realizado&amp;diff=3646"/>
		<updated>2017-04-06T12:36:55Z</updated>

		<summary type="html">&lt;p&gt;Leonardo: /* Origem dados[editar] */ nova seção&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Origem dados[editar] ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Não tem informações suficientes.&lt;br /&gt;
O agendamento tem alguns situações que não estão sendo tratadas no documento. &lt;br /&gt;
A forma de intercessão entre o agendado e o realizado não está claro e isto pode gerar desenvolvimento errado da solução.&lt;/div&gt;</summary>
		<author><name>Leonardo</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Discuss%C3%A3o:Sugest%C3%A3o_de_Venda&amp;diff=3494</id>
		<title>Discussão:Sugestão de Venda</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Discuss%C3%A3o:Sugest%C3%A3o_de_Venda&amp;diff=3494"/>
		<updated>2017-03-27T12:23:56Z</updated>

		<summary type="html">&lt;p&gt;Leonardo: /* Choque de funcionalidade  */ nova seção&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Integração ==&lt;br /&gt;
&lt;br /&gt;
Integração[editar]&lt;br /&gt;
As informações contidas '''nesses 2 campos''' não precisam ser integradas com o ERP do cliente. Logo nesse primeiro momento não há interação da integração.&lt;br /&gt;
&lt;br /&gt;
Que campos são estes??&lt;br /&gt;
&lt;br /&gt;
== Choque de funcionalidade  ==&lt;br /&gt;
&lt;br /&gt;
Essa funcionalidade já existe para Empresa Real Alimentos. &lt;br /&gt;
Existe uma diferença na forma do calculo da sugestão com isso precisamos criar um meio da coexistência das duas formas. &lt;br /&gt;
Poderia ser criado uma cadastro de parametrização que definirá a forma de calculo, exemplo:&lt;br /&gt;
&lt;br /&gt;
Com base em quantas ultimas vendas?&lt;br /&gt;
Linear?&lt;br /&gt;
Com base na mesma semana nos meses passados?&lt;br /&gt;
&lt;br /&gt;
Coisa desse tipo.&lt;/div&gt;</summary>
		<author><name>Leonardo</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Discuss%C3%A3o:Sugest%C3%A3o_de_Venda&amp;diff=3493</id>
		<title>Discussão:Sugestão de Venda</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Discuss%C3%A3o:Sugest%C3%A3o_de_Venda&amp;diff=3493"/>
		<updated>2017-03-27T12:15:35Z</updated>

		<summary type="html">&lt;p&gt;Leonardo: /* Integração */ nova seção&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Integração ==&lt;br /&gt;
&lt;br /&gt;
Integração[editar]&lt;br /&gt;
As informações contidas '''nesses 2 campos''' não precisam ser integradas com o ERP do cliente. Logo nesse primeiro momento não há interação da integração.&lt;br /&gt;
&lt;br /&gt;
Que campos são estes??&lt;/div&gt;</summary>
		<author><name>Leonardo</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Projeto/Rota&amp;diff=3492</id>
		<title>Projeto/Rota</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Projeto/Rota&amp;diff=3492"/>
		<updated>2017-03-27T12:01:47Z</updated>

		<summary type="html">&lt;p&gt;Leonardo: /* Histórico de Revisões */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Histórico de Revisões ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot;&lt;br /&gt;
! Data&lt;br /&gt;
! Quem &lt;br /&gt;
! Comentários &lt;br /&gt;
|-&lt;br /&gt;
|  12/01/2017  ||  Nelson Curcio    ||  Criação do Documento&lt;br /&gt;
|-&lt;br /&gt;
|  23/03/2017  ||  Renato Lima    ||  Ajuste Documento&lt;br /&gt;
|-&lt;br /&gt;
|  23/03/2017  ||  Leonardo Sousa ||  Revisado / Aprovado&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
&lt;br /&gt;
O cliente solicitou que quando for uma &amp;quot;data especial&amp;quot;, a rota dessa data seja enviada para os dias anteriores e/ou&lt;br /&gt;
posteriores. Que ele possa fazer essa alteração com antecedência e escolhendo os representantes para que isso&lt;br /&gt;
ocorra.&lt;br /&gt;
&lt;br /&gt;
Não existe dia sem rota. Todos os dias,para vendedores que não estiverem na tabela de exceção daquele dia, terão suas rotas carregadas normalmente com os clientes do dia.&lt;br /&gt;
Apenas para os vendedores que estiverem com exceção configurada na tabela para o referido dia, o sistema carregará seguindo a informação da tabela de exceção conforme abaixo.&lt;br /&gt;
&lt;br /&gt;
=== Exemplo da necessidade ===&lt;br /&gt;
&lt;br /&gt;
Usando o dia 11/01 como exemplo , que foi uma quarta , o sistema carregaria para todos os vendedores(com exceção dos A,B e C) a rota da própria quarta como acontece atualmente.&lt;br /&gt;
Neste mesmo dia, para o vendedor “A”, carregaria as rotas da quarta e quinta , para o vendedor “B” carregaria as rotas da terça e quarta e para o vendedor “C” carregaria as rotas da quarta , quinta e sexta.&lt;br /&gt;
Já para o dia 13/01 as exceções seria para os clientes “A” e “D” que carregariam as rotas de sexta e segunda.&lt;br /&gt;
&lt;br /&gt;
No dia 14/01 teríamos apenas o vendedor “C” como exceção que carregaria a rota da sexta. &lt;br /&gt;
&lt;br /&gt;
Conforme tabela abaixo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Rota Sabe1.jpg]]&lt;br /&gt;
&lt;br /&gt;
=Solução=&lt;br /&gt;
Deve ser criado no Protheus uma tabela onde serão gravados os seguintes dados:&lt;br /&gt;
  * Vendedor - O código do Vendedor&lt;br /&gt;
  * Data - Data em que precisará do tratamento para rota&lt;br /&gt;
  * Envio rota -&lt;br /&gt;
  ** 0 - Envia para o dia Antes&lt;br /&gt;
  ** 1 - Envia para o dia posterior&lt;br /&gt;
  ** 2 - Envia para dia Antes e posterior&lt;br /&gt;
&lt;br /&gt;
As datas, vendedores que não estiverem nessa tabela, as rotas serão recebidas normalmente por todos os vendedores;&lt;br /&gt;
&lt;br /&gt;
De acordo com as informações que estiverem nessa tabela, através da integração será feito tratamento para disponibilização das rotas para o Geosales.&lt;br /&gt;
&lt;br /&gt;
Todos os feriados serão inseridos nesta tabela, informando se precisará enviar rota antes, depois ou ambos e quando necessário poderá ser aplicado por vendedor.&lt;br /&gt;
&lt;br /&gt;
=Implementação=&lt;br /&gt;
* A exibição da rota no Geosales será tratada e trazida através da integração, considerando os dados fornecidos na tabela que será criada.&lt;br /&gt;
&lt;br /&gt;
=== Regras de Negócio ===&lt;br /&gt;
&lt;br /&gt;
'''[RN1]''' – Datas e vendedores que não estiverem na tabela criada, suas rotas serão integradas normalmente, respeitando a rota de cada dia.&lt;br /&gt;
&lt;br /&gt;
'''[RN2]''' – Será possível tratar datas de feriados ou datas avulsas em que precise enviar a rota de um dia especifico, mas de uma vez.&lt;br /&gt;
&lt;br /&gt;
'''[RN3]''' – A rota poderá ficar disponível por até três dias consecutivos de acordo com a configuração inserida.&lt;br /&gt;
&lt;br /&gt;
'''[RN4]''' – Será possível aplicar a configuração por data, por vendedor especifico, sendo possível enviar antes ou depois da data.&lt;br /&gt;
&lt;br /&gt;
'''[RN5]''' – Quando NÃO houver o codigo do vendedor na tabela, mas data e configuração que determina o envio antes ou depois, será aplicado a todos vendedores.&lt;br /&gt;
&lt;br /&gt;
'''[RN6]''' – Todos os feriados precisaram ser inseridos na tabela informando se é necessário enviar antes, depois ou ambos.&lt;br /&gt;
&lt;br /&gt;
'''[RN7]''' – Em feriados regionais, além da data do feriado, para vendedores que atendem a localidade, precisa informar o código do vendedor para que&lt;br /&gt;
as rotas sejam disponibilizadas de acordo com a configuração.&lt;br /&gt;
&lt;br /&gt;
=== Cenário Feliz ===&lt;br /&gt;
====Dados====&lt;br /&gt;
Semana: 20/03 a 24/03&lt;br /&gt;
*Rota - Quarta&lt;br /&gt;
*Vendedor: João&lt;br /&gt;
*Não há informações na tabela&lt;br /&gt;
&lt;br /&gt;
==== Operação ====&lt;br /&gt;
*Vendedor João acessa o tablet na quarta;&lt;br /&gt;
*Vendedor João tem rota da quarta disponível;&lt;br /&gt;
&lt;br /&gt;
==== Assertivas====&lt;br /&gt;
*Vendedor João realiza atendimento dos clientes das rotas de quarta.&lt;br /&gt;
&lt;br /&gt;
=== Cenário de Alerta 1 ===&lt;br /&gt;
====Dados====&lt;br /&gt;
Semana: 20/03 a 24/03&lt;br /&gt;
*Rota - Quarta&lt;br /&gt;
*Vendedor: João&lt;br /&gt;
*Há informações na tabela de configuração&lt;br /&gt;
** Vendedor João&lt;br /&gt;
** Data de Quarta&lt;br /&gt;
** 2 - Antes e Depois&lt;br /&gt;
&lt;br /&gt;
==== Operação ====&lt;br /&gt;
*Vendedor João acessa o tablet na terça;&lt;br /&gt;
**Vendedor João tem rota de terça e quarta disponível;&lt;br /&gt;
*Vendedor João acessa o tablet na Quarta;&lt;br /&gt;
**Vendedor João tem rota de quarta disponível;&lt;br /&gt;
*Vendedor João acessa o tablet na Quinta;&lt;br /&gt;
**Vendedor João tem rota de quarta e Quinta disponível;&lt;br /&gt;
*Rota disponibilizadas dessa forma apenas para o vendedor João&lt;br /&gt;
&lt;br /&gt;
==== Assertivas====&lt;br /&gt;
*Vendedores realizam atendimento dos clientes das rotas de quarta, na terça, quarta e quinta.&lt;br /&gt;
&lt;br /&gt;
=== Cenário de Alerta 2 ===&lt;br /&gt;
====Dados====&lt;br /&gt;
Semana: 20/03 a 24/03&lt;br /&gt;
*Rota - Quarta&lt;br /&gt;
*Vendedor: TODOS&lt;br /&gt;
*Há informações na tabela de configuração&lt;br /&gt;
** Data de Quarta&lt;br /&gt;
** 2 - Antes e Depois&lt;br /&gt;
&lt;br /&gt;
==== Operação ====&lt;br /&gt;
*Vendedores acessam o tablet na terça;&lt;br /&gt;
**Vendedores tem rota de terça e quarta disponível;&lt;br /&gt;
*Vendedores acessam o tablet na Quarta;&lt;br /&gt;
**Vendedores tem rota de quarta disponível;&lt;br /&gt;
*Vendedores acessam o tablet na Quinta;&lt;br /&gt;
**Vendedores tem rota de quarta e Quinta disponível;&lt;br /&gt;
*Rota disponibilizadas dessa forma para todos os vendedores.&lt;br /&gt;
&lt;br /&gt;
==== Assertivas====&lt;br /&gt;
*Vendedores realizam atendimento dos clientes das rotas de quarta, na terça, quarta e quinta.&lt;br /&gt;
&lt;br /&gt;
=== Cenário de Alerta 3 ===&lt;br /&gt;
====Dados====&lt;br /&gt;
Semana: 20/03 a 24/03&lt;br /&gt;
*Rota - Quarta&lt;br /&gt;
*Vendedor: João&lt;br /&gt;
*Há informações na tabela de configuração&lt;br /&gt;
** Vendedor João&lt;br /&gt;
** Data de Quarta&lt;br /&gt;
** 0 - Antes&lt;br /&gt;
&lt;br /&gt;
==== Operação ====&lt;br /&gt;
*Vendedor João acessa o tablet na terça;&lt;br /&gt;
**Vendedor João tem rota de terça e quarta disponível;&lt;br /&gt;
*Vendedor João acessa o tablet na Quarta;&lt;br /&gt;
**Vendedor João de quarta disponível;&lt;br /&gt;
*Rota disponibilizadas dessa forma apenas para o vendedor João&lt;br /&gt;
&lt;br /&gt;
==== Assertivas====&lt;br /&gt;
*Vendedor João realiza atendimento dos clientes das rotas de quarta, na terça e quarta.&lt;br /&gt;
&lt;br /&gt;
=== Cenário de Alerta 4 ===&lt;br /&gt;
====Dados====&lt;br /&gt;
Semana: 20/03 a 24/03&lt;br /&gt;
*Rota - Quarta&lt;br /&gt;
*Vendedor: João&lt;br /&gt;
*Há informações na tabela de configuração&lt;br /&gt;
** Vendedor João&lt;br /&gt;
** Data de Quarta&lt;br /&gt;
** 1 - Posterior&lt;br /&gt;
&lt;br /&gt;
==== Operação ====&lt;br /&gt;
*Vendedor João acessa o tablet na Quinta;&lt;br /&gt;
**Vendedor João tem rota de quarta e quinta disponível;&lt;br /&gt;
*Vendedor João acessa o tablet na Quarta;&lt;br /&gt;
**Vendedor João de quarta disponível;&lt;br /&gt;
*Rota disponibilizadas dessa forma apenas para o vendedor João&lt;br /&gt;
&lt;br /&gt;
==== Assertivas====&lt;br /&gt;
*Vendedores realizam atendimento dos clientes das rotas de quarta, na quarta e quinta.&lt;br /&gt;
&lt;br /&gt;
== Aprovação ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        --------------------------------                       ---------------------------------------&lt;br /&gt;
            Comercial (Sabe)                                    Gerente de Projetos (SoftSite)&lt;/div&gt;</summary>
		<author><name>Leonardo</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Autoriza%C3%A7%C3%A3o_de_Pre%C3%A7o_com_validade&amp;diff=3358</id>
		<title>Autorização de Preço com validade</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Autoriza%C3%A7%C3%A3o_de_Pre%C3%A7o_com_validade&amp;diff=3358"/>
		<updated>2017-03-17T13:34:56Z</updated>

		<summary type="html">&lt;p&gt;Leonardo: /* Histórico de Revisões */&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;
|  15/03/2017  ||  Renato Lima    ||  Criação do Documento &lt;br /&gt;
|-&lt;br /&gt;
|  17/03/2017  ||  Leonardo Sousa ||  Revisado.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Necessidade=&lt;br /&gt;
Ao autorizar um preço de acordo com a alçada cadastrada para cada supervisor, este terá uma opção de informar se a autorização se refere a um único pedido ou a vários pedidos por tempo determinado. Se autorizado para período determinado, supervisor insere data ate quando a condição estará autorizada. Novos pedidos do mesmo cliente, mesmo produto e mesmas condições não serão necessários autorização;&lt;br /&gt;
&lt;br /&gt;
=Solução=&lt;br /&gt;
Na nova tela de aprovação de pedido, quando o supervisor for executar a aprovação do pedido pendente, o sistema abrirá um alerta perguntando se o desconto aplicado será utilizado para outros pedidos do mesmo cliente e produto. Caso a afirmação seja positiva o sistema abrirá um campo para o supervisor informar a data de validade deste desconto. Esse desconto será cadastrado na desconto_cliente_produto onde o mesmo será aplicado na faixa de preço.&lt;br /&gt;
&lt;br /&gt;
=Implementação=&lt;br /&gt;
* Na tela de aprovação de pedido quando clicar em Aprovar, o sistema apresentará um alerta com a seguinte mensagem: Autorização refere-se a esse único pedido ou a outros pedidos por tempo determinado?&lt;br /&gt;
&lt;br /&gt;
::Exemplo:&lt;br /&gt;
::[[Arquivo:ALERTA_1.jpg|250px]]&lt;br /&gt;
* Se selecionar NÃO o sistema aprovará o pedido, caso a opçao seja SIM o sistema abrirá um segundo alerta onde será informado uma data de validade.&lt;br /&gt;
&lt;br /&gt;
::Exemplo:&lt;br /&gt;
::[[Arquivo:ALERTA2.jpg|250px]]&lt;br /&gt;
* Ao informar a data e clicar em OK o sistema deve verificar o percentual aplicado e inserir as informações de produto, cliente, percentual de desconto e data de validade na tabela DESCONTO_PRODUTO_CLIENTE, se cancelar deve apenas aprovar o pedido.&lt;br /&gt;
* Na tabela de DESCONTO_PRODUTO_CLIENTE deve ser criado o campo DT_VALIDADE_DESCONTO, onde será gravado a validade do produto.&lt;br /&gt;
* Quando o cliente já tiver um desconto cadastrado, com data de validade vigente e for informado um percentual maior,o pedido deve ficar pendente e o sistema deve apresentar as informações da regra para que seja alterada ou mantida a atual. Dessa forma ele podera autoriza apenas aquele pedido ou modificar a regra para os futuros pedidos.&lt;br /&gt;
&lt;br /&gt;
::Exemplo:&lt;br /&gt;
::[[Arquivo:Alerta3.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
  * Cliente - Campo apenas para visualização&lt;br /&gt;
  * Produto - Campo apenas para visualização&lt;br /&gt;
  * Percentual - Campo que pode ser alterado&lt;br /&gt;
  * Data de Validade - Campo que pode ser alterado&lt;br /&gt;
&lt;br /&gt;
* Caso o cliente clique na opção ALTERAR o pedido será aprovado e a Regra de desconto será alterada.&lt;br /&gt;
&lt;br /&gt;
* Caso o cliente clique na opção CANCELAR o pedido será aprovado, mas a Regra não será alterada.&lt;br /&gt;
&lt;br /&gt;
* Na tela de cadastro de DESCONTO_PRODUTO_CLIENTE adicionar o campo de data de vencimento para cadastro, visualização e edição.&lt;br /&gt;
&lt;br /&gt;
::Exemplo:&lt;br /&gt;
::[[Arquivo:Alerta4.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
* Na tela de pedido, quando esse desconto for ser aplicado, precisa validar a data de validade.&lt;br /&gt;
&lt;br /&gt;
* Quando o desconto tiver data de validade, já estiver vencida, o sistema deve permitir o cadastro de uma nova regra.&lt;br /&gt;
&lt;br /&gt;
=== Regras de Negócio ===&lt;br /&gt;
&lt;br /&gt;
'''[RN1]''' – O desconto cadastrado na tabela DESCONTO_PRODUTO_CLIENTE será aplicado conforme regra da configuração APLICAR_DESCONTO_TODA_FAIXA, ou seja em toda a faixa ou apenas no valor minimo caso não tenha a configuração.&lt;br /&gt;
&lt;br /&gt;
'''[RN2]''' – O desconto será aplicado se a data de emissão do pedido for menor ou igual a data de validade do desconto.(DT_VALIDADE_DESCONTO)&lt;br /&gt;
&lt;br /&gt;
'''[RN3]''' – O pedido ficará pendente caso a data de emissão do pedido tenha ultrapassado a data de validade do desconto.&lt;br /&gt;
&lt;br /&gt;
'''[RN4]''' – O pedido NÃO ficará pendente caso a data de emissão do pedido seja menor que a data de validade do desconto.&lt;br /&gt;
&lt;br /&gt;
'''[RN5]''' – O DESCONTO_PRODUTO_CLIENTE na hierarquia de desconto deve ter a prioridade maior.&lt;br /&gt;
&lt;br /&gt;
'''[RN6]''' – A Regra cadastrada poderá ser usada por qualquer vendedor que venda o produto e atenda o cliente.&lt;br /&gt;
&lt;br /&gt;
=== Cenário Feliz ===&lt;br /&gt;
====Dados====&lt;br /&gt;
*Supervisor do Joao&lt;br /&gt;
**Alçada: 10%&lt;br /&gt;
*Vendedor: João&lt;br /&gt;
*Clinte: Pedro&lt;br /&gt;
*Produto: Produto A&lt;br /&gt;
* Não há regra de desconto cadastrada para produto e cliente&lt;br /&gt;
&lt;br /&gt;
==== Operação ====&lt;br /&gt;
*Vendedor João cria o pedido;&lt;br /&gt;
*Selecionar o Item: Produto A com desconto&lt;br /&gt;
**Desconto:10%&lt;br /&gt;
* Cliente: Pedro&lt;br /&gt;
*O vendedor salva o Pedido&lt;br /&gt;
*Pedido fica pendente&lt;br /&gt;
*Supervisor aprovar pedido sem informar data&lt;br /&gt;
&lt;br /&gt;
==== Assertivas====&lt;br /&gt;
*Pedido fica autorizado&lt;br /&gt;
*Pedido enviado para o ERP com sucesso.&lt;br /&gt;
&lt;br /&gt;
=== Cenário de Alerta 1 ===&lt;br /&gt;
====Dados====&lt;br /&gt;
*Supervisor do Joao&lt;br /&gt;
**Alçada: 10%&lt;br /&gt;
*Vendedor: João&lt;br /&gt;
*Clinte: Pedro&lt;br /&gt;
*Produto: Produto A&lt;br /&gt;
* Não há regra de desconto cadastrada para produto e cliente&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
*Vendedor João cria o pedido;&lt;br /&gt;
*Selecionar o Item: Produto A com desconto&lt;br /&gt;
**Desconto:10%&lt;br /&gt;
* Cliente: Pedro&lt;br /&gt;
*O vendedor salva o Pedido&lt;br /&gt;
*Pedido fica pendente&lt;br /&gt;
*Supervisor aprovar pedido e informa data&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
*Pedido fica autorizado&lt;br /&gt;
*Pedido enviado para o ERP com sucesso.&lt;br /&gt;
* Regra de desconto cadastrada&lt;br /&gt;
&lt;br /&gt;
=== Cenário de Alerta 2 ===&lt;br /&gt;
====Dados====&lt;br /&gt;
*Supervisor do Joao&lt;br /&gt;
**Alçada: 10%&lt;br /&gt;
*Vendedor: João&lt;br /&gt;
*Clinte: Pedro&lt;br /&gt;
*Produto: Produto A&lt;br /&gt;
* Com regra de desconto cadastrada para produto e cliente&lt;br /&gt;
** Desconto 10%&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
*Vendedor João cria o pedido;&lt;br /&gt;
*Selecionar o Item: Produto A com desconto&lt;br /&gt;
**Desconto:10%&lt;br /&gt;
* Cliente: Pedro&lt;br /&gt;
*O vendedor salva o Pedido&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
*Pedido fica autorizado&lt;br /&gt;
*Pedido enviado para o ERP com sucesso.&lt;br /&gt;
&lt;br /&gt;
=== Cenário de Alerta 3===&lt;br /&gt;
====Dados====&lt;br /&gt;
*Supervisor do Joao&lt;br /&gt;
**Alçada: 10%&lt;br /&gt;
*Vendedor: João&lt;br /&gt;
*Clinte: Pedro&lt;br /&gt;
*Produto: Produto A&lt;br /&gt;
* Com regra de desconto cadastrada para produto e cliente&lt;br /&gt;
** Desconto 10%&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
*Vendedor João cria o pedido;&lt;br /&gt;
*Selecionar o Item: Produto A com desconto&lt;br /&gt;
**Desconto:15%&lt;br /&gt;
* Cliente: Pedro&lt;br /&gt;
*O vendedor salva o Pedido&lt;br /&gt;
* Pedido fica pendente&lt;br /&gt;
*Supervisor aprovar pedido sem informar data&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
*Pedido fica autorizado&lt;br /&gt;
*Pedido enviado para o ERP com sucesso.&lt;br /&gt;
&lt;br /&gt;
=== Cenário de Alerta 4===&lt;br /&gt;
====Dados====&lt;br /&gt;
*Supervisor do Joao&lt;br /&gt;
**Alçada: 10%&lt;br /&gt;
*Vendedor: João&lt;br /&gt;
*Clinte: Pedro&lt;br /&gt;
*Produto: Produto A&lt;br /&gt;
* Com regra de desconto cadastrada para produto e cliente&lt;br /&gt;
** Desconto 10%&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
*Vendedor João cria o pedido;&lt;br /&gt;
*Selecionar o Item: Produto A com desconto&lt;br /&gt;
**Desconto:15%&lt;br /&gt;
* Cliente: Pedro&lt;br /&gt;
*O vendedor salva o Pedido&lt;br /&gt;
* Pedido fica pendente&lt;br /&gt;
*Supervisor aprovar pedido e informa data&lt;br /&gt;
*Supervisor pode alterar o percentual e data de vencimento do desconto&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
*Pedido fica autorizado&lt;br /&gt;
*Pedido enviado para o ERP com sucesso.&lt;br /&gt;
*Regra de desconto é alterada.&lt;br /&gt;
&lt;br /&gt;
== Aprovação ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        --------------------------------                       ---------------------------------------&lt;br /&gt;
            Comercial (Hafele)                                    Gerente de Projetos (SoftSite)&lt;/div&gt;</summary>
		<author><name>Leonardo</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Informa%C3%A7%C3%B5es_de_endere%C3%A7o_por_CEP&amp;diff=2793</id>
		<title>Informações de endereço por CEP</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Informa%C3%A7%C3%B5es_de_endere%C3%A7o_por_CEP&amp;diff=2793"/>
		<updated>2017-02-07T13:15:56Z</updated>

		<summary type="html">&lt;p&gt;Leonardo: /* Histórico de Revisões */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{|&lt;br /&gt;
|- &lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;width:100%; text-align:right;&amp;quot; | [[Arquivo:Logo geosales.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Histórico de Revisões ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data !! Revisor !! Comentário &lt;br /&gt;
|-&lt;br /&gt;
|  01/02/2017  ||  Anderson Gomes ||  Criação do Documento&lt;br /&gt;
|-&lt;br /&gt;
|  06/02/2017  ||  Leonardo Sousa ||  Solicitação de correção&lt;br /&gt;
|-&lt;br /&gt;
|  07/02/2017  ||  Leonardo Sousa ||  Análise e Aprovação da Arquitetura&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Informações Gerais==&lt;br /&gt;
{| &lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;width:150px; text-align:left;&amp;quot; | '''Cliente:''' &lt;br /&gt;
| style=&amp;quot;width:300px; text-align:left;&amp;quot; | ''Rio Mix''&lt;br /&gt;
| style=&amp;quot;width:150px; text-align:left;&amp;quot; | '''Projeto:'''  &lt;br /&gt;
| style=&amp;quot;width:300px; text-align:left;&amp;quot; | ''Rio Mix''&lt;br /&gt;
|- &lt;br /&gt;
| | '''Gerente/Sponsor:'''&lt;br /&gt;
| | ''Dolavale''&lt;br /&gt;
| | '''Gerente SoftSite:'''&lt;br /&gt;
|  | ''Liliana Carrha''&lt;br /&gt;
|- &lt;br /&gt;
| | '''Analista SoftSite:'''&lt;br /&gt;
| | ''Anderson Gomes''&lt;br /&gt;
| | '''Arquiteto SoftSite:'''&lt;br /&gt;
| | ''Luan Lima''&lt;br /&gt;
|- &lt;br /&gt;
| | '''Aplicação(s):'''&lt;br /&gt;
| | ''Mobile-GS''&lt;br /&gt;
| | &lt;br /&gt;
| | &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Necessidade==&lt;br /&gt;
''Durante a alteração/cadastro de informações de cliente no GeoSales (Mobile e Portal) ser possível após a inserção de um determinado CEP que o sistema preencha os dados do endereço de forma automática caso existam informações para o CEP. e essas informações serem atualizadas no Protheus. Também é preciso que o sistema atualize as informações de endereço baseado no CEP.''&lt;br /&gt;
&lt;br /&gt;
==Exemplo==&lt;br /&gt;
''O vendedor cadastrará um novo cliente, ao digitar o CEP o GeoSales deverá trazer as informações do endereço. Além de incluir um novo cliente, também deverá ser possível alterar o cadastro de um cliente já existente.''&lt;br /&gt;
&lt;br /&gt;
==Solução==&lt;br /&gt;
''Ao digitar o CEP no GeoSales e clicar em um botão de pesquisa de endereço, na inclusão ou alteração de um cliente, o sistema deve buscar o endereço através do CEP digitado. Os seguintes campos devem ser preenchidos: endereço, bairro, cidade e estado. Esses campos devem permanecer editáveis, pois se o vendedor não possuir conexão ativa com a rede de dados, o sistema deve permitir que o usuário digite manualmente. Além disso, o usuário precisará digitar também as informações complementares, como número, bloco e etc.''&lt;br /&gt;
&lt;br /&gt;
As informações serão buscadas de um Web Service da SoftSite que buscará as informações de outros provedores desse serviço, cujo a SoftSite não pode garantir seu funcionamento, pois trata-se de um serviço de terceiro.''&lt;br /&gt;
&lt;br /&gt;
Para acessar o Web Service o sistema GeoSales deve mandar na requisição o nome da empresa/usuário/senha para se autenticar. Devido a isso o sistema deverá ter comunicação com a base de dados que contém essas informações. &lt;br /&gt;
&lt;br /&gt;
Para cada empresa existirá um limite mensal de requisições, definido por configuração. Entretanto, a cada requisição a resposta é salva na base durante um intervalo de tempo que garanta a validade da informação, definido por configuração. Caso o dado (CEP) consultado conste nessa base não será contado como requisição.&lt;br /&gt;
&lt;br /&gt;
==Criação de Estruturas de Banco==&lt;br /&gt;
&lt;br /&gt;
Deverá ser criado um novo banco de dados específico para o Web Service. Ele terá as seguintes estruturas para controlar as requisições e para salvar os endereços pesquisados a fim de otimizar as consultas mais frequentes.&lt;br /&gt;
&lt;br /&gt;
*ENDERECO&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! NOME DO CAMPO !! TIPO !! ANULÁVEL !! CHAVE !! AUTO INCREMENT  &lt;br /&gt;
|-&lt;br /&gt;
| CD_EMPRESA || INT || NOT NULL || TRUE || TRUE&lt;br /&gt;
|-&lt;br /&gt;
| CEP || VARCHAR(8) || NOT NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| ESTADO || VARCHAR(2) || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| CIDADE || VARCHAR(50) || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| DS_ENDERECO || VARCHAR(70) || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| BAIRRO || VARCHAR(40) || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| DT_VALIDADE || DATETIME || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*EMPRESA_UTILIZACAO&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! NOME DO CAMPO !! TIPO !! ANULÁVEL !! CHAVE !! AUTO INCREMENT  &lt;br /&gt;
|-&lt;br /&gt;
| CD_EMPRESA_UTILIZACAO  || INT || NOT NULL || TRUE || TRUE&lt;br /&gt;
|-&lt;br /&gt;
| NM_EMPRESA  || VARCHAR(55) || NOT NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| COMPETENCIA  || VARCHAR(7) || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| CONTADOR  || INT || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'' A solução deve ser implementada para permitir que a mudança da origem de busca das informações seja de simples alteração.''&lt;br /&gt;
&lt;br /&gt;
==Pré-Requisitos==&lt;br /&gt;
*''Para que essa customização funcione é preciso que a conexão de rede de dados esteja ativa no dispositivo do usuário e que o serviço utilizado para consultas as informações do endereço esteja funcionando.''&lt;br /&gt;
&lt;br /&gt;
==Regras de Negócios==&lt;br /&gt;
*Para a validação do CEP as seguintes regras devem ser analisadas&lt;br /&gt;
**O CEP deve ter 8 caracteres&lt;br /&gt;
**O CEP deve conter somente números&lt;br /&gt;
&lt;br /&gt;
==Regras de Exceções==&lt;br /&gt;
*O Web Service retornará o JSON {&amp;quot;erro&amp;quot;: &amp;quot;true&amp;quot;} quando um CEP analisado não foi encontrado na análise;&lt;br /&gt;
*Para o erro de limite de requisições será retornado o erro 403;&lt;br /&gt;
&lt;br /&gt;
==Protótipos==&lt;br /&gt;
''Inclua protótipos que facilite a visualização da funcionalidade. (Quando se aplicam)''&lt;br /&gt;
&lt;br /&gt;
==Cenários==&lt;br /&gt;
''Inclua os cenários deseja atingir, a começar pelo caminho feliz.''&lt;br /&gt;
&lt;br /&gt;
===Cenário Happy Day===&lt;br /&gt;
''Usuário edita o endereço de um cliente já cadastrado''&lt;br /&gt;
&lt;br /&gt;
====Dados====&lt;br /&gt;
#Cliente: João&lt;br /&gt;
#Usuário: Pedro&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
#Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes; &lt;br /&gt;
#Pedro preenche o campo CEP da aba &amp;quot;Clien. Cont.&amp;quot; com o CEP atual(60813670) e clica no botão de pesquisar endereço;&lt;br /&gt;
&lt;br /&gt;
====Assertiva====&lt;br /&gt;
#O sistema GeoSales valida se o CEP é válido&lt;br /&gt;
#O sistema GeoSales faz uma consulta no web service pelos dados do CEP informado;&lt;br /&gt;
#O web service retorna os dados do endereço do CEP escolhido;&lt;br /&gt;
#O sistema GeoSales interpreta as informações retornadas e atualiza os campos correspondentes&lt;br /&gt;
&lt;br /&gt;
===Cenário de Fluxo de Exceção===&lt;br /&gt;
''CEP inválido''&lt;br /&gt;
&lt;br /&gt;
====Dados====&lt;br /&gt;
#Cliente: João&lt;br /&gt;
#Usuário: Pedro&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
#Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes; &lt;br /&gt;
#Pedro preenche o campo CEP da aba &amp;quot;Clien. Cont.&amp;quot; com o CEP atual (00000) e clica no botão de pesquisar endereço;&lt;br /&gt;
&lt;br /&gt;
====Assertiva====&lt;br /&gt;
#O sistema GeoSales valida se o CEP é válido&lt;br /&gt;
#O sistema GeoSales manda a mensagem que o CEP digitado é inválido e não preenche os dados do endereço;&lt;br /&gt;
&lt;br /&gt;
===Cenário de Fluxo de Exceção===&lt;br /&gt;
''CEP não existente na base de dados''&lt;br /&gt;
&lt;br /&gt;
====Dados====&lt;br /&gt;
#Cliente: João&lt;br /&gt;
#Usuário: Pedro&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
#Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes;&lt;br /&gt;
#Pedro preenche o campo CEP da aba &amp;quot;Clien. Cont.&amp;quot; com o CEP atual (99999000) e clica no botão de pesquisar endereço;&lt;br /&gt;
&lt;br /&gt;
====Assertiva====&lt;br /&gt;
#O sistema GeoSales valida se o CEP é válido;&lt;br /&gt;
#O sistema GeoSales faz uma consulta pelo CEP informado;&lt;br /&gt;
#O serviço retorna que o CEP escolhido não consta na sua base de dados mandando o json de retorno da seguinte forma {&amp;quot;erro&amp;quot;: &amp;quot;true&amp;quot;};&lt;br /&gt;
#O sistema GeoSales manda a mensagem que o CEP digitado é não consta na base de dados pesquisada e não preenche os dados do endereço;&lt;br /&gt;
&lt;br /&gt;
===Cenário de Fluxo de Exceção===&lt;br /&gt;
''Serviço de consulta de informações não está funcionando''&lt;br /&gt;
&lt;br /&gt;
====Dados====&lt;br /&gt;
#Cliente: João&lt;br /&gt;
#Usuário: Pedro&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
#Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes; &lt;br /&gt;
#Pedro preenche o campo CEP da aba &amp;quot;Clien. Cont.&amp;quot; com o CEP atual (60813670) e clica no botão de pesquisar endereço;&lt;br /&gt;
&lt;br /&gt;
====Assertiva====&lt;br /&gt;
#O sistema GeoSales valida se o CEP é válido;&lt;br /&gt;
#O sistema GeoSales faz uma consulta no web service pelos dados do CEP informado;&lt;br /&gt;
#O web service não envia resposta dentro do tempo limite estipulado ou retorna erro 404 &lt;br /&gt;
#O sistema GeoSales manda a mensagem que o serviço está indisponível no momento;&lt;br /&gt;
&lt;br /&gt;
===Cenário de Fluxo de Exceção===&lt;br /&gt;
''Limite de requisições alcançado''&lt;br /&gt;
&lt;br /&gt;
====Dados====&lt;br /&gt;
#Cliente: João&lt;br /&gt;
#Usuário: Pedro&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
#Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes; &lt;br /&gt;
#Pedro preenche o campo CEP da aba &amp;quot;Clien. Cont.&amp;quot; com o CEP atual (60813670) e clica no botão de pesquisar endereço;&lt;br /&gt;
&lt;br /&gt;
====Assertiva====&lt;br /&gt;
#O sistema GeoSales valida se o CEP é válido;&lt;br /&gt;
#O sistema GeoSales faz uma consulta no web service pelos dados do CEP informado;&lt;br /&gt;
#O web service verifica o contador de requisições da empresa solicitante e verifica que o limite foi alcançado e retorna o código de erro 403.&lt;br /&gt;
#O sistema GeoSales manda a mensagem que o limite de requisições foi alcançado;&lt;br /&gt;
&lt;br /&gt;
==Aprovação==&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;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! E-Mail&lt;br /&gt;
! Data&lt;br /&gt;
! style=&amp;quot;width:300px&amp;quot; |Assinatura&lt;br /&gt;
|- &lt;br /&gt;
| '''''Tecnologia da Informação''''' &lt;br /&gt;
| ''Nome do Aprovador''&lt;br /&gt;
| ''Email do Aprovador''  &lt;br /&gt;
| ''Data da Aprovação''  &lt;br /&gt;
| ''Assinatura do Aprovador''&lt;br /&gt;
|- &lt;br /&gt;
| '''''Comercial''''' &lt;br /&gt;
| ''Nome do Aprovador''&lt;br /&gt;
| ''Email do Aprovador''  &lt;br /&gt;
| ''Data da Aprovação''  &lt;br /&gt;
| ''Assinatura do Aprovador''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Funcionalidade]]&lt;/div&gt;</summary>
		<author><name>Leonardo</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Informa%C3%A7%C3%B5es_de_endere%C3%A7o_por_CEP&amp;diff=2792</id>
		<title>Informações de endereço por CEP</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Informa%C3%A7%C3%B5es_de_endere%C3%A7o_por_CEP&amp;diff=2792"/>
		<updated>2017-02-07T13:11:27Z</updated>

		<summary type="html">&lt;p&gt;Leonardo: /* Criação de Estruturas de Banco */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{|&lt;br /&gt;
|- &lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;width:100%; text-align:right;&amp;quot; | [[Arquivo:Logo geosales.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Histórico de Revisões ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data !! Revisor !! Comentário &lt;br /&gt;
|-&lt;br /&gt;
|  01/02/2017  ||  Anderson Gomes ||  Criação do Documento&lt;br /&gt;
|-&lt;br /&gt;
|  06/02/2017  ||  Leonardo Sousa ||  Solicitação de correção&lt;br /&gt;
|-&lt;br /&gt;
|  dd/mm/aaaa  ||                 ||  Análise e Aprovação da Arquitetura&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Informações Gerais==&lt;br /&gt;
{| &lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;width:150px; text-align:left;&amp;quot; | '''Cliente:''' &lt;br /&gt;
| style=&amp;quot;width:300px; text-align:left;&amp;quot; | ''Rio Mix''&lt;br /&gt;
| style=&amp;quot;width:150px; text-align:left;&amp;quot; | '''Projeto:'''  &lt;br /&gt;
| style=&amp;quot;width:300px; text-align:left;&amp;quot; | ''Rio Mix''&lt;br /&gt;
|- &lt;br /&gt;
| | '''Gerente/Sponsor:'''&lt;br /&gt;
| | ''Dolavale''&lt;br /&gt;
| | '''Gerente SoftSite:'''&lt;br /&gt;
|  | ''Liliana Carrha''&lt;br /&gt;
|- &lt;br /&gt;
| | '''Analista SoftSite:'''&lt;br /&gt;
| | ''Anderson Gomes''&lt;br /&gt;
| | '''Arquiteto SoftSite:'''&lt;br /&gt;
| | ''Luan Lima''&lt;br /&gt;
|- &lt;br /&gt;
| | '''Aplicação(s):'''&lt;br /&gt;
| | ''Mobile-GS''&lt;br /&gt;
| | &lt;br /&gt;
| | &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Necessidade==&lt;br /&gt;
''Durante a alteração/cadastro de informações de cliente no GeoSales (Mobile e Portal) ser possível após a inserção de um determinado CEP que o sistema preencha os dados do endereço de forma automática caso existam informações para o CEP. e essas informações serem atualizadas no Protheus. Também é preciso que o sistema atualize as informações de endereço baseado no CEP.''&lt;br /&gt;
&lt;br /&gt;
==Exemplo==&lt;br /&gt;
''O vendedor cadastrará um novo cliente, ao digitar o CEP o GeoSales deverá trazer as informações do endereço. Além de incluir um novo cliente, também deverá ser possível alterar o cadastro de um cliente já existente.''&lt;br /&gt;
&lt;br /&gt;
==Solução==&lt;br /&gt;
''Ao digitar o CEP no GeoSales e clicar em um botão de pesquisa de endereço, na inclusão ou alteração de um cliente, o sistema deve buscar o endereço através do CEP digitado. Os seguintes campos devem ser preenchidos: endereço, bairro, cidade e estado. Esses campos devem permanecer editáveis, pois se o vendedor não possuir conexão ativa com a rede de dados, o sistema deve permitir que o usuário digite manualmente. Além disso, o usuário precisará digitar também as informações complementares, como número, bloco e etc.''&lt;br /&gt;
&lt;br /&gt;
As informações serão buscadas de um Web Service da SoftSite que buscará as informações de outros provedores desse serviço, cujo a SoftSite não pode garantir seu funcionamento, pois trata-se de um serviço de terceiro.''&lt;br /&gt;
&lt;br /&gt;
Para acessar o Web Service o sistema GeoSales deve mandar na requisição o nome da empresa/usuário/senha para se autenticar. Devido a isso o sistema deverá ter comunicação com a base de dados que contém essas informações. &lt;br /&gt;
&lt;br /&gt;
Para cada empresa existirá um limite mensal de requisições, definido por configuração. Entretanto, a cada requisição a resposta é salva na base durante um intervalo de tempo que garanta a validade da informação, definido por configuração. Caso o dado (CEP) consultado conste nessa base não será contado como requisição.&lt;br /&gt;
&lt;br /&gt;
==Criação de Estruturas de Banco==&lt;br /&gt;
&lt;br /&gt;
Deverá ser criado um novo banco de dados específico para o Web Service. Ele terá as seguintes estruturas para controlar as requisições e para salvar os endereços pesquisados a fim de otimizar as consultas mais frequentes.&lt;br /&gt;
&lt;br /&gt;
*ENDERECO&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! NOME DO CAMPO !! TIPO !! ANULÁVEL !! CHAVE !! AUTO INCREMENT  &lt;br /&gt;
|-&lt;br /&gt;
| CD_EMPRESA || INT || NOT NULL || TRUE || TRUE&lt;br /&gt;
|-&lt;br /&gt;
| CEP || VARCHAR(8) || NOT NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| ESTADO || VARCHAR(2) || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| CIDADE || VARCHAR(50) || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| DS_ENDERECO || VARCHAR(70) || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| BAIRRO || VARCHAR(40) || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| DT_VALIDADE || DATETIME || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*EMPRESA_UTILIZACAO&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! NOME DO CAMPO !! TIPO !! ANULÁVEL !! CHAVE !! AUTO INCREMENT  &lt;br /&gt;
|-&lt;br /&gt;
| CD_EMPRESA_UTILIZACAO  || INT || NOT NULL || TRUE || TRUE&lt;br /&gt;
|-&lt;br /&gt;
| NM_EMPRESA  || VARCHAR(55) || NOT NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| COMPETENCIA  || VARCHAR(7) || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| CONTADOR  || INT || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'' A solução deve ser implementada para permitir que a mudança da origem de busca das informações seja de simples alteração.''&lt;br /&gt;
&lt;br /&gt;
==Pré-Requisitos==&lt;br /&gt;
*''Para que essa customização funcione é preciso que a conexão de rede de dados esteja ativa no dispositivo do usuário e que o serviço utilizado para consultas as informações do endereço esteja funcionando.''&lt;br /&gt;
&lt;br /&gt;
==Regras de Negócios==&lt;br /&gt;
*Para a validação do CEP as seguintes regras devem ser analisadas&lt;br /&gt;
**O CEP deve ter 8 caracteres&lt;br /&gt;
**O CEP deve conter somente números&lt;br /&gt;
&lt;br /&gt;
==Regras de Exceções==&lt;br /&gt;
*O Web Service retornará o JSON {&amp;quot;erro&amp;quot;: &amp;quot;true&amp;quot;} quando um CEP analisado não foi encontrado na análise;&lt;br /&gt;
*Para o erro de limite de requisições será retornado o erro 403;&lt;br /&gt;
&lt;br /&gt;
==Protótipos==&lt;br /&gt;
''Inclua protótipos que facilite a visualização da funcionalidade. (Quando se aplicam)''&lt;br /&gt;
&lt;br /&gt;
==Cenários==&lt;br /&gt;
''Inclua os cenários deseja atingir, a começar pelo caminho feliz.''&lt;br /&gt;
&lt;br /&gt;
===Cenário Happy Day===&lt;br /&gt;
''Usuário edita o endereço de um cliente já cadastrado''&lt;br /&gt;
&lt;br /&gt;
====Dados====&lt;br /&gt;
#Cliente: João&lt;br /&gt;
#Usuário: Pedro&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
#Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes; &lt;br /&gt;
#Pedro preenche o campo CEP da aba &amp;quot;Clien. Cont.&amp;quot; com o CEP atual(60813670) e clica no botão de pesquisar endereço;&lt;br /&gt;
&lt;br /&gt;
====Assertiva====&lt;br /&gt;
#O sistema GeoSales valida se o CEP é válido&lt;br /&gt;
#O sistema GeoSales faz uma consulta no web service pelos dados do CEP informado;&lt;br /&gt;
#O web service retorna os dados do endereço do CEP escolhido;&lt;br /&gt;
#O sistema GeoSales interpreta as informações retornadas e atualiza os campos correspondentes&lt;br /&gt;
&lt;br /&gt;
===Cenário de Fluxo de Exceção===&lt;br /&gt;
''CEP inválido''&lt;br /&gt;
&lt;br /&gt;
====Dados====&lt;br /&gt;
#Cliente: João&lt;br /&gt;
#Usuário: Pedro&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
#Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes; &lt;br /&gt;
#Pedro preenche o campo CEP da aba &amp;quot;Clien. Cont.&amp;quot; com o CEP atual (00000) e clica no botão de pesquisar endereço;&lt;br /&gt;
&lt;br /&gt;
====Assertiva====&lt;br /&gt;
#O sistema GeoSales valida se o CEP é válido&lt;br /&gt;
#O sistema GeoSales manda a mensagem que o CEP digitado é inválido e não preenche os dados do endereço;&lt;br /&gt;
&lt;br /&gt;
===Cenário de Fluxo de Exceção===&lt;br /&gt;
''CEP não existente na base de dados''&lt;br /&gt;
&lt;br /&gt;
====Dados====&lt;br /&gt;
#Cliente: João&lt;br /&gt;
#Usuário: Pedro&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
#Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes;&lt;br /&gt;
#Pedro preenche o campo CEP da aba &amp;quot;Clien. Cont.&amp;quot; com o CEP atual (99999000) e clica no botão de pesquisar endereço;&lt;br /&gt;
&lt;br /&gt;
====Assertiva====&lt;br /&gt;
#O sistema GeoSales valida se o CEP é válido;&lt;br /&gt;
#O sistema GeoSales faz uma consulta pelo CEP informado;&lt;br /&gt;
#O serviço retorna que o CEP escolhido não consta na sua base de dados mandando o json de retorno da seguinte forma {&amp;quot;erro&amp;quot;: &amp;quot;true&amp;quot;};&lt;br /&gt;
#O sistema GeoSales manda a mensagem que o CEP digitado é não consta na base de dados pesquisada e não preenche os dados do endereço;&lt;br /&gt;
&lt;br /&gt;
===Cenário de Fluxo de Exceção===&lt;br /&gt;
''Serviço de consulta de informações não está funcionando''&lt;br /&gt;
&lt;br /&gt;
====Dados====&lt;br /&gt;
#Cliente: João&lt;br /&gt;
#Usuário: Pedro&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
#Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes; &lt;br /&gt;
#Pedro preenche o campo CEP da aba &amp;quot;Clien. Cont.&amp;quot; com o CEP atual (60813670) e clica no botão de pesquisar endereço;&lt;br /&gt;
&lt;br /&gt;
====Assertiva====&lt;br /&gt;
#O sistema GeoSales valida se o CEP é válido;&lt;br /&gt;
#O sistema GeoSales faz uma consulta no web service pelos dados do CEP informado;&lt;br /&gt;
#O web service não envia resposta dentro do tempo limite estipulado ou retorna erro 404 &lt;br /&gt;
#O sistema GeoSales manda a mensagem que o serviço está indisponível no momento;&lt;br /&gt;
&lt;br /&gt;
===Cenário de Fluxo de Exceção===&lt;br /&gt;
''Limite de requisições alcançado''&lt;br /&gt;
&lt;br /&gt;
====Dados====&lt;br /&gt;
#Cliente: João&lt;br /&gt;
#Usuário: Pedro&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
#Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes; &lt;br /&gt;
#Pedro preenche o campo CEP da aba &amp;quot;Clien. Cont.&amp;quot; com o CEP atual (60813670) e clica no botão de pesquisar endereço;&lt;br /&gt;
&lt;br /&gt;
====Assertiva====&lt;br /&gt;
#O sistema GeoSales valida se o CEP é válido;&lt;br /&gt;
#O sistema GeoSales faz uma consulta no web service pelos dados do CEP informado;&lt;br /&gt;
#O web service verifica o contador de requisições da empresa solicitante e verifica que o limite foi alcançado e retorna o código de erro 403.&lt;br /&gt;
#O sistema GeoSales manda a mensagem que o limite de requisições foi alcançado;&lt;br /&gt;
&lt;br /&gt;
==Aprovação==&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;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! E-Mail&lt;br /&gt;
! Data&lt;br /&gt;
! style=&amp;quot;width:300px&amp;quot; |Assinatura&lt;br /&gt;
|- &lt;br /&gt;
| '''''Tecnologia da Informação''''' &lt;br /&gt;
| ''Nome do Aprovador''&lt;br /&gt;
| ''Email do Aprovador''  &lt;br /&gt;
| ''Data da Aprovação''  &lt;br /&gt;
| ''Assinatura do Aprovador''&lt;br /&gt;
|- &lt;br /&gt;
| '''''Comercial''''' &lt;br /&gt;
| ''Nome do Aprovador''&lt;br /&gt;
| ''Email do Aprovador''  &lt;br /&gt;
| ''Data da Aprovação''  &lt;br /&gt;
| ''Assinatura do Aprovador''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Funcionalidade]]&lt;/div&gt;</summary>
		<author><name>Leonardo</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Informa%C3%A7%C3%B5es_de_endere%C3%A7o_por_CEP&amp;diff=2791</id>
		<title>Informações de endereço por CEP</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Informa%C3%A7%C3%B5es_de_endere%C3%A7o_por_CEP&amp;diff=2791"/>
		<updated>2017-02-07T13:10:20Z</updated>

		<summary type="html">&lt;p&gt;Leonardo: /* Criação de Estruturas de Banco */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{|&lt;br /&gt;
|- &lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;width:100%; text-align:right;&amp;quot; | [[Arquivo:Logo geosales.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Histórico de Revisões ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data !! Revisor !! Comentário &lt;br /&gt;
|-&lt;br /&gt;
|  01/02/2017  ||  Anderson Gomes ||  Criação do Documento&lt;br /&gt;
|-&lt;br /&gt;
|  06/02/2017  ||  Leonardo Sousa ||  Solicitação de correção&lt;br /&gt;
|-&lt;br /&gt;
|  dd/mm/aaaa  ||                 ||  Análise e Aprovação da Arquitetura&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Informações Gerais==&lt;br /&gt;
{| &lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;width:150px; text-align:left;&amp;quot; | '''Cliente:''' &lt;br /&gt;
| style=&amp;quot;width:300px; text-align:left;&amp;quot; | ''Rio Mix''&lt;br /&gt;
| style=&amp;quot;width:150px; text-align:left;&amp;quot; | '''Projeto:'''  &lt;br /&gt;
| style=&amp;quot;width:300px; text-align:left;&amp;quot; | ''Rio Mix''&lt;br /&gt;
|- &lt;br /&gt;
| | '''Gerente/Sponsor:'''&lt;br /&gt;
| | ''Dolavale''&lt;br /&gt;
| | '''Gerente SoftSite:'''&lt;br /&gt;
|  | ''Liliana Carrha''&lt;br /&gt;
|- &lt;br /&gt;
| | '''Analista SoftSite:'''&lt;br /&gt;
| | ''Anderson Gomes''&lt;br /&gt;
| | '''Arquiteto SoftSite:'''&lt;br /&gt;
| | ''Luan Lima''&lt;br /&gt;
|- &lt;br /&gt;
| | '''Aplicação(s):'''&lt;br /&gt;
| | ''Mobile-GS''&lt;br /&gt;
| | &lt;br /&gt;
| | &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Necessidade==&lt;br /&gt;
''Durante a alteração/cadastro de informações de cliente no GeoSales (Mobile e Portal) ser possível após a inserção de um determinado CEP que o sistema preencha os dados do endereço de forma automática caso existam informações para o CEP. e essas informações serem atualizadas no Protheus. Também é preciso que o sistema atualize as informações de endereço baseado no CEP.''&lt;br /&gt;
&lt;br /&gt;
==Exemplo==&lt;br /&gt;
''O vendedor cadastrará um novo cliente, ao digitar o CEP o GeoSales deverá trazer as informações do endereço. Além de incluir um novo cliente, também deverá ser possível alterar o cadastro de um cliente já existente.''&lt;br /&gt;
&lt;br /&gt;
==Solução==&lt;br /&gt;
''Ao digitar o CEP no GeoSales e clicar em um botão de pesquisa de endereço, na inclusão ou alteração de um cliente, o sistema deve buscar o endereço através do CEP digitado. Os seguintes campos devem ser preenchidos: endereço, bairro, cidade e estado. Esses campos devem permanecer editáveis, pois se o vendedor não possuir conexão ativa com a rede de dados, o sistema deve permitir que o usuário digite manualmente. Além disso, o usuário precisará digitar também as informações complementares, como número, bloco e etc.''&lt;br /&gt;
&lt;br /&gt;
As informações serão buscadas de um Web Service da SoftSite que buscará as informações de outros provedores desse serviço, cujo a SoftSite não pode garantir seu funcionamento, pois trata-se de um serviço de terceiro.''&lt;br /&gt;
&lt;br /&gt;
Para acessar o Web Service o sistema GeoSales deve mandar na requisição o nome da empresa/usuário/senha para se autenticar. Devido a isso o sistema deverá ter comunicação com a base de dados que contém essas informações. &lt;br /&gt;
&lt;br /&gt;
Para cada empresa existirá um limite mensal de requisições, definido por configuração. Entretanto, a cada requisição a resposta é salva na base durante um intervalo de tempo que garanta a validade da informação, definido por configuração. Caso o dado (CEP) consultado conste nessa base não será contado como requisição.&lt;br /&gt;
&lt;br /&gt;
==Criação de Estruturas de Banco==&lt;br /&gt;
&lt;br /&gt;
Deverá ser criado um novo banco de dados específico para o Web Service. Ele terá as seguintes estruturas para controlar as requisições e para salvar os endereços pesquisados a fim de otimizar as consultas mais frequentes.&lt;br /&gt;
&lt;br /&gt;
*ENDERECO&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! NOME DO CAMPO !! TIPO !! ANULÁVEL !! CHAVE !! AUTO INCREMENT  &lt;br /&gt;
|-&lt;br /&gt;
| id|| INT || NOT NULL || TRUE || TRUE&lt;br /&gt;
|-&lt;br /&gt;
| CEP || VARCHAR(8) || NOT NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| ESTADO || VARCHAR(2) || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| CIDADE || VARCHAR(50) || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| DS_ENDERECO || VARCHAR(70) || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| BAIRRO || VARCHAR(40) || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| DT_VALIDADE || DATETIME || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*EMPRESA_UTILIZACAO&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! NOME DO CAMPO !! TIPO !! ANULÁVEL !! CHAVE !! AUTO INCREMENT  &lt;br /&gt;
|-&lt;br /&gt;
| CD_EMPRESA_UTILIZACAO  || INT || NOT NULL || TRUE || TRUE&lt;br /&gt;
|-&lt;br /&gt;
| NM_EMPRESA  || VARCHAR(55) || NOT NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| COMPETENCIA  || VARCHAR(7) || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| CONTADOR  || INT || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'' A solução deve ser implementada para permitir que a mudança da origem de busca das informações seja de simples alteração.''&lt;br /&gt;
&lt;br /&gt;
==Pré-Requisitos==&lt;br /&gt;
*''Para que essa customização funcione é preciso que a conexão de rede de dados esteja ativa no dispositivo do usuário e que o serviço utilizado para consultas as informações do endereço esteja funcionando.''&lt;br /&gt;
&lt;br /&gt;
==Regras de Negócios==&lt;br /&gt;
*Para a validação do CEP as seguintes regras devem ser analisadas&lt;br /&gt;
**O CEP deve ter 8 caracteres&lt;br /&gt;
**O CEP deve conter somente números&lt;br /&gt;
&lt;br /&gt;
==Regras de Exceções==&lt;br /&gt;
*O Web Service retornará o JSON {&amp;quot;erro&amp;quot;: &amp;quot;true&amp;quot;} quando um CEP analisado não foi encontrado na análise;&lt;br /&gt;
*Para o erro de limite de requisições será retornado o erro 403;&lt;br /&gt;
&lt;br /&gt;
==Protótipos==&lt;br /&gt;
''Inclua protótipos que facilite a visualização da funcionalidade. (Quando se aplicam)''&lt;br /&gt;
&lt;br /&gt;
==Cenários==&lt;br /&gt;
''Inclua os cenários deseja atingir, a começar pelo caminho feliz.''&lt;br /&gt;
&lt;br /&gt;
===Cenário Happy Day===&lt;br /&gt;
''Usuário edita o endereço de um cliente já cadastrado''&lt;br /&gt;
&lt;br /&gt;
====Dados====&lt;br /&gt;
#Cliente: João&lt;br /&gt;
#Usuário: Pedro&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
#Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes; &lt;br /&gt;
#Pedro preenche o campo CEP da aba &amp;quot;Clien. Cont.&amp;quot; com o CEP atual(60813670) e clica no botão de pesquisar endereço;&lt;br /&gt;
&lt;br /&gt;
====Assertiva====&lt;br /&gt;
#O sistema GeoSales valida se o CEP é válido&lt;br /&gt;
#O sistema GeoSales faz uma consulta no web service pelos dados do CEP informado;&lt;br /&gt;
#O web service retorna os dados do endereço do CEP escolhido;&lt;br /&gt;
#O sistema GeoSales interpreta as informações retornadas e atualiza os campos correspondentes&lt;br /&gt;
&lt;br /&gt;
===Cenário de Fluxo de Exceção===&lt;br /&gt;
''CEP inválido''&lt;br /&gt;
&lt;br /&gt;
====Dados====&lt;br /&gt;
#Cliente: João&lt;br /&gt;
#Usuário: Pedro&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
#Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes; &lt;br /&gt;
#Pedro preenche o campo CEP da aba &amp;quot;Clien. Cont.&amp;quot; com o CEP atual (00000) e clica no botão de pesquisar endereço;&lt;br /&gt;
&lt;br /&gt;
====Assertiva====&lt;br /&gt;
#O sistema GeoSales valida se o CEP é válido&lt;br /&gt;
#O sistema GeoSales manda a mensagem que o CEP digitado é inválido e não preenche os dados do endereço;&lt;br /&gt;
&lt;br /&gt;
===Cenário de Fluxo de Exceção===&lt;br /&gt;
''CEP não existente na base de dados''&lt;br /&gt;
&lt;br /&gt;
====Dados====&lt;br /&gt;
#Cliente: João&lt;br /&gt;
#Usuário: Pedro&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
#Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes;&lt;br /&gt;
#Pedro preenche o campo CEP da aba &amp;quot;Clien. Cont.&amp;quot; com o CEP atual (99999000) e clica no botão de pesquisar endereço;&lt;br /&gt;
&lt;br /&gt;
====Assertiva====&lt;br /&gt;
#O sistema GeoSales valida se o CEP é válido;&lt;br /&gt;
#O sistema GeoSales faz uma consulta pelo CEP informado;&lt;br /&gt;
#O serviço retorna que o CEP escolhido não consta na sua base de dados mandando o json de retorno da seguinte forma {&amp;quot;erro&amp;quot;: &amp;quot;true&amp;quot;};&lt;br /&gt;
#O sistema GeoSales manda a mensagem que o CEP digitado é não consta na base de dados pesquisada e não preenche os dados do endereço;&lt;br /&gt;
&lt;br /&gt;
===Cenário de Fluxo de Exceção===&lt;br /&gt;
''Serviço de consulta de informações não está funcionando''&lt;br /&gt;
&lt;br /&gt;
====Dados====&lt;br /&gt;
#Cliente: João&lt;br /&gt;
#Usuário: Pedro&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
#Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes; &lt;br /&gt;
#Pedro preenche o campo CEP da aba &amp;quot;Clien. Cont.&amp;quot; com o CEP atual (60813670) e clica no botão de pesquisar endereço;&lt;br /&gt;
&lt;br /&gt;
====Assertiva====&lt;br /&gt;
#O sistema GeoSales valida se o CEP é válido;&lt;br /&gt;
#O sistema GeoSales faz uma consulta no web service pelos dados do CEP informado;&lt;br /&gt;
#O web service não envia resposta dentro do tempo limite estipulado ou retorna erro 404 &lt;br /&gt;
#O sistema GeoSales manda a mensagem que o serviço está indisponível no momento;&lt;br /&gt;
&lt;br /&gt;
===Cenário de Fluxo de Exceção===&lt;br /&gt;
''Limite de requisições alcançado''&lt;br /&gt;
&lt;br /&gt;
====Dados====&lt;br /&gt;
#Cliente: João&lt;br /&gt;
#Usuário: Pedro&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
#Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes; &lt;br /&gt;
#Pedro preenche o campo CEP da aba &amp;quot;Clien. Cont.&amp;quot; com o CEP atual (60813670) e clica no botão de pesquisar endereço;&lt;br /&gt;
&lt;br /&gt;
====Assertiva====&lt;br /&gt;
#O sistema GeoSales valida se o CEP é válido;&lt;br /&gt;
#O sistema GeoSales faz uma consulta no web service pelos dados do CEP informado;&lt;br /&gt;
#O web service verifica o contador de requisições da empresa solicitante e verifica que o limite foi alcançado e retorna o código de erro 403.&lt;br /&gt;
#O sistema GeoSales manda a mensagem que o limite de requisições foi alcançado;&lt;br /&gt;
&lt;br /&gt;
==Aprovação==&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;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! E-Mail&lt;br /&gt;
! Data&lt;br /&gt;
! style=&amp;quot;width:300px&amp;quot; |Assinatura&lt;br /&gt;
|- &lt;br /&gt;
| '''''Tecnologia da Informação''''' &lt;br /&gt;
| ''Nome do Aprovador''&lt;br /&gt;
| ''Email do Aprovador''  &lt;br /&gt;
| ''Data da Aprovação''  &lt;br /&gt;
| ''Assinatura do Aprovador''&lt;br /&gt;
|- &lt;br /&gt;
| '''''Comercial''''' &lt;br /&gt;
| ''Nome do Aprovador''&lt;br /&gt;
| ''Email do Aprovador''  &lt;br /&gt;
| ''Data da Aprovação''  &lt;br /&gt;
| ''Assinatura do Aprovador''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Funcionalidade]]&lt;/div&gt;</summary>
		<author><name>Leonardo</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Informa%C3%A7%C3%B5es_de_endere%C3%A7o_por_CEP&amp;diff=2790</id>
		<title>Informações de endereço por CEP</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Informa%C3%A7%C3%B5es_de_endere%C3%A7o_por_CEP&amp;diff=2790"/>
		<updated>2017-02-07T13:09:20Z</updated>

		<summary type="html">&lt;p&gt;Leonardo: /* Informações Gerais */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{|&lt;br /&gt;
|- &lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;width:100%; text-align:right;&amp;quot; | [[Arquivo:Logo geosales.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Histórico de Revisões ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data !! Revisor !! Comentário &lt;br /&gt;
|-&lt;br /&gt;
|  01/02/2017  ||  Anderson Gomes ||  Criação do Documento&lt;br /&gt;
|-&lt;br /&gt;
|  06/02/2017  ||  Leonardo Sousa ||  Solicitação de correção&lt;br /&gt;
|-&lt;br /&gt;
|  dd/mm/aaaa  ||                 ||  Análise e Aprovação da Arquitetura&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Informações Gerais==&lt;br /&gt;
{| &lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;width:150px; text-align:left;&amp;quot; | '''Cliente:''' &lt;br /&gt;
| style=&amp;quot;width:300px; text-align:left;&amp;quot; | ''Rio Mix''&lt;br /&gt;
| style=&amp;quot;width:150px; text-align:left;&amp;quot; | '''Projeto:'''  &lt;br /&gt;
| style=&amp;quot;width:300px; text-align:left;&amp;quot; | ''Rio Mix''&lt;br /&gt;
|- &lt;br /&gt;
| | '''Gerente/Sponsor:'''&lt;br /&gt;
| | ''Dolavale''&lt;br /&gt;
| | '''Gerente SoftSite:'''&lt;br /&gt;
|  | ''Liliana Carrha''&lt;br /&gt;
|- &lt;br /&gt;
| | '''Analista SoftSite:'''&lt;br /&gt;
| | ''Anderson Gomes''&lt;br /&gt;
| | '''Arquiteto SoftSite:'''&lt;br /&gt;
| | ''Luan Lima''&lt;br /&gt;
|- &lt;br /&gt;
| | '''Aplicação(s):'''&lt;br /&gt;
| | ''Mobile-GS''&lt;br /&gt;
| | &lt;br /&gt;
| | &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Necessidade==&lt;br /&gt;
''Durante a alteração/cadastro de informações de cliente no GeoSales (Mobile e Portal) ser possível após a inserção de um determinado CEP que o sistema preencha os dados do endereço de forma automática caso existam informações para o CEP. e essas informações serem atualizadas no Protheus. Também é preciso que o sistema atualize as informações de endereço baseado no CEP.''&lt;br /&gt;
&lt;br /&gt;
==Exemplo==&lt;br /&gt;
''O vendedor cadastrará um novo cliente, ao digitar o CEP o GeoSales deverá trazer as informações do endereço. Além de incluir um novo cliente, também deverá ser possível alterar o cadastro de um cliente já existente.''&lt;br /&gt;
&lt;br /&gt;
==Solução==&lt;br /&gt;
''Ao digitar o CEP no GeoSales e clicar em um botão de pesquisa de endereço, na inclusão ou alteração de um cliente, o sistema deve buscar o endereço através do CEP digitado. Os seguintes campos devem ser preenchidos: endereço, bairro, cidade e estado. Esses campos devem permanecer editáveis, pois se o vendedor não possuir conexão ativa com a rede de dados, o sistema deve permitir que o usuário digite manualmente. Além disso, o usuário precisará digitar também as informações complementares, como número, bloco e etc.''&lt;br /&gt;
&lt;br /&gt;
As informações serão buscadas de um Web Service da SoftSite que buscará as informações de outros provedores desse serviço, cujo a SoftSite não pode garantir seu funcionamento, pois trata-se de um serviço de terceiro.''&lt;br /&gt;
&lt;br /&gt;
Para acessar o Web Service o sistema GeoSales deve mandar na requisição o nome da empresa/usuário/senha para se autenticar. Devido a isso o sistema deverá ter comunicação com a base de dados que contém essas informações. &lt;br /&gt;
&lt;br /&gt;
Para cada empresa existirá um limite mensal de requisições, definido por configuração. Entretanto, a cada requisição a resposta é salva na base durante um intervalo de tempo que garanta a validade da informação, definido por configuração. Caso o dado (CEP) consultado conste nessa base não será contado como requisição.&lt;br /&gt;
&lt;br /&gt;
==Criação de Estruturas de Banco==&lt;br /&gt;
&lt;br /&gt;
Deverá ser criado um novo banco de dados específico para o Web Service. Ele terá as seguintes estruturas para controlar as requisições e para salvar os endereços pesquisados a fim de otimizar as consultas mais frequentes.&lt;br /&gt;
&lt;br /&gt;
*ENDERECO&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! NOME DO CAMPO !! TIPO !! ANULÁVEL !! CHAVE !! AUTO INCREMENT  &lt;br /&gt;
|-&lt;br /&gt;
| CD_ENDERECO  || INT || NOT NULL || TRUE || TRUE&lt;br /&gt;
|-&lt;br /&gt;
| CEP || VARCHAR(8) || NOT NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| ESTADO || VARCHAR(2) || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| CIDADE || VARCHAR(50) || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| DS_ENDERECO || VARCHAR(70) || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| BAIRRO || VARCHAR(40) || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| DT_VALIDADE || DATETIME || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*EMPRESA_UTILIZACAO&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! NOME DO CAMPO !! TIPO !! ANULÁVEL !! CHAVE !! AUTO INCREMENT  &lt;br /&gt;
|-&lt;br /&gt;
| CD_EMPRESA_UTILIZACAO  || INT || NOT NULL || TRUE || TRUE&lt;br /&gt;
|-&lt;br /&gt;
| NM_EMPRESA  || VARCHAR(55) || NOT NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| COMPETENCIA  || VARCHAR(7) || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| CONTADOR  || INT || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'' A solução deve ser implementada para permitir que a mudança da origem de busca das informações seja de simples alteração.''&lt;br /&gt;
&lt;br /&gt;
==Pré-Requisitos==&lt;br /&gt;
*''Para que essa customização funcione é preciso que a conexão de rede de dados esteja ativa no dispositivo do usuário e que o serviço utilizado para consultas as informações do endereço esteja funcionando.''&lt;br /&gt;
&lt;br /&gt;
==Regras de Negócios==&lt;br /&gt;
*Para a validação do CEP as seguintes regras devem ser analisadas&lt;br /&gt;
**O CEP deve ter 8 caracteres&lt;br /&gt;
**O CEP deve conter somente números&lt;br /&gt;
&lt;br /&gt;
==Regras de Exceções==&lt;br /&gt;
*O Web Service retornará o JSON {&amp;quot;erro&amp;quot;: &amp;quot;true&amp;quot;} quando um CEP analisado não foi encontrado na análise;&lt;br /&gt;
*Para o erro de limite de requisições será retornado o erro 403;&lt;br /&gt;
&lt;br /&gt;
==Protótipos==&lt;br /&gt;
''Inclua protótipos que facilite a visualização da funcionalidade. (Quando se aplicam)''&lt;br /&gt;
&lt;br /&gt;
==Cenários==&lt;br /&gt;
''Inclua os cenários deseja atingir, a começar pelo caminho feliz.''&lt;br /&gt;
&lt;br /&gt;
===Cenário Happy Day===&lt;br /&gt;
''Usuário edita o endereço de um cliente já cadastrado''&lt;br /&gt;
&lt;br /&gt;
====Dados====&lt;br /&gt;
#Cliente: João&lt;br /&gt;
#Usuário: Pedro&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
#Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes; &lt;br /&gt;
#Pedro preenche o campo CEP da aba &amp;quot;Clien. Cont.&amp;quot; com o CEP atual(60813670) e clica no botão de pesquisar endereço;&lt;br /&gt;
&lt;br /&gt;
====Assertiva====&lt;br /&gt;
#O sistema GeoSales valida se o CEP é válido&lt;br /&gt;
#O sistema GeoSales faz uma consulta no web service pelos dados do CEP informado;&lt;br /&gt;
#O web service retorna os dados do endereço do CEP escolhido;&lt;br /&gt;
#O sistema GeoSales interpreta as informações retornadas e atualiza os campos correspondentes&lt;br /&gt;
&lt;br /&gt;
===Cenário de Fluxo de Exceção===&lt;br /&gt;
''CEP inválido''&lt;br /&gt;
&lt;br /&gt;
====Dados====&lt;br /&gt;
#Cliente: João&lt;br /&gt;
#Usuário: Pedro&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
#Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes; &lt;br /&gt;
#Pedro preenche o campo CEP da aba &amp;quot;Clien. Cont.&amp;quot; com o CEP atual (00000) e clica no botão de pesquisar endereço;&lt;br /&gt;
&lt;br /&gt;
====Assertiva====&lt;br /&gt;
#O sistema GeoSales valida se o CEP é válido&lt;br /&gt;
#O sistema GeoSales manda a mensagem que o CEP digitado é inválido e não preenche os dados do endereço;&lt;br /&gt;
&lt;br /&gt;
===Cenário de Fluxo de Exceção===&lt;br /&gt;
''CEP não existente na base de dados''&lt;br /&gt;
&lt;br /&gt;
====Dados====&lt;br /&gt;
#Cliente: João&lt;br /&gt;
#Usuário: Pedro&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
#Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes;&lt;br /&gt;
#Pedro preenche o campo CEP da aba &amp;quot;Clien. Cont.&amp;quot; com o CEP atual (99999000) e clica no botão de pesquisar endereço;&lt;br /&gt;
&lt;br /&gt;
====Assertiva====&lt;br /&gt;
#O sistema GeoSales valida se o CEP é válido;&lt;br /&gt;
#O sistema GeoSales faz uma consulta pelo CEP informado;&lt;br /&gt;
#O serviço retorna que o CEP escolhido não consta na sua base de dados mandando o json de retorno da seguinte forma {&amp;quot;erro&amp;quot;: &amp;quot;true&amp;quot;};&lt;br /&gt;
#O sistema GeoSales manda a mensagem que o CEP digitado é não consta na base de dados pesquisada e não preenche os dados do endereço;&lt;br /&gt;
&lt;br /&gt;
===Cenário de Fluxo de Exceção===&lt;br /&gt;
''Serviço de consulta de informações não está funcionando''&lt;br /&gt;
&lt;br /&gt;
====Dados====&lt;br /&gt;
#Cliente: João&lt;br /&gt;
#Usuário: Pedro&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
#Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes; &lt;br /&gt;
#Pedro preenche o campo CEP da aba &amp;quot;Clien. Cont.&amp;quot; com o CEP atual (60813670) e clica no botão de pesquisar endereço;&lt;br /&gt;
&lt;br /&gt;
====Assertiva====&lt;br /&gt;
#O sistema GeoSales valida se o CEP é válido;&lt;br /&gt;
#O sistema GeoSales faz uma consulta no web service pelos dados do CEP informado;&lt;br /&gt;
#O web service não envia resposta dentro do tempo limite estipulado ou retorna erro 404 &lt;br /&gt;
#O sistema GeoSales manda a mensagem que o serviço está indisponível no momento;&lt;br /&gt;
&lt;br /&gt;
===Cenário de Fluxo de Exceção===&lt;br /&gt;
''Limite de requisições alcançado''&lt;br /&gt;
&lt;br /&gt;
====Dados====&lt;br /&gt;
#Cliente: João&lt;br /&gt;
#Usuário: Pedro&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
#Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes; &lt;br /&gt;
#Pedro preenche o campo CEP da aba &amp;quot;Clien. Cont.&amp;quot; com o CEP atual (60813670) e clica no botão de pesquisar endereço;&lt;br /&gt;
&lt;br /&gt;
====Assertiva====&lt;br /&gt;
#O sistema GeoSales valida se o CEP é válido;&lt;br /&gt;
#O sistema GeoSales faz uma consulta no web service pelos dados do CEP informado;&lt;br /&gt;
#O web service verifica o contador de requisições da empresa solicitante e verifica que o limite foi alcançado e retorna o código de erro 403.&lt;br /&gt;
#O sistema GeoSales manda a mensagem que o limite de requisições foi alcançado;&lt;br /&gt;
&lt;br /&gt;
==Aprovação==&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;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! E-Mail&lt;br /&gt;
! Data&lt;br /&gt;
! style=&amp;quot;width:300px&amp;quot; |Assinatura&lt;br /&gt;
|- &lt;br /&gt;
| '''''Tecnologia da Informação''''' &lt;br /&gt;
| ''Nome do Aprovador''&lt;br /&gt;
| ''Email do Aprovador''  &lt;br /&gt;
| ''Data da Aprovação''  &lt;br /&gt;
| ''Assinatura do Aprovador''&lt;br /&gt;
|- &lt;br /&gt;
| '''''Comercial''''' &lt;br /&gt;
| ''Nome do Aprovador''&lt;br /&gt;
| ''Email do Aprovador''  &lt;br /&gt;
| ''Data da Aprovação''  &lt;br /&gt;
| ''Assinatura do Aprovador''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Funcionalidade]]&lt;/div&gt;</summary>
		<author><name>Leonardo</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Informa%C3%A7%C3%B5es_de_endere%C3%A7o_por_CEP&amp;diff=2789</id>
		<title>Informações de endereço por CEP</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Informa%C3%A7%C3%B5es_de_endere%C3%A7o_por_CEP&amp;diff=2789"/>
		<updated>2017-02-07T13:07:30Z</updated>

		<summary type="html">&lt;p&gt;Leonardo: /* Assertiva */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{|&lt;br /&gt;
|- &lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;width:100%; text-align:right;&amp;quot; | [[Arquivo:Logo geosales.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Histórico de Revisões ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data !! Revisor !! Comentário &lt;br /&gt;
|-&lt;br /&gt;
|  01/02/2017  ||  Anderson Gomes ||  Criação do Documento&lt;br /&gt;
|-&lt;br /&gt;
|  06/02/2017  ||  Leonardo Sousa ||  Solicitação de correção&lt;br /&gt;
|-&lt;br /&gt;
|  dd/mm/aaaa  ||                 ||  Análise e Aprovação da Arquitetura&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Informações Gerais==&lt;br /&gt;
{| &lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;width:150px; text-align:left;&amp;quot; | '''Cliente:''' &lt;br /&gt;
| style=&amp;quot;width:300px; text-align:left;&amp;quot; | ''Rio Mix''&lt;br /&gt;
| style=&amp;quot;width:150px; text-align:left;&amp;quot; | '''Projeto:'''  &lt;br /&gt;
| style=&amp;quot;width:300px; text-align:left;&amp;quot; | ''Rio Mix''&lt;br /&gt;
|- &lt;br /&gt;
| | '''Gerente/Sponsor:'''&lt;br /&gt;
| | ''Dolavale''&lt;br /&gt;
| | '''Gerente SoftSite:'''&lt;br /&gt;
|  | ''Liliana Carrha''&lt;br /&gt;
|- &lt;br /&gt;
| | '''Analista SoftSite:'''&lt;br /&gt;
| | ''Anderson Gomes''&lt;br /&gt;
| | '''Arquiteto SoftSite:'''&lt;br /&gt;
| | ''Jefferson Quesado''&lt;br /&gt;
|- &lt;br /&gt;
| | '''Aplicação(s):'''&lt;br /&gt;
| | ''Mobile-GS''&lt;br /&gt;
| | &lt;br /&gt;
| | &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Necessidade==&lt;br /&gt;
''Durante a alteração/cadastro de informações de cliente no GeoSales (Mobile e Portal) ser possível após a inserção de um determinado CEP que o sistema preencha os dados do endereço de forma automática caso existam informações para o CEP. e essas informações serem atualizadas no Protheus. Também é preciso que o sistema atualize as informações de endereço baseado no CEP.''&lt;br /&gt;
&lt;br /&gt;
==Exemplo==&lt;br /&gt;
''O vendedor cadastrará um novo cliente, ao digitar o CEP o GeoSales deverá trazer as informações do endereço. Além de incluir um novo cliente, também deverá ser possível alterar o cadastro de um cliente já existente.''&lt;br /&gt;
&lt;br /&gt;
==Solução==&lt;br /&gt;
''Ao digitar o CEP no GeoSales e clicar em um botão de pesquisa de endereço, na inclusão ou alteração de um cliente, o sistema deve buscar o endereço através do CEP digitado. Os seguintes campos devem ser preenchidos: endereço, bairro, cidade e estado. Esses campos devem permanecer editáveis, pois se o vendedor não possuir conexão ativa com a rede de dados, o sistema deve permitir que o usuário digite manualmente. Além disso, o usuário precisará digitar também as informações complementares, como número, bloco e etc.''&lt;br /&gt;
&lt;br /&gt;
As informações serão buscadas de um Web Service da SoftSite que buscará as informações de outros provedores desse serviço, cujo a SoftSite não pode garantir seu funcionamento, pois trata-se de um serviço de terceiro.''&lt;br /&gt;
&lt;br /&gt;
Para acessar o Web Service o sistema GeoSales deve mandar na requisição o nome da empresa/usuário/senha para se autenticar. Devido a isso o sistema deverá ter comunicação com a base de dados que contém essas informações. &lt;br /&gt;
&lt;br /&gt;
Para cada empresa existirá um limite mensal de requisições, definido por configuração. Entretanto, a cada requisição a resposta é salva na base durante um intervalo de tempo que garanta a validade da informação, definido por configuração. Caso o dado (CEP) consultado conste nessa base não será contado como requisição.&lt;br /&gt;
&lt;br /&gt;
==Criação de Estruturas de Banco==&lt;br /&gt;
&lt;br /&gt;
Deverá ser criado um novo banco de dados específico para o Web Service. Ele terá as seguintes estruturas para controlar as requisições e para salvar os endereços pesquisados a fim de otimizar as consultas mais frequentes.&lt;br /&gt;
&lt;br /&gt;
*ENDERECO&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! NOME DO CAMPO !! TIPO !! ANULÁVEL !! CHAVE !! AUTO INCREMENT  &lt;br /&gt;
|-&lt;br /&gt;
| CD_ENDERECO  || INT || NOT NULL || TRUE || TRUE&lt;br /&gt;
|-&lt;br /&gt;
| CEP || VARCHAR(8) || NOT NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| ESTADO || VARCHAR(2) || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| CIDADE || VARCHAR(50) || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| DS_ENDERECO || VARCHAR(70) || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| BAIRRO || VARCHAR(40) || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| DT_VALIDADE || DATETIME || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*EMPRESA_UTILIZACAO&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! NOME DO CAMPO !! TIPO !! ANULÁVEL !! CHAVE !! AUTO INCREMENT  &lt;br /&gt;
|-&lt;br /&gt;
| CD_EMPRESA_UTILIZACAO  || INT || NOT NULL || TRUE || TRUE&lt;br /&gt;
|-&lt;br /&gt;
| NM_EMPRESA  || VARCHAR(55) || NOT NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| COMPETENCIA  || VARCHAR(7) || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| CONTADOR  || INT || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'' A solução deve ser implementada para permitir que a mudança da origem de busca das informações seja de simples alteração.''&lt;br /&gt;
&lt;br /&gt;
==Pré-Requisitos==&lt;br /&gt;
*''Para que essa customização funcione é preciso que a conexão de rede de dados esteja ativa no dispositivo do usuário e que o serviço utilizado para consultas as informações do endereço esteja funcionando.''&lt;br /&gt;
&lt;br /&gt;
==Regras de Negócios==&lt;br /&gt;
*Para a validação do CEP as seguintes regras devem ser analisadas&lt;br /&gt;
**O CEP deve ter 8 caracteres&lt;br /&gt;
**O CEP deve conter somente números&lt;br /&gt;
&lt;br /&gt;
==Regras de Exceções==&lt;br /&gt;
*O Web Service retornará o JSON {&amp;quot;erro&amp;quot;: &amp;quot;true&amp;quot;} quando um CEP analisado não foi encontrado na análise;&lt;br /&gt;
*Para o erro de limite de requisições será retornado o erro 403;&lt;br /&gt;
&lt;br /&gt;
==Protótipos==&lt;br /&gt;
''Inclua protótipos que facilite a visualização da funcionalidade. (Quando se aplicam)''&lt;br /&gt;
&lt;br /&gt;
==Cenários==&lt;br /&gt;
''Inclua os cenários deseja atingir, a começar pelo caminho feliz.''&lt;br /&gt;
&lt;br /&gt;
===Cenário Happy Day===&lt;br /&gt;
''Usuário edita o endereço de um cliente já cadastrado''&lt;br /&gt;
&lt;br /&gt;
====Dados====&lt;br /&gt;
#Cliente: João&lt;br /&gt;
#Usuário: Pedro&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
#Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes; &lt;br /&gt;
#Pedro preenche o campo CEP da aba &amp;quot;Clien. Cont.&amp;quot; com o CEP atual(60813670) e clica no botão de pesquisar endereço;&lt;br /&gt;
&lt;br /&gt;
====Assertiva====&lt;br /&gt;
#O sistema GeoSales valida se o CEP é válido&lt;br /&gt;
#O sistema GeoSales faz uma consulta no web service pelos dados do CEP informado;&lt;br /&gt;
#O web service retorna os dados do endereço do CEP escolhido;&lt;br /&gt;
#O sistema GeoSales interpreta as informações retornadas e atualiza os campos correspondentes&lt;br /&gt;
&lt;br /&gt;
===Cenário de Fluxo de Exceção===&lt;br /&gt;
''CEP inválido''&lt;br /&gt;
&lt;br /&gt;
====Dados====&lt;br /&gt;
#Cliente: João&lt;br /&gt;
#Usuário: Pedro&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
#Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes; &lt;br /&gt;
#Pedro preenche o campo CEP da aba &amp;quot;Clien. Cont.&amp;quot; com o CEP atual (00000) e clica no botão de pesquisar endereço;&lt;br /&gt;
&lt;br /&gt;
====Assertiva====&lt;br /&gt;
#O sistema GeoSales valida se o CEP é válido&lt;br /&gt;
#O sistema GeoSales manda a mensagem que o CEP digitado é inválido e não preenche os dados do endereço;&lt;br /&gt;
&lt;br /&gt;
===Cenário de Fluxo de Exceção===&lt;br /&gt;
''CEP não existente na base de dados''&lt;br /&gt;
&lt;br /&gt;
====Dados====&lt;br /&gt;
#Cliente: João&lt;br /&gt;
#Usuário: Pedro&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
#Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes;&lt;br /&gt;
#Pedro preenche o campo CEP da aba &amp;quot;Clien. Cont.&amp;quot; com o CEP atual (99999000) e clica no botão de pesquisar endereço;&lt;br /&gt;
&lt;br /&gt;
====Assertiva====&lt;br /&gt;
#O sistema GeoSales valida se o CEP é válido;&lt;br /&gt;
#O sistema GeoSales faz uma consulta pelo CEP informado;&lt;br /&gt;
#O serviço retorna que o CEP escolhido não consta na sua base de dados mandando o json de retorno da seguinte forma {&amp;quot;erro&amp;quot;: &amp;quot;true&amp;quot;};&lt;br /&gt;
#O sistema GeoSales manda a mensagem que o CEP digitado é não consta na base de dados pesquisada e não preenche os dados do endereço;&lt;br /&gt;
&lt;br /&gt;
===Cenário de Fluxo de Exceção===&lt;br /&gt;
''Serviço de consulta de informações não está funcionando''&lt;br /&gt;
&lt;br /&gt;
====Dados====&lt;br /&gt;
#Cliente: João&lt;br /&gt;
#Usuário: Pedro&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
#Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes; &lt;br /&gt;
#Pedro preenche o campo CEP da aba &amp;quot;Clien. Cont.&amp;quot; com o CEP atual (60813670) e clica no botão de pesquisar endereço;&lt;br /&gt;
&lt;br /&gt;
====Assertiva====&lt;br /&gt;
#O sistema GeoSales valida se o CEP é válido;&lt;br /&gt;
#O sistema GeoSales faz uma consulta no web service pelos dados do CEP informado;&lt;br /&gt;
#O web service não envia resposta dentro do tempo limite estipulado ou retorna erro 404 &lt;br /&gt;
#O sistema GeoSales manda a mensagem que o serviço está indisponível no momento;&lt;br /&gt;
&lt;br /&gt;
===Cenário de Fluxo de Exceção===&lt;br /&gt;
''Limite de requisições alcançado''&lt;br /&gt;
&lt;br /&gt;
====Dados====&lt;br /&gt;
#Cliente: João&lt;br /&gt;
#Usuário: Pedro&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
#Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes; &lt;br /&gt;
#Pedro preenche o campo CEP da aba &amp;quot;Clien. Cont.&amp;quot; com o CEP atual (60813670) e clica no botão de pesquisar endereço;&lt;br /&gt;
&lt;br /&gt;
====Assertiva====&lt;br /&gt;
#O sistema GeoSales valida se o CEP é válido;&lt;br /&gt;
#O sistema GeoSales faz uma consulta no web service pelos dados do CEP informado;&lt;br /&gt;
#O web service verifica o contador de requisições da empresa solicitante e verifica que o limite foi alcançado e retorna o código de erro 403.&lt;br /&gt;
#O sistema GeoSales manda a mensagem que o limite de requisições foi alcançado;&lt;br /&gt;
&lt;br /&gt;
==Aprovação==&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;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! E-Mail&lt;br /&gt;
! Data&lt;br /&gt;
! style=&amp;quot;width:300px&amp;quot; |Assinatura&lt;br /&gt;
|- &lt;br /&gt;
| '''''Tecnologia da Informação''''' &lt;br /&gt;
| ''Nome do Aprovador''&lt;br /&gt;
| ''Email do Aprovador''  &lt;br /&gt;
| ''Data da Aprovação''  &lt;br /&gt;
| ''Assinatura do Aprovador''&lt;br /&gt;
|- &lt;br /&gt;
| '''''Comercial''''' &lt;br /&gt;
| ''Nome do Aprovador''&lt;br /&gt;
| ''Email do Aprovador''  &lt;br /&gt;
| ''Data da Aprovação''  &lt;br /&gt;
| ''Assinatura do Aprovador''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Funcionalidade]]&lt;/div&gt;</summary>
		<author><name>Leonardo</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Informa%C3%A7%C3%B5es_de_endere%C3%A7o_por_CEP&amp;diff=2788</id>
		<title>Informações de endereço por CEP</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Informa%C3%A7%C3%B5es_de_endere%C3%A7o_por_CEP&amp;diff=2788"/>
		<updated>2017-02-07T13:04:45Z</updated>

		<summary type="html">&lt;p&gt;Leonardo: /* Assertiva */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{|&lt;br /&gt;
|- &lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;width:100%; text-align:right;&amp;quot; | [[Arquivo:Logo geosales.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Histórico de Revisões ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data !! Revisor !! Comentário &lt;br /&gt;
|-&lt;br /&gt;
|  01/02/2017  ||  Anderson Gomes ||  Criação do Documento&lt;br /&gt;
|-&lt;br /&gt;
|  06/02/2017  ||  Leonardo Sousa ||  Solicitação de correção&lt;br /&gt;
|-&lt;br /&gt;
|  dd/mm/aaaa  ||                 ||  Análise e Aprovação da Arquitetura&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Informações Gerais==&lt;br /&gt;
{| &lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;width:150px; text-align:left;&amp;quot; | '''Cliente:''' &lt;br /&gt;
| style=&amp;quot;width:300px; text-align:left;&amp;quot; | ''Rio Mix''&lt;br /&gt;
| style=&amp;quot;width:150px; text-align:left;&amp;quot; | '''Projeto:'''  &lt;br /&gt;
| style=&amp;quot;width:300px; text-align:left;&amp;quot; | ''Rio Mix''&lt;br /&gt;
|- &lt;br /&gt;
| | '''Gerente/Sponsor:'''&lt;br /&gt;
| | ''Dolavale''&lt;br /&gt;
| | '''Gerente SoftSite:'''&lt;br /&gt;
|  | ''Liliana Carrha''&lt;br /&gt;
|- &lt;br /&gt;
| | '''Analista SoftSite:'''&lt;br /&gt;
| | ''Anderson Gomes''&lt;br /&gt;
| | '''Arquiteto SoftSite:'''&lt;br /&gt;
| | ''Jefferson Quesado''&lt;br /&gt;
|- &lt;br /&gt;
| | '''Aplicação(s):'''&lt;br /&gt;
| | ''Mobile-GS''&lt;br /&gt;
| | &lt;br /&gt;
| | &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Necessidade==&lt;br /&gt;
''Durante a alteração/cadastro de informações de cliente no GeoSales (Mobile e Portal) ser possível após a inserção de um determinado CEP que o sistema preencha os dados do endereço de forma automática caso existam informações para o CEP. e essas informações serem atualizadas no Protheus. Também é preciso que o sistema atualize as informações de endereço baseado no CEP.''&lt;br /&gt;
&lt;br /&gt;
==Exemplo==&lt;br /&gt;
''O vendedor cadastrará um novo cliente, ao digitar o CEP o GeoSales deverá trazer as informações do endereço. Além de incluir um novo cliente, também deverá ser possível alterar o cadastro de um cliente já existente.''&lt;br /&gt;
&lt;br /&gt;
==Solução==&lt;br /&gt;
''Ao digitar o CEP no GeoSales e clicar em um botão de pesquisa de endereço, na inclusão ou alteração de um cliente, o sistema deve buscar o endereço através do CEP digitado. Os seguintes campos devem ser preenchidos: endereço, bairro, cidade e estado. Esses campos devem permanecer editáveis, pois se o vendedor não possuir conexão ativa com a rede de dados, o sistema deve permitir que o usuário digite manualmente. Além disso, o usuário precisará digitar também as informações complementares, como número, bloco e etc.''&lt;br /&gt;
&lt;br /&gt;
As informações serão buscadas de um Web Service da SoftSite que buscará as informações de outros provedores desse serviço, cujo a SoftSite não pode garantir seu funcionamento, pois trata-se de um serviço de terceiro.''&lt;br /&gt;
&lt;br /&gt;
Para acessar o Web Service o sistema GeoSales deve mandar na requisição o nome da empresa/usuário/senha para se autenticar. Devido a isso o sistema deverá ter comunicação com a base de dados que contém essas informações. &lt;br /&gt;
&lt;br /&gt;
Para cada empresa existirá um limite mensal de requisições, definido por configuração. Entretanto, a cada requisição a resposta é salva na base durante um intervalo de tempo que garanta a validade da informação, definido por configuração. Caso o dado (CEP) consultado conste nessa base não será contado como requisição.&lt;br /&gt;
&lt;br /&gt;
==Criação de Estruturas de Banco==&lt;br /&gt;
&lt;br /&gt;
Deverá ser criado um novo banco de dados específico para o Web Service. Ele terá as seguintes estruturas para controlar as requisições e para salvar os endereços pesquisados a fim de otimizar as consultas mais frequentes.&lt;br /&gt;
&lt;br /&gt;
*ENDERECO&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! NOME DO CAMPO !! TIPO !! ANULÁVEL !! CHAVE !! AUTO INCREMENT  &lt;br /&gt;
|-&lt;br /&gt;
| CD_ENDERECO  || INT || NOT NULL || TRUE || TRUE&lt;br /&gt;
|-&lt;br /&gt;
| CEP || VARCHAR(8) || NOT NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| ESTADO || VARCHAR(2) || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| CIDADE || VARCHAR(50) || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| DS_ENDERECO || VARCHAR(70) || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| BAIRRO || VARCHAR(40) || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| DT_VALIDADE || DATETIME || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*EMPRESA_UTILIZACAO&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! NOME DO CAMPO !! TIPO !! ANULÁVEL !! CHAVE !! AUTO INCREMENT  &lt;br /&gt;
|-&lt;br /&gt;
| CD_EMPRESA_UTILIZACAO  || INT || NOT NULL || TRUE || TRUE&lt;br /&gt;
|-&lt;br /&gt;
| NM_EMPRESA  || VARCHAR(55) || NOT NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| COMPETENCIA  || VARCHAR(7) || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| CONTADOR  || INT || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'' A solução deve ser implementada para permitir que a mudança da origem de busca das informações seja de simples alteração.''&lt;br /&gt;
&lt;br /&gt;
==Pré-Requisitos==&lt;br /&gt;
*''Para que essa customização funcione é preciso que a conexão de rede de dados esteja ativa no dispositivo do usuário e que o serviço utilizado para consultas as informações do endereço esteja funcionando.''&lt;br /&gt;
&lt;br /&gt;
==Regras de Negócios==&lt;br /&gt;
*Para a validação do CEP as seguintes regras devem ser analisadas&lt;br /&gt;
**O CEP deve ter 8 caracteres&lt;br /&gt;
**O CEP deve conter somente números&lt;br /&gt;
&lt;br /&gt;
==Regras de Exceções==&lt;br /&gt;
*O Web Service retornará o JSON {&amp;quot;erro&amp;quot;: &amp;quot;true&amp;quot;} quando um CEP analisado não foi encontrado na análise;&lt;br /&gt;
*Para o erro de limite de requisições será retornado o erro 403;&lt;br /&gt;
&lt;br /&gt;
==Protótipos==&lt;br /&gt;
''Inclua protótipos que facilite a visualização da funcionalidade. (Quando se aplicam)''&lt;br /&gt;
&lt;br /&gt;
==Cenários==&lt;br /&gt;
''Inclua os cenários deseja atingir, a começar pelo caminho feliz.''&lt;br /&gt;
&lt;br /&gt;
===Cenário Happy Day===&lt;br /&gt;
''Usuário edita o endereço de um cliente já cadastrado''&lt;br /&gt;
&lt;br /&gt;
====Dados====&lt;br /&gt;
#Cliente: João&lt;br /&gt;
#Usuário: Pedro&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
#Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes; &lt;br /&gt;
#Pedro preenche o campo CEP da aba &amp;quot;Clien. Cont.&amp;quot; com o CEP atual(60813670) e clica no botão de pesquisar endereço;&lt;br /&gt;
&lt;br /&gt;
====Assertiva====&lt;br /&gt;
#O sistema GeoSales valida se o CEP é válido&lt;br /&gt;
#O sistema GeoSales faz uma consulta no web service pelos dados do CEP informado;&lt;br /&gt;
#O web service retorna os dados do endereço do CEP escolhido;&lt;br /&gt;
#O sistema GeoSales interpreta as informações retornadas e atualiza os campos correspondentes&lt;br /&gt;
&lt;br /&gt;
===Cenário de Fluxo de Exceção===&lt;br /&gt;
''CEP inválido''&lt;br /&gt;
&lt;br /&gt;
====Dados====&lt;br /&gt;
#Cliente: João&lt;br /&gt;
#Usuário: Pedro&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
#Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes; &lt;br /&gt;
#Pedro preenche o campo CEP da aba &amp;quot;Clien. Cont.&amp;quot; com o CEP atual (00000) e clica no botão de pesquisar endereço;&lt;br /&gt;
&lt;br /&gt;
====Assertiva====&lt;br /&gt;
#O sistema GeoSales valida se o CEP é válido&lt;br /&gt;
#O sistema GeoSales manda a mensagem que o CEP digitado é inválido e não preenche os dados do endereço;&lt;br /&gt;
&lt;br /&gt;
===Cenário de Fluxo de Exceção===&lt;br /&gt;
''CEP não existente na base de dados''&lt;br /&gt;
&lt;br /&gt;
====Dados====&lt;br /&gt;
#Cliente: João&lt;br /&gt;
#Usuário: Pedro&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
#Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes;&lt;br /&gt;
#Pedro preenche o campo CEP da aba &amp;quot;Clien. Cont.&amp;quot; com o CEP atual (99999000) e clica no botão de pesquisar endereço;&lt;br /&gt;
&lt;br /&gt;
====Assertiva====&lt;br /&gt;
#O sistema GeoSales valida se o CEP é válido;&lt;br /&gt;
#O sistema GeoSales faz uma consulta no serviço dos correios pelos dados do CEP informado;&lt;br /&gt;
#O serviço dos correios retorna que o CEP escolhido não consta na sua base de dados mandando o json de retorno da seguinte forma {&amp;quot;erro&amp;quot;: &amp;quot;true&amp;quot;};&lt;br /&gt;
#O sistema GeoSales manda a mensagem que o CEP digitado é não consta na base de dados pesquisada e não preenche os dados do endereço;&lt;br /&gt;
&lt;br /&gt;
===Cenário de Fluxo de Exceção===&lt;br /&gt;
''Serviço de consulta de informações não está funcionando''&lt;br /&gt;
&lt;br /&gt;
====Dados====&lt;br /&gt;
#Cliente: João&lt;br /&gt;
#Usuário: Pedro&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
#Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes; &lt;br /&gt;
#Pedro preenche o campo CEP da aba &amp;quot;Clien. Cont.&amp;quot; com o CEP atual (60813670) e clica no botão de pesquisar endereço;&lt;br /&gt;
&lt;br /&gt;
====Assertiva====&lt;br /&gt;
#O sistema GeoSales valida se o CEP é válido;&lt;br /&gt;
#O sistema GeoSales faz uma consulta no web service pelos dados do CEP informado;&lt;br /&gt;
#O web service não envia resposta dentro do tempo limite estipulado ou retorna erro 404 &lt;br /&gt;
#O sistema GeoSales manda a mensagem que o serviço está indisponível no momento;&lt;br /&gt;
&lt;br /&gt;
===Cenário de Fluxo de Exceção===&lt;br /&gt;
''Limite de requisições alcançado''&lt;br /&gt;
&lt;br /&gt;
====Dados====&lt;br /&gt;
#Cliente: João&lt;br /&gt;
#Usuário: Pedro&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
#Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes; &lt;br /&gt;
#Pedro preenche o campo CEP da aba &amp;quot;Clien. Cont.&amp;quot; com o CEP atual (60813670) e clica no botão de pesquisar endereço;&lt;br /&gt;
&lt;br /&gt;
====Assertiva====&lt;br /&gt;
#O sistema GeoSales valida se o CEP é válido;&lt;br /&gt;
#O sistema GeoSales faz uma consulta no web service pelos dados do CEP informado;&lt;br /&gt;
#O web service verifica o contador de requisições da empresa solicitante e verifica que o limite foi alcançado e retorna o código de erro 403.&lt;br /&gt;
#O sistema GeoSales manda a mensagem que o limite de requisições foi alcançado;&lt;br /&gt;
&lt;br /&gt;
==Aprovação==&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;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! E-Mail&lt;br /&gt;
! Data&lt;br /&gt;
! style=&amp;quot;width:300px&amp;quot; |Assinatura&lt;br /&gt;
|- &lt;br /&gt;
| '''''Tecnologia da Informação''''' &lt;br /&gt;
| ''Nome do Aprovador''&lt;br /&gt;
| ''Email do Aprovador''  &lt;br /&gt;
| ''Data da Aprovação''  &lt;br /&gt;
| ''Assinatura do Aprovador''&lt;br /&gt;
|- &lt;br /&gt;
| '''''Comercial''''' &lt;br /&gt;
| ''Nome do Aprovador''&lt;br /&gt;
| ''Email do Aprovador''  &lt;br /&gt;
| ''Data da Aprovação''  &lt;br /&gt;
| ''Assinatura do Aprovador''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Funcionalidade]]&lt;/div&gt;</summary>
		<author><name>Leonardo</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Informa%C3%A7%C3%B5es_de_endere%C3%A7o_por_CEP&amp;diff=2787</id>
		<title>Informações de endereço por CEP</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Informa%C3%A7%C3%B5es_de_endere%C3%A7o_por_CEP&amp;diff=2787"/>
		<updated>2017-02-07T13:04:22Z</updated>

		<summary type="html">&lt;p&gt;Leonardo: /* Assertiva */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{|&lt;br /&gt;
|- &lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;width:100%; text-align:right;&amp;quot; | [[Arquivo:Logo geosales.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Histórico de Revisões ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data !! Revisor !! Comentário &lt;br /&gt;
|-&lt;br /&gt;
|  01/02/2017  ||  Anderson Gomes ||  Criação do Documento&lt;br /&gt;
|-&lt;br /&gt;
|  06/02/2017  ||  Leonardo Sousa ||  Solicitação de correção&lt;br /&gt;
|-&lt;br /&gt;
|  dd/mm/aaaa  ||                 ||  Análise e Aprovação da Arquitetura&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Informações Gerais==&lt;br /&gt;
{| &lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;width:150px; text-align:left;&amp;quot; | '''Cliente:''' &lt;br /&gt;
| style=&amp;quot;width:300px; text-align:left;&amp;quot; | ''Rio Mix''&lt;br /&gt;
| style=&amp;quot;width:150px; text-align:left;&amp;quot; | '''Projeto:'''  &lt;br /&gt;
| style=&amp;quot;width:300px; text-align:left;&amp;quot; | ''Rio Mix''&lt;br /&gt;
|- &lt;br /&gt;
| | '''Gerente/Sponsor:'''&lt;br /&gt;
| | ''Dolavale''&lt;br /&gt;
| | '''Gerente SoftSite:'''&lt;br /&gt;
|  | ''Liliana Carrha''&lt;br /&gt;
|- &lt;br /&gt;
| | '''Analista SoftSite:'''&lt;br /&gt;
| | ''Anderson Gomes''&lt;br /&gt;
| | '''Arquiteto SoftSite:'''&lt;br /&gt;
| | ''Jefferson Quesado''&lt;br /&gt;
|- &lt;br /&gt;
| | '''Aplicação(s):'''&lt;br /&gt;
| | ''Mobile-GS''&lt;br /&gt;
| | &lt;br /&gt;
| | &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Necessidade==&lt;br /&gt;
''Durante a alteração/cadastro de informações de cliente no GeoSales (Mobile e Portal) ser possível após a inserção de um determinado CEP que o sistema preencha os dados do endereço de forma automática caso existam informações para o CEP. e essas informações serem atualizadas no Protheus. Também é preciso que o sistema atualize as informações de endereço baseado no CEP.''&lt;br /&gt;
&lt;br /&gt;
==Exemplo==&lt;br /&gt;
''O vendedor cadastrará um novo cliente, ao digitar o CEP o GeoSales deverá trazer as informações do endereço. Além de incluir um novo cliente, também deverá ser possível alterar o cadastro de um cliente já existente.''&lt;br /&gt;
&lt;br /&gt;
==Solução==&lt;br /&gt;
''Ao digitar o CEP no GeoSales e clicar em um botão de pesquisa de endereço, na inclusão ou alteração de um cliente, o sistema deve buscar o endereço através do CEP digitado. Os seguintes campos devem ser preenchidos: endereço, bairro, cidade e estado. Esses campos devem permanecer editáveis, pois se o vendedor não possuir conexão ativa com a rede de dados, o sistema deve permitir que o usuário digite manualmente. Além disso, o usuário precisará digitar também as informações complementares, como número, bloco e etc.''&lt;br /&gt;
&lt;br /&gt;
As informações serão buscadas de um Web Service da SoftSite que buscará as informações de outros provedores desse serviço, cujo a SoftSite não pode garantir seu funcionamento, pois trata-se de um serviço de terceiro.''&lt;br /&gt;
&lt;br /&gt;
Para acessar o Web Service o sistema GeoSales deve mandar na requisição o nome da empresa/usuário/senha para se autenticar. Devido a isso o sistema deverá ter comunicação com a base de dados que contém essas informações. &lt;br /&gt;
&lt;br /&gt;
Para cada empresa existirá um limite mensal de requisições, definido por configuração. Entretanto, a cada requisição a resposta é salva na base durante um intervalo de tempo que garanta a validade da informação, definido por configuração. Caso o dado (CEP) consultado conste nessa base não será contado como requisição.&lt;br /&gt;
&lt;br /&gt;
==Criação de Estruturas de Banco==&lt;br /&gt;
&lt;br /&gt;
Deverá ser criado um novo banco de dados específico para o Web Service. Ele terá as seguintes estruturas para controlar as requisições e para salvar os endereços pesquisados a fim de otimizar as consultas mais frequentes.&lt;br /&gt;
&lt;br /&gt;
*ENDERECO&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! NOME DO CAMPO !! TIPO !! ANULÁVEL !! CHAVE !! AUTO INCREMENT  &lt;br /&gt;
|-&lt;br /&gt;
| CD_ENDERECO  || INT || NOT NULL || TRUE || TRUE&lt;br /&gt;
|-&lt;br /&gt;
| CEP || VARCHAR(8) || NOT NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| ESTADO || VARCHAR(2) || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| CIDADE || VARCHAR(50) || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| DS_ENDERECO || VARCHAR(70) || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| BAIRRO || VARCHAR(40) || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| DT_VALIDADE || DATETIME || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*EMPRESA_UTILIZACAO&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! NOME DO CAMPO !! TIPO !! ANULÁVEL !! CHAVE !! AUTO INCREMENT  &lt;br /&gt;
|-&lt;br /&gt;
| CD_EMPRESA_UTILIZACAO  || INT || NOT NULL || TRUE || TRUE&lt;br /&gt;
|-&lt;br /&gt;
| NM_EMPRESA  || VARCHAR(55) || NOT NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| COMPETENCIA  || VARCHAR(7) || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| CONTADOR  || INT || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'' A solução deve ser implementada para permitir que a mudança da origem de busca das informações seja de simples alteração.''&lt;br /&gt;
&lt;br /&gt;
==Pré-Requisitos==&lt;br /&gt;
*''Para que essa customização funcione é preciso que a conexão de rede de dados esteja ativa no dispositivo do usuário e que o serviço utilizado para consultas as informações do endereço esteja funcionando.''&lt;br /&gt;
&lt;br /&gt;
==Regras de Negócios==&lt;br /&gt;
*Para a validação do CEP as seguintes regras devem ser analisadas&lt;br /&gt;
**O CEP deve ter 8 caracteres&lt;br /&gt;
**O CEP deve conter somente números&lt;br /&gt;
&lt;br /&gt;
==Regras de Exceções==&lt;br /&gt;
*O Web Service retornará o JSON {&amp;quot;erro&amp;quot;: &amp;quot;true&amp;quot;} quando um CEP analisado não foi encontrado na análise;&lt;br /&gt;
*Para o erro de limite de requisições será retornado o erro 403;&lt;br /&gt;
&lt;br /&gt;
==Protótipos==&lt;br /&gt;
''Inclua protótipos que facilite a visualização da funcionalidade. (Quando se aplicam)''&lt;br /&gt;
&lt;br /&gt;
==Cenários==&lt;br /&gt;
''Inclua os cenários deseja atingir, a começar pelo caminho feliz.''&lt;br /&gt;
&lt;br /&gt;
===Cenário Happy Day===&lt;br /&gt;
''Usuário edita o endereço de um cliente já cadastrado''&lt;br /&gt;
&lt;br /&gt;
====Dados====&lt;br /&gt;
#Cliente: João&lt;br /&gt;
#Usuário: Pedro&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
#Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes; &lt;br /&gt;
#Pedro preenche o campo CEP da aba &amp;quot;Clien. Cont.&amp;quot; com o CEP atual(60813670) e clica no botão de pesquisar endereço;&lt;br /&gt;
&lt;br /&gt;
====Assertiva====&lt;br /&gt;
#O sistema GeoSales valida se o CEP é válido&lt;br /&gt;
#O sistema GeoSales faz uma consulta no web service pelos dados do CEP informado;&lt;br /&gt;
#O web service retorna os dados do endereço do CEP escolhido;&lt;br /&gt;
#O sistema GeoSales interpreta as informações retornadas e atualiza os campos correspondentes&lt;br /&gt;
&lt;br /&gt;
===Cenário de Fluxo de Exceção===&lt;br /&gt;
''CEP inválido''&lt;br /&gt;
&lt;br /&gt;
====Dados====&lt;br /&gt;
#Cliente: João&lt;br /&gt;
#Usuário: Pedro&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
#Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes; &lt;br /&gt;
#Pedro preenche o campo CEP da aba &amp;quot;Clien. Cont.&amp;quot; com o CEP atual (00000) e clica no botão de pesquisar endereço;&lt;br /&gt;
&lt;br /&gt;
====Assertiva====&lt;br /&gt;
#O sistema GeoSales valida se o CEP é válido&lt;br /&gt;
#O sistema GeoSales manda a mensagem que o CEP digitado é inválido e não preenche os dados do endereço;&lt;br /&gt;
&lt;br /&gt;
===Cenário de Fluxo de Exceção===&lt;br /&gt;
''CEP não existente na base de dados''&lt;br /&gt;
&lt;br /&gt;
====Dados====&lt;br /&gt;
#Cliente: João&lt;br /&gt;
#Usuário: Pedro&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
#Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes;&lt;br /&gt;
#Pedro preenche o campo CEP da aba &amp;quot;Clien. Cont.&amp;quot; com o CEP atual (99999000) e clica no botão de pesquisar endereço;&lt;br /&gt;
&lt;br /&gt;
====Assertiva====&lt;br /&gt;
#O sistema GeoSales valida se o CEP é válido;&lt;br /&gt;
#O sistema GeoSales faz uma consulta no serviço dos correios pelos dados do CEP informado;&lt;br /&gt;
#O serviço dos correios retorna que o CEP escolhido não consta na sua base de dados mandando o json de retorno da seguinte forma {&amp;quot;erro&amp;quot;: &amp;quot;true&amp;quot;};&lt;br /&gt;
#O sistema GeoSales manda a mensagem que o CEP digitado é não consta na base de dados pesquisada e não preenche os dados do endereço;&lt;br /&gt;
&lt;br /&gt;
===Cenário de Fluxo de Exceção===&lt;br /&gt;
''Serviço de consulta de informações não está funcionando''&lt;br /&gt;
&lt;br /&gt;
====Dados====&lt;br /&gt;
#Cliente: João&lt;br /&gt;
#Usuário: Pedro&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
#Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes; &lt;br /&gt;
#Pedro preenche o campo CEP da aba &amp;quot;Clien. Cont.&amp;quot; com o CEP atual (60813670) e clica no botão de pesquisar endereço;&lt;br /&gt;
&lt;br /&gt;
====Assertiva====&lt;br /&gt;
#O sistema GeoSales valida se o CEP é válido;&lt;br /&gt;
#O sistema GeoSales faz uma consulta no web service pelos dados do CEP informado;&lt;br /&gt;
#O web service não envia resposta dentro do tempo limite estipulado ou retorna erro 404 &lt;br /&gt;
#O sistema GeoSales manda a mensagem que o serviço está indisponível no momento;&lt;br /&gt;
&lt;br /&gt;
===Cenário de Fluxo de Exceção===&lt;br /&gt;
''Limite de requisições alcançado''&lt;br /&gt;
&lt;br /&gt;
====Dados====&lt;br /&gt;
#Cliente: João&lt;br /&gt;
#Usuário: Pedro&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
#Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes; &lt;br /&gt;
#Pedro preenche o campo CEP da aba &amp;quot;Clien. Cont.&amp;quot; com o CEP atual (60813670) e clica no botão de pesquisar endereço;&lt;br /&gt;
&lt;br /&gt;
====Assertiva====&lt;br /&gt;
#O sistema geosales valida se o CEP é válido;&lt;br /&gt;
#O sistema geosales faz uma consulta no web service pelos dados do CEP informado;&lt;br /&gt;
#O web service verifica o contador de requisições da empresa solicitante e verifica que o limite foi alcançado e retorna o código de erro 403.&lt;br /&gt;
#O sistema geosales manda a mensagem que o limite de requisições foi alcançado;&lt;br /&gt;
&lt;br /&gt;
==Aprovação==&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;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! E-Mail&lt;br /&gt;
! Data&lt;br /&gt;
! style=&amp;quot;width:300px&amp;quot; |Assinatura&lt;br /&gt;
|- &lt;br /&gt;
| '''''Tecnologia da Informação''''' &lt;br /&gt;
| ''Nome do Aprovador''&lt;br /&gt;
| ''Email do Aprovador''  &lt;br /&gt;
| ''Data da Aprovação''  &lt;br /&gt;
| ''Assinatura do Aprovador''&lt;br /&gt;
|- &lt;br /&gt;
| '''''Comercial''''' &lt;br /&gt;
| ''Nome do Aprovador''&lt;br /&gt;
| ''Email do Aprovador''  &lt;br /&gt;
| ''Data da Aprovação''  &lt;br /&gt;
| ''Assinatura do Aprovador''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Funcionalidade]]&lt;/div&gt;</summary>
		<author><name>Leonardo</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Informa%C3%A7%C3%B5es_de_endere%C3%A7o_por_CEP&amp;diff=2786</id>
		<title>Informações de endereço por CEP</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Informa%C3%A7%C3%B5es_de_endere%C3%A7o_por_CEP&amp;diff=2786"/>
		<updated>2017-02-07T13:04:05Z</updated>

		<summary type="html">&lt;p&gt;Leonardo: /* Assertiva */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{|&lt;br /&gt;
|- &lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;width:100%; text-align:right;&amp;quot; | [[Arquivo:Logo geosales.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Histórico de Revisões ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data !! Revisor !! Comentário &lt;br /&gt;
|-&lt;br /&gt;
|  01/02/2017  ||  Anderson Gomes ||  Criação do Documento&lt;br /&gt;
|-&lt;br /&gt;
|  06/02/2017  ||  Leonardo Sousa ||  Solicitação de correção&lt;br /&gt;
|-&lt;br /&gt;
|  dd/mm/aaaa  ||                 ||  Análise e Aprovação da Arquitetura&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Informações Gerais==&lt;br /&gt;
{| &lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;width:150px; text-align:left;&amp;quot; | '''Cliente:''' &lt;br /&gt;
| style=&amp;quot;width:300px; text-align:left;&amp;quot; | ''Rio Mix''&lt;br /&gt;
| style=&amp;quot;width:150px; text-align:left;&amp;quot; | '''Projeto:'''  &lt;br /&gt;
| style=&amp;quot;width:300px; text-align:left;&amp;quot; | ''Rio Mix''&lt;br /&gt;
|- &lt;br /&gt;
| | '''Gerente/Sponsor:'''&lt;br /&gt;
| | ''Dolavale''&lt;br /&gt;
| | '''Gerente SoftSite:'''&lt;br /&gt;
|  | ''Liliana Carrha''&lt;br /&gt;
|- &lt;br /&gt;
| | '''Analista SoftSite:'''&lt;br /&gt;
| | ''Anderson Gomes''&lt;br /&gt;
| | '''Arquiteto SoftSite:'''&lt;br /&gt;
| | ''Jefferson Quesado''&lt;br /&gt;
|- &lt;br /&gt;
| | '''Aplicação(s):'''&lt;br /&gt;
| | ''Mobile-GS''&lt;br /&gt;
| | &lt;br /&gt;
| | &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Necessidade==&lt;br /&gt;
''Durante a alteração/cadastro de informações de cliente no GeoSales (Mobile e Portal) ser possível após a inserção de um determinado CEP que o sistema preencha os dados do endereço de forma automática caso existam informações para o CEP. e essas informações serem atualizadas no Protheus. Também é preciso que o sistema atualize as informações de endereço baseado no CEP.''&lt;br /&gt;
&lt;br /&gt;
==Exemplo==&lt;br /&gt;
''O vendedor cadastrará um novo cliente, ao digitar o CEP o GeoSales deverá trazer as informações do endereço. Além de incluir um novo cliente, também deverá ser possível alterar o cadastro de um cliente já existente.''&lt;br /&gt;
&lt;br /&gt;
==Solução==&lt;br /&gt;
''Ao digitar o CEP no GeoSales e clicar em um botão de pesquisa de endereço, na inclusão ou alteração de um cliente, o sistema deve buscar o endereço através do CEP digitado. Os seguintes campos devem ser preenchidos: endereço, bairro, cidade e estado. Esses campos devem permanecer editáveis, pois se o vendedor não possuir conexão ativa com a rede de dados, o sistema deve permitir que o usuário digite manualmente. Além disso, o usuário precisará digitar também as informações complementares, como número, bloco e etc.''&lt;br /&gt;
&lt;br /&gt;
As informações serão buscadas de um Web Service da SoftSite que buscará as informações de outros provedores desse serviço, cujo a SoftSite não pode garantir seu funcionamento, pois trata-se de um serviço de terceiro.''&lt;br /&gt;
&lt;br /&gt;
Para acessar o Web Service o sistema GeoSales deve mandar na requisição o nome da empresa/usuário/senha para se autenticar. Devido a isso o sistema deverá ter comunicação com a base de dados que contém essas informações. &lt;br /&gt;
&lt;br /&gt;
Para cada empresa existirá um limite mensal de requisições, definido por configuração. Entretanto, a cada requisição a resposta é salva na base durante um intervalo de tempo que garanta a validade da informação, definido por configuração. Caso o dado (CEP) consultado conste nessa base não será contado como requisição.&lt;br /&gt;
&lt;br /&gt;
==Criação de Estruturas de Banco==&lt;br /&gt;
&lt;br /&gt;
Deverá ser criado um novo banco de dados específico para o Web Service. Ele terá as seguintes estruturas para controlar as requisições e para salvar os endereços pesquisados a fim de otimizar as consultas mais frequentes.&lt;br /&gt;
&lt;br /&gt;
*ENDERECO&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! NOME DO CAMPO !! TIPO !! ANULÁVEL !! CHAVE !! AUTO INCREMENT  &lt;br /&gt;
|-&lt;br /&gt;
| CD_ENDERECO  || INT || NOT NULL || TRUE || TRUE&lt;br /&gt;
|-&lt;br /&gt;
| CEP || VARCHAR(8) || NOT NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| ESTADO || VARCHAR(2) || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| CIDADE || VARCHAR(50) || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| DS_ENDERECO || VARCHAR(70) || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| BAIRRO || VARCHAR(40) || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| DT_VALIDADE || DATETIME || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*EMPRESA_UTILIZACAO&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! NOME DO CAMPO !! TIPO !! ANULÁVEL !! CHAVE !! AUTO INCREMENT  &lt;br /&gt;
|-&lt;br /&gt;
| CD_EMPRESA_UTILIZACAO  || INT || NOT NULL || TRUE || TRUE&lt;br /&gt;
|-&lt;br /&gt;
| NM_EMPRESA  || VARCHAR(55) || NOT NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| COMPETENCIA  || VARCHAR(7) || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| CONTADOR  || INT || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'' A solução deve ser implementada para permitir que a mudança da origem de busca das informações seja de simples alteração.''&lt;br /&gt;
&lt;br /&gt;
==Pré-Requisitos==&lt;br /&gt;
*''Para que essa customização funcione é preciso que a conexão de rede de dados esteja ativa no dispositivo do usuário e que o serviço utilizado para consultas as informações do endereço esteja funcionando.''&lt;br /&gt;
&lt;br /&gt;
==Regras de Negócios==&lt;br /&gt;
*Para a validação do CEP as seguintes regras devem ser analisadas&lt;br /&gt;
**O CEP deve ter 8 caracteres&lt;br /&gt;
**O CEP deve conter somente números&lt;br /&gt;
&lt;br /&gt;
==Regras de Exceções==&lt;br /&gt;
*O Web Service retornará o JSON {&amp;quot;erro&amp;quot;: &amp;quot;true&amp;quot;} quando um CEP analisado não foi encontrado na análise;&lt;br /&gt;
*Para o erro de limite de requisições será retornado o erro 403;&lt;br /&gt;
&lt;br /&gt;
==Protótipos==&lt;br /&gt;
''Inclua protótipos que facilite a visualização da funcionalidade. (Quando se aplicam)''&lt;br /&gt;
&lt;br /&gt;
==Cenários==&lt;br /&gt;
''Inclua os cenários deseja atingir, a começar pelo caminho feliz.''&lt;br /&gt;
&lt;br /&gt;
===Cenário Happy Day===&lt;br /&gt;
''Usuário edita o endereço de um cliente já cadastrado''&lt;br /&gt;
&lt;br /&gt;
====Dados====&lt;br /&gt;
#Cliente: João&lt;br /&gt;
#Usuário: Pedro&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
#Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes; &lt;br /&gt;
#Pedro preenche o campo CEP da aba &amp;quot;Clien. Cont.&amp;quot; com o CEP atual(60813670) e clica no botão de pesquisar endereço;&lt;br /&gt;
&lt;br /&gt;
====Assertiva====&lt;br /&gt;
#O sistema GeoSales valida se o CEP é válido&lt;br /&gt;
#O sistema GeoSales faz uma consulta no web service pelos dados do CEP informado;&lt;br /&gt;
#O web service retorna os dados do endereço do CEP escolhido;&lt;br /&gt;
#O sistema GeoSales interpreta as informações retornadas e atualiza os campos correspondentes&lt;br /&gt;
&lt;br /&gt;
===Cenário de Fluxo de Exceção===&lt;br /&gt;
''CEP inválido''&lt;br /&gt;
&lt;br /&gt;
====Dados====&lt;br /&gt;
#Cliente: João&lt;br /&gt;
#Usuário: Pedro&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
#Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes; &lt;br /&gt;
#Pedro preenche o campo CEP da aba &amp;quot;Clien. Cont.&amp;quot; com o CEP atual (00000) e clica no botão de pesquisar endereço;&lt;br /&gt;
&lt;br /&gt;
====Assertiva====&lt;br /&gt;
#O sistema GeoSales valida se o CEP é válido&lt;br /&gt;
#O sistema GeoSales manda a mensagem que o CEP digitado é inválido e não preenche os dados do endereço;&lt;br /&gt;
&lt;br /&gt;
===Cenário de Fluxo de Exceção===&lt;br /&gt;
''CEP não existente na base de dados''&lt;br /&gt;
&lt;br /&gt;
====Dados====&lt;br /&gt;
#Cliente: João&lt;br /&gt;
#Usuário: Pedro&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
#Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes;&lt;br /&gt;
#Pedro preenche o campo CEP da aba &amp;quot;Clien. Cont.&amp;quot; com o CEP atual (99999000) e clica no botão de pesquisar endereço;&lt;br /&gt;
&lt;br /&gt;
====Assertiva====&lt;br /&gt;
#O sistema GeoSales valida se o CEP é válido;&lt;br /&gt;
#O sistema GeoSales faz uma consulta no serviço dos correios pelos dados do CEP informado;&lt;br /&gt;
#O serviço dos correios retorna que o CEP escolhido não consta na sua base de dados mandando o json de retorno da seguinte forma {&amp;quot;erro&amp;quot;: &amp;quot;true&amp;quot;};&lt;br /&gt;
#O sistema GeoSales manda a mensagem que o CEP digitado é não consta na base de dados pesquisada e não preenche os dados do endereço;&lt;br /&gt;
&lt;br /&gt;
===Cenário de Fluxo de Exceção===&lt;br /&gt;
''Serviço de consulta de informações não está funcionando''&lt;br /&gt;
&lt;br /&gt;
====Dados====&lt;br /&gt;
#Cliente: João&lt;br /&gt;
#Usuário: Pedro&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
#Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes; &lt;br /&gt;
#Pedro preenche o campo CEP da aba &amp;quot;Clien. Cont.&amp;quot; com o CEP atual (60813670) e clica no botão de pesquisar endereço;&lt;br /&gt;
&lt;br /&gt;
====Assertiva====&lt;br /&gt;
#O sistema geosales valida se o CEP é válido;&lt;br /&gt;
#O sistema geosales faz uma consulta no web service pelos dados do CEP informado;&lt;br /&gt;
#O web service não envia resposta dentro do tempo limite estipulado ou retorna erro 404 &lt;br /&gt;
#O sistema geosales manda a mensagem que o serviço está indisponível no momento;&lt;br /&gt;
&lt;br /&gt;
===Cenário de Fluxo de Exceção===&lt;br /&gt;
''Limite de requisições alcançado''&lt;br /&gt;
&lt;br /&gt;
====Dados====&lt;br /&gt;
#Cliente: João&lt;br /&gt;
#Usuário: Pedro&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
#Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes; &lt;br /&gt;
#Pedro preenche o campo CEP da aba &amp;quot;Clien. Cont.&amp;quot; com o CEP atual (60813670) e clica no botão de pesquisar endereço;&lt;br /&gt;
&lt;br /&gt;
====Assertiva====&lt;br /&gt;
#O sistema geosales valida se o CEP é válido;&lt;br /&gt;
#O sistema geosales faz uma consulta no web service pelos dados do CEP informado;&lt;br /&gt;
#O web service verifica o contador de requisições da empresa solicitante e verifica que o limite foi alcançado e retorna o código de erro 403.&lt;br /&gt;
#O sistema geosales manda a mensagem que o limite de requisições foi alcançado;&lt;br /&gt;
&lt;br /&gt;
==Aprovação==&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;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! E-Mail&lt;br /&gt;
! Data&lt;br /&gt;
! style=&amp;quot;width:300px&amp;quot; |Assinatura&lt;br /&gt;
|- &lt;br /&gt;
| '''''Tecnologia da Informação''''' &lt;br /&gt;
| ''Nome do Aprovador''&lt;br /&gt;
| ''Email do Aprovador''  &lt;br /&gt;
| ''Data da Aprovação''  &lt;br /&gt;
| ''Assinatura do Aprovador''&lt;br /&gt;
|- &lt;br /&gt;
| '''''Comercial''''' &lt;br /&gt;
| ''Nome do Aprovador''&lt;br /&gt;
| ''Email do Aprovador''  &lt;br /&gt;
| ''Data da Aprovação''  &lt;br /&gt;
| ''Assinatura do Aprovador''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Funcionalidade]]&lt;/div&gt;</summary>
		<author><name>Leonardo</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Informa%C3%A7%C3%B5es_de_endere%C3%A7o_por_CEP&amp;diff=2785</id>
		<title>Informações de endereço por CEP</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Informa%C3%A7%C3%B5es_de_endere%C3%A7o_por_CEP&amp;diff=2785"/>
		<updated>2017-02-07T13:03:25Z</updated>

		<summary type="html">&lt;p&gt;Leonardo: /* Assertiva */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{|&lt;br /&gt;
|- &lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;width:100%; text-align:right;&amp;quot; | [[Arquivo:Logo geosales.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Histórico de Revisões ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data !! Revisor !! Comentário &lt;br /&gt;
|-&lt;br /&gt;
|  01/02/2017  ||  Anderson Gomes ||  Criação do Documento&lt;br /&gt;
|-&lt;br /&gt;
|  06/02/2017  ||  Leonardo Sousa ||  Solicitação de correção&lt;br /&gt;
|-&lt;br /&gt;
|  dd/mm/aaaa  ||                 ||  Análise e Aprovação da Arquitetura&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Informações Gerais==&lt;br /&gt;
{| &lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;width:150px; text-align:left;&amp;quot; | '''Cliente:''' &lt;br /&gt;
| style=&amp;quot;width:300px; text-align:left;&amp;quot; | ''Rio Mix''&lt;br /&gt;
| style=&amp;quot;width:150px; text-align:left;&amp;quot; | '''Projeto:'''  &lt;br /&gt;
| style=&amp;quot;width:300px; text-align:left;&amp;quot; | ''Rio Mix''&lt;br /&gt;
|- &lt;br /&gt;
| | '''Gerente/Sponsor:'''&lt;br /&gt;
| | ''Dolavale''&lt;br /&gt;
| | '''Gerente SoftSite:'''&lt;br /&gt;
|  | ''Liliana Carrha''&lt;br /&gt;
|- &lt;br /&gt;
| | '''Analista SoftSite:'''&lt;br /&gt;
| | ''Anderson Gomes''&lt;br /&gt;
| | '''Arquiteto SoftSite:'''&lt;br /&gt;
| | ''Jefferson Quesado''&lt;br /&gt;
|- &lt;br /&gt;
| | '''Aplicação(s):'''&lt;br /&gt;
| | ''Mobile-GS''&lt;br /&gt;
| | &lt;br /&gt;
| | &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Necessidade==&lt;br /&gt;
''Durante a alteração/cadastro de informações de cliente no GeoSales (Mobile e Portal) ser possível após a inserção de um determinado CEP que o sistema preencha os dados do endereço de forma automática caso existam informações para o CEP. e essas informações serem atualizadas no Protheus. Também é preciso que o sistema atualize as informações de endereço baseado no CEP.''&lt;br /&gt;
&lt;br /&gt;
==Exemplo==&lt;br /&gt;
''O vendedor cadastrará um novo cliente, ao digitar o CEP o GeoSales deverá trazer as informações do endereço. Além de incluir um novo cliente, também deverá ser possível alterar o cadastro de um cliente já existente.''&lt;br /&gt;
&lt;br /&gt;
==Solução==&lt;br /&gt;
''Ao digitar o CEP no GeoSales e clicar em um botão de pesquisa de endereço, na inclusão ou alteração de um cliente, o sistema deve buscar o endereço através do CEP digitado. Os seguintes campos devem ser preenchidos: endereço, bairro, cidade e estado. Esses campos devem permanecer editáveis, pois se o vendedor não possuir conexão ativa com a rede de dados, o sistema deve permitir que o usuário digite manualmente. Além disso, o usuário precisará digitar também as informações complementares, como número, bloco e etc.''&lt;br /&gt;
&lt;br /&gt;
As informações serão buscadas de um Web Service da SoftSite que buscará as informações de outros provedores desse serviço, cujo a SoftSite não pode garantir seu funcionamento, pois trata-se de um serviço de terceiro.''&lt;br /&gt;
&lt;br /&gt;
Para acessar o Web Service o sistema GeoSales deve mandar na requisição o nome da empresa/usuário/senha para se autenticar. Devido a isso o sistema deverá ter comunicação com a base de dados que contém essas informações. &lt;br /&gt;
&lt;br /&gt;
Para cada empresa existirá um limite mensal de requisições, definido por configuração. Entretanto, a cada requisição a resposta é salva na base durante um intervalo de tempo que garanta a validade da informação, definido por configuração. Caso o dado (CEP) consultado conste nessa base não será contado como requisição.&lt;br /&gt;
&lt;br /&gt;
==Criação de Estruturas de Banco==&lt;br /&gt;
&lt;br /&gt;
Deverá ser criado um novo banco de dados específico para o Web Service. Ele terá as seguintes estruturas para controlar as requisições e para salvar os endereços pesquisados a fim de otimizar as consultas mais frequentes.&lt;br /&gt;
&lt;br /&gt;
*ENDERECO&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! NOME DO CAMPO !! TIPO !! ANULÁVEL !! CHAVE !! AUTO INCREMENT  &lt;br /&gt;
|-&lt;br /&gt;
| CD_ENDERECO  || INT || NOT NULL || TRUE || TRUE&lt;br /&gt;
|-&lt;br /&gt;
| CEP || VARCHAR(8) || NOT NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| ESTADO || VARCHAR(2) || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| CIDADE || VARCHAR(50) || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| DS_ENDERECO || VARCHAR(70) || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| BAIRRO || VARCHAR(40) || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| DT_VALIDADE || DATETIME || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*EMPRESA_UTILIZACAO&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! NOME DO CAMPO !! TIPO !! ANULÁVEL !! CHAVE !! AUTO INCREMENT  &lt;br /&gt;
|-&lt;br /&gt;
| CD_EMPRESA_UTILIZACAO  || INT || NOT NULL || TRUE || TRUE&lt;br /&gt;
|-&lt;br /&gt;
| NM_EMPRESA  || VARCHAR(55) || NOT NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| COMPETENCIA  || VARCHAR(7) || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| CONTADOR  || INT || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'' A solução deve ser implementada para permitir que a mudança da origem de busca das informações seja de simples alteração.''&lt;br /&gt;
&lt;br /&gt;
==Pré-Requisitos==&lt;br /&gt;
*''Para que essa customização funcione é preciso que a conexão de rede de dados esteja ativa no dispositivo do usuário e que o serviço utilizado para consultas as informações do endereço esteja funcionando.''&lt;br /&gt;
&lt;br /&gt;
==Regras de Negócios==&lt;br /&gt;
*Para a validação do CEP as seguintes regras devem ser analisadas&lt;br /&gt;
**O CEP deve ter 8 caracteres&lt;br /&gt;
**O CEP deve conter somente números&lt;br /&gt;
&lt;br /&gt;
==Regras de Exceções==&lt;br /&gt;
*O Web Service retornará o JSON {&amp;quot;erro&amp;quot;: &amp;quot;true&amp;quot;} quando um CEP analisado não foi encontrado na análise;&lt;br /&gt;
*Para o erro de limite de requisições será retornado o erro 403;&lt;br /&gt;
&lt;br /&gt;
==Protótipos==&lt;br /&gt;
''Inclua protótipos que facilite a visualização da funcionalidade. (Quando se aplicam)''&lt;br /&gt;
&lt;br /&gt;
==Cenários==&lt;br /&gt;
''Inclua os cenários deseja atingir, a começar pelo caminho feliz.''&lt;br /&gt;
&lt;br /&gt;
===Cenário Happy Day===&lt;br /&gt;
''Usuário edita o endereço de um cliente já cadastrado''&lt;br /&gt;
&lt;br /&gt;
====Dados====&lt;br /&gt;
#Cliente: João&lt;br /&gt;
#Usuário: Pedro&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
#Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes; &lt;br /&gt;
#Pedro preenche o campo CEP da aba &amp;quot;Clien. Cont.&amp;quot; com o CEP atual(60813670) e clica no botão de pesquisar endereço;&lt;br /&gt;
&lt;br /&gt;
====Assertiva====&lt;br /&gt;
#O sistema GeoSales valida se o CEP é válido&lt;br /&gt;
#O sistema GeoSales faz uma consulta no web service pelos dados do CEP informado;&lt;br /&gt;
#O web service retorna os dados do endereço do CEP escolhido;&lt;br /&gt;
#O sistema GeoSales interpreta as informações retornadas e atualiza os campos correspondentes&lt;br /&gt;
&lt;br /&gt;
===Cenário de Fluxo de Exceção===&lt;br /&gt;
''CEP inválido''&lt;br /&gt;
&lt;br /&gt;
====Dados====&lt;br /&gt;
#Cliente: João&lt;br /&gt;
#Usuário: Pedro&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
#Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes; &lt;br /&gt;
#Pedro preenche o campo CEP da aba &amp;quot;Clien. Cont.&amp;quot; com o CEP atual (00000) e clica no botão de pesquisar endereço;&lt;br /&gt;
&lt;br /&gt;
====Assertiva====&lt;br /&gt;
#O sistema GeoSales valida se o CEP é válido&lt;br /&gt;
#O sistema GeoSales manda a mensagem que o CEP digitado é inválido e não preenche os dados do endereço;&lt;br /&gt;
&lt;br /&gt;
===Cenário de Fluxo de Exceção===&lt;br /&gt;
''CEP não existente na base de dados''&lt;br /&gt;
&lt;br /&gt;
====Dados====&lt;br /&gt;
#Cliente: João&lt;br /&gt;
#Usuário: Pedro&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
#Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes;&lt;br /&gt;
#Pedro preenche o campo CEP da aba &amp;quot;Clien. Cont.&amp;quot; com o CEP atual (99999000) e clica no botão de pesquisar endereço;&lt;br /&gt;
&lt;br /&gt;
====Assertiva====&lt;br /&gt;
#O sistema geosales valida se o CEP é válido;&lt;br /&gt;
#O sistema geosales faz uma consulta no serviço dos correios pelos dados do CEP informado;&lt;br /&gt;
#O serviço dos correios retorna que o CEP escolhido não consta na sua base de dados mandando o json de retorno da seguinte forma {&amp;quot;erro&amp;quot;: &amp;quot;true&amp;quot;};&lt;br /&gt;
#O sistema geosales manda a mensagem que o CEP digitado é não consta na base de dados pesquisada e não preenche os dados do endereço;&lt;br /&gt;
&lt;br /&gt;
===Cenário de Fluxo de Exceção===&lt;br /&gt;
''Serviço de consulta de informações não está funcionando''&lt;br /&gt;
&lt;br /&gt;
====Dados====&lt;br /&gt;
#Cliente: João&lt;br /&gt;
#Usuário: Pedro&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
#Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes; &lt;br /&gt;
#Pedro preenche o campo CEP da aba &amp;quot;Clien. Cont.&amp;quot; com o CEP atual (60813670) e clica no botão de pesquisar endereço;&lt;br /&gt;
&lt;br /&gt;
====Assertiva====&lt;br /&gt;
#O sistema geosales valida se o CEP é válido;&lt;br /&gt;
#O sistema geosales faz uma consulta no web service pelos dados do CEP informado;&lt;br /&gt;
#O web service não envia resposta dentro do tempo limite estipulado ou retorna erro 404 &lt;br /&gt;
#O sistema geosales manda a mensagem que o serviço está indisponível no momento;&lt;br /&gt;
&lt;br /&gt;
===Cenário de Fluxo de Exceção===&lt;br /&gt;
''Limite de requisições alcançado''&lt;br /&gt;
&lt;br /&gt;
====Dados====&lt;br /&gt;
#Cliente: João&lt;br /&gt;
#Usuário: Pedro&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
#Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes; &lt;br /&gt;
#Pedro preenche o campo CEP da aba &amp;quot;Clien. Cont.&amp;quot; com o CEP atual (60813670) e clica no botão de pesquisar endereço;&lt;br /&gt;
&lt;br /&gt;
====Assertiva====&lt;br /&gt;
#O sistema geosales valida se o CEP é válido;&lt;br /&gt;
#O sistema geosales faz uma consulta no web service pelos dados do CEP informado;&lt;br /&gt;
#O web service verifica o contador de requisições da empresa solicitante e verifica que o limite foi alcançado e retorna o código de erro 403.&lt;br /&gt;
#O sistema geosales manda a mensagem que o limite de requisições foi alcançado;&lt;br /&gt;
&lt;br /&gt;
==Aprovação==&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;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! E-Mail&lt;br /&gt;
! Data&lt;br /&gt;
! style=&amp;quot;width:300px&amp;quot; |Assinatura&lt;br /&gt;
|- &lt;br /&gt;
| '''''Tecnologia da Informação''''' &lt;br /&gt;
| ''Nome do Aprovador''&lt;br /&gt;
| ''Email do Aprovador''  &lt;br /&gt;
| ''Data da Aprovação''  &lt;br /&gt;
| ''Assinatura do Aprovador''&lt;br /&gt;
|- &lt;br /&gt;
| '''''Comercial''''' &lt;br /&gt;
| ''Nome do Aprovador''&lt;br /&gt;
| ''Email do Aprovador''  &lt;br /&gt;
| ''Data da Aprovação''  &lt;br /&gt;
| ''Assinatura do Aprovador''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Funcionalidade]]&lt;/div&gt;</summary>
		<author><name>Leonardo</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Informa%C3%A7%C3%B5es_de_endere%C3%A7o_por_CEP&amp;diff=2784</id>
		<title>Informações de endereço por CEP</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Informa%C3%A7%C3%B5es_de_endere%C3%A7o_por_CEP&amp;diff=2784"/>
		<updated>2017-02-07T13:03:05Z</updated>

		<summary type="html">&lt;p&gt;Leonardo: /* Cenário Happy Day */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{|&lt;br /&gt;
|- &lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;width:100%; text-align:right;&amp;quot; | [[Arquivo:Logo geosales.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Histórico de Revisões ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data !! Revisor !! Comentário &lt;br /&gt;
|-&lt;br /&gt;
|  01/02/2017  ||  Anderson Gomes ||  Criação do Documento&lt;br /&gt;
|-&lt;br /&gt;
|  06/02/2017  ||  Leonardo Sousa ||  Solicitação de correção&lt;br /&gt;
|-&lt;br /&gt;
|  dd/mm/aaaa  ||                 ||  Análise e Aprovação da Arquitetura&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Informações Gerais==&lt;br /&gt;
{| &lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;width:150px; text-align:left;&amp;quot; | '''Cliente:''' &lt;br /&gt;
| style=&amp;quot;width:300px; text-align:left;&amp;quot; | ''Rio Mix''&lt;br /&gt;
| style=&amp;quot;width:150px; text-align:left;&amp;quot; | '''Projeto:'''  &lt;br /&gt;
| style=&amp;quot;width:300px; text-align:left;&amp;quot; | ''Rio Mix''&lt;br /&gt;
|- &lt;br /&gt;
| | '''Gerente/Sponsor:'''&lt;br /&gt;
| | ''Dolavale''&lt;br /&gt;
| | '''Gerente SoftSite:'''&lt;br /&gt;
|  | ''Liliana Carrha''&lt;br /&gt;
|- &lt;br /&gt;
| | '''Analista SoftSite:'''&lt;br /&gt;
| | ''Anderson Gomes''&lt;br /&gt;
| | '''Arquiteto SoftSite:'''&lt;br /&gt;
| | ''Jefferson Quesado''&lt;br /&gt;
|- &lt;br /&gt;
| | '''Aplicação(s):'''&lt;br /&gt;
| | ''Mobile-GS''&lt;br /&gt;
| | &lt;br /&gt;
| | &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Necessidade==&lt;br /&gt;
''Durante a alteração/cadastro de informações de cliente no GeoSales (Mobile e Portal) ser possível após a inserção de um determinado CEP que o sistema preencha os dados do endereço de forma automática caso existam informações para o CEP. e essas informações serem atualizadas no Protheus. Também é preciso que o sistema atualize as informações de endereço baseado no CEP.''&lt;br /&gt;
&lt;br /&gt;
==Exemplo==&lt;br /&gt;
''O vendedor cadastrará um novo cliente, ao digitar o CEP o GeoSales deverá trazer as informações do endereço. Além de incluir um novo cliente, também deverá ser possível alterar o cadastro de um cliente já existente.''&lt;br /&gt;
&lt;br /&gt;
==Solução==&lt;br /&gt;
''Ao digitar o CEP no GeoSales e clicar em um botão de pesquisa de endereço, na inclusão ou alteração de um cliente, o sistema deve buscar o endereço através do CEP digitado. Os seguintes campos devem ser preenchidos: endereço, bairro, cidade e estado. Esses campos devem permanecer editáveis, pois se o vendedor não possuir conexão ativa com a rede de dados, o sistema deve permitir que o usuário digite manualmente. Além disso, o usuário precisará digitar também as informações complementares, como número, bloco e etc.''&lt;br /&gt;
&lt;br /&gt;
As informações serão buscadas de um Web Service da SoftSite que buscará as informações de outros provedores desse serviço, cujo a SoftSite não pode garantir seu funcionamento, pois trata-se de um serviço de terceiro.''&lt;br /&gt;
&lt;br /&gt;
Para acessar o Web Service o sistema GeoSales deve mandar na requisição o nome da empresa/usuário/senha para se autenticar. Devido a isso o sistema deverá ter comunicação com a base de dados que contém essas informações. &lt;br /&gt;
&lt;br /&gt;
Para cada empresa existirá um limite mensal de requisições, definido por configuração. Entretanto, a cada requisição a resposta é salva na base durante um intervalo de tempo que garanta a validade da informação, definido por configuração. Caso o dado (CEP) consultado conste nessa base não será contado como requisição.&lt;br /&gt;
&lt;br /&gt;
==Criação de Estruturas de Banco==&lt;br /&gt;
&lt;br /&gt;
Deverá ser criado um novo banco de dados específico para o Web Service. Ele terá as seguintes estruturas para controlar as requisições e para salvar os endereços pesquisados a fim de otimizar as consultas mais frequentes.&lt;br /&gt;
&lt;br /&gt;
*ENDERECO&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! NOME DO CAMPO !! TIPO !! ANULÁVEL !! CHAVE !! AUTO INCREMENT  &lt;br /&gt;
|-&lt;br /&gt;
| CD_ENDERECO  || INT || NOT NULL || TRUE || TRUE&lt;br /&gt;
|-&lt;br /&gt;
| CEP || VARCHAR(8) || NOT NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| ESTADO || VARCHAR(2) || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| CIDADE || VARCHAR(50) || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| DS_ENDERECO || VARCHAR(70) || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| BAIRRO || VARCHAR(40) || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| DT_VALIDADE || DATETIME || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*EMPRESA_UTILIZACAO&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! NOME DO CAMPO !! TIPO !! ANULÁVEL !! CHAVE !! AUTO INCREMENT  &lt;br /&gt;
|-&lt;br /&gt;
| CD_EMPRESA_UTILIZACAO  || INT || NOT NULL || TRUE || TRUE&lt;br /&gt;
|-&lt;br /&gt;
| NM_EMPRESA  || VARCHAR(55) || NOT NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| COMPETENCIA  || VARCHAR(7) || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| CONTADOR  || INT || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'' A solução deve ser implementada para permitir que a mudança da origem de busca das informações seja de simples alteração.''&lt;br /&gt;
&lt;br /&gt;
==Pré-Requisitos==&lt;br /&gt;
*''Para que essa customização funcione é preciso que a conexão de rede de dados esteja ativa no dispositivo do usuário e que o serviço utilizado para consultas as informações do endereço esteja funcionando.''&lt;br /&gt;
&lt;br /&gt;
==Regras de Negócios==&lt;br /&gt;
*Para a validação do CEP as seguintes regras devem ser analisadas&lt;br /&gt;
**O CEP deve ter 8 caracteres&lt;br /&gt;
**O CEP deve conter somente números&lt;br /&gt;
&lt;br /&gt;
==Regras de Exceções==&lt;br /&gt;
*O Web Service retornará o JSON {&amp;quot;erro&amp;quot;: &amp;quot;true&amp;quot;} quando um CEP analisado não foi encontrado na análise;&lt;br /&gt;
*Para o erro de limite de requisições será retornado o erro 403;&lt;br /&gt;
&lt;br /&gt;
==Protótipos==&lt;br /&gt;
''Inclua protótipos que facilite a visualização da funcionalidade. (Quando se aplicam)''&lt;br /&gt;
&lt;br /&gt;
==Cenários==&lt;br /&gt;
''Inclua os cenários deseja atingir, a começar pelo caminho feliz.''&lt;br /&gt;
&lt;br /&gt;
===Cenário Happy Day===&lt;br /&gt;
''Usuário edita o endereço de um cliente já cadastrado''&lt;br /&gt;
&lt;br /&gt;
====Dados====&lt;br /&gt;
#Cliente: João&lt;br /&gt;
#Usuário: Pedro&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
#Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes; &lt;br /&gt;
#Pedro preenche o campo CEP da aba &amp;quot;Clien. Cont.&amp;quot; com o CEP atual(60813670) e clica no botão de pesquisar endereço;&lt;br /&gt;
&lt;br /&gt;
====Assertiva====&lt;br /&gt;
#O sistema GeoSales valida se o CEP é válido&lt;br /&gt;
#O sistema GeoSales faz uma consulta no web service pelos dados do CEP informado;&lt;br /&gt;
#O web service retorna os dados do endereço do CEP escolhido;&lt;br /&gt;
#O sistema GeoSales interpreta as informações retornadas e atualiza os campos correspondentes&lt;br /&gt;
&lt;br /&gt;
===Cenário de Fluxo de Exceção===&lt;br /&gt;
''CEP inválido''&lt;br /&gt;
&lt;br /&gt;
====Dados====&lt;br /&gt;
#Cliente: João&lt;br /&gt;
#Usuário: Pedro&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
#Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes; &lt;br /&gt;
#Pedro preenche o campo CEP da aba &amp;quot;Clien. Cont.&amp;quot; com o CEP atual (00000) e clica no botão de pesquisar endereço;&lt;br /&gt;
&lt;br /&gt;
====Assertiva====&lt;br /&gt;
#O sistema geosales valida se o CEP é válido&lt;br /&gt;
#O sistema geosales manda a mensagem que o CEP digitado é inválido e não preenche os dados do endereço;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Cenário de Fluxo de Exceção===&lt;br /&gt;
''CEP não existente na base de dados''&lt;br /&gt;
&lt;br /&gt;
====Dados====&lt;br /&gt;
#Cliente: João&lt;br /&gt;
#Usuário: Pedro&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
#Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes;&lt;br /&gt;
#Pedro preenche o campo CEP da aba &amp;quot;Clien. Cont.&amp;quot; com o CEP atual (99999000) e clica no botão de pesquisar endereço;&lt;br /&gt;
&lt;br /&gt;
====Assertiva====&lt;br /&gt;
#O sistema geosales valida se o CEP é válido;&lt;br /&gt;
#O sistema geosales faz uma consulta no serviço dos correios pelos dados do CEP informado;&lt;br /&gt;
#O serviço dos correios retorna que o CEP escolhido não consta na sua base de dados mandando o json de retorno da seguinte forma {&amp;quot;erro&amp;quot;: &amp;quot;true&amp;quot;};&lt;br /&gt;
#O sistema geosales manda a mensagem que o CEP digitado é não consta na base de dados pesquisada e não preenche os dados do endereço;&lt;br /&gt;
&lt;br /&gt;
===Cenário de Fluxo de Exceção===&lt;br /&gt;
''Serviço de consulta de informações não está funcionando''&lt;br /&gt;
&lt;br /&gt;
====Dados====&lt;br /&gt;
#Cliente: João&lt;br /&gt;
#Usuário: Pedro&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
#Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes; &lt;br /&gt;
#Pedro preenche o campo CEP da aba &amp;quot;Clien. Cont.&amp;quot; com o CEP atual (60813670) e clica no botão de pesquisar endereço;&lt;br /&gt;
&lt;br /&gt;
====Assertiva====&lt;br /&gt;
#O sistema geosales valida se o CEP é válido;&lt;br /&gt;
#O sistema geosales faz uma consulta no web service pelos dados do CEP informado;&lt;br /&gt;
#O web service não envia resposta dentro do tempo limite estipulado ou retorna erro 404 &lt;br /&gt;
#O sistema geosales manda a mensagem que o serviço está indisponível no momento;&lt;br /&gt;
&lt;br /&gt;
===Cenário de Fluxo de Exceção===&lt;br /&gt;
''Limite de requisições alcançado''&lt;br /&gt;
&lt;br /&gt;
====Dados====&lt;br /&gt;
#Cliente: João&lt;br /&gt;
#Usuário: Pedro&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
#Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes; &lt;br /&gt;
#Pedro preenche o campo CEP da aba &amp;quot;Clien. Cont.&amp;quot; com o CEP atual (60813670) e clica no botão de pesquisar endereço;&lt;br /&gt;
&lt;br /&gt;
====Assertiva====&lt;br /&gt;
#O sistema geosales valida se o CEP é válido;&lt;br /&gt;
#O sistema geosales faz uma consulta no web service pelos dados do CEP informado;&lt;br /&gt;
#O web service verifica o contador de requisições da empresa solicitante e verifica que o limite foi alcançado e retorna o código de erro 403.&lt;br /&gt;
#O sistema geosales manda a mensagem que o limite de requisições foi alcançado;&lt;br /&gt;
&lt;br /&gt;
==Aprovação==&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;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! E-Mail&lt;br /&gt;
! Data&lt;br /&gt;
! style=&amp;quot;width:300px&amp;quot; |Assinatura&lt;br /&gt;
|- &lt;br /&gt;
| '''''Tecnologia da Informação''''' &lt;br /&gt;
| ''Nome do Aprovador''&lt;br /&gt;
| ''Email do Aprovador''  &lt;br /&gt;
| ''Data da Aprovação''  &lt;br /&gt;
| ''Assinatura do Aprovador''&lt;br /&gt;
|- &lt;br /&gt;
| '''''Comercial''''' &lt;br /&gt;
| ''Nome do Aprovador''&lt;br /&gt;
| ''Email do Aprovador''  &lt;br /&gt;
| ''Data da Aprovação''  &lt;br /&gt;
| ''Assinatura do Aprovador''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Funcionalidade]]&lt;/div&gt;</summary>
		<author><name>Leonardo</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Informa%C3%A7%C3%B5es_de_endere%C3%A7o_por_CEP&amp;diff=2783</id>
		<title>Informações de endereço por CEP</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Informa%C3%A7%C3%B5es_de_endere%C3%A7o_por_CEP&amp;diff=2783"/>
		<updated>2017-02-07T13:02:13Z</updated>

		<summary type="html">&lt;p&gt;Leonardo: /* Solução */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{|&lt;br /&gt;
|- &lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;width:100%; text-align:right;&amp;quot; | [[Arquivo:Logo geosales.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Histórico de Revisões ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data !! Revisor !! Comentário &lt;br /&gt;
|-&lt;br /&gt;
|  01/02/2017  ||  Anderson Gomes ||  Criação do Documento&lt;br /&gt;
|-&lt;br /&gt;
|  06/02/2017  ||  Leonardo Sousa ||  Solicitação de correção&lt;br /&gt;
|-&lt;br /&gt;
|  dd/mm/aaaa  ||                 ||  Análise e Aprovação da Arquitetura&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Informações Gerais==&lt;br /&gt;
{| &lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;width:150px; text-align:left;&amp;quot; | '''Cliente:''' &lt;br /&gt;
| style=&amp;quot;width:300px; text-align:left;&amp;quot; | ''Rio Mix''&lt;br /&gt;
| style=&amp;quot;width:150px; text-align:left;&amp;quot; | '''Projeto:'''  &lt;br /&gt;
| style=&amp;quot;width:300px; text-align:left;&amp;quot; | ''Rio Mix''&lt;br /&gt;
|- &lt;br /&gt;
| | '''Gerente/Sponsor:'''&lt;br /&gt;
| | ''Dolavale''&lt;br /&gt;
| | '''Gerente SoftSite:'''&lt;br /&gt;
|  | ''Liliana Carrha''&lt;br /&gt;
|- &lt;br /&gt;
| | '''Analista SoftSite:'''&lt;br /&gt;
| | ''Anderson Gomes''&lt;br /&gt;
| | '''Arquiteto SoftSite:'''&lt;br /&gt;
| | ''Jefferson Quesado''&lt;br /&gt;
|- &lt;br /&gt;
| | '''Aplicação(s):'''&lt;br /&gt;
| | ''Mobile-GS''&lt;br /&gt;
| | &lt;br /&gt;
| | &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Necessidade==&lt;br /&gt;
''Durante a alteração/cadastro de informações de cliente no GeoSales (Mobile e Portal) ser possível após a inserção de um determinado CEP que o sistema preencha os dados do endereço de forma automática caso existam informações para o CEP. e essas informações serem atualizadas no Protheus. Também é preciso que o sistema atualize as informações de endereço baseado no CEP.''&lt;br /&gt;
&lt;br /&gt;
==Exemplo==&lt;br /&gt;
''O vendedor cadastrará um novo cliente, ao digitar o CEP o GeoSales deverá trazer as informações do endereço. Além de incluir um novo cliente, também deverá ser possível alterar o cadastro de um cliente já existente.''&lt;br /&gt;
&lt;br /&gt;
==Solução==&lt;br /&gt;
''Ao digitar o CEP no GeoSales e clicar em um botão de pesquisa de endereço, na inclusão ou alteração de um cliente, o sistema deve buscar o endereço através do CEP digitado. Os seguintes campos devem ser preenchidos: endereço, bairro, cidade e estado. Esses campos devem permanecer editáveis, pois se o vendedor não possuir conexão ativa com a rede de dados, o sistema deve permitir que o usuário digite manualmente. Além disso, o usuário precisará digitar também as informações complementares, como número, bloco e etc.''&lt;br /&gt;
&lt;br /&gt;
As informações serão buscadas de um Web Service da SoftSite que buscará as informações de outros provedores desse serviço, cujo a SoftSite não pode garantir seu funcionamento, pois trata-se de um serviço de terceiro.''&lt;br /&gt;
&lt;br /&gt;
Para acessar o Web Service o sistema GeoSales deve mandar na requisição o nome da empresa/usuário/senha para se autenticar. Devido a isso o sistema deverá ter comunicação com a base de dados que contém essas informações. &lt;br /&gt;
&lt;br /&gt;
Para cada empresa existirá um limite mensal de requisições, definido por configuração. Entretanto, a cada requisição a resposta é salva na base durante um intervalo de tempo que garanta a validade da informação, definido por configuração. Caso o dado (CEP) consultado conste nessa base não será contado como requisição.&lt;br /&gt;
&lt;br /&gt;
==Criação de Estruturas de Banco==&lt;br /&gt;
&lt;br /&gt;
Deverá ser criado um novo banco de dados específico para o Web Service. Ele terá as seguintes estruturas para controlar as requisições e para salvar os endereços pesquisados a fim de otimizar as consultas mais frequentes.&lt;br /&gt;
&lt;br /&gt;
*ENDERECO&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! NOME DO CAMPO !! TIPO !! ANULÁVEL !! CHAVE !! AUTO INCREMENT  &lt;br /&gt;
|-&lt;br /&gt;
| CD_ENDERECO  || INT || NOT NULL || TRUE || TRUE&lt;br /&gt;
|-&lt;br /&gt;
| CEP || VARCHAR(8) || NOT NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| ESTADO || VARCHAR(2) || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| CIDADE || VARCHAR(50) || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| DS_ENDERECO || VARCHAR(70) || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| BAIRRO || VARCHAR(40) || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| DT_VALIDADE || DATETIME || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*EMPRESA_UTILIZACAO&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! NOME DO CAMPO !! TIPO !! ANULÁVEL !! CHAVE !! AUTO INCREMENT  &lt;br /&gt;
|-&lt;br /&gt;
| CD_EMPRESA_UTILIZACAO  || INT || NOT NULL || TRUE || TRUE&lt;br /&gt;
|-&lt;br /&gt;
| NM_EMPRESA  || VARCHAR(55) || NOT NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| COMPETENCIA  || VARCHAR(7) || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
| CONTADOR  || INT || NULL || FALSE || FALSE&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'' A solução deve ser implementada para permitir que a mudança da origem de busca das informações seja de simples alteração.''&lt;br /&gt;
&lt;br /&gt;
==Pré-Requisitos==&lt;br /&gt;
*''Para que essa customização funcione é preciso que a conexão de rede de dados esteja ativa no dispositivo do usuário e que o serviço utilizado para consultas as informações do endereço esteja funcionando.''&lt;br /&gt;
&lt;br /&gt;
==Regras de Negócios==&lt;br /&gt;
*Para a validação do CEP as seguintes regras devem ser analisadas&lt;br /&gt;
**O CEP deve ter 8 caracteres&lt;br /&gt;
**O CEP deve conter somente números&lt;br /&gt;
&lt;br /&gt;
==Regras de Exceções==&lt;br /&gt;
*O Web Service retornará o JSON {&amp;quot;erro&amp;quot;: &amp;quot;true&amp;quot;} quando um CEP analisado não foi encontrado na análise;&lt;br /&gt;
*Para o erro de limite de requisições será retornado o erro 403;&lt;br /&gt;
&lt;br /&gt;
==Protótipos==&lt;br /&gt;
''Inclua protótipos que facilite a visualização da funcionalidade. (Quando se aplicam)''&lt;br /&gt;
&lt;br /&gt;
==Cenários==&lt;br /&gt;
''Inclua os cenários deseja atingir, a começar pelo caminho feliz.''&lt;br /&gt;
&lt;br /&gt;
===Cenário Happy Day===&lt;br /&gt;
''Usuário edita o endereço de um cliente já cadastrado''&lt;br /&gt;
&lt;br /&gt;
====Dados====&lt;br /&gt;
#Cliente: João&lt;br /&gt;
#Usuário: Pedro&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
#Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes; &lt;br /&gt;
#Pedro preenche o campo CEP da aba &amp;quot;Clien. Cont.&amp;quot; com o CEP atual(60813670) e clica no botão de pesquisar endereço;&lt;br /&gt;
&lt;br /&gt;
====Assertiva====&lt;br /&gt;
#O sistema geosales valida se o CEP é válido&lt;br /&gt;
#O sistema geosales faz uma consulta no web service pelos dados do CEP informado;&lt;br /&gt;
#O web service retorna os dados do endereço do CEP escolhido;&lt;br /&gt;
#O sistema geosales interpreta as informações retornadas e atualiza os campos correspondentes&lt;br /&gt;
&lt;br /&gt;
===Cenário de Fluxo de Exceção===&lt;br /&gt;
''CEP inválido''&lt;br /&gt;
&lt;br /&gt;
====Dados====&lt;br /&gt;
#Cliente: João&lt;br /&gt;
#Usuário: Pedro&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
#Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes; &lt;br /&gt;
#Pedro preenche o campo CEP da aba &amp;quot;Clien. Cont.&amp;quot; com o CEP atual (00000) e clica no botão de pesquisar endereço;&lt;br /&gt;
&lt;br /&gt;
====Assertiva====&lt;br /&gt;
#O sistema geosales valida se o CEP é válido&lt;br /&gt;
#O sistema geosales manda a mensagem que o CEP digitado é inválido e não preenche os dados do endereço;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Cenário de Fluxo de Exceção===&lt;br /&gt;
''CEP não existente na base de dados''&lt;br /&gt;
&lt;br /&gt;
====Dados====&lt;br /&gt;
#Cliente: João&lt;br /&gt;
#Usuário: Pedro&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
#Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes;&lt;br /&gt;
#Pedro preenche o campo CEP da aba &amp;quot;Clien. Cont.&amp;quot; com o CEP atual (99999000) e clica no botão de pesquisar endereço;&lt;br /&gt;
&lt;br /&gt;
====Assertiva====&lt;br /&gt;
#O sistema geosales valida se o CEP é válido;&lt;br /&gt;
#O sistema geosales faz uma consulta no serviço dos correios pelos dados do CEP informado;&lt;br /&gt;
#O serviço dos correios retorna que o CEP escolhido não consta na sua base de dados mandando o json de retorno da seguinte forma {&amp;quot;erro&amp;quot;: &amp;quot;true&amp;quot;};&lt;br /&gt;
#O sistema geosales manda a mensagem que o CEP digitado é não consta na base de dados pesquisada e não preenche os dados do endereço;&lt;br /&gt;
&lt;br /&gt;
===Cenário de Fluxo de Exceção===&lt;br /&gt;
''Serviço de consulta de informações não está funcionando''&lt;br /&gt;
&lt;br /&gt;
====Dados====&lt;br /&gt;
#Cliente: João&lt;br /&gt;
#Usuário: Pedro&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
#Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes; &lt;br /&gt;
#Pedro preenche o campo CEP da aba &amp;quot;Clien. Cont.&amp;quot; com o CEP atual (60813670) e clica no botão de pesquisar endereço;&lt;br /&gt;
&lt;br /&gt;
====Assertiva====&lt;br /&gt;
#O sistema geosales valida se o CEP é válido;&lt;br /&gt;
#O sistema geosales faz uma consulta no web service pelos dados do CEP informado;&lt;br /&gt;
#O web service não envia resposta dentro do tempo limite estipulado ou retorna erro 404 &lt;br /&gt;
#O sistema geosales manda a mensagem que o serviço está indisponível no momento;&lt;br /&gt;
&lt;br /&gt;
===Cenário de Fluxo de Exceção===&lt;br /&gt;
''Limite de requisições alcançado''&lt;br /&gt;
&lt;br /&gt;
====Dados====&lt;br /&gt;
#Cliente: João&lt;br /&gt;
#Usuário: Pedro&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
#Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes; &lt;br /&gt;
#Pedro preenche o campo CEP da aba &amp;quot;Clien. Cont.&amp;quot; com o CEP atual (60813670) e clica no botão de pesquisar endereço;&lt;br /&gt;
&lt;br /&gt;
====Assertiva====&lt;br /&gt;
#O sistema geosales valida se o CEP é válido;&lt;br /&gt;
#O sistema geosales faz uma consulta no web service pelos dados do CEP informado;&lt;br /&gt;
#O web service verifica o contador de requisições da empresa solicitante e verifica que o limite foi alcançado e retorna o código de erro 403.&lt;br /&gt;
#O sistema geosales manda a mensagem que o limite de requisições foi alcançado;&lt;br /&gt;
&lt;br /&gt;
==Aprovação==&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;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! E-Mail&lt;br /&gt;
! Data&lt;br /&gt;
! style=&amp;quot;width:300px&amp;quot; |Assinatura&lt;br /&gt;
|- &lt;br /&gt;
| '''''Tecnologia da Informação''''' &lt;br /&gt;
| ''Nome do Aprovador''&lt;br /&gt;
| ''Email do Aprovador''  &lt;br /&gt;
| ''Data da Aprovação''  &lt;br /&gt;
| ''Assinatura do Aprovador''&lt;br /&gt;
|- &lt;br /&gt;
| '''''Comercial''''' &lt;br /&gt;
| ''Nome do Aprovador''&lt;br /&gt;
| ''Email do Aprovador''  &lt;br /&gt;
| ''Data da Aprovação''  &lt;br /&gt;
| ''Assinatura do Aprovador''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Funcionalidade]]&lt;/div&gt;</summary>
		<author><name>Leonardo</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Discuss%C3%A3o:Complemento_de_saldo_de_conta_corrente&amp;diff=859</id>
		<title>Discussão:Complemento de saldo de conta corrente</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Discuss%C3%A3o:Complemento_de_saldo_de_conta_corrente&amp;diff=859"/>
		<updated>2016-11-01T12:37:30Z</updated>

		<summary type="html">&lt;p&gt;Leonardo: /* Solução */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
'''&lt;br /&gt;
Cliente precisa estabelecer um saldo complementar para o usuário que utilizará a conta corrente para aprovar pedidos de bonificação. Esse saldo precisa ser atualizado todo primeiro dia útil do mês.&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
== Solução ==&lt;br /&gt;
'''&lt;br /&gt;
*Criar um campo no cadastro da conta corrente para inserir o Saldo Complementar do Usuário&lt;br /&gt;
&lt;br /&gt;
*Criar rotina para complementar saldo da conta corrente no primeiro dia de cada mês&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A solução está voltada apenas para a necessidade da Camil.&lt;br /&gt;
&lt;br /&gt;
Precisa possibilitar parametrizar a periodicidade para está funcionalidade, permitir também múltiplas parametrização. &lt;br /&gt;
&lt;br /&gt;
A parte da rotina também precisa ser melhor descrita.&lt;br /&gt;
&lt;br /&gt;
== Cenários ==&lt;br /&gt;
&lt;br /&gt;
'''Cenário 1'''&lt;br /&gt;
&lt;br /&gt;
*Usuário João possui Saldo Complementar de 2000 e no dia 31/10/2016 ele possui um saldo de conta corrente de 1500, no dia 01/11/2016 será feito um lançamento complementar automático de 500,00&lt;br /&gt;
&lt;br /&gt;
'''Cenário 2'''&lt;br /&gt;
&lt;br /&gt;
*Usuário João possui Saldo complementar de 2000 e no dia 31/10/2016 ele possui zero de saldo de conta corrente, no dia 01/11/2016 será realizado um lançamento complementar automático de 2000 em sua conta corrente&lt;br /&gt;
&lt;br /&gt;
'''Cenário 3'''&lt;br /&gt;
&lt;br /&gt;
*Usuário João possui Saldo complementar de 2000 e no dia 31/10/2016 ele possui 2000 de saldo de conta corrente, no dia 01/11/2016 não será realizado saldo complementar pois seu saldo atual já é igual ao saldo complementar&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Leonardo</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=New_Sync_%22TamoJunto%22&amp;diff=832</id>
		<title>New Sync &quot;TamoJunto&quot;</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=New_Sync_%22TamoJunto%22&amp;diff=832"/>
		<updated>2016-10-27T21:03:27Z</updated>

		<summary type="html">&lt;p&gt;Leonardo: /* TamoJunto */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== TamoJunto ==&lt;br /&gt;
Marcação Horizontal &amp;lt;br&amp;gt;&lt;br /&gt;
Envio de dados em formato Json &amp;lt;br&amp;gt;&lt;br /&gt;
Otimização de escrita &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Leonardo</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=New_Sync_%22TamoJunto%22&amp;diff=831</id>
		<title>New Sync &quot;TamoJunto&quot;</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=New_Sync_%22TamoJunto%22&amp;diff=831"/>
		<updated>2016-10-27T21:02:40Z</updated>

		<summary type="html">&lt;p&gt;Leonardo: Criou página com ' == TamoJunto == Marcação Horizontal Envio de dados em formato Json Otimização de escrita'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== TamoJunto ==&lt;br /&gt;
Marcação Horizontal&lt;br /&gt;
Envio de dados em formato Json&lt;br /&gt;
Otimização de escrita&lt;/div&gt;</summary>
		<author><name>Leonardo</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Arquitetura&amp;diff=830</id>
		<title>Arquitetura</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Arquitetura&amp;diff=830"/>
		<updated>2016-10-27T21:01:51Z</updated>

		<summary type="html">&lt;p&gt;Leonardo: Criou página com 'New Sync &amp;quot;TamoJunto&amp;quot;'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[New Sync &amp;quot;TamoJunto&amp;quot;]]&lt;/div&gt;</summary>
		<author><name>Leonardo</name></author>
	</entry>
</feed>