<?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=Rodrigobastosv</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=Rodrigobastosv"/>
	<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php/Especial:Contribui%C3%A7%C3%B5es/Rodrigobastosv"/>
	<updated>2026-05-06T19:13:49Z</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=Relat%C3%B3rio_de_clientes_n%C3%A3o_positivados&amp;diff=10013</id>
		<title>Relatório de clientes não positivados</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Relat%C3%B3rio_de_clientes_n%C3%A3o_positivados&amp;diff=10013"/>
		<updated>2018-11-07T20:54:57Z</updated>

		<summary type="html">&lt;p&gt;Rodrigobastosv: /* GeoSales */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Histórico de Alterações ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data&lt;br /&gt;
! Quem &lt;br /&gt;
! Comentários &lt;br /&gt;
|-&lt;br /&gt;
|  07/11/2018  || Ana Júlia || Criação do documento &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
&lt;br /&gt;
Atualmente dentro do portal GeoSales, é disponibilizado um relatório de clientes não positivados, que é utilizado para visualizar os pedidos que os clientes retiraram em um determinado período de tempo. Neste relatório é permitido que sejam aplicados filtros, como: período, supervisor, vendedor, rota, grupo de cliente, cliente, organização de venda, família de produto e produto.&lt;br /&gt;
&lt;br /&gt;
A pesquisa de dados ocorre de acordo com os filtros selecionados, após a pesquisa sistema exibe o nome do cliente e o código do pedido da ultima compra feita. Porém alguns clientes estão inativos, e não retiram pedidos. Quando o usuário seleciona o campo 'pesquisar', o portal GeoSales apresenta os clientes e suas últimas compras realizadas.&lt;br /&gt;
&lt;br /&gt;
A busca de clientes não positivados, ou seja, clientes que não realizaram compras, acaba inflando a busca de informações de última compra. Esta inflação ocorre no relatório de clientes não positivados, devido a exibição de clientes ativos e inativos, já que não existe filtro para tal situação. &lt;br /&gt;
&lt;br /&gt;
No relatório de clientes não positivados, o sistema exibe somente o nome do cliente e o código do pedido. &lt;br /&gt;
&lt;br /&gt;
Além disso, as informações exibidas no relatório XLS, precisam ser filtradas e alteradas, porém atualmente o relatório não permite qualquer modificação.&lt;br /&gt;
&lt;br /&gt;
== Solução ==&lt;br /&gt;
&lt;br /&gt;
Para que o usuário consiga filtrar os clientes ativos e inativos no relatório de clientes não positivados, deverá ser criado um filtro para busca de clientes ativos, inativos e todos, desta forma será possível diminuir a inflação de dados. &lt;br /&gt;
&lt;br /&gt;
Para que o usuário tenha flexibilidade de utilização do sistema GeoSales, se faz necessário a adição do código do cliente no relatório de clientes não positivados.&lt;br /&gt;
&lt;br /&gt;
Atualmente no relatório de clientes não positivados, quando gerado em XLS não é possível filtrar ou modificar os dados disponibilizados, desta forma, se faz necessário a viabilidade de modificar e filtrar dados no relatório, para que o usuário consiga utilizar da melhor forma possível do relatório disponibilizado.&lt;br /&gt;
&lt;br /&gt;
== Implementação ==&lt;br /&gt;
&lt;br /&gt;
=== Desenvolvimento ===&lt;br /&gt;
&lt;br /&gt;
'''- Filtro de cliente ativo e inativo '''&lt;br /&gt;
&lt;br /&gt;
Para que seja possível filtrar clientes ativos ou inativos, se faz necessário a criação do campo 'Situação' na tela de 'Clientes não positivados'. &lt;br /&gt;
&lt;br /&gt;
O campo 'Situação' receberá os valores 'Ativo', 'Inativo' e 'Todos'. Atualmente na base da Lorenfer, a tabela de Cliente, o campo DS_SITUACAO recebe os valores '2' para inativo e 'NULL' para ativo, ficando a nomenclatura da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;6&amp;quot;  | NOMENCLATURA&lt;br /&gt;
|-&lt;br /&gt;
! |CAMPO PORTAL&lt;br /&gt;
! |SITUAÇÃO&lt;br /&gt;
! |SIGLA&lt;br /&gt;
! |TABELA GEOSALES&lt;br /&gt;
! |CAMPO GEOSALES&lt;br /&gt;
 &lt;br /&gt;
|- &lt;br /&gt;
| SITUAÇÃO|| ATIVO ||  NULL || CLIENTE || DS_SITUACAO&lt;br /&gt;
|-  &lt;br /&gt;
| SITUAÇÃO || INATIVO ||  2 || CLIENTE || DS_SITUACAO&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Quando selecionado o campo situação, o sistema exibirá um combox com as opções 'Ativo', 'Inativo' e 'Todos', desta forma possuiremos três cenários de utilização, seriam eles:&lt;br /&gt;
&lt;br /&gt;
#Se selecionado a opção 'Ativo' o sistema exibirá todos os clientes que estejam ativos, ou seja, com o valor NULL na tabela de CLIENTE no campo DS_SITUACAO. &lt;br /&gt;
#Se selecionado a opção 'Inativo', o sistema exibirá todos os clientes que estão inativos, ou seja, com o valor 2 na tabela de CLIENTE no campo DS_SITUACAO.&lt;br /&gt;
#Se selecionado a opção 'Todos', o sistema exibirá todos os clientes independente de estar ativo ou não.&lt;br /&gt;
&lt;br /&gt;
Saliento que as informações exibidas na tela e no relatório gerado, do relatório de clientes não positivados dependerá dos filtros aplicados. &lt;br /&gt;
&lt;br /&gt;
Por padrão, o campo 'Situação' da tela de 'Clientes não positivados', ficará com o valor 'Todos', podendo ser alterado pelo usuário.&lt;br /&gt;
&lt;br /&gt;
''' ''Atenção:'' '''Vale salientar, que qualquer valor enviado ao campo DS_SITUCAO o sistema considerará Inativo. Para que um cliente seja considerado ativo, o campo DS_SITUACAO deve vir com o valor NULL.&lt;br /&gt;
&lt;br /&gt;
'''- Exibição do código do cliente  '''&lt;br /&gt;
&lt;br /&gt;
Atualmente o sistema GeoSales não exibe o código do cliente na tela de 'Clientes não positivados' e no relatório extraído, sendo ele PRF ou XLS. Para que o usuário consiga ter uma melhor percepção dos clientes e os últimos pedidos tirados, se faz necessário a adição do campo 'código cliente' nos relatórios de clientes não positivados.&lt;br /&gt;
&lt;br /&gt;
Desta forma, o relatório ficará da seguinte maneira:&lt;br /&gt;
&lt;br /&gt;
'''XLS'''&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Relatorio clientes não positivados.JPG]]&lt;br /&gt;
&lt;br /&gt;
'''PDF'''&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Relatorio clientes não positivados pdf.png]]&lt;br /&gt;
&lt;br /&gt;
Os codigos dos clientes, deverão ser buscadas na tabela CLIENTE da coluna CD_CLIENTE.&lt;br /&gt;
&lt;br /&gt;
Saliento que a adição do campo 'código do cliente' só ocorrerá nos relatórios PDF e XLS, ou seja, na tela de 'Clientes não positivados', quando o usuário clicar em 'pesquisar', as informações exibidas continuaram as mesmas, sendo exibido somente o nome do cliente e a ultima compra, conforme já ocorre atualmente. Segue imagem abaixo demonstrando:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tela clientes positivados.PNG]]&lt;br /&gt;
&lt;br /&gt;
'''- Relatório XLS  '''&lt;br /&gt;
&lt;br /&gt;
Para que o usuário consiga ter uma maior utilização dos relatórios de clientes não positivados, disponibilizados no GeoSales, se faz necessário a utilização de filtros e modificação do relatório XLS, ou seja, quando um relatório de clientes não positivados for gerado em XLS, o usuário poderá modifica-lo e aplicar filtros. Desta forma o relatório se tornará prático&lt;br /&gt;
&lt;br /&gt;
== Regras de Negócios ==&lt;br /&gt;
&lt;br /&gt;
'''[RN1] - ''' A inserção do campo do codigo do cliente, ocorrerá somente nos relatórios PRF e XLS, ou seja, na tela de 'Clientes não positivados' não ocorrerá alteração.&lt;br /&gt;
&lt;br /&gt;
'''[RN2] - ''' O campo 'situação' que será adicionado na tela de 'clientes não positivados', como padrão receberá o valor 'todos', para que o usuário selecione a opção 'Ativo' ou 'Inativo', deverá precisar o campo para que seja exibido a lista de opções a serem selecionadas.&lt;br /&gt;
&lt;br /&gt;
== Aprovação ==&lt;br /&gt;
&lt;br /&gt;
Considero aprovada a documentação da funcionalidade especificada acima, e autorizo a implementação da mesma no Sistema GeoSales, em nome da Organização a qual estou vinculado. &lt;br /&gt;
&lt;br /&gt;
=== GeoSales ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Desenvolvimento - GeoSales || Rodrigo Bastos || 07/11/2018&lt;br /&gt;
|- &lt;br /&gt;
| Integração - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
| Configurações - GeoSales || Pessoa que aprovou || 00/00/0000&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Empresa solicitante === &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
! Assinatura&lt;br /&gt;
|-&lt;br /&gt;
| Gerente TI - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente de Projeto - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente Comercial - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Rodrigobastosv</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Geosales_Nuportal&amp;diff=8178</id>
		<title>Geosales Nuportal</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Geosales_Nuportal&amp;diff=8178"/>
		<updated>2018-06-26T16:47:24Z</updated>

		<summary type="html">&lt;p&gt;Rodrigobastosv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[[Documentações]]&lt;br /&gt;
*[[Documento Modelo]]&lt;br /&gt;
*[[Como criar Menus e Módulos]]&lt;br /&gt;
*[[Manual de criação de documentos]]&lt;/div&gt;</summary>
		<author><name>Rodrigobastosv</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Scritps_%C3%9Ateis&amp;diff=5478</id>
		<title>Scritps Úteis</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Scritps_%C3%9Ateis&amp;diff=5478"/>
		<updated>2017-11-13T16:57:07Z</updated>

		<summary type="html">&lt;p&gt;Rodrigobastosv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[[Scrips Tabelas Web Service NOVO|Scrips Tabelas Web Service NOVO]]&lt;br /&gt;
&lt;br /&gt;
:*Saber quais os processos estão bloqueado outros e não estão sendo bloqueados&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select db_name(dbid), *&lt;br /&gt;
from sys.sysprocesses&lt;br /&gt;
where spid in (&lt;br /&gt;
     select blocked&lt;br /&gt;
      from sys.sysprocesses&lt;br /&gt;
     where blocked &amp;gt; 0)&lt;br /&gt;
      and blocked = 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Detalhar um processo &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
EXEC sp_who2 252&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
:* Ver a query que está sendo executada por um processo (Parâmetro spid)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DBCC INPUTBUFFER(6001)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Checar qual versão determinado vendedor tá usando&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select cd_usuario,&lt;br /&gt;
       substring(ds_log, CHARINDEX('@', ds_log) + 1, charindex(':', ds_log, CHARINDEX('@', ds_log) + 1) - CHARINDEX('@', ds_log) - 1)&lt;br /&gt;
from LOG_SINCRONISMO with(nolock) &lt;br /&gt;
order by 2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Descobrir exatamente qual script está sendo executado no momento dado um processo qualquer&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DECLARE @comandoSQL VARCHAR(8000)&lt;br /&gt;
SET @comandoSQL = (SELECT CAST([TEXT] AS VARCHAR(8000))&lt;br /&gt;
FROM ::fn_get_sql((SELECT [sql_handle] FROM sysprocesses where spid = 1071)))&lt;br /&gt;
select @comandoSQL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Descobrir exatamente qual script está sendo executado no momento dado um processo qualquer quando existem mais de um script sendo executado&lt;br /&gt;
em background para o spid passado&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DECLARE @comandoSQL VARCHAR(8000)&lt;br /&gt;
DECLARE @tableComandoSQL TABLE (comando VARCHAR(8000))&lt;br /&gt;
--SET @comandoSQL = (SELECT CAST([TEXT] AS VARCHAR(8000))&lt;br /&gt;
--FROM ::fn_get_sql((SELECT [sql_handle] FROM sysprocesses where spid = 1071)))&lt;br /&gt;
--select @comandoSQL&lt;br /&gt;
INSERT INTO @tableComandoSQL SELECT CAST([TEXT] AS VARCHAR(8000))&lt;br /&gt;
FROM ::fn_get_sql((SELECT top 1 [sql_handle] FROM sys.sysprocesses where spid = 1071))&lt;br /&gt;
SELECT * FROM @tableComandoSQL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Listar agendamentos de importações de todas as empresas num único script (Caso você queira adicionar mais empresas só seguir o modelo)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select 'bd_ssm_DCA', * from bd_ssm_DCA..CONFIGURACAO_GERA_REGISTRO_AUTO&lt;br /&gt;
union all&lt;br /&gt;
select 'bd_ssm_CAMIL', * from bd_ssm_CAMIL..CONFIGURACAO_GERA_REGISTRO_AUTO&lt;br /&gt;
union all&lt;br /&gt;
select 'bd_ssm_BEVILAQUA', * from bd_ssm_BEVILAQUA..CONFIGURACAO_GERA_REGISTRO_AUTO&lt;br /&gt;
union all&lt;br /&gt;
select 'bd_ssm_GUARAVES', * from bd_ssm_GUARAVES..CONFIGURACAO_GERA_REGISTRO_AUTO&lt;br /&gt;
union all&lt;br /&gt;
select 'bd_ssm_PAULUS', * from bd_ssm_PAULUS..CONFIGURACAO_GERA_REGISTRO_AUTO&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Ver todas as bases que utilizam a geração de registro automático&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sp_update_databases &lt;br /&gt;
'&lt;br /&gt;
insert into ##tabela&lt;br /&gt;
select db_name(),* from CONFIGURACAO_GERA_REGISTRO_AUTO', 'org_venda_cliente'&lt;br /&gt;
&amp;lt;/pre&lt;br /&gt;
&lt;br /&gt;
*Update com select e join:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UPDATE PEDIDO SET PEDIDO.NM_CLIENTE = (C.NM_CLIENTE)&lt;br /&gt;
from PEDIDO&lt;br /&gt;
inner join CLIENTE C on &lt;br /&gt;
PEDIDO.CD_CLIENTE = C.CD_CLIENTE&lt;br /&gt;
WHERE PEDIDO.DT_EMISSAO &amp;gt;= '2016-10-01' AND PEDIDO.NM_CLIENTE IS NULL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Atualizar Nome da Tabela&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
EXEC sp_rename 'ITEM_PEDIDO_REMESSA_FUTURA', 'ITEM_PED_REMESSA_FUTURA';&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Remover Foreign Keys&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ALTER TABLE Orders DROP CONSTRAINT fk_PerOrders&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ALTER TABLE ITEM_PEDIDO_EXCLUIDO DROP CONSTRAINT FK_SAV_ITEM__PEDIDO_PEDIDO_DEL; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Retornar consulta por banco de dados do tamanho usado no banco&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select 'Use '+name+';' + 'Exec SP_SpaceUsed ;'  from sys.databases&lt;br /&gt;
where  name like 'bd_ssm_%' and state_desc = 'online' and name not like '%prontaentrega%' &lt;br /&gt;
and name not like '%adm%'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Lista os Vendedores da Hierárquia do Supervisor passado no Parâmetro&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT cd_vendedor [Código], &lt;br /&gt;
       nm_vendedor [Vendedor]&lt;br /&gt;
FROM   fn_obter_vendedores_supervisor(#codigoSupervisor#)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Lista os Supervisores Acima da Hierárquia do Supervisor passado no Parâmetro, incluindo ele mesmo&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT S.cd_supervisor [Código], &lt;br /&gt;
       S.nm_supervisor [Supervisor] &lt;br /&gt;
FROM   fn_obter_supervisor_supervisores(#codigoSupervisor#) FOSS &lt;br /&gt;
       INNER JOIN SUPERVISOR S &lt;br /&gt;
               ON FOSS.cd_supervisor = S.cd_supervisor&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Lista os Supervisores Abaixo da Hierárquia do Supervisor passado no Parâmetro, incluindo ele mesmo&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT S.cd_supervisor [Código], &lt;br /&gt;
       S.nm_supervisor [Supervisor] &lt;br /&gt;
FROM   fn_obter_supervisores_supervisor(#codigoSupervisor#) FOSS &lt;br /&gt;
       INNER JOIN SUPERVISOR S &lt;br /&gt;
               ON FOSS.cd_supervisor = S.cd_supervisor&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Verificar processos que estão travando o banco e ver a query do processo que está travado&lt;br /&gt;
** Selecionar os 100 primeiros processos bloqueados no banco&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select TOP 100 *&lt;br /&gt;
from sys.sysprocesses&lt;br /&gt;
where blocked &amp;lt;&amp;gt; 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
:* Selecionar todos os processos bloqueados no banco ordenados por spid&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select spid, blocked, hostname=left(hostname,20), program_name=left(program_name,20),&lt;br /&gt;
       WaitTime_Seg = convert(int,(waittime/1000))  ,open_tran, status&lt;br /&gt;
From master.dbo.sysprocesses &lt;br /&gt;
where blocked &amp;gt; 0&lt;br /&gt;
order by spid&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Então você precisa verificar quais processos estão rodando em um determinado banco de dados:&lt;br /&gt;
** Lista todos os processos existentes em uma determinada base de dados&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DECLARE @database VARCHAR(100) = 'bd_ssm_suabase' -- INSIRA AQUI O NOME DO BANCO DE DADOS  &lt;br /&gt;
DECLARE @processosTemp TABLE &lt;br /&gt;
  ( &lt;br /&gt;
     spid       SMALLINT, &lt;br /&gt;
     ecid       SMALLINT, &lt;br /&gt;
     status     NCHAR(30), &lt;br /&gt;
     loginname  NCHAR(128), &lt;br /&gt;
     hostname   NCHAR(128), &lt;br /&gt;
     blk        CHAR(5), &lt;br /&gt;
     dbname     NCHAR(128), &lt;br /&gt;
     cmd        NCHAR(16), &lt;br /&gt;
     request_id INT &lt;br /&gt;
  ) &lt;br /&gt;
&lt;br /&gt;
INSERT INTO @processosTemp &lt;br /&gt;
EXEC Sp_who &lt;br /&gt;
&lt;br /&gt;
SELECT * &lt;br /&gt;
FROM   @processosTemp &lt;br /&gt;
WHERE  dbname = @database &lt;br /&gt;
ORDER  BY spid &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
:* Aí você precisa remover essa base - faça esse procedimento apenas no ambiente de teste - mas existem processos bloqueando essa remoção. Então você deverá remover os mesmos processos referentes a consulta acima, para depois DROPAR a base.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
declare @execSql varchar(1000), @databaseName varchar(100)  &lt;br /&gt;
set @databaseName = 'bd_ssm_suabase'  -- INSIRA O NOME DA BASE QUE QUER MATAR SEUS PROCESSOS EM ABERTO&lt;br /&gt;
&lt;br /&gt;
set @execSql = ''   &lt;br /&gt;
select  @execSql = @execSql + 'kill ' + convert(char(10), spid) + CHAR(13)+CHAR(10)  &lt;br /&gt;
from    master.dbo.sysprocesses  &lt;br /&gt;
where   db_name(dbid) = @databaseName  &lt;br /&gt;
     and  &lt;br /&gt;
     DBID &amp;lt;&amp;gt; 0  &lt;br /&gt;
     and  &lt;br /&gt;
     spid &amp;lt;&amp;gt; @@spid  &lt;br /&gt;
order by spid&lt;br /&gt;
exec(@execSql)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Script para verificar se exste alguma configuração para algum serviço de envio de e-mail ativado&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT * FROM CONFIGURACAO &lt;br /&gt;
WHERE DS_CHAVE = 'ENVIA_EMAIL_CLIENTE_PEDIDO_EXPORTADO'&lt;br /&gt;
&lt;br /&gt;
SELECT * FROM CONFIGURACAO &lt;br /&gt;
WHERE DS_CHAVE = 'ENVIA_EMAIL_CLIENTE_PEDIDO_NAO_EFETIVADO'&lt;br /&gt;
&lt;br /&gt;
SELECT * FROM CONFIGURACAO &lt;br /&gt;
WHERE DS_CHAVE = 'ENVIA_EMAIL_FINANC_NOVO_CLIENTE'&lt;br /&gt;
&lt;br /&gt;
SELECT * FROM CONFIGURACAO &lt;br /&gt;
WHERE DS_CHAVE = 'ENVIA_EMAIL_SUPERVISOR_PEDIDO_PENDENTE'&lt;br /&gt;
&lt;br /&gt;
SELECT * FROM CONFIGURACAO &lt;br /&gt;
WHERE DS_CHAVE = 'CONDICAO_PAGAMENTO_ESPECIAL'&lt;br /&gt;
&lt;br /&gt;
SELECT * FROM CONFIGURACAO &lt;br /&gt;
WHERE DS_CHAVE = 'SP_ENVIA_EMAIL_CLIENTE_PEDIDO_CRIACAO'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Script para ver todas as foreign keys do banco&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT &lt;br /&gt;
 KCU1.CONSTRAINT_NAME AS 'FK_Nome_Constraint'&lt;br /&gt;
 , KCU1.TABLE_NAME AS 'FK_Nome_Tabela'&lt;br /&gt;
 , KCU1.COLUMN_NAME AS 'FK_Nome_Coluna'&lt;br /&gt;
 , FK.is_disabled AS 'FK_Esta_Desativada'&lt;br /&gt;
 , KCU2.CONSTRAINT_NAME AS 'PK_Nome_Constraint_Referenciada'&lt;br /&gt;
 , KCU2.TABLE_NAME AS 'PK_Nome_Tabela_Referenciada'&lt;br /&gt;
 , KCU2.COLUMN_NAME AS 'PK_Nome_Coluna_Referenciada'&lt;br /&gt;
FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS RC&lt;br /&gt;
JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE KCU1&lt;br /&gt;
ON KCU1.CONSTRAINT_CATALOG = RC.CONSTRAINT_CATALOG &lt;br /&gt;
 AND KCU1.CONSTRAINT_SCHEMA = RC.CONSTRAINT_SCHEMA&lt;br /&gt;
 AND KCU1.CONSTRAINT_NAME = RC.CONSTRAINT_NAME&lt;br /&gt;
JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE KCU2&lt;br /&gt;
ON KCU2.CONSTRAINT_CATALOG = RC.UNIQUE_CONSTRAINT_CATALOG &lt;br /&gt;
 AND KCU2.CONSTRAINT_SCHEMA = RC.UNIQUE_CONSTRAINT_SCHEMA&lt;br /&gt;
 AND KCU2.CONSTRAINT_NAME = RC.UNIQUE_CONSTRAINT_NAME&lt;br /&gt;
 AND KCU2.ORDINAL_POSITION = KCU1.ORDINAL_POSITION&lt;br /&gt;
JOIN sys.foreign_keys FK on FK.name = KCU1.CONSTRAINT_NAME&lt;br /&gt;
&lt;br /&gt;
--where KCU1.CONSTRAINT_NAME like '%FK_PEDIDO_EXCLUIDO__PEDIDO%'&lt;br /&gt;
Order by &lt;br /&gt;
KCU1.TABLE_NAME&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Script para Cadastro de Menu do Portal&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- SELECT * FROM MENU WHERE DS_MENU IN('Cadastro', 'Bonificação','Associada ao Pedido')&lt;br /&gt;
-- UPDATE MENU SET DS_URL = null WHERE CD_MENU = 130&lt;br /&gt;
-- SELECT * FROM MENU WHERE CD_MENU_PAI = 1&lt;br /&gt;
&lt;br /&gt;
-- INCLUSÃO DE MENU -- &lt;br /&gt;
DECLARE @dsMenu    VARCHAR(100), &lt;br /&gt;
        @dsMenuPai VARCHAR(100), &lt;br /&gt;
        @cdMenuPai INT &lt;br /&gt;
&lt;br /&gt;
SELECT @dsMenu = 'Parâmetros de Configuração', &lt;br /&gt;
       @dsMenuPai = 'Cadastro'&lt;br /&gt;
 &lt;br /&gt;
SELECT	@dsMenu = LTRIM(RTRIM(@dsMenu)),&lt;br /&gt;
		@dsMenuPai = LTRIM(RTRIM(@dsMenuPai))&lt;br /&gt;
&lt;br /&gt;
SET @cdMenuPai = (SELECT TOP 1 cd_menu &lt;br /&gt;
                  FROM   menu &lt;br /&gt;
                  WHERE  ds_menu = @dsMenuPai)&lt;br /&gt;
&lt;br /&gt;
IF ( @cdMenuPai IS NOT NULL ) &lt;br /&gt;
  BEGIN &lt;br /&gt;
      IF NOT EXISTS (SELECT 1 &lt;br /&gt;
                     FROM   menu &lt;br /&gt;
                     WHERE  ds_menu = @dsMenu &lt;br /&gt;
                            AND cd_menu_pai = @cdMenuPai) &lt;br /&gt;
        BEGIN &lt;br /&gt;
            INSERT INTO menu &lt;br /&gt;
                        (cd_menu, &lt;br /&gt;
                         ds_menu, &lt;br /&gt;
                         ds_url, &lt;br /&gt;
                         ds_param, &lt;br /&gt;
                         cd_menu_pai, &lt;br /&gt;
                         id_ativo) &lt;br /&gt;
            SELECT Max(Isnull(cd_menu, 0)) + 1, &lt;br /&gt;
                   @dsMenu, &lt;br /&gt;
                   @dsMenu, &lt;br /&gt;
                   NULL, &lt;br /&gt;
                   @cdMenuPai, &lt;br /&gt;
                   'S' &lt;br /&gt;
            FROM   menu &lt;br /&gt;
            &lt;br /&gt;
            PRINT '-----------------  MENU CADASTRADO COM SUCESSO  -----------------'&lt;br /&gt;
			PRINT 'FOI CADASTRADO O SUBMENU &amp;quot;'+ @dsMenu + '&amp;quot; NO MENU &amp;quot;'+ @dsMenuPai + '&amp;quot;!'&lt;br /&gt;
        END &lt;br /&gt;
        ELSE&lt;br /&gt;
        BEGIN&lt;br /&gt;
			PRINT '-----------------  FALHA AO CADASTRAR MENU  -----------------'&lt;br /&gt;
			PRINT 'JÁ EXISTE O SUBMENU &amp;quot;'+ @dsMenu + '&amp;quot; NO MENU &amp;quot;'+ @dsMenuPai + '&amp;quot;!'&lt;br /&gt;
        END&lt;br /&gt;
  END &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Conjunto de Selects para visualizar se há algum desconto sendo persistido na base do Mobile&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select  * from desconto_produto;&lt;br /&gt;
select * from DESCONTO_ORG_PRODUTO;&lt;br /&gt;
select * from DESCONTO_MEGAZORD;&lt;br /&gt;
select * from DESCONTO_ICMS_DIF;&lt;br /&gt;
select * from DESCONTO_CLIENTE_FORNEC;&lt;br /&gt;
select * from DESCONTO_CLIENTE;&lt;br /&gt;
select * from DESCONTO_FORNECEDOR;&lt;br /&gt;
select * from DESCONTO_MEGAZORD_SEGMENTO;&lt;br /&gt;
select * from DESCONTO_UF;&lt;br /&gt;
select  * from desco_cliente_familia;&lt;br /&gt;
select * from DESCO_GRUP_CLIEN_FAMIL;&lt;br /&gt;
select * from desconto_cliente;&lt;br /&gt;
select  * from DESCO_VENDEDOR_FAMILIA;&lt;br /&gt;
select * from DESCO_GRUP_CLIEN_FAMIL;&lt;br /&gt;
select * from DESCO_GRUP_CLIENT_VEND;&lt;br /&gt;
select * from DESCO_GRUPO_CLIEN_PROD;&lt;br /&gt;
select * from DESCONTO_VEND_PRODUTO;&lt;br /&gt;
select * from DESCONTO_UF_PRODUTO;&lt;br /&gt;
select * from DESCONTO_UF_FAMILIA;&lt;br /&gt;
&lt;br /&gt;
select * from DESCONTO_CLIENTE_PRODUT;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Select para contar os registros de uma tabela sem derrubar o banco&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT SUM (row_count)&lt;br /&gt;
FROM sys.dm_db_partition_stats&lt;br /&gt;
WHERE object_id=OBJECT_ID('log_alteracao_usuario')   &lt;br /&gt;
AND (index_id=0 or index_id=1);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Desabilitar as triggers de geração de registros &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select 'alter table '+ OBJECT_NAME(parent_id)+ ' disable trigger '+name from sys.triggers&lt;br /&gt;
where name like 'log%'&lt;br /&gt;
order by 1, name&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Habilitar as triggers de geração de registros &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select 'alter table '+ OBJECT_NAME(parent_id)+ ' enable trigger '+name from sys.triggers&lt;br /&gt;
where name like 'log%'&lt;br /&gt;
order by 1, name&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Consulta para ver os processos em execução no banco da camil&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select DB_NAME(dbid),* from sys.sysprocesses&lt;br /&gt;
where program_name like '%ssmicro%'&lt;br /&gt;
and status like '%run%'&lt;br /&gt;
&lt;br /&gt;
dbcc inputbuffer(61)&lt;br /&gt;
dbcc inputbuffer(65)&lt;br /&gt;
guarda essa consulta&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Listar todas as bases ativas criando um use bd_ssm_nomeempresa&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select 'Use '+name+';' from sys.databases&lt;br /&gt;
where  &lt;br /&gt;
	name like 'bd_ssm_%' &lt;br /&gt;
	and state_desc = 'online' &lt;br /&gt;
	and name not like '%prontaentrega%' &lt;br /&gt;
	and name not like '%adm%' &lt;br /&gt;
order by name asc;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Contar os registros da log_alteracao_usuario sem parar o banco de dados&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT SUM (row_count)&lt;br /&gt;
FROM sys.dm_db_partition_stats&lt;br /&gt;
WHERE object_id=OBJECT_ID('log_alteracao_usuario')   &lt;br /&gt;
AND (index_id=0 or index_id=1);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Truncar tabela de log&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
TRUNCATE TABLE LOG_ALTERACAO_USUARIO;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Usando a sys.databases de forma inteligente para economizar trabalho&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select 'use ' + name + '; select ' +name + ',* from CAMPO where cd_campo = 23;'&lt;br /&gt;
from sys.databases&lt;br /&gt;
where name like 'bd_ssm_%' and state_desc &amp;lt;&amp;gt; 'OFFLINE'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Listar todos os bancos de dados de empresa da softsite&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select name from sys.databases&lt;br /&gt;
where name like 'bd_ssm_%';&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Limpeza de cadastros do ADM&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT E.NM_EMPRESA, EB.DS_DATABASE, * FROM EMPRESA E &lt;br /&gt;
INNER JOIN EMPRESA_BD EB ON (E.CD_EMPRESA = EB.CD_EMPRESA)&lt;br /&gt;
INNER JOIN sys.sysdatabases SD ON (SD.name = EB.DS_DATABASE) &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT E.CD_EMPRESA, E.NM_EMPRESA, EB.DS_DATABASE, * FROM EMPRESA E &lt;br /&gt;
LEFT JOIN EMPRESA_BD EB ON (E.CD_EMPRESA = EB.CD_EMPRESA)&lt;br /&gt;
LEFT JOIN sys.sysdatabases SD ON (SD.name = EB.DS_DATABASE)&lt;br /&gt;
WHERE &lt;br /&gt;
	SD.name IS NULL	&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Tabelas que tem que ser analisadas&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
EMPRESA_SYNC_SISTEMA&lt;br /&gt;
EMPRESA_SYNC_BD&lt;br /&gt;
EMPRESA_SISTEMA&lt;br /&gt;
EMPRESA_BD&lt;br /&gt;
EMPRESA&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Deletes necessários para limpar as bases&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Na base ADM:&lt;br /&gt;
select * from empresa order by nm_empresa asc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DELETE FROM EMPRESA_SYNC_BD&lt;br /&gt;
WHERE CD_EMPRESA IN &lt;br /&gt;
(1129)&lt;br /&gt;
&lt;br /&gt;
DELETE FROM EMPRESA_BD&lt;br /&gt;
WHERE CD_EMPRESA IN &lt;br /&gt;
(1129)&lt;br /&gt;
&lt;br /&gt;
DELETE FROM EMPRESA_SYNC_SISTEMA&lt;br /&gt;
WHERE CD_EMPRESA IN &lt;br /&gt;
(1129)&lt;br /&gt;
&lt;br /&gt;
DELETE FROM EMPRESA_SISTEMA&lt;br /&gt;
WHERE CD_EMPRESA IN &lt;br /&gt;
(1129)&lt;br /&gt;
&lt;br /&gt;
DELETE FROM EMPRESA&lt;br /&gt;
WHERE CD_EMPRESA IN &lt;br /&gt;
(1129)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Verificar quantidade de conexões abertas por base utilizadas pelo portal&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select db_name(dbid), count(*)&lt;br /&gt;
from sys.sysprocesses&lt;br /&gt;
where 1=1&lt;br /&gt;
--and   db_name(dbid) = 'bd_ssm_criasim'&lt;br /&gt;
and program_name = 'jTDS'&lt;br /&gt;
group &lt;br /&gt;
by db_name(dbid)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Comando para gerar os drops das Triggers do claudus&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select ' drop trigger ', tr.name  from sys.sysobjects tr&lt;br /&gt;
inner join sys.sysobjects tb on tr.parent_obj = tb.id and tb.xtype = 'U'&lt;br /&gt;
where tr.xtype = 'tr'&lt;br /&gt;
and tr.name like 'TR_AUDIT%'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Remover empresas do import que não estão mais acessíveis na base&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
use bd_ssm_adm&lt;br /&gt;
&lt;br /&gt;
select  * &lt;br /&gt;
--update es set id_realiza_importacao&lt;br /&gt;
from EMPRESA_SISTEMA es&lt;br /&gt;
inner join empresa_bd bd on es.CD_EMPRESA = bd.CD_EMPRESA &lt;br /&gt;
left  join sys.databases d on d.name = bd.DS_DATABASE collate Latin1_General_CI_AS&lt;br /&gt;
where (d.name is null or d.snapshot_isolation_state_desc = 'OFF')&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Listar algo em todas as bases numa consulta só&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select 'select ''' + name + ''', *  from ' + name + '.dbo.INTERFACEERPCONFIGURACAOPARAMETRO where VR_PARAMETRO NOT LIKE ''%PEDIDO%ITEM_PEDIDO%'' UNION ALL'&lt;br /&gt;
from sys.databases&lt;br /&gt;
where name like 'bd_ssm_%' and state_desc &amp;lt;&amp;gt; 'OFFLINE' and (name not like '%pronta%' AND name not like 'bd_ssm_adm')&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Descobrindo as empresas que importam&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
update es set id_realiza_importacao&lt;br /&gt;
from EMPRESA_SISTEMA es&lt;br /&gt;
inner join empresa_bd bd on es.CD_EMPRESA = bd.CD_EMPRESA &lt;br /&gt;
left  join sys.databases d on d.name = bd.DS_DATABASE collate Latin1_General_CI_AS&lt;br /&gt;
where (d.name is null or d.snapshot_isolation_state_desc = 'OFF')&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*UPDATE para atualizar dados duplicados da tabela 001&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UPDATE LISTA_PRODUTO_001&lt;br /&gt;
SET data_delete = data_insert+('00:00:00.200')&lt;br /&gt;
where id in (&lt;br /&gt;
-2146273629,&lt;br /&gt;
-2146273628,&lt;br /&gt;
-2146273627,&lt;br /&gt;
-2146273626,&lt;br /&gt;
-2146273625,&lt;br /&gt;
-2146273624,&lt;br /&gt;
-2146273623,&lt;br /&gt;
-2146273622,&lt;br /&gt;
-2146273621)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Comando para concatenar dentro do group by &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
STUFF&lt;br /&gt;
&lt;br /&gt;
SELECT NM_ESTADO,&lt;br /&gt;
       NM_CIDADE,&lt;br /&gt;
       STUFF(&lt;br /&gt;
               (SELECT DISTINCT ',' + NM_FANTASIA&lt;br /&gt;
                FROM cliente&lt;br /&gt;
                WHERE NM_ESTADO = a.NM_ESTADO&lt;br /&gt;
                  AND NM_CIDADE = a.NM_CIDADE&lt;br /&gt;
                  FOR XML PATH ('')) , 1, 1, '') AS URLList&lt;br /&gt;
FROM cliente AS a&lt;br /&gt;
WHERE NM_ESTADO = 'CE'&lt;br /&gt;
  AND NM_CIDADE = 'fortaleza'&lt;br /&gt;
GROUP BY NM_ESTADO,&lt;br /&gt;
         NM_CIDADE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Template base pra criar o script de uma tabela NOVA pro TJ&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/* Criar a tabela TMP pra empresas que utilizam import */&lt;br /&gt;
CREATE TABLE [dbo].[DESCONTO_LOTE_OV_TP_TMP]&lt;br /&gt;
  ( &lt;br /&gt;
     CD_LOTE      int NOT NULL,  &lt;br /&gt;
     CD_ORG_VENDA VARCHAR(20) COLLATE SQL_LATIN1_GENERAL_CP1_CI_AI NOT NULL, &lt;br /&gt;
     CD_TAB_PRECO INT NOT NULL, &lt;br /&gt;
	 PR_DESCONTO  DECIMAL(18, 6) NOT NULL,&lt;br /&gt;
	CONSTRAINT [PK_DESCONTO_LOTE_OV_TP_TMP] PRIMARY KEY CLUSTERED (&lt;br /&gt;
		[CD_LOTE] ASC,&lt;br /&gt;
		[CD_ORG_VENDA] ASC,&lt;br /&gt;
		[CD_TAB_PRECO] ASC&lt;br /&gt;
	) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]&lt;br /&gt;
) ON [PRIMARY]&lt;br /&gt;
&lt;br /&gt;
/* Criar a tabela de LOG */&lt;br /&gt;
CREATE TABLE LOG_DESCONTO_LOTE_OV_TP&lt;br /&gt;
(&lt;br /&gt;
CD_LOG INT IDENTITY PRIMARY KEY&lt;br /&gt;
,DT_LOG DATETIME NOT NULL&lt;br /&gt;
,TP_OPERACAO VARCHAR(1) NOT NULL&lt;br /&gt;
,ID_KEY VARCHAR(200) NOT NULL&lt;br /&gt;
,CD_LOTE int&lt;br /&gt;
,CD_ORG_VENDA VARCHAR(20)&lt;br /&gt;
,CD_TAB_PRECO INT)&lt;br /&gt;
&lt;br /&gt;
/* Criar tabela 001 seguindo o padrão */&lt;br /&gt;
CREATE TABLE [dbo].[DESCONTO_LOTE_OV_TP_001]&lt;br /&gt;
  ( &lt;br /&gt;
     [id] [int] IDENTITY(-2147483648,1) NOT NULL,&lt;br /&gt;
     CD_LOTE      INT NOT NULL,  &lt;br /&gt;
     CD_ORG_VENDA VARCHAR(20) COLLATE SQL_LATIN1_GENERAL_CP1_CI_AI NOT NULL, &lt;br /&gt;
     CD_TAB_PRECO INT NOT NULL, &lt;br /&gt;
	 PR_DESCONTO  DECIMAL(18, 6) NOT NULL,&lt;br /&gt;
     [data_insert] [datetime] NOT NULL,&lt;br /&gt;
	 [data_update] [datetime] NULL,&lt;br /&gt;
	 [data_delete] [datetime] NULL,&lt;br /&gt;
PRIMARY KEY NONCLUSTERED &lt;br /&gt;
(&lt;br /&gt;
	[id] ASC&lt;br /&gt;
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]&lt;br /&gt;
) ON [PRIMARY]&lt;br /&gt;
&lt;br /&gt;
/* Adicionar constraint */&lt;br /&gt;
ALTER TABLE [dbo].[DESCONTO_LOTE_OV_TP_001] ADD  CONSTRAINT [DF_DATA_INSERCAO_DESCONTO]  DEFAULT (getdate()) FOR [data_insert]&lt;br /&gt;
&lt;br /&gt;
/* Criar trigger na tabela nova adicionando os campos necessários */&lt;br /&gt;
CREATE TRIGGER [dbo].[TR_TJ_UPDATE_DESCONTO_LOTE_OV_TP]&lt;br /&gt;
ON [dbo].[DESCONTO_LOTE_OV_TP_001]&lt;br /&gt;
instead OF UPDATE&lt;br /&gt;
AS&lt;br /&gt;
  BEGIN&lt;br /&gt;
      SET nocount ON;&lt;br /&gt;
&lt;br /&gt;
      UPDATE t&lt;br /&gt;
      SET    t.data_update = case when s.data_delete is null then  Getdate() else t.data_update end ,&lt;br /&gt;
             T.CD_LOTE = S.CD_LOTE,&lt;br /&gt;
			 T.CD_ORG_VENDA = S.CD_ORG_VENDA,&lt;br /&gt;
			 T.CD_TAB_PRECO = S.CD_TAB_PRECO,&lt;br /&gt;
			 T.PR_DESCONTO = S.PR_DESCONTO,&lt;br /&gt;
             t.data_delete = s.data_delete&lt;br /&gt;
      FROM   DESCONTO_LOTE_OV_TP_001 t&lt;br /&gt;
             INNER JOIN inserted s&lt;br /&gt;
                     ON ( t.id = s.id )&lt;br /&gt;
&lt;br /&gt;
  END&lt;br /&gt;
&lt;br /&gt;
/* Criar a view TJ */&lt;br /&gt;
CREATE VIEW [dbo].[DESCONTO_LOTE_OV_TP_TJ]&lt;br /&gt;
AS&lt;br /&gt;
  SELECT id,&lt;br /&gt;
         CD_LOTE, CD_ORG_VENDA, CD_TAB_PRECO, PR_DESCONTO&lt;br /&gt;
  FROM   DESCONTO_LOTE_OV_TP_001&lt;br /&gt;
  WHERE  data_delete IS NULL&lt;br /&gt;
&lt;br /&gt;
/* Criar Trigger da view */&lt;br /&gt;
CREATE TRIGGER [dbo].[TR_TJ_DELETE_DESCONTO_LOTE_OV_TP]&lt;br /&gt;
ON [dbo].[DESCONTO_LOTE_OV_TP_TJ]&lt;br /&gt;
instead OF DELETE&lt;br /&gt;
AS&lt;br /&gt;
  BEGIN&lt;br /&gt;
      SET nocount ON;&lt;br /&gt;
&lt;br /&gt;
      UPDATE t&lt;br /&gt;
      SET    data_delete = Getdate()&lt;br /&gt;
      FROM   deleted s&lt;br /&gt;
             INNER JOIN DESCONTO_LOTE_OV_TP_001 t&lt;br /&gt;
                     ON s.id = t.id&lt;br /&gt;
&lt;br /&gt;
  END&lt;br /&gt;
&lt;br /&gt;
/* Criar a view */&lt;br /&gt;
CREATE VIEW [dbo].[DESCONTO_LOTE_OV_TP]&lt;br /&gt;
AS&lt;br /&gt;
  SELECT CD_LOTE, CD_ORG_VENDA, CD_TAB_PRECO, PR_DESCONTO&lt;br /&gt;
  FROM   DESCONTO_LOTE_OV_TP_tj&lt;br /&gt;
&lt;br /&gt;
/* Criar a função de navegação */&lt;br /&gt;
CREATE FUNCTION fn_REGISTRO_SYNC_DESCONTO_LOTE_OV_TP(@ID_VENDEDOR  INT,&lt;br /&gt;
                                                           @DT_LAST_SINC DATETIME)&lt;br /&gt;
RETURNS TABLE&lt;br /&gt;
AS&lt;br /&gt;
    RETURN&lt;br /&gt;
      (SELECT	DLOT.id,&lt;br /&gt;
				DLOT.CD_LOTE,&lt;br /&gt;
				DLOT.CD_ORG_VENDA,&lt;br /&gt;
				DLOT.CD_TAB_PRECO,&lt;br /&gt;
				DLOT.PR_DESCONTO,&lt;br /&gt;
				DLOT.DATA_DELETE&lt;br /&gt;
        FROM   DESCONTO_LOTE_OV_TP_001 DLOT&lt;br /&gt;
		WHERE  &lt;br /&gt;
			(&lt;br /&gt;
				( &lt;br /&gt;
					( &lt;br /&gt;
						( DLOT.DATA_INSERT &amp;gt;= @DT_LAST_SINC&lt;br /&gt;
							OR DLOT.DATA_UPDATE &amp;gt;= @DT_LAST_SINC &lt;br /&gt;
						)&lt;br /&gt;
						AND DLOT.DATA_DELETE IS NULL &lt;br /&gt;
					)&lt;br /&gt;
					OR ( DLOT.DATA_DELETE &amp;gt;= @DT_LAST_SINC&lt;br /&gt;
							AND DLOT.DATA_INSERT &amp;lt; @DT_LAST_SINC&lt;br /&gt;
							AND NOT EXISTS(SELECT 1&lt;br /&gt;
											FROM   DESCONTO_LOTE_OV_TP_001 T&lt;br /&gt;
											WHERE  DLOT.CD_LOTE = T.CD_LOTE&lt;br /&gt;
											AND DLOT.CD_ORG_VENDA = T.CD_ORG_VENDA&lt;br /&gt;
											AND DLOT.CD_TAB_PRECO = T.CD_TAB_PRECO&lt;br /&gt;
												AND T.DATA_DELETE IS NULL&lt;br /&gt;
											)&lt;br /&gt;
					)&lt;br /&gt;
					OR ( &lt;br /&gt;
						@DT_LAST_SINC IS NULL&lt;br /&gt;
						AND DLOT.DATA_DELETE IS NULL&lt;br /&gt;
					)&lt;br /&gt;
				) &lt;br /&gt;
			)&lt;br /&gt;
		)&lt;br /&gt;
&lt;br /&gt;
/* Adicionando a função na tabela */&lt;br /&gt;
INSERT INTO TAMOJUNTO_TABELA_FUNCAO (NM_TABLE, NM_FN, FL_ATIVA) VALUES ('DESCONTO_LOTE_OV_TP', 'fn_REGISTRO_SYNC_DESCONTO_LOTE_OV_TP', 1)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Rodrigobastosv</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Scritps_%C3%9Ateis&amp;diff=5477</id>
		<title>Scritps Úteis</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Scritps_%C3%9Ateis&amp;diff=5477"/>
		<updated>2017-11-13T16:56:39Z</updated>

		<summary type="html">&lt;p&gt;Rodrigobastosv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[[Scrips Tabelas Web Service NOVO|Scrips Tabelas Web Service NOVO]]&lt;br /&gt;
&lt;br /&gt;
:*Saber quais os processos estão bloqueado outros e não estão sendo bloqueados&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select db_name(dbid), *&lt;br /&gt;
from sys.sysprocesses&lt;br /&gt;
where spid in (&lt;br /&gt;
     select blocked&lt;br /&gt;
      from sys.sysprocesses&lt;br /&gt;
     where blocked &amp;gt; 0)&lt;br /&gt;
      and blocked = 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Detalhar um processo &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
EXEC sp_who2 252&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
:* Ver a query que está sendo executada por um processo (Parâmetro spid)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DBCC INPUTBUFFER(6001)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Checar qual versão determinado vendedor tá usando&lt;br /&gt;
select cd_usuario,&lt;br /&gt;
       substring(ds_log, CHARINDEX('@', ds_log) + 1, charindex(':', ds_log, CHARINDEX('@', ds_log) + 1) - CHARINDEX('@', ds_log) - 1)&lt;br /&gt;
from LOG_SINCRONISMO with(nolock) &lt;br /&gt;
order by 2&lt;br /&gt;
&lt;br /&gt;
*Descobrir exatamente qual script está sendo executado no momento dado um processo qualquer&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DECLARE @comandoSQL VARCHAR(8000)&lt;br /&gt;
SET @comandoSQL = (SELECT CAST([TEXT] AS VARCHAR(8000))&lt;br /&gt;
FROM ::fn_get_sql((SELECT [sql_handle] FROM sysprocesses where spid = 1071)))&lt;br /&gt;
select @comandoSQL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Descobrir exatamente qual script está sendo executado no momento dado um processo qualquer quando existem mais de um script sendo executado&lt;br /&gt;
em background para o spid passado&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DECLARE @comandoSQL VARCHAR(8000)&lt;br /&gt;
DECLARE @tableComandoSQL TABLE (comando VARCHAR(8000))&lt;br /&gt;
--SET @comandoSQL = (SELECT CAST([TEXT] AS VARCHAR(8000))&lt;br /&gt;
--FROM ::fn_get_sql((SELECT [sql_handle] FROM sysprocesses where spid = 1071)))&lt;br /&gt;
--select @comandoSQL&lt;br /&gt;
INSERT INTO @tableComandoSQL SELECT CAST([TEXT] AS VARCHAR(8000))&lt;br /&gt;
FROM ::fn_get_sql((SELECT top 1 [sql_handle] FROM sys.sysprocesses where spid = 1071))&lt;br /&gt;
SELECT * FROM @tableComandoSQL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Listar agendamentos de importações de todas as empresas num único script (Caso você queira adicionar mais empresas só seguir o modelo)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select 'bd_ssm_DCA', * from bd_ssm_DCA..CONFIGURACAO_GERA_REGISTRO_AUTO&lt;br /&gt;
union all&lt;br /&gt;
select 'bd_ssm_CAMIL', * from bd_ssm_CAMIL..CONFIGURACAO_GERA_REGISTRO_AUTO&lt;br /&gt;
union all&lt;br /&gt;
select 'bd_ssm_BEVILAQUA', * from bd_ssm_BEVILAQUA..CONFIGURACAO_GERA_REGISTRO_AUTO&lt;br /&gt;
union all&lt;br /&gt;
select 'bd_ssm_GUARAVES', * from bd_ssm_GUARAVES..CONFIGURACAO_GERA_REGISTRO_AUTO&lt;br /&gt;
union all&lt;br /&gt;
select 'bd_ssm_PAULUS', * from bd_ssm_PAULUS..CONFIGURACAO_GERA_REGISTRO_AUTO&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Ver todas as bases que utilizam a geração de registro automático&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sp_update_databases &lt;br /&gt;
'&lt;br /&gt;
insert into ##tabela&lt;br /&gt;
select db_name(),* from CONFIGURACAO_GERA_REGISTRO_AUTO', 'org_venda_cliente'&lt;br /&gt;
&amp;lt;/pre&lt;br /&gt;
&lt;br /&gt;
*Update com select e join:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UPDATE PEDIDO SET PEDIDO.NM_CLIENTE = (C.NM_CLIENTE)&lt;br /&gt;
from PEDIDO&lt;br /&gt;
inner join CLIENTE C on &lt;br /&gt;
PEDIDO.CD_CLIENTE = C.CD_CLIENTE&lt;br /&gt;
WHERE PEDIDO.DT_EMISSAO &amp;gt;= '2016-10-01' AND PEDIDO.NM_CLIENTE IS NULL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Atualizar Nome da Tabela&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
EXEC sp_rename 'ITEM_PEDIDO_REMESSA_FUTURA', 'ITEM_PED_REMESSA_FUTURA';&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Remover Foreign Keys&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ALTER TABLE Orders DROP CONSTRAINT fk_PerOrders&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ALTER TABLE ITEM_PEDIDO_EXCLUIDO DROP CONSTRAINT FK_SAV_ITEM__PEDIDO_PEDIDO_DEL; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Retornar consulta por banco de dados do tamanho usado no banco&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select 'Use '+name+';' + 'Exec SP_SpaceUsed ;'  from sys.databases&lt;br /&gt;
where  name like 'bd_ssm_%' and state_desc = 'online' and name not like '%prontaentrega%' &lt;br /&gt;
and name not like '%adm%'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Lista os Vendedores da Hierárquia do Supervisor passado no Parâmetro&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT cd_vendedor [Código], &lt;br /&gt;
       nm_vendedor [Vendedor]&lt;br /&gt;
FROM   fn_obter_vendedores_supervisor(#codigoSupervisor#)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Lista os Supervisores Acima da Hierárquia do Supervisor passado no Parâmetro, incluindo ele mesmo&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT S.cd_supervisor [Código], &lt;br /&gt;
       S.nm_supervisor [Supervisor] &lt;br /&gt;
FROM   fn_obter_supervisor_supervisores(#codigoSupervisor#) FOSS &lt;br /&gt;
       INNER JOIN SUPERVISOR S &lt;br /&gt;
               ON FOSS.cd_supervisor = S.cd_supervisor&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Lista os Supervisores Abaixo da Hierárquia do Supervisor passado no Parâmetro, incluindo ele mesmo&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT S.cd_supervisor [Código], &lt;br /&gt;
       S.nm_supervisor [Supervisor] &lt;br /&gt;
FROM   fn_obter_supervisores_supervisor(#codigoSupervisor#) FOSS &lt;br /&gt;
       INNER JOIN SUPERVISOR S &lt;br /&gt;
               ON FOSS.cd_supervisor = S.cd_supervisor&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Verificar processos que estão travando o banco e ver a query do processo que está travado&lt;br /&gt;
** Selecionar os 100 primeiros processos bloqueados no banco&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select TOP 100 *&lt;br /&gt;
from sys.sysprocesses&lt;br /&gt;
where blocked &amp;lt;&amp;gt; 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
:* Selecionar todos os processos bloqueados no banco ordenados por spid&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select spid, blocked, hostname=left(hostname,20), program_name=left(program_name,20),&lt;br /&gt;
       WaitTime_Seg = convert(int,(waittime/1000))  ,open_tran, status&lt;br /&gt;
From master.dbo.sysprocesses &lt;br /&gt;
where blocked &amp;gt; 0&lt;br /&gt;
order by spid&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Então você precisa verificar quais processos estão rodando em um determinado banco de dados:&lt;br /&gt;
** Lista todos os processos existentes em uma determinada base de dados&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DECLARE @database VARCHAR(100) = 'bd_ssm_suabase' -- INSIRA AQUI O NOME DO BANCO DE DADOS  &lt;br /&gt;
DECLARE @processosTemp TABLE &lt;br /&gt;
  ( &lt;br /&gt;
     spid       SMALLINT, &lt;br /&gt;
     ecid       SMALLINT, &lt;br /&gt;
     status     NCHAR(30), &lt;br /&gt;
     loginname  NCHAR(128), &lt;br /&gt;
     hostname   NCHAR(128), &lt;br /&gt;
     blk        CHAR(5), &lt;br /&gt;
     dbname     NCHAR(128), &lt;br /&gt;
     cmd        NCHAR(16), &lt;br /&gt;
     request_id INT &lt;br /&gt;
  ) &lt;br /&gt;
&lt;br /&gt;
INSERT INTO @processosTemp &lt;br /&gt;
EXEC Sp_who &lt;br /&gt;
&lt;br /&gt;
SELECT * &lt;br /&gt;
FROM   @processosTemp &lt;br /&gt;
WHERE  dbname = @database &lt;br /&gt;
ORDER  BY spid &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
:* Aí você precisa remover essa base - faça esse procedimento apenas no ambiente de teste - mas existem processos bloqueando essa remoção. Então você deverá remover os mesmos processos referentes a consulta acima, para depois DROPAR a base.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
declare @execSql varchar(1000), @databaseName varchar(100)  &lt;br /&gt;
set @databaseName = 'bd_ssm_suabase'  -- INSIRA O NOME DA BASE QUE QUER MATAR SEUS PROCESSOS EM ABERTO&lt;br /&gt;
&lt;br /&gt;
set @execSql = ''   &lt;br /&gt;
select  @execSql = @execSql + 'kill ' + convert(char(10), spid) + CHAR(13)+CHAR(10)  &lt;br /&gt;
from    master.dbo.sysprocesses  &lt;br /&gt;
where   db_name(dbid) = @databaseName  &lt;br /&gt;
     and  &lt;br /&gt;
     DBID &amp;lt;&amp;gt; 0  &lt;br /&gt;
     and  &lt;br /&gt;
     spid &amp;lt;&amp;gt; @@spid  &lt;br /&gt;
order by spid&lt;br /&gt;
exec(@execSql)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Script para verificar se exste alguma configuração para algum serviço de envio de e-mail ativado&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT * FROM CONFIGURACAO &lt;br /&gt;
WHERE DS_CHAVE = 'ENVIA_EMAIL_CLIENTE_PEDIDO_EXPORTADO'&lt;br /&gt;
&lt;br /&gt;
SELECT * FROM CONFIGURACAO &lt;br /&gt;
WHERE DS_CHAVE = 'ENVIA_EMAIL_CLIENTE_PEDIDO_NAO_EFETIVADO'&lt;br /&gt;
&lt;br /&gt;
SELECT * FROM CONFIGURACAO &lt;br /&gt;
WHERE DS_CHAVE = 'ENVIA_EMAIL_FINANC_NOVO_CLIENTE'&lt;br /&gt;
&lt;br /&gt;
SELECT * FROM CONFIGURACAO &lt;br /&gt;
WHERE DS_CHAVE = 'ENVIA_EMAIL_SUPERVISOR_PEDIDO_PENDENTE'&lt;br /&gt;
&lt;br /&gt;
SELECT * FROM CONFIGURACAO &lt;br /&gt;
WHERE DS_CHAVE = 'CONDICAO_PAGAMENTO_ESPECIAL'&lt;br /&gt;
&lt;br /&gt;
SELECT * FROM CONFIGURACAO &lt;br /&gt;
WHERE DS_CHAVE = 'SP_ENVIA_EMAIL_CLIENTE_PEDIDO_CRIACAO'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Script para ver todas as foreign keys do banco&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT &lt;br /&gt;
 KCU1.CONSTRAINT_NAME AS 'FK_Nome_Constraint'&lt;br /&gt;
 , KCU1.TABLE_NAME AS 'FK_Nome_Tabela'&lt;br /&gt;
 , KCU1.COLUMN_NAME AS 'FK_Nome_Coluna'&lt;br /&gt;
 , FK.is_disabled AS 'FK_Esta_Desativada'&lt;br /&gt;
 , KCU2.CONSTRAINT_NAME AS 'PK_Nome_Constraint_Referenciada'&lt;br /&gt;
 , KCU2.TABLE_NAME AS 'PK_Nome_Tabela_Referenciada'&lt;br /&gt;
 , KCU2.COLUMN_NAME AS 'PK_Nome_Coluna_Referenciada'&lt;br /&gt;
FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS RC&lt;br /&gt;
JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE KCU1&lt;br /&gt;
ON KCU1.CONSTRAINT_CATALOG = RC.CONSTRAINT_CATALOG &lt;br /&gt;
 AND KCU1.CONSTRAINT_SCHEMA = RC.CONSTRAINT_SCHEMA&lt;br /&gt;
 AND KCU1.CONSTRAINT_NAME = RC.CONSTRAINT_NAME&lt;br /&gt;
JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE KCU2&lt;br /&gt;
ON KCU2.CONSTRAINT_CATALOG = RC.UNIQUE_CONSTRAINT_CATALOG &lt;br /&gt;
 AND KCU2.CONSTRAINT_SCHEMA = RC.UNIQUE_CONSTRAINT_SCHEMA&lt;br /&gt;
 AND KCU2.CONSTRAINT_NAME = RC.UNIQUE_CONSTRAINT_NAME&lt;br /&gt;
 AND KCU2.ORDINAL_POSITION = KCU1.ORDINAL_POSITION&lt;br /&gt;
JOIN sys.foreign_keys FK on FK.name = KCU1.CONSTRAINT_NAME&lt;br /&gt;
&lt;br /&gt;
--where KCU1.CONSTRAINT_NAME like '%FK_PEDIDO_EXCLUIDO__PEDIDO%'&lt;br /&gt;
Order by &lt;br /&gt;
KCU1.TABLE_NAME&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Script para Cadastro de Menu do Portal&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- SELECT * FROM MENU WHERE DS_MENU IN('Cadastro', 'Bonificação','Associada ao Pedido')&lt;br /&gt;
-- UPDATE MENU SET DS_URL = null WHERE CD_MENU = 130&lt;br /&gt;
-- SELECT * FROM MENU WHERE CD_MENU_PAI = 1&lt;br /&gt;
&lt;br /&gt;
-- INCLUSÃO DE MENU -- &lt;br /&gt;
DECLARE @dsMenu    VARCHAR(100), &lt;br /&gt;
        @dsMenuPai VARCHAR(100), &lt;br /&gt;
        @cdMenuPai INT &lt;br /&gt;
&lt;br /&gt;
SELECT @dsMenu = 'Parâmetros de Configuração', &lt;br /&gt;
       @dsMenuPai = 'Cadastro'&lt;br /&gt;
 &lt;br /&gt;
SELECT	@dsMenu = LTRIM(RTRIM(@dsMenu)),&lt;br /&gt;
		@dsMenuPai = LTRIM(RTRIM(@dsMenuPai))&lt;br /&gt;
&lt;br /&gt;
SET @cdMenuPai = (SELECT TOP 1 cd_menu &lt;br /&gt;
                  FROM   menu &lt;br /&gt;
                  WHERE  ds_menu = @dsMenuPai)&lt;br /&gt;
&lt;br /&gt;
IF ( @cdMenuPai IS NOT NULL ) &lt;br /&gt;
  BEGIN &lt;br /&gt;
      IF NOT EXISTS (SELECT 1 &lt;br /&gt;
                     FROM   menu &lt;br /&gt;
                     WHERE  ds_menu = @dsMenu &lt;br /&gt;
                            AND cd_menu_pai = @cdMenuPai) &lt;br /&gt;
        BEGIN &lt;br /&gt;
            INSERT INTO menu &lt;br /&gt;
                        (cd_menu, &lt;br /&gt;
                         ds_menu, &lt;br /&gt;
                         ds_url, &lt;br /&gt;
                         ds_param, &lt;br /&gt;
                         cd_menu_pai, &lt;br /&gt;
                         id_ativo) &lt;br /&gt;
            SELECT Max(Isnull(cd_menu, 0)) + 1, &lt;br /&gt;
                   @dsMenu, &lt;br /&gt;
                   @dsMenu, &lt;br /&gt;
                   NULL, &lt;br /&gt;
                   @cdMenuPai, &lt;br /&gt;
                   'S' &lt;br /&gt;
            FROM   menu &lt;br /&gt;
            &lt;br /&gt;
            PRINT '-----------------  MENU CADASTRADO COM SUCESSO  -----------------'&lt;br /&gt;
			PRINT 'FOI CADASTRADO O SUBMENU &amp;quot;'+ @dsMenu + '&amp;quot; NO MENU &amp;quot;'+ @dsMenuPai + '&amp;quot;!'&lt;br /&gt;
        END &lt;br /&gt;
        ELSE&lt;br /&gt;
        BEGIN&lt;br /&gt;
			PRINT '-----------------  FALHA AO CADASTRAR MENU  -----------------'&lt;br /&gt;
			PRINT 'JÁ EXISTE O SUBMENU &amp;quot;'+ @dsMenu + '&amp;quot; NO MENU &amp;quot;'+ @dsMenuPai + '&amp;quot;!'&lt;br /&gt;
        END&lt;br /&gt;
  END &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Conjunto de Selects para visualizar se há algum desconto sendo persistido na base do Mobile&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select  * from desconto_produto;&lt;br /&gt;
select * from DESCONTO_ORG_PRODUTO;&lt;br /&gt;
select * from DESCONTO_MEGAZORD;&lt;br /&gt;
select * from DESCONTO_ICMS_DIF;&lt;br /&gt;
select * from DESCONTO_CLIENTE_FORNEC;&lt;br /&gt;
select * from DESCONTO_CLIENTE;&lt;br /&gt;
select * from DESCONTO_FORNECEDOR;&lt;br /&gt;
select * from DESCONTO_MEGAZORD_SEGMENTO;&lt;br /&gt;
select * from DESCONTO_UF;&lt;br /&gt;
select  * from desco_cliente_familia;&lt;br /&gt;
select * from DESCO_GRUP_CLIEN_FAMIL;&lt;br /&gt;
select * from desconto_cliente;&lt;br /&gt;
select  * from DESCO_VENDEDOR_FAMILIA;&lt;br /&gt;
select * from DESCO_GRUP_CLIEN_FAMIL;&lt;br /&gt;
select * from DESCO_GRUP_CLIENT_VEND;&lt;br /&gt;
select * from DESCO_GRUPO_CLIEN_PROD;&lt;br /&gt;
select * from DESCONTO_VEND_PRODUTO;&lt;br /&gt;
select * from DESCONTO_UF_PRODUTO;&lt;br /&gt;
select * from DESCONTO_UF_FAMILIA;&lt;br /&gt;
&lt;br /&gt;
select * from DESCONTO_CLIENTE_PRODUT;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Select para contar os registros de uma tabela sem derrubar o banco&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT SUM (row_count)&lt;br /&gt;
FROM sys.dm_db_partition_stats&lt;br /&gt;
WHERE object_id=OBJECT_ID('log_alteracao_usuario')   &lt;br /&gt;
AND (index_id=0 or index_id=1);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Desabilitar as triggers de geração de registros &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select 'alter table '+ OBJECT_NAME(parent_id)+ ' disable trigger '+name from sys.triggers&lt;br /&gt;
where name like 'log%'&lt;br /&gt;
order by 1, name&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Habilitar as triggers de geração de registros &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select 'alter table '+ OBJECT_NAME(parent_id)+ ' enable trigger '+name from sys.triggers&lt;br /&gt;
where name like 'log%'&lt;br /&gt;
order by 1, name&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Consulta para ver os processos em execução no banco da camil&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select DB_NAME(dbid),* from sys.sysprocesses&lt;br /&gt;
where program_name like '%ssmicro%'&lt;br /&gt;
and status like '%run%'&lt;br /&gt;
&lt;br /&gt;
dbcc inputbuffer(61)&lt;br /&gt;
dbcc inputbuffer(65)&lt;br /&gt;
guarda essa consulta&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Listar todas as bases ativas criando um use bd_ssm_nomeempresa&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select 'Use '+name+';' from sys.databases&lt;br /&gt;
where  &lt;br /&gt;
	name like 'bd_ssm_%' &lt;br /&gt;
	and state_desc = 'online' &lt;br /&gt;
	and name not like '%prontaentrega%' &lt;br /&gt;
	and name not like '%adm%' &lt;br /&gt;
order by name asc;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Contar os registros da log_alteracao_usuario sem parar o banco de dados&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT SUM (row_count)&lt;br /&gt;
FROM sys.dm_db_partition_stats&lt;br /&gt;
WHERE object_id=OBJECT_ID('log_alteracao_usuario')   &lt;br /&gt;
AND (index_id=0 or index_id=1);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Truncar tabela de log&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
TRUNCATE TABLE LOG_ALTERACAO_USUARIO;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Usando a sys.databases de forma inteligente para economizar trabalho&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select 'use ' + name + '; select ' +name + ',* from CAMPO where cd_campo = 23;'&lt;br /&gt;
from sys.databases&lt;br /&gt;
where name like 'bd_ssm_%' and state_desc &amp;lt;&amp;gt; 'OFFLINE'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Listar todos os bancos de dados de empresa da softsite&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select name from sys.databases&lt;br /&gt;
where name like 'bd_ssm_%';&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Limpeza de cadastros do ADM&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT E.NM_EMPRESA, EB.DS_DATABASE, * FROM EMPRESA E &lt;br /&gt;
INNER JOIN EMPRESA_BD EB ON (E.CD_EMPRESA = EB.CD_EMPRESA)&lt;br /&gt;
INNER JOIN sys.sysdatabases SD ON (SD.name = EB.DS_DATABASE) &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT E.CD_EMPRESA, E.NM_EMPRESA, EB.DS_DATABASE, * FROM EMPRESA E &lt;br /&gt;
LEFT JOIN EMPRESA_BD EB ON (E.CD_EMPRESA = EB.CD_EMPRESA)&lt;br /&gt;
LEFT JOIN sys.sysdatabases SD ON (SD.name = EB.DS_DATABASE)&lt;br /&gt;
WHERE &lt;br /&gt;
	SD.name IS NULL	&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Tabelas que tem que ser analisadas&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
EMPRESA_SYNC_SISTEMA&lt;br /&gt;
EMPRESA_SYNC_BD&lt;br /&gt;
EMPRESA_SISTEMA&lt;br /&gt;
EMPRESA_BD&lt;br /&gt;
EMPRESA&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Deletes necessários para limpar as bases&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Na base ADM:&lt;br /&gt;
select * from empresa order by nm_empresa asc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DELETE FROM EMPRESA_SYNC_BD&lt;br /&gt;
WHERE CD_EMPRESA IN &lt;br /&gt;
(1129)&lt;br /&gt;
&lt;br /&gt;
DELETE FROM EMPRESA_BD&lt;br /&gt;
WHERE CD_EMPRESA IN &lt;br /&gt;
(1129)&lt;br /&gt;
&lt;br /&gt;
DELETE FROM EMPRESA_SYNC_SISTEMA&lt;br /&gt;
WHERE CD_EMPRESA IN &lt;br /&gt;
(1129)&lt;br /&gt;
&lt;br /&gt;
DELETE FROM EMPRESA_SISTEMA&lt;br /&gt;
WHERE CD_EMPRESA IN &lt;br /&gt;
(1129)&lt;br /&gt;
&lt;br /&gt;
DELETE FROM EMPRESA&lt;br /&gt;
WHERE CD_EMPRESA IN &lt;br /&gt;
(1129)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Verificar quantidade de conexões abertas por base utilizadas pelo portal&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select db_name(dbid), count(*)&lt;br /&gt;
from sys.sysprocesses&lt;br /&gt;
where 1=1&lt;br /&gt;
--and   db_name(dbid) = 'bd_ssm_criasim'&lt;br /&gt;
and program_name = 'jTDS'&lt;br /&gt;
group &lt;br /&gt;
by db_name(dbid)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Comando para gerar os drops das Triggers do claudus&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select ' drop trigger ', tr.name  from sys.sysobjects tr&lt;br /&gt;
inner join sys.sysobjects tb on tr.parent_obj = tb.id and tb.xtype = 'U'&lt;br /&gt;
where tr.xtype = 'tr'&lt;br /&gt;
and tr.name like 'TR_AUDIT%'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Remover empresas do import que não estão mais acessíveis na base&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
use bd_ssm_adm&lt;br /&gt;
&lt;br /&gt;
select  * &lt;br /&gt;
--update es set id_realiza_importacao&lt;br /&gt;
from EMPRESA_SISTEMA es&lt;br /&gt;
inner join empresa_bd bd on es.CD_EMPRESA = bd.CD_EMPRESA &lt;br /&gt;
left  join sys.databases d on d.name = bd.DS_DATABASE collate Latin1_General_CI_AS&lt;br /&gt;
where (d.name is null or d.snapshot_isolation_state_desc = 'OFF')&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Listar algo em todas as bases numa consulta só&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select 'select ''' + name + ''', *  from ' + name + '.dbo.INTERFACEERPCONFIGURACAOPARAMETRO where VR_PARAMETRO NOT LIKE ''%PEDIDO%ITEM_PEDIDO%'' UNION ALL'&lt;br /&gt;
from sys.databases&lt;br /&gt;
where name like 'bd_ssm_%' and state_desc &amp;lt;&amp;gt; 'OFFLINE' and (name not like '%pronta%' AND name not like 'bd_ssm_adm')&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Descobrindo as empresas que importam&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
update es set id_realiza_importacao&lt;br /&gt;
from EMPRESA_SISTEMA es&lt;br /&gt;
inner join empresa_bd bd on es.CD_EMPRESA = bd.CD_EMPRESA &lt;br /&gt;
left  join sys.databases d on d.name = bd.DS_DATABASE collate Latin1_General_CI_AS&lt;br /&gt;
where (d.name is null or d.snapshot_isolation_state_desc = 'OFF')&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*UPDATE para atualizar dados duplicados da tabela 001&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UPDATE LISTA_PRODUTO_001&lt;br /&gt;
SET data_delete = data_insert+('00:00:00.200')&lt;br /&gt;
where id in (&lt;br /&gt;
-2146273629,&lt;br /&gt;
-2146273628,&lt;br /&gt;
-2146273627,&lt;br /&gt;
-2146273626,&lt;br /&gt;
-2146273625,&lt;br /&gt;
-2146273624,&lt;br /&gt;
-2146273623,&lt;br /&gt;
-2146273622,&lt;br /&gt;
-2146273621)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Comando para concatenar dentro do group by &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
STUFF&lt;br /&gt;
&lt;br /&gt;
SELECT NM_ESTADO,&lt;br /&gt;
       NM_CIDADE,&lt;br /&gt;
       STUFF(&lt;br /&gt;
               (SELECT DISTINCT ',' + NM_FANTASIA&lt;br /&gt;
                FROM cliente&lt;br /&gt;
                WHERE NM_ESTADO = a.NM_ESTADO&lt;br /&gt;
                  AND NM_CIDADE = a.NM_CIDADE&lt;br /&gt;
                  FOR XML PATH ('')) , 1, 1, '') AS URLList&lt;br /&gt;
FROM cliente AS a&lt;br /&gt;
WHERE NM_ESTADO = 'CE'&lt;br /&gt;
  AND NM_CIDADE = 'fortaleza'&lt;br /&gt;
GROUP BY NM_ESTADO,&lt;br /&gt;
         NM_CIDADE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Template base pra criar o script de uma tabela NOVA pro TJ&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/* Criar a tabela TMP pra empresas que utilizam import */&lt;br /&gt;
CREATE TABLE [dbo].[DESCONTO_LOTE_OV_TP_TMP]&lt;br /&gt;
  ( &lt;br /&gt;
     CD_LOTE      int NOT NULL,  &lt;br /&gt;
     CD_ORG_VENDA VARCHAR(20) COLLATE SQL_LATIN1_GENERAL_CP1_CI_AI NOT NULL, &lt;br /&gt;
     CD_TAB_PRECO INT NOT NULL, &lt;br /&gt;
	 PR_DESCONTO  DECIMAL(18, 6) NOT NULL,&lt;br /&gt;
	CONSTRAINT [PK_DESCONTO_LOTE_OV_TP_TMP] PRIMARY KEY CLUSTERED (&lt;br /&gt;
		[CD_LOTE] ASC,&lt;br /&gt;
		[CD_ORG_VENDA] ASC,&lt;br /&gt;
		[CD_TAB_PRECO] ASC&lt;br /&gt;
	) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]&lt;br /&gt;
) ON [PRIMARY]&lt;br /&gt;
&lt;br /&gt;
/* Criar a tabela de LOG */&lt;br /&gt;
CREATE TABLE LOG_DESCONTO_LOTE_OV_TP&lt;br /&gt;
(&lt;br /&gt;
CD_LOG INT IDENTITY PRIMARY KEY&lt;br /&gt;
,DT_LOG DATETIME NOT NULL&lt;br /&gt;
,TP_OPERACAO VARCHAR(1) NOT NULL&lt;br /&gt;
,ID_KEY VARCHAR(200) NOT NULL&lt;br /&gt;
,CD_LOTE int&lt;br /&gt;
,CD_ORG_VENDA VARCHAR(20)&lt;br /&gt;
,CD_TAB_PRECO INT)&lt;br /&gt;
&lt;br /&gt;
/* Criar tabela 001 seguindo o padrão */&lt;br /&gt;
CREATE TABLE [dbo].[DESCONTO_LOTE_OV_TP_001]&lt;br /&gt;
  ( &lt;br /&gt;
     [id] [int] IDENTITY(-2147483648,1) NOT NULL,&lt;br /&gt;
     CD_LOTE      INT NOT NULL,  &lt;br /&gt;
     CD_ORG_VENDA VARCHAR(20) COLLATE SQL_LATIN1_GENERAL_CP1_CI_AI NOT NULL, &lt;br /&gt;
     CD_TAB_PRECO INT NOT NULL, &lt;br /&gt;
	 PR_DESCONTO  DECIMAL(18, 6) NOT NULL,&lt;br /&gt;
     [data_insert] [datetime] NOT NULL,&lt;br /&gt;
	 [data_update] [datetime] NULL,&lt;br /&gt;
	 [data_delete] [datetime] NULL,&lt;br /&gt;
PRIMARY KEY NONCLUSTERED &lt;br /&gt;
(&lt;br /&gt;
	[id] ASC&lt;br /&gt;
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]&lt;br /&gt;
) ON [PRIMARY]&lt;br /&gt;
&lt;br /&gt;
/* Adicionar constraint */&lt;br /&gt;
ALTER TABLE [dbo].[DESCONTO_LOTE_OV_TP_001] ADD  CONSTRAINT [DF_DATA_INSERCAO_DESCONTO]  DEFAULT (getdate()) FOR [data_insert]&lt;br /&gt;
&lt;br /&gt;
/* Criar trigger na tabela nova adicionando os campos necessários */&lt;br /&gt;
CREATE TRIGGER [dbo].[TR_TJ_UPDATE_DESCONTO_LOTE_OV_TP]&lt;br /&gt;
ON [dbo].[DESCONTO_LOTE_OV_TP_001]&lt;br /&gt;
instead OF UPDATE&lt;br /&gt;
AS&lt;br /&gt;
  BEGIN&lt;br /&gt;
      SET nocount ON;&lt;br /&gt;
&lt;br /&gt;
      UPDATE t&lt;br /&gt;
      SET    t.data_update = case when s.data_delete is null then  Getdate() else t.data_update end ,&lt;br /&gt;
             T.CD_LOTE = S.CD_LOTE,&lt;br /&gt;
			 T.CD_ORG_VENDA = S.CD_ORG_VENDA,&lt;br /&gt;
			 T.CD_TAB_PRECO = S.CD_TAB_PRECO,&lt;br /&gt;
			 T.PR_DESCONTO = S.PR_DESCONTO,&lt;br /&gt;
             t.data_delete = s.data_delete&lt;br /&gt;
      FROM   DESCONTO_LOTE_OV_TP_001 t&lt;br /&gt;
             INNER JOIN inserted s&lt;br /&gt;
                     ON ( t.id = s.id )&lt;br /&gt;
&lt;br /&gt;
  END&lt;br /&gt;
&lt;br /&gt;
/* Criar a view TJ */&lt;br /&gt;
CREATE VIEW [dbo].[DESCONTO_LOTE_OV_TP_TJ]&lt;br /&gt;
AS&lt;br /&gt;
  SELECT id,&lt;br /&gt;
         CD_LOTE, CD_ORG_VENDA, CD_TAB_PRECO, PR_DESCONTO&lt;br /&gt;
  FROM   DESCONTO_LOTE_OV_TP_001&lt;br /&gt;
  WHERE  data_delete IS NULL&lt;br /&gt;
&lt;br /&gt;
/* Criar Trigger da view */&lt;br /&gt;
CREATE TRIGGER [dbo].[TR_TJ_DELETE_DESCONTO_LOTE_OV_TP]&lt;br /&gt;
ON [dbo].[DESCONTO_LOTE_OV_TP_TJ]&lt;br /&gt;
instead OF DELETE&lt;br /&gt;
AS&lt;br /&gt;
  BEGIN&lt;br /&gt;
      SET nocount ON;&lt;br /&gt;
&lt;br /&gt;
      UPDATE t&lt;br /&gt;
      SET    data_delete = Getdate()&lt;br /&gt;
      FROM   deleted s&lt;br /&gt;
             INNER JOIN DESCONTO_LOTE_OV_TP_001 t&lt;br /&gt;
                     ON s.id = t.id&lt;br /&gt;
&lt;br /&gt;
  END&lt;br /&gt;
&lt;br /&gt;
/* Criar a view */&lt;br /&gt;
CREATE VIEW [dbo].[DESCONTO_LOTE_OV_TP]&lt;br /&gt;
AS&lt;br /&gt;
  SELECT CD_LOTE, CD_ORG_VENDA, CD_TAB_PRECO, PR_DESCONTO&lt;br /&gt;
  FROM   DESCONTO_LOTE_OV_TP_tj&lt;br /&gt;
&lt;br /&gt;
/* Criar a função de navegação */&lt;br /&gt;
CREATE FUNCTION fn_REGISTRO_SYNC_DESCONTO_LOTE_OV_TP(@ID_VENDEDOR  INT,&lt;br /&gt;
                                                           @DT_LAST_SINC DATETIME)&lt;br /&gt;
RETURNS TABLE&lt;br /&gt;
AS&lt;br /&gt;
    RETURN&lt;br /&gt;
      (SELECT	DLOT.id,&lt;br /&gt;
				DLOT.CD_LOTE,&lt;br /&gt;
				DLOT.CD_ORG_VENDA,&lt;br /&gt;
				DLOT.CD_TAB_PRECO,&lt;br /&gt;
				DLOT.PR_DESCONTO,&lt;br /&gt;
				DLOT.DATA_DELETE&lt;br /&gt;
        FROM   DESCONTO_LOTE_OV_TP_001 DLOT&lt;br /&gt;
		WHERE  &lt;br /&gt;
			(&lt;br /&gt;
				( &lt;br /&gt;
					( &lt;br /&gt;
						( DLOT.DATA_INSERT &amp;gt;= @DT_LAST_SINC&lt;br /&gt;
							OR DLOT.DATA_UPDATE &amp;gt;= @DT_LAST_SINC &lt;br /&gt;
						)&lt;br /&gt;
						AND DLOT.DATA_DELETE IS NULL &lt;br /&gt;
					)&lt;br /&gt;
					OR ( DLOT.DATA_DELETE &amp;gt;= @DT_LAST_SINC&lt;br /&gt;
							AND DLOT.DATA_INSERT &amp;lt; @DT_LAST_SINC&lt;br /&gt;
							AND NOT EXISTS(SELECT 1&lt;br /&gt;
											FROM   DESCONTO_LOTE_OV_TP_001 T&lt;br /&gt;
											WHERE  DLOT.CD_LOTE = T.CD_LOTE&lt;br /&gt;
											AND DLOT.CD_ORG_VENDA = T.CD_ORG_VENDA&lt;br /&gt;
											AND DLOT.CD_TAB_PRECO = T.CD_TAB_PRECO&lt;br /&gt;
												AND T.DATA_DELETE IS NULL&lt;br /&gt;
											)&lt;br /&gt;
					)&lt;br /&gt;
					OR ( &lt;br /&gt;
						@DT_LAST_SINC IS NULL&lt;br /&gt;
						AND DLOT.DATA_DELETE IS NULL&lt;br /&gt;
					)&lt;br /&gt;
				) &lt;br /&gt;
			)&lt;br /&gt;
		)&lt;br /&gt;
&lt;br /&gt;
/* Adicionando a função na tabela */&lt;br /&gt;
INSERT INTO TAMOJUNTO_TABELA_FUNCAO (NM_TABLE, NM_FN, FL_ATIVA) VALUES ('DESCONTO_LOTE_OV_TP', 'fn_REGISTRO_SYNC_DESCONTO_LOTE_OV_TP', 1)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Rodrigobastosv</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Scritps_%C3%9Ateis&amp;diff=5360</id>
		<title>Scritps Úteis</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Scritps_%C3%9Ateis&amp;diff=5360"/>
		<updated>2017-11-08T18:02:50Z</updated>

		<summary type="html">&lt;p&gt;Rodrigobastosv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[[Scrips Tabelas Web Service NOVO|Scrips Tabelas Web Service NOVO]]&lt;br /&gt;
&lt;br /&gt;
:*Saber quais os processos estão bloqueado outros e não estão sendo bloqueados&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select db_name(dbid), *&lt;br /&gt;
from sys.sysprocesses&lt;br /&gt;
where spid in (&lt;br /&gt;
     select blocked&lt;br /&gt;
      from sys.sysprocesses&lt;br /&gt;
     where blocked &amp;gt; 0)&lt;br /&gt;
      and blocked = 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Detalhar um processo &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
EXEC sp_who2 252&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
:* Ver a query que está sendo executada por um processo (Parâmetro spid)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DBCC INPUTBUFFER(6001)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Descobrir exatamente qual script está sendo executado no momento dado um processo qualquer&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DECLARE @comandoSQL VARCHAR(8000)&lt;br /&gt;
SET @comandoSQL = (SELECT CAST([TEXT] AS VARCHAR(8000))&lt;br /&gt;
FROM ::fn_get_sql((SELECT [sql_handle] FROM sysprocesses where spid = 1071)))&lt;br /&gt;
select @comandoSQL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Descobrir exatamente qual script está sendo executado no momento dado um processo qualquer quando existem mais de um script sendo executado&lt;br /&gt;
em background para o spid passado&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DECLARE @comandoSQL VARCHAR(8000)&lt;br /&gt;
DECLARE @tableComandoSQL TABLE (comando VARCHAR(8000))&lt;br /&gt;
--SET @comandoSQL = (SELECT CAST([TEXT] AS VARCHAR(8000))&lt;br /&gt;
--FROM ::fn_get_sql((SELECT [sql_handle] FROM sysprocesses where spid = 1071)))&lt;br /&gt;
--select @comandoSQL&lt;br /&gt;
INSERT INTO @tableComandoSQL SELECT CAST([TEXT] AS VARCHAR(8000))&lt;br /&gt;
FROM ::fn_get_sql((SELECT top 1 [sql_handle] FROM sys.sysprocesses where spid = 1071))&lt;br /&gt;
SELECT * FROM @tableComandoSQL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Listar agendamentos de importações de todas as empresas num único script (Caso você queira adicionar mais empresas só seguir o modelo)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select 'bd_ssm_DCA', * from bd_ssm_DCA..CONFIGURACAO_GERA_REGISTRO_AUTO&lt;br /&gt;
union all&lt;br /&gt;
select 'bd_ssm_CAMIL', * from bd_ssm_CAMIL..CONFIGURACAO_GERA_REGISTRO_AUTO&lt;br /&gt;
union all&lt;br /&gt;
select 'bd_ssm_BEVILAQUA', * from bd_ssm_BEVILAQUA..CONFIGURACAO_GERA_REGISTRO_AUTO&lt;br /&gt;
union all&lt;br /&gt;
select 'bd_ssm_GUARAVES', * from bd_ssm_GUARAVES..CONFIGURACAO_GERA_REGISTRO_AUTO&lt;br /&gt;
union all&lt;br /&gt;
select 'bd_ssm_PAULUS', * from bd_ssm_PAULUS..CONFIGURACAO_GERA_REGISTRO_AUTO&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Ver todas as bases que utilizam a geração de registro automático&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sp_update_databases &lt;br /&gt;
'&lt;br /&gt;
insert into ##tabela&lt;br /&gt;
select db_name(),* from CONFIGURACAO_GERA_REGISTRO_AUTO', 'org_venda_cliente'&lt;br /&gt;
&amp;lt;/pre&lt;br /&gt;
&lt;br /&gt;
*Update com select e join:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UPDATE PEDIDO SET PEDIDO.NM_CLIENTE = (C.NM_CLIENTE)&lt;br /&gt;
from PEDIDO&lt;br /&gt;
inner join CLIENTE C on &lt;br /&gt;
PEDIDO.CD_CLIENTE = C.CD_CLIENTE&lt;br /&gt;
WHERE PEDIDO.DT_EMISSAO &amp;gt;= '2016-10-01' AND PEDIDO.NM_CLIENTE IS NULL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Atualizar Nome da Tabela&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
EXEC sp_rename 'ITEM_PEDIDO_REMESSA_FUTURA', 'ITEM_PED_REMESSA_FUTURA';&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Remover Foreign Keys&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ALTER TABLE Orders DROP CONSTRAINT fk_PerOrders&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ALTER TABLE ITEM_PEDIDO_EXCLUIDO DROP CONSTRAINT FK_SAV_ITEM__PEDIDO_PEDIDO_DEL; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Retornar consulta por banco de dados do tamanho usado no banco&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select 'Use '+name+';' + 'Exec SP_SpaceUsed ;'  from sys.databases&lt;br /&gt;
where  name like 'bd_ssm_%' and state_desc = 'online' and name not like '%prontaentrega%' &lt;br /&gt;
and name not like '%adm%'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Lista os Vendedores da Hierárquia do Supervisor passado no Parâmetro&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT cd_vendedor [Código], &lt;br /&gt;
       nm_vendedor [Vendedor]&lt;br /&gt;
FROM   fn_obter_vendedores_supervisor(#codigoSupervisor#)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Lista os Supervisores Acima da Hierárquia do Supervisor passado no Parâmetro, incluindo ele mesmo&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT S.cd_supervisor [Código], &lt;br /&gt;
       S.nm_supervisor [Supervisor] &lt;br /&gt;
FROM   fn_obter_supervisor_supervisores(#codigoSupervisor#) FOSS &lt;br /&gt;
       INNER JOIN SUPERVISOR S &lt;br /&gt;
               ON FOSS.cd_supervisor = S.cd_supervisor&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Lista os Supervisores Abaixo da Hierárquia do Supervisor passado no Parâmetro, incluindo ele mesmo&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT S.cd_supervisor [Código], &lt;br /&gt;
       S.nm_supervisor [Supervisor] &lt;br /&gt;
FROM   fn_obter_supervisores_supervisor(#codigoSupervisor#) FOSS &lt;br /&gt;
       INNER JOIN SUPERVISOR S &lt;br /&gt;
               ON FOSS.cd_supervisor = S.cd_supervisor&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Verificar processos que estão travando o banco e ver a query do processo que está travado&lt;br /&gt;
** Selecionar os 100 primeiros processos bloqueados no banco&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select TOP 100 *&lt;br /&gt;
from sys.sysprocesses&lt;br /&gt;
where blocked &amp;lt;&amp;gt; 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
:* Selecionar todos os processos bloqueados no banco ordenados por spid&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select spid, blocked, hostname=left(hostname,20), program_name=left(program_name,20),&lt;br /&gt;
       WaitTime_Seg = convert(int,(waittime/1000))  ,open_tran, status&lt;br /&gt;
From master.dbo.sysprocesses &lt;br /&gt;
where blocked &amp;gt; 0&lt;br /&gt;
order by spid&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Então você precisa verificar quais processos estão rodando em um determinado banco de dados:&lt;br /&gt;
** Lista todos os processos existentes em uma determinada base de dados&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DECLARE @database VARCHAR(100) = 'bd_ssm_suabase' -- INSIRA AQUI O NOME DO BANCO DE DADOS  &lt;br /&gt;
DECLARE @processosTemp TABLE &lt;br /&gt;
  ( &lt;br /&gt;
     spid       SMALLINT, &lt;br /&gt;
     ecid       SMALLINT, &lt;br /&gt;
     status     NCHAR(30), &lt;br /&gt;
     loginname  NCHAR(128), &lt;br /&gt;
     hostname   NCHAR(128), &lt;br /&gt;
     blk        CHAR(5), &lt;br /&gt;
     dbname     NCHAR(128), &lt;br /&gt;
     cmd        NCHAR(16), &lt;br /&gt;
     request_id INT &lt;br /&gt;
  ) &lt;br /&gt;
&lt;br /&gt;
INSERT INTO @processosTemp &lt;br /&gt;
EXEC Sp_who &lt;br /&gt;
&lt;br /&gt;
SELECT * &lt;br /&gt;
FROM   @processosTemp &lt;br /&gt;
WHERE  dbname = @database &lt;br /&gt;
ORDER  BY spid &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
:* Aí você precisa remover essa base - faça esse procedimento apenas no ambiente de teste - mas existem processos bloqueando essa remoção. Então você deverá remover os mesmos processos referentes a consulta acima, para depois DROPAR a base.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
declare @execSql varchar(1000), @databaseName varchar(100)  &lt;br /&gt;
set @databaseName = 'bd_ssm_suabase'  -- INSIRA O NOME DA BASE QUE QUER MATAR SEUS PROCESSOS EM ABERTO&lt;br /&gt;
&lt;br /&gt;
set @execSql = ''   &lt;br /&gt;
select  @execSql = @execSql + 'kill ' + convert(char(10), spid) + CHAR(13)+CHAR(10)  &lt;br /&gt;
from    master.dbo.sysprocesses  &lt;br /&gt;
where   db_name(dbid) = @databaseName  &lt;br /&gt;
     and  &lt;br /&gt;
     DBID &amp;lt;&amp;gt; 0  &lt;br /&gt;
     and  &lt;br /&gt;
     spid &amp;lt;&amp;gt; @@spid  &lt;br /&gt;
order by spid&lt;br /&gt;
exec(@execSql)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Script para verificar se exste alguma configuração para algum serviço de envio de e-mail ativado&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT * FROM CONFIGURACAO &lt;br /&gt;
WHERE DS_CHAVE = 'ENVIA_EMAIL_CLIENTE_PEDIDO_EXPORTADO'&lt;br /&gt;
&lt;br /&gt;
SELECT * FROM CONFIGURACAO &lt;br /&gt;
WHERE DS_CHAVE = 'ENVIA_EMAIL_CLIENTE_PEDIDO_NAO_EFETIVADO'&lt;br /&gt;
&lt;br /&gt;
SELECT * FROM CONFIGURACAO &lt;br /&gt;
WHERE DS_CHAVE = 'ENVIA_EMAIL_FINANC_NOVO_CLIENTE'&lt;br /&gt;
&lt;br /&gt;
SELECT * FROM CONFIGURACAO &lt;br /&gt;
WHERE DS_CHAVE = 'ENVIA_EMAIL_SUPERVISOR_PEDIDO_PENDENTE'&lt;br /&gt;
&lt;br /&gt;
SELECT * FROM CONFIGURACAO &lt;br /&gt;
WHERE DS_CHAVE = 'CONDICAO_PAGAMENTO_ESPECIAL'&lt;br /&gt;
&lt;br /&gt;
SELECT * FROM CONFIGURACAO &lt;br /&gt;
WHERE DS_CHAVE = 'SP_ENVIA_EMAIL_CLIENTE_PEDIDO_CRIACAO'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Script para ver todas as foreign keys do banco&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT &lt;br /&gt;
 KCU1.CONSTRAINT_NAME AS 'FK_Nome_Constraint'&lt;br /&gt;
 , KCU1.TABLE_NAME AS 'FK_Nome_Tabela'&lt;br /&gt;
 , KCU1.COLUMN_NAME AS 'FK_Nome_Coluna'&lt;br /&gt;
 , FK.is_disabled AS 'FK_Esta_Desativada'&lt;br /&gt;
 , KCU2.CONSTRAINT_NAME AS 'PK_Nome_Constraint_Referenciada'&lt;br /&gt;
 , KCU2.TABLE_NAME AS 'PK_Nome_Tabela_Referenciada'&lt;br /&gt;
 , KCU2.COLUMN_NAME AS 'PK_Nome_Coluna_Referenciada'&lt;br /&gt;
FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS RC&lt;br /&gt;
JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE KCU1&lt;br /&gt;
ON KCU1.CONSTRAINT_CATALOG = RC.CONSTRAINT_CATALOG &lt;br /&gt;
 AND KCU1.CONSTRAINT_SCHEMA = RC.CONSTRAINT_SCHEMA&lt;br /&gt;
 AND KCU1.CONSTRAINT_NAME = RC.CONSTRAINT_NAME&lt;br /&gt;
JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE KCU2&lt;br /&gt;
ON KCU2.CONSTRAINT_CATALOG = RC.UNIQUE_CONSTRAINT_CATALOG &lt;br /&gt;
 AND KCU2.CONSTRAINT_SCHEMA = RC.UNIQUE_CONSTRAINT_SCHEMA&lt;br /&gt;
 AND KCU2.CONSTRAINT_NAME = RC.UNIQUE_CONSTRAINT_NAME&lt;br /&gt;
 AND KCU2.ORDINAL_POSITION = KCU1.ORDINAL_POSITION&lt;br /&gt;
JOIN sys.foreign_keys FK on FK.name = KCU1.CONSTRAINT_NAME&lt;br /&gt;
&lt;br /&gt;
--where KCU1.CONSTRAINT_NAME like '%FK_PEDIDO_EXCLUIDO__PEDIDO%'&lt;br /&gt;
Order by &lt;br /&gt;
KCU1.TABLE_NAME&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Script para Cadastro de Menu do Portal&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- SELECT * FROM MENU WHERE DS_MENU IN('Cadastro', 'Bonificação','Associada ao Pedido')&lt;br /&gt;
-- UPDATE MENU SET DS_URL = null WHERE CD_MENU = 130&lt;br /&gt;
-- SELECT * FROM MENU WHERE CD_MENU_PAI = 1&lt;br /&gt;
&lt;br /&gt;
-- INCLUSÃO DE MENU -- &lt;br /&gt;
DECLARE @dsMenu    VARCHAR(100), &lt;br /&gt;
        @dsMenuPai VARCHAR(100), &lt;br /&gt;
        @cdMenuPai INT &lt;br /&gt;
&lt;br /&gt;
SELECT @dsMenu = 'Parâmetros de Configuração', &lt;br /&gt;
       @dsMenuPai = 'Cadastro'&lt;br /&gt;
 &lt;br /&gt;
SELECT	@dsMenu = LTRIM(RTRIM(@dsMenu)),&lt;br /&gt;
		@dsMenuPai = LTRIM(RTRIM(@dsMenuPai))&lt;br /&gt;
&lt;br /&gt;
SET @cdMenuPai = (SELECT TOP 1 cd_menu &lt;br /&gt;
                  FROM   menu &lt;br /&gt;
                  WHERE  ds_menu = @dsMenuPai)&lt;br /&gt;
&lt;br /&gt;
IF ( @cdMenuPai IS NOT NULL ) &lt;br /&gt;
  BEGIN &lt;br /&gt;
      IF NOT EXISTS (SELECT 1 &lt;br /&gt;
                     FROM   menu &lt;br /&gt;
                     WHERE  ds_menu = @dsMenu &lt;br /&gt;
                            AND cd_menu_pai = @cdMenuPai) &lt;br /&gt;
        BEGIN &lt;br /&gt;
            INSERT INTO menu &lt;br /&gt;
                        (cd_menu, &lt;br /&gt;
                         ds_menu, &lt;br /&gt;
                         ds_url, &lt;br /&gt;
                         ds_param, &lt;br /&gt;
                         cd_menu_pai, &lt;br /&gt;
                         id_ativo) &lt;br /&gt;
            SELECT Max(Isnull(cd_menu, 0)) + 1, &lt;br /&gt;
                   @dsMenu, &lt;br /&gt;
                   @dsMenu, &lt;br /&gt;
                   NULL, &lt;br /&gt;
                   @cdMenuPai, &lt;br /&gt;
                   'S' &lt;br /&gt;
            FROM   menu &lt;br /&gt;
            &lt;br /&gt;
            PRINT '-----------------  MENU CADASTRADO COM SUCESSO  -----------------'&lt;br /&gt;
			PRINT 'FOI CADASTRADO O SUBMENU &amp;quot;'+ @dsMenu + '&amp;quot; NO MENU &amp;quot;'+ @dsMenuPai + '&amp;quot;!'&lt;br /&gt;
        END &lt;br /&gt;
        ELSE&lt;br /&gt;
        BEGIN&lt;br /&gt;
			PRINT '-----------------  FALHA AO CADASTRAR MENU  -----------------'&lt;br /&gt;
			PRINT 'JÁ EXISTE O SUBMENU &amp;quot;'+ @dsMenu + '&amp;quot; NO MENU &amp;quot;'+ @dsMenuPai + '&amp;quot;!'&lt;br /&gt;
        END&lt;br /&gt;
  END &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Conjunto de Selects para visualizar se há algum desconto sendo persistido na base do Mobile&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select  * from desconto_produto;&lt;br /&gt;
select * from DESCONTO_ORG_PRODUTO;&lt;br /&gt;
select * from DESCONTO_MEGAZORD;&lt;br /&gt;
select * from DESCONTO_ICMS_DIF;&lt;br /&gt;
select * from DESCONTO_CLIENTE_FORNEC;&lt;br /&gt;
select * from DESCONTO_CLIENTE;&lt;br /&gt;
select * from DESCONTO_FORNECEDOR;&lt;br /&gt;
select * from DESCONTO_MEGAZORD_SEGMENTO;&lt;br /&gt;
select * from DESCONTO_UF;&lt;br /&gt;
select  * from desco_cliente_familia;&lt;br /&gt;
select * from DESCO_GRUP_CLIEN_FAMIL;&lt;br /&gt;
select * from desconto_cliente;&lt;br /&gt;
select  * from DESCO_VENDEDOR_FAMILIA;&lt;br /&gt;
select * from DESCO_GRUP_CLIEN_FAMIL;&lt;br /&gt;
select * from DESCO_GRUP_CLIENT_VEND;&lt;br /&gt;
select * from DESCO_GRUPO_CLIEN_PROD;&lt;br /&gt;
select * from DESCONTO_VEND_PRODUTO;&lt;br /&gt;
select * from DESCONTO_UF_PRODUTO;&lt;br /&gt;
select * from DESCONTO_UF_FAMILIA;&lt;br /&gt;
&lt;br /&gt;
select * from DESCONTO_CLIENTE_PRODUT;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Select para contar os registros de uma tabela sem derrubar o banco&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT SUM (row_count)&lt;br /&gt;
FROM sys.dm_db_partition_stats&lt;br /&gt;
WHERE object_id=OBJECT_ID('log_alteracao_usuario')   &lt;br /&gt;
AND (index_id=0 or index_id=1);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Desabilitar as triggers de geração de registros &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select 'alter table '+ OBJECT_NAME(parent_id)+ ' disable trigger '+name from sys.triggers&lt;br /&gt;
where name like 'log%'&lt;br /&gt;
order by 1, name&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Habilitar as triggers de geração de registros &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select 'alter table '+ OBJECT_NAME(parent_id)+ ' enable trigger '+name from sys.triggers&lt;br /&gt;
where name like 'log%'&lt;br /&gt;
order by 1, name&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Consulta para ver os processos em execução no banco da camil&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select DB_NAME(dbid),* from sys.sysprocesses&lt;br /&gt;
where program_name like '%ssmicro%'&lt;br /&gt;
and status like '%run%'&lt;br /&gt;
&lt;br /&gt;
dbcc inputbuffer(61)&lt;br /&gt;
dbcc inputbuffer(65)&lt;br /&gt;
guarda essa consulta&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Listar todas as bases ativas criando um use bd_ssm_nomeempresa&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select 'Use '+name+';' from sys.databases&lt;br /&gt;
where  &lt;br /&gt;
	name like 'bd_ssm_%' &lt;br /&gt;
	and state_desc = 'online' &lt;br /&gt;
	and name not like '%prontaentrega%' &lt;br /&gt;
	and name not like '%adm%' &lt;br /&gt;
order by name asc;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Contar os registros da log_alteracao_usuario sem parar o banco de dados&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT SUM (row_count)&lt;br /&gt;
FROM sys.dm_db_partition_stats&lt;br /&gt;
WHERE object_id=OBJECT_ID('log_alteracao_usuario')   &lt;br /&gt;
AND (index_id=0 or index_id=1);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Truncar tabela de log&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
TRUNCATE TABLE LOG_ALTERACAO_USUARIO;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Usando a sys.databases de forma inteligente para economizar trabalho&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select 'use ' + name + '; select ' +name + ',* from CAMPO where cd_campo = 23;'&lt;br /&gt;
from sys.databases&lt;br /&gt;
where name like 'bd_ssm_%' and state_desc &amp;lt;&amp;gt; 'OFFLINE'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Listar todos os bancos de dados de empresa da softsite&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select name from sys.databases&lt;br /&gt;
where name like 'bd_ssm_%';&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Limpeza de cadastros do ADM&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT E.NM_EMPRESA, EB.DS_DATABASE, * FROM EMPRESA E &lt;br /&gt;
INNER JOIN EMPRESA_BD EB ON (E.CD_EMPRESA = EB.CD_EMPRESA)&lt;br /&gt;
INNER JOIN sys.sysdatabases SD ON (SD.name = EB.DS_DATABASE) &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT E.CD_EMPRESA, E.NM_EMPRESA, EB.DS_DATABASE, * FROM EMPRESA E &lt;br /&gt;
LEFT JOIN EMPRESA_BD EB ON (E.CD_EMPRESA = EB.CD_EMPRESA)&lt;br /&gt;
LEFT JOIN sys.sysdatabases SD ON (SD.name = EB.DS_DATABASE)&lt;br /&gt;
WHERE &lt;br /&gt;
	SD.name IS NULL	&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Tabelas que tem que ser analisadas&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
EMPRESA_SYNC_SISTEMA&lt;br /&gt;
EMPRESA_SYNC_BD&lt;br /&gt;
EMPRESA_SISTEMA&lt;br /&gt;
EMPRESA_BD&lt;br /&gt;
EMPRESA&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Deletes necessários para limpar as bases&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Na base ADM:&lt;br /&gt;
select * from empresa order by nm_empresa asc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DELETE FROM EMPRESA_SYNC_BD&lt;br /&gt;
WHERE CD_EMPRESA IN &lt;br /&gt;
(1129)&lt;br /&gt;
&lt;br /&gt;
DELETE FROM EMPRESA_BD&lt;br /&gt;
WHERE CD_EMPRESA IN &lt;br /&gt;
(1129)&lt;br /&gt;
&lt;br /&gt;
DELETE FROM EMPRESA_SYNC_SISTEMA&lt;br /&gt;
WHERE CD_EMPRESA IN &lt;br /&gt;
(1129)&lt;br /&gt;
&lt;br /&gt;
DELETE FROM EMPRESA_SISTEMA&lt;br /&gt;
WHERE CD_EMPRESA IN &lt;br /&gt;
(1129)&lt;br /&gt;
&lt;br /&gt;
DELETE FROM EMPRESA&lt;br /&gt;
WHERE CD_EMPRESA IN &lt;br /&gt;
(1129)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Verificar quantidade de conexões abertas por base utilizadas pelo portal&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select db_name(dbid), count(*)&lt;br /&gt;
from sys.sysprocesses&lt;br /&gt;
where 1=1&lt;br /&gt;
--and   db_name(dbid) = 'bd_ssm_criasim'&lt;br /&gt;
and program_name = 'jTDS'&lt;br /&gt;
group &lt;br /&gt;
by db_name(dbid)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Comando para gerar os drops das Triggers do claudus&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select ' drop trigger ', tr.name  from sys.sysobjects tr&lt;br /&gt;
inner join sys.sysobjects tb on tr.parent_obj = tb.id and tb.xtype = 'U'&lt;br /&gt;
where tr.xtype = 'tr'&lt;br /&gt;
and tr.name like 'TR_AUDIT%'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Remover empresas do import que não estão mais acessíveis na base&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
use bd_ssm_adm&lt;br /&gt;
&lt;br /&gt;
select  * &lt;br /&gt;
--update es set id_realiza_importacao&lt;br /&gt;
from EMPRESA_SISTEMA es&lt;br /&gt;
inner join empresa_bd bd on es.CD_EMPRESA = bd.CD_EMPRESA &lt;br /&gt;
left  join sys.databases d on d.name = bd.DS_DATABASE collate Latin1_General_CI_AS&lt;br /&gt;
where (d.name is null or d.snapshot_isolation_state_desc = 'OFF')&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Listar algo em todas as bases numa consulta só&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select 'select ''' + name + ''', *  from ' + name + '.dbo.INTERFACEERPCONFIGURACAOPARAMETRO where VR_PARAMETRO NOT LIKE ''%PEDIDO%ITEM_PEDIDO%'' UNION ALL'&lt;br /&gt;
from sys.databases&lt;br /&gt;
where name like 'bd_ssm_%' and state_desc &amp;lt;&amp;gt; 'OFFLINE' and (name not like '%pronta%' AND name not like 'bd_ssm_adm')&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Descobrindo as empresas que importam&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
update es set id_realiza_importacao&lt;br /&gt;
from EMPRESA_SISTEMA es&lt;br /&gt;
inner join empresa_bd bd on es.CD_EMPRESA = bd.CD_EMPRESA &lt;br /&gt;
left  join sys.databases d on d.name = bd.DS_DATABASE collate Latin1_General_CI_AS&lt;br /&gt;
where (d.name is null or d.snapshot_isolation_state_desc = 'OFF')&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*UPDATE para atualizar dados duplicados da tabela 001&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UPDATE LISTA_PRODUTO_001&lt;br /&gt;
SET data_delete = data_insert+('00:00:00.200')&lt;br /&gt;
where id in (&lt;br /&gt;
-2146273629,&lt;br /&gt;
-2146273628,&lt;br /&gt;
-2146273627,&lt;br /&gt;
-2146273626,&lt;br /&gt;
-2146273625,&lt;br /&gt;
-2146273624,&lt;br /&gt;
-2146273623,&lt;br /&gt;
-2146273622,&lt;br /&gt;
-2146273621)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Comando para concatenar dentro do group by &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
STUFF&lt;br /&gt;
&lt;br /&gt;
SELECT NM_ESTADO,&lt;br /&gt;
       NM_CIDADE,&lt;br /&gt;
       STUFF(&lt;br /&gt;
               (SELECT DISTINCT ',' + NM_FANTASIA&lt;br /&gt;
                FROM cliente&lt;br /&gt;
                WHERE NM_ESTADO = a.NM_ESTADO&lt;br /&gt;
                  AND NM_CIDADE = a.NM_CIDADE&lt;br /&gt;
                  FOR XML PATH ('')) , 1, 1, '') AS URLList&lt;br /&gt;
FROM cliente AS a&lt;br /&gt;
WHERE NM_ESTADO = 'CE'&lt;br /&gt;
  AND NM_CIDADE = 'fortaleza'&lt;br /&gt;
GROUP BY NM_ESTADO,&lt;br /&gt;
         NM_CIDADE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Template base pra criar o script de uma tabela NOVA pro TJ&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/* Criar a tabela TMP pra empresas que utilizam import */&lt;br /&gt;
CREATE TABLE [dbo].[DESCONTO_LOTE_OV_TP_TMP]&lt;br /&gt;
  ( &lt;br /&gt;
     CD_LOTE      int NOT NULL,  &lt;br /&gt;
     CD_ORG_VENDA VARCHAR(20) COLLATE SQL_LATIN1_GENERAL_CP1_CI_AI NOT NULL, &lt;br /&gt;
     CD_TAB_PRECO INT NOT NULL, &lt;br /&gt;
	 PR_DESCONTO  DECIMAL(18, 6) NOT NULL,&lt;br /&gt;
	CONSTRAINT [PK_DESCONTO_LOTE_OV_TP_TMP] PRIMARY KEY CLUSTERED (&lt;br /&gt;
		[CD_LOTE] ASC,&lt;br /&gt;
		[CD_ORG_VENDA] ASC,&lt;br /&gt;
		[CD_TAB_PRECO] ASC&lt;br /&gt;
	) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]&lt;br /&gt;
) ON [PRIMARY]&lt;br /&gt;
&lt;br /&gt;
/* Criar a tabela de LOG */&lt;br /&gt;
CREATE TABLE LOG_DESCONTO_LOTE_OV_TP&lt;br /&gt;
(&lt;br /&gt;
CD_LOG INT IDENTITY PRIMARY KEY&lt;br /&gt;
,DT_LOG DATETIME NOT NULL&lt;br /&gt;
,TP_OPERACAO VARCHAR(1) NOT NULL&lt;br /&gt;
,ID_KEY VARCHAR(200) NOT NULL&lt;br /&gt;
,CD_LOTE int&lt;br /&gt;
,CD_ORG_VENDA VARCHAR(20)&lt;br /&gt;
,CD_TAB_PRECO INT)&lt;br /&gt;
&lt;br /&gt;
/* Criar tabela 001 seguindo o padrão */&lt;br /&gt;
CREATE TABLE [dbo].[DESCONTO_LOTE_OV_TP_001]&lt;br /&gt;
  ( &lt;br /&gt;
     [id] [int] IDENTITY(-2147483648,1) NOT NULL,&lt;br /&gt;
     CD_LOTE      INT NOT NULL,  &lt;br /&gt;
     CD_ORG_VENDA VARCHAR(20) COLLATE SQL_LATIN1_GENERAL_CP1_CI_AI NOT NULL, &lt;br /&gt;
     CD_TAB_PRECO INT NOT NULL, &lt;br /&gt;
	 PR_DESCONTO  DECIMAL(18, 6) NOT NULL,&lt;br /&gt;
     [data_insert] [datetime] NOT NULL,&lt;br /&gt;
	 [data_update] [datetime] NULL,&lt;br /&gt;
	 [data_delete] [datetime] NULL,&lt;br /&gt;
PRIMARY KEY NONCLUSTERED &lt;br /&gt;
(&lt;br /&gt;
	[id] ASC&lt;br /&gt;
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]&lt;br /&gt;
) ON [PRIMARY]&lt;br /&gt;
&lt;br /&gt;
/* Adicionar constraint */&lt;br /&gt;
ALTER TABLE [dbo].[DESCONTO_LOTE_OV_TP_001] ADD  CONSTRAINT [DF_DATA_INSERCAO_DESCONTO]  DEFAULT (getdate()) FOR [data_insert]&lt;br /&gt;
&lt;br /&gt;
/* Criar trigger na tabela nova adicionando os campos necessários */&lt;br /&gt;
CREATE TRIGGER [dbo].[TR_TJ_UPDATE_DESCONTO_LOTE_OV_TP]&lt;br /&gt;
ON [dbo].[DESCONTO_LOTE_OV_TP_001]&lt;br /&gt;
instead OF UPDATE&lt;br /&gt;
AS&lt;br /&gt;
  BEGIN&lt;br /&gt;
      SET nocount ON;&lt;br /&gt;
&lt;br /&gt;
      UPDATE t&lt;br /&gt;
      SET    t.data_update = case when s.data_delete is null then  Getdate() else t.data_update end ,&lt;br /&gt;
             T.CD_LOTE = S.CD_LOTE,&lt;br /&gt;
			 T.CD_ORG_VENDA = S.CD_ORG_VENDA,&lt;br /&gt;
			 T.CD_TAB_PRECO = S.CD_TAB_PRECO,&lt;br /&gt;
			 T.PR_DESCONTO = S.PR_DESCONTO,&lt;br /&gt;
             t.data_delete = s.data_delete&lt;br /&gt;
      FROM   DESCONTO_LOTE_OV_TP_001 t&lt;br /&gt;
             INNER JOIN inserted s&lt;br /&gt;
                     ON ( t.id = s.id )&lt;br /&gt;
&lt;br /&gt;
  END&lt;br /&gt;
&lt;br /&gt;
/* Criar a view TJ */&lt;br /&gt;
CREATE VIEW [dbo].[DESCONTO_LOTE_OV_TP_TJ]&lt;br /&gt;
AS&lt;br /&gt;
  SELECT id,&lt;br /&gt;
         CD_LOTE, CD_ORG_VENDA, CD_TAB_PRECO, PR_DESCONTO&lt;br /&gt;
  FROM   DESCONTO_LOTE_OV_TP_001&lt;br /&gt;
  WHERE  data_delete IS NULL&lt;br /&gt;
&lt;br /&gt;
/* Criar Trigger da view */&lt;br /&gt;
CREATE TRIGGER [dbo].[TR_TJ_DELETE_DESCONTO_LOTE_OV_TP]&lt;br /&gt;
ON [dbo].[DESCONTO_LOTE_OV_TP_TJ]&lt;br /&gt;
instead OF DELETE&lt;br /&gt;
AS&lt;br /&gt;
  BEGIN&lt;br /&gt;
      SET nocount ON;&lt;br /&gt;
&lt;br /&gt;
      UPDATE t&lt;br /&gt;
      SET    data_delete = Getdate()&lt;br /&gt;
      FROM   deleted s&lt;br /&gt;
             INNER JOIN DESCONTO_LOTE_OV_TP_001 t&lt;br /&gt;
                     ON s.id = t.id&lt;br /&gt;
&lt;br /&gt;
  END&lt;br /&gt;
&lt;br /&gt;
/* Criar a view */&lt;br /&gt;
CREATE VIEW [dbo].[DESCONTO_LOTE_OV_TP]&lt;br /&gt;
AS&lt;br /&gt;
  SELECT CD_LOTE, CD_ORG_VENDA, CD_TAB_PRECO, PR_DESCONTO&lt;br /&gt;
  FROM   DESCONTO_LOTE_OV_TP_tj&lt;br /&gt;
&lt;br /&gt;
/* Criar a função de navegação */&lt;br /&gt;
CREATE FUNCTION fn_REGISTRO_SYNC_DESCONTO_LOTE_OV_TP(@ID_VENDEDOR  INT,&lt;br /&gt;
                                                           @DT_LAST_SINC DATETIME)&lt;br /&gt;
RETURNS TABLE&lt;br /&gt;
AS&lt;br /&gt;
    RETURN&lt;br /&gt;
      (SELECT	DLOT.id,&lt;br /&gt;
				DLOT.CD_LOTE,&lt;br /&gt;
				DLOT.CD_ORG_VENDA,&lt;br /&gt;
				DLOT.CD_TAB_PRECO,&lt;br /&gt;
				DLOT.PR_DESCONTO,&lt;br /&gt;
				DLOT.DATA_DELETE&lt;br /&gt;
        FROM   DESCONTO_LOTE_OV_TP_001 DLOT&lt;br /&gt;
		WHERE  &lt;br /&gt;
			(&lt;br /&gt;
				( &lt;br /&gt;
					( &lt;br /&gt;
						( DLOT.DATA_INSERT &amp;gt;= @DT_LAST_SINC&lt;br /&gt;
							OR DLOT.DATA_UPDATE &amp;gt;= @DT_LAST_SINC &lt;br /&gt;
						)&lt;br /&gt;
						AND DLOT.DATA_DELETE IS NULL &lt;br /&gt;
					)&lt;br /&gt;
					OR ( DLOT.DATA_DELETE &amp;gt;= @DT_LAST_SINC&lt;br /&gt;
							AND DLOT.DATA_INSERT &amp;lt; @DT_LAST_SINC&lt;br /&gt;
							AND NOT EXISTS(SELECT 1&lt;br /&gt;
											FROM   DESCONTO_LOTE_OV_TP_001 T&lt;br /&gt;
											WHERE  DLOT.CD_LOTE = T.CD_LOTE&lt;br /&gt;
											AND DLOT.CD_ORG_VENDA = T.CD_ORG_VENDA&lt;br /&gt;
											AND DLOT.CD_TAB_PRECO = T.CD_TAB_PRECO&lt;br /&gt;
												AND T.DATA_DELETE IS NULL&lt;br /&gt;
											)&lt;br /&gt;
					)&lt;br /&gt;
					OR ( &lt;br /&gt;
						@DT_LAST_SINC IS NULL&lt;br /&gt;
						AND DLOT.DATA_DELETE IS NULL&lt;br /&gt;
					)&lt;br /&gt;
				) &lt;br /&gt;
			)&lt;br /&gt;
		)&lt;br /&gt;
&lt;br /&gt;
/* Adicionando a função na tabela */&lt;br /&gt;
INSERT INTO TAMOJUNTO_TABELA_FUNCAO (NM_TABLE, NM_FN, FL_ATIVA) VALUES ('DESCONTO_LOTE_OV_TP', 'fn_REGISTRO_SYNC_DESCONTO_LOTE_OV_TP', 1)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Rodrigobastosv</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Scritps_%C3%9Ateis&amp;diff=5345</id>
		<title>Scritps Úteis</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Scritps_%C3%9Ateis&amp;diff=5345"/>
		<updated>2017-11-08T13:08:43Z</updated>

		<summary type="html">&lt;p&gt;Rodrigobastosv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[[Scrips Tabelas Web Service NOVO|Scrips Tabelas Web Service NOVO]]&lt;br /&gt;
&lt;br /&gt;
:*Saber quais os processos estão bloqueado outros e não estão sendo bloqueados&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select db_name(dbid), *&lt;br /&gt;
from sys.sysprocesses&lt;br /&gt;
where spid in (&lt;br /&gt;
     select blocked&lt;br /&gt;
      from sys.sysprocesses&lt;br /&gt;
     where blocked &amp;gt; 0)&lt;br /&gt;
      and blocked = 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Detalhar um processo &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
EXEC sp_who2 252&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
:* Ver a query que está sendo executada por um processo (Parâmetro spid)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DBCC INPUTBUFFER(6001)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Descobrir exatamente qual script está sendo executado no momento dado um processo qualquer&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DECLARE @comandoSQL VARCHAR(8000)&lt;br /&gt;
SET @comandoSQL = (SELECT CAST([TEXT] AS VARCHAR(8000))&lt;br /&gt;
FROM ::fn_get_sql((SELECT [sql_handle] FROM sysprocesses where spid = 1071)))&lt;br /&gt;
select @comandoSQL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Descobrir exatamente qual script está sendo executado no momento dado um processo qualquer quando existem mais de um script sendo executado&lt;br /&gt;
em background para o spid passado&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DECLARE @comandoSQL VARCHAR(8000)&lt;br /&gt;
DECLARE @tableComandoSQL TABLE (comando VARCHAR(8000))&lt;br /&gt;
--SET @comandoSQL = (SELECT CAST([TEXT] AS VARCHAR(8000))&lt;br /&gt;
--FROM ::fn_get_sql((SELECT [sql_handle] FROM sysprocesses where spid = 1071)))&lt;br /&gt;
--select @comandoSQL&lt;br /&gt;
INSERT INTO @tableComandoSQL SELECT CAST([TEXT] AS VARCHAR(8000))&lt;br /&gt;
FROM ::fn_get_sql((SELECT top 1 [sql_handle] FROM sys.sysprocesses where spid = 1071))&lt;br /&gt;
SELECT * FROM @tableComandoSQL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Listar agendamentos de importações de todas as empresas num único script (Caso você queira adicionar mais empresas só seguir o modelo)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select 'bd_ssm_DCA', * from bd_ssm_DCA..CONFIGURACAO_GERA_REGISTRO_AUTO&lt;br /&gt;
union all&lt;br /&gt;
select 'bd_ssm_CAMIL', * from bd_ssm_CAMIL..CONFIGURACAO_GERA_REGISTRO_AUTO&lt;br /&gt;
union all&lt;br /&gt;
select 'bd_ssm_BEVILAQUA', * from bd_ssm_BEVILAQUA..CONFIGURACAO_GERA_REGISTRO_AUTO&lt;br /&gt;
union all&lt;br /&gt;
select 'bd_ssm_GUARAVES', * from bd_ssm_GUARAVES..CONFIGURACAO_GERA_REGISTRO_AUTO&lt;br /&gt;
union all&lt;br /&gt;
select 'bd_ssm_PAULUS', * from bd_ssm_PAULUS..CONFIGURACAO_GERA_REGISTRO_AUTO&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Ver todas as bases que utilizam a geração de registro automático&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sp_update_databases &lt;br /&gt;
'&lt;br /&gt;
insert into ##tabela&lt;br /&gt;
select db_name(),* from CONFIGURACAO_GERA_REGISTRO_AUTO', 'org_venda_cliente'&lt;br /&gt;
&amp;lt;/pre&lt;br /&gt;
&lt;br /&gt;
*Update com select e join:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UPDATE PEDIDO SET PEDIDO.NM_CLIENTE = (C.NM_CLIENTE)&lt;br /&gt;
from PEDIDO&lt;br /&gt;
inner join CLIENTE C on &lt;br /&gt;
PEDIDO.CD_CLIENTE = C.CD_CLIENTE&lt;br /&gt;
WHERE PEDIDO.DT_EMISSAO &amp;gt;= '2016-10-01' AND PEDIDO.NM_CLIENTE IS NULL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Atualizar Nome da Tabela&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
EXEC sp_rename 'ITEM_PEDIDO_REMESSA_FUTURA', 'ITEM_PED_REMESSA_FUTURA';&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Remover Foreign Keys&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ALTER TABLE Orders DROP CONSTRAINT fk_PerOrders&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ALTER TABLE ITEM_PEDIDO_EXCLUIDO DROP CONSTRAINT FK_SAV_ITEM__PEDIDO_PEDIDO_DEL; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Retornar consulta por banco de dados do tamanho usado no banco&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select 'Use '+name+';' + 'Exec SP_SpaceUsed ;'  from sys.databases&lt;br /&gt;
where  name like 'bd_ssm_%' and state_desc = 'online' and name not like '%prontaentrega%' &lt;br /&gt;
and name not like '%adm%'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Lista os Vendedores da Hierárquia do Supervisor passado no Parâmetro&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT cd_vendedor [Código], &lt;br /&gt;
       nm_vendedor [Vendedor]&lt;br /&gt;
FROM   fn_obter_vendedores_supervisor(#codigoSupervisor#)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Lista os Supervisores Acima da Hierárquia do Supervisor passado no Parâmetro, incluindo ele mesmo&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT S.cd_supervisor [Código], &lt;br /&gt;
       S.nm_supervisor [Supervisor] &lt;br /&gt;
FROM   fn_obter_supervisor_supervisores(#codigoSupervisor#) FOSS &lt;br /&gt;
       INNER JOIN SUPERVISOR S &lt;br /&gt;
               ON FOSS.cd_supervisor = S.cd_supervisor&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Lista os Supervisores Abaixo da Hierárquia do Supervisor passado no Parâmetro, incluindo ele mesmo&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT S.cd_supervisor [Código], &lt;br /&gt;
       S.nm_supervisor [Supervisor] &lt;br /&gt;
FROM   fn_obter_supervisores_supervisor(#codigoSupervisor#) FOSS &lt;br /&gt;
       INNER JOIN SUPERVISOR S &lt;br /&gt;
               ON FOSS.cd_supervisor = S.cd_supervisor&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Verificar processos que estão travando o banco e ver a query do processo que está travado&lt;br /&gt;
** Selecionar os 100 primeiros processos bloqueados no banco&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select TOP 100 *&lt;br /&gt;
from sys.sysprocesses&lt;br /&gt;
where blocked &amp;lt;&amp;gt; 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
:* Selecionar todos os processos bloqueados no banco ordenados por spid&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select spid, blocked, hostname=left(hostname,20), program_name=left(program_name,20),&lt;br /&gt;
       WaitTime_Seg = convert(int,(waittime/1000))  ,open_tran, status&lt;br /&gt;
From master.dbo.sysprocesses &lt;br /&gt;
where blocked &amp;gt; 0&lt;br /&gt;
order by spid&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Então você precisa verificar quais processos estão rodando em um determinado banco de dados:&lt;br /&gt;
** Lista todos os processos existentes em uma determinada base de dados&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DECLARE @database VARCHAR(100) = 'bd_ssm_suabase' -- INSIRA AQUI O NOME DO BANCO DE DADOS  &lt;br /&gt;
DECLARE @processosTemp TABLE &lt;br /&gt;
  ( &lt;br /&gt;
     spid       SMALLINT, &lt;br /&gt;
     ecid       SMALLINT, &lt;br /&gt;
     status     NCHAR(30), &lt;br /&gt;
     loginname  NCHAR(128), &lt;br /&gt;
     hostname   NCHAR(128), &lt;br /&gt;
     blk        CHAR(5), &lt;br /&gt;
     dbname     NCHAR(128), &lt;br /&gt;
     cmd        NCHAR(16), &lt;br /&gt;
     request_id INT &lt;br /&gt;
  ) &lt;br /&gt;
&lt;br /&gt;
INSERT INTO @processosTemp &lt;br /&gt;
EXEC Sp_who &lt;br /&gt;
&lt;br /&gt;
SELECT * &lt;br /&gt;
FROM   @processosTemp &lt;br /&gt;
WHERE  dbname = @database &lt;br /&gt;
ORDER  BY spid &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
:* Aí você precisa remover essa base - faça esse procedimento apenas no ambiente de teste - mas existem processos bloqueando essa remoção. Então você deverá remover os mesmos processos referentes a consulta acima, para depois DROPAR a base.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
declare @execSql varchar(1000), @databaseName varchar(100)  &lt;br /&gt;
set @databaseName = 'bd_ssm_suabase'  -- INSIRA O NOME DA BASE QUE QUER MATAR SEUS PROCESSOS EM ABERTO&lt;br /&gt;
&lt;br /&gt;
set @execSql = ''   &lt;br /&gt;
select  @execSql = @execSql + 'kill ' + convert(char(10), spid) + CHAR(13)+CHAR(10)  &lt;br /&gt;
from    master.dbo.sysprocesses  &lt;br /&gt;
where   db_name(dbid) = @databaseName  &lt;br /&gt;
     and  &lt;br /&gt;
     DBID &amp;lt;&amp;gt; 0  &lt;br /&gt;
     and  &lt;br /&gt;
     spid &amp;lt;&amp;gt; @@spid  &lt;br /&gt;
order by spid&lt;br /&gt;
exec(@execSql)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Script para verificar se exste alguma configuração para algum serviço de envio de e-mail ativado&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT * FROM CONFIGURACAO &lt;br /&gt;
WHERE DS_CHAVE = 'ENVIA_EMAIL_CLIENTE_PEDIDO_EXPORTADO'&lt;br /&gt;
&lt;br /&gt;
SELECT * FROM CONFIGURACAO &lt;br /&gt;
WHERE DS_CHAVE = 'ENVIA_EMAIL_CLIENTE_PEDIDO_NAO_EFETIVADO'&lt;br /&gt;
&lt;br /&gt;
SELECT * FROM CONFIGURACAO &lt;br /&gt;
WHERE DS_CHAVE = 'ENVIA_EMAIL_FINANC_NOVO_CLIENTE'&lt;br /&gt;
&lt;br /&gt;
SELECT * FROM CONFIGURACAO &lt;br /&gt;
WHERE DS_CHAVE = 'ENVIA_EMAIL_SUPERVISOR_PEDIDO_PENDENTE'&lt;br /&gt;
&lt;br /&gt;
SELECT * FROM CONFIGURACAO &lt;br /&gt;
WHERE DS_CHAVE = 'CONDICAO_PAGAMENTO_ESPECIAL'&lt;br /&gt;
&lt;br /&gt;
SELECT * FROM CONFIGURACAO &lt;br /&gt;
WHERE DS_CHAVE = 'SP_ENVIA_EMAIL_CLIENTE_PEDIDO_CRIACAO'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Script para ver todas as foreign keys do banco&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT &lt;br /&gt;
 KCU1.CONSTRAINT_NAME AS 'FK_Nome_Constraint'&lt;br /&gt;
 , KCU1.TABLE_NAME AS 'FK_Nome_Tabela'&lt;br /&gt;
 , KCU1.COLUMN_NAME AS 'FK_Nome_Coluna'&lt;br /&gt;
 , FK.is_disabled AS 'FK_Esta_Desativada'&lt;br /&gt;
 , KCU2.CONSTRAINT_NAME AS 'PK_Nome_Constraint_Referenciada'&lt;br /&gt;
 , KCU2.TABLE_NAME AS 'PK_Nome_Tabela_Referenciada'&lt;br /&gt;
 , KCU2.COLUMN_NAME AS 'PK_Nome_Coluna_Referenciada'&lt;br /&gt;
FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS RC&lt;br /&gt;
JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE KCU1&lt;br /&gt;
ON KCU1.CONSTRAINT_CATALOG = RC.CONSTRAINT_CATALOG &lt;br /&gt;
 AND KCU1.CONSTRAINT_SCHEMA = RC.CONSTRAINT_SCHEMA&lt;br /&gt;
 AND KCU1.CONSTRAINT_NAME = RC.CONSTRAINT_NAME&lt;br /&gt;
JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE KCU2&lt;br /&gt;
ON KCU2.CONSTRAINT_CATALOG = RC.UNIQUE_CONSTRAINT_CATALOG &lt;br /&gt;
 AND KCU2.CONSTRAINT_SCHEMA = RC.UNIQUE_CONSTRAINT_SCHEMA&lt;br /&gt;
 AND KCU2.CONSTRAINT_NAME = RC.UNIQUE_CONSTRAINT_NAME&lt;br /&gt;
 AND KCU2.ORDINAL_POSITION = KCU1.ORDINAL_POSITION&lt;br /&gt;
JOIN sys.foreign_keys FK on FK.name = KCU1.CONSTRAINT_NAME&lt;br /&gt;
&lt;br /&gt;
--where KCU1.CONSTRAINT_NAME like '%FK_PEDIDO_EXCLUIDO__PEDIDO%'&lt;br /&gt;
Order by &lt;br /&gt;
KCU1.TABLE_NAME&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Script para Cadastro de Menu do Portal&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- SELECT * FROM MENU WHERE DS_MENU IN('Cadastro', 'Bonificação','Associada ao Pedido')&lt;br /&gt;
-- UPDATE MENU SET DS_URL = null WHERE CD_MENU = 130&lt;br /&gt;
-- SELECT * FROM MENU WHERE CD_MENU_PAI = 1&lt;br /&gt;
&lt;br /&gt;
-- INCLUSÃO DE MENU -- &lt;br /&gt;
DECLARE @dsMenu    VARCHAR(100), &lt;br /&gt;
        @dsMenuPai VARCHAR(100), &lt;br /&gt;
        @cdMenuPai INT &lt;br /&gt;
&lt;br /&gt;
SELECT @dsMenu = 'Parâmetros de Configuração', &lt;br /&gt;
       @dsMenuPai = 'Cadastro'&lt;br /&gt;
 &lt;br /&gt;
SELECT	@dsMenu = LTRIM(RTRIM(@dsMenu)),&lt;br /&gt;
		@dsMenuPai = LTRIM(RTRIM(@dsMenuPai))&lt;br /&gt;
&lt;br /&gt;
SET @cdMenuPai = (SELECT TOP 1 cd_menu &lt;br /&gt;
                  FROM   menu &lt;br /&gt;
                  WHERE  ds_menu = @dsMenuPai)&lt;br /&gt;
&lt;br /&gt;
IF ( @cdMenuPai IS NOT NULL ) &lt;br /&gt;
  BEGIN &lt;br /&gt;
      IF NOT EXISTS (SELECT 1 &lt;br /&gt;
                     FROM   menu &lt;br /&gt;
                     WHERE  ds_menu = @dsMenu &lt;br /&gt;
                            AND cd_menu_pai = @cdMenuPai) &lt;br /&gt;
        BEGIN &lt;br /&gt;
            INSERT INTO menu &lt;br /&gt;
                        (cd_menu, &lt;br /&gt;
                         ds_menu, &lt;br /&gt;
                         ds_url, &lt;br /&gt;
                         ds_param, &lt;br /&gt;
                         cd_menu_pai, &lt;br /&gt;
                         id_ativo) &lt;br /&gt;
            SELECT Max(Isnull(cd_menu, 0)) + 1, &lt;br /&gt;
                   @dsMenu, &lt;br /&gt;
                   @dsMenu, &lt;br /&gt;
                   NULL, &lt;br /&gt;
                   @cdMenuPai, &lt;br /&gt;
                   'S' &lt;br /&gt;
            FROM   menu &lt;br /&gt;
            &lt;br /&gt;
            PRINT '-----------------  MENU CADASTRADO COM SUCESSO  -----------------'&lt;br /&gt;
			PRINT 'FOI CADASTRADO O SUBMENU &amp;quot;'+ @dsMenu + '&amp;quot; NO MENU &amp;quot;'+ @dsMenuPai + '&amp;quot;!'&lt;br /&gt;
        END &lt;br /&gt;
        ELSE&lt;br /&gt;
        BEGIN&lt;br /&gt;
			PRINT '-----------------  FALHA AO CADASTRAR MENU  -----------------'&lt;br /&gt;
			PRINT 'JÁ EXISTE O SUBMENU &amp;quot;'+ @dsMenu + '&amp;quot; NO MENU &amp;quot;'+ @dsMenuPai + '&amp;quot;!'&lt;br /&gt;
        END&lt;br /&gt;
  END &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Conjunto de Selects para visualizar se há algum desconto sendo persistido na base do Mobile&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select  * from desconto_produto;&lt;br /&gt;
select * from DESCONTO_ORG_PRODUTO;&lt;br /&gt;
select * from DESCONTO_MEGAZORD;&lt;br /&gt;
select * from DESCONTO_ICMS_DIF;&lt;br /&gt;
select * from DESCONTO_CLIENTE_FORNEC;&lt;br /&gt;
select * from DESCONTO_CLIENTE;&lt;br /&gt;
select * from DESCONTO_FORNECEDOR;&lt;br /&gt;
select * from DESCONTO_MEGAZORD_SEGMENTO;&lt;br /&gt;
select * from DESCONTO_UF;&lt;br /&gt;
select  * from desco_cliente_familia;&lt;br /&gt;
select * from DESCO_GRUP_CLIEN_FAMIL;&lt;br /&gt;
select * from desconto_cliente;&lt;br /&gt;
select  * from DESCO_VENDEDOR_FAMILIA;&lt;br /&gt;
select * from DESCO_GRUP_CLIEN_FAMIL;&lt;br /&gt;
select * from DESCO_GRUP_CLIENT_VEND;&lt;br /&gt;
select * from DESCO_GRUPO_CLIEN_PROD;&lt;br /&gt;
select * from DESCONTO_VEND_PRODUTO;&lt;br /&gt;
select * from DESCONTO_UF_PRODUTO;&lt;br /&gt;
select * from DESCONTO_UF_FAMILIA;&lt;br /&gt;
&lt;br /&gt;
select * from DESCONTO_CLIENTE_PRODUT;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Select para contar os registros de uma tabela sem derrubar o banco&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT SUM (row_count)&lt;br /&gt;
FROM sys.dm_db_partition_stats&lt;br /&gt;
WHERE object_id=OBJECT_ID('log_alteracao_usuario')   &lt;br /&gt;
AND (index_id=0 or index_id=1);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Desabilitar as triggers de geração de registros &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select 'alter table '+ OBJECT_NAME(parent_id)+ ' disable trigger '+name from sys.triggers&lt;br /&gt;
where name like 'log%'&lt;br /&gt;
order by 1, name&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Habilitar as triggers de geração de registros &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select 'alter table '+ OBJECT_NAME(parent_id)+ ' enable trigger '+name from sys.triggers&lt;br /&gt;
where name like 'log%'&lt;br /&gt;
order by 1, name&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Consulta para ver os processos em execução no banco da camil&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select DB_NAME(dbid),* from sys.sysprocesses&lt;br /&gt;
where program_name like '%ssmicro%'&lt;br /&gt;
and status like '%run%'&lt;br /&gt;
&lt;br /&gt;
dbcc inputbuffer(61)&lt;br /&gt;
dbcc inputbuffer(65)&lt;br /&gt;
guarda essa consulta&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Listar todas as bases ativas criando um use bd_ssm_nomeempresa&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select 'Use '+name+';' from sys.databases&lt;br /&gt;
where  &lt;br /&gt;
	name like 'bd_ssm_%' &lt;br /&gt;
	and state_desc = 'online' &lt;br /&gt;
	and name not like '%prontaentrega%' &lt;br /&gt;
	and name not like '%adm%' &lt;br /&gt;
order by name asc;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Contar os registros da log_alteracao_usuario sem parar o banco de dados&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT SUM (row_count)&lt;br /&gt;
FROM sys.dm_db_partition_stats&lt;br /&gt;
WHERE object_id=OBJECT_ID('log_alteracao_usuario')   &lt;br /&gt;
AND (index_id=0 or index_id=1);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Truncar tabela de log&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
TRUNCATE TABLE LOG_ALTERACAO_USUARIO;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Usando a sys.databases de forma inteligente para economizar trabalho&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select 'use ' + name + '; select ' +name + ',* from CAMPO where cd_campo = 23;'&lt;br /&gt;
from sys.databases&lt;br /&gt;
where name like 'bd_ssm_%' and state_desc &amp;lt;&amp;gt; 'OFFLINE'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Listar todos os bancos de dados de empresa da softsite&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select name from sys.databases&lt;br /&gt;
where name like 'bd_ssm_%';&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Limpeza de cadastros do ADM&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT E.NM_EMPRESA, EB.DS_DATABASE, * FROM EMPRESA E &lt;br /&gt;
INNER JOIN EMPRESA_BD EB ON (E.CD_EMPRESA = EB.CD_EMPRESA)&lt;br /&gt;
INNER JOIN sys.sysdatabases SD ON (SD.name = EB.DS_DATABASE) &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT E.CD_EMPRESA, E.NM_EMPRESA, EB.DS_DATABASE, * FROM EMPRESA E &lt;br /&gt;
LEFT JOIN EMPRESA_BD EB ON (E.CD_EMPRESA = EB.CD_EMPRESA)&lt;br /&gt;
LEFT JOIN sys.sysdatabases SD ON (SD.name = EB.DS_DATABASE)&lt;br /&gt;
WHERE &lt;br /&gt;
	SD.name IS NULL	&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Tabelas que tem que ser analisadas&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
EMPRESA_SYNC_SISTEMA&lt;br /&gt;
EMPRESA_SYNC_BD&lt;br /&gt;
EMPRESA_SISTEMA&lt;br /&gt;
EMPRESA_BD&lt;br /&gt;
EMPRESA&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Deletes necessários para limpar as bases&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Na base ADM:&lt;br /&gt;
select * from empresa order by nm_empresa asc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DELETE FROM EMPRESA_SYNC_BD&lt;br /&gt;
WHERE CD_EMPRESA IN &lt;br /&gt;
(1129)&lt;br /&gt;
&lt;br /&gt;
DELETE FROM EMPRESA_BD&lt;br /&gt;
WHERE CD_EMPRESA IN &lt;br /&gt;
(1129)&lt;br /&gt;
&lt;br /&gt;
DELETE FROM EMPRESA_SYNC_SISTEMA&lt;br /&gt;
WHERE CD_EMPRESA IN &lt;br /&gt;
(1129)&lt;br /&gt;
&lt;br /&gt;
DELETE FROM EMPRESA_SISTEMA&lt;br /&gt;
WHERE CD_EMPRESA IN &lt;br /&gt;
(1129)&lt;br /&gt;
&lt;br /&gt;
DELETE FROM EMPRESA&lt;br /&gt;
WHERE CD_EMPRESA IN &lt;br /&gt;
(1129)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Verificar quantidade de conexões abertas por base utilizadas pelo portal&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select db_name(dbid), count(*)&lt;br /&gt;
from sys.sysprocesses&lt;br /&gt;
where 1=1&lt;br /&gt;
--and   db_name(dbid) = 'bd_ssm_criasim'&lt;br /&gt;
and program_name = 'jTDS'&lt;br /&gt;
group &lt;br /&gt;
by db_name(dbid)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Comando para gerar os drops das Triggers do claudus&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select ' drop trigger ', tr.name  from sys.sysobjects tr&lt;br /&gt;
inner join sys.sysobjects tb on tr.parent_obj = tb.id and tb.xtype = 'U'&lt;br /&gt;
where tr.xtype = 'tr'&lt;br /&gt;
and tr.name like 'TR_AUDIT%'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Remover empresas do import que não estão mais acessíveis na base&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
use bd_ssm_adm&lt;br /&gt;
&lt;br /&gt;
select  * &lt;br /&gt;
--update es set id_realiza_importacao&lt;br /&gt;
from EMPRESA_SISTEMA es&lt;br /&gt;
inner join empresa_bd bd on es.CD_EMPRESA = bd.CD_EMPRESA &lt;br /&gt;
left  join sys.databases d on d.name = bd.DS_DATABASE collate Latin1_General_CI_AS&lt;br /&gt;
where (d.name is null or d.snapshot_isolation_state_desc = 'OFF')&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Listar algo em todas as bases numa consulta só&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select 'select ''' + name + ''', *  from ' + name + '.dbo.INTERFACEERPCONFIGURACAOPARAMETRO where VR_PARAMETRO NOT LIKE ''%PEDIDO%ITEM_PEDIDO%'' UNION ALL'&lt;br /&gt;
from sys.databases&lt;br /&gt;
where name like 'bd_ssm_%' and state_desc &amp;lt;&amp;gt; 'OFFLINE' and (name not like '%pronta%' AND name not like 'bd_ssm_adm')&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Descobrindo as empresas que importam&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
update es set id_realiza_importacao&lt;br /&gt;
from EMPRESA_SISTEMA es&lt;br /&gt;
inner join empresa_bd bd on es.CD_EMPRESA = bd.CD_EMPRESA &lt;br /&gt;
left  join sys.databases d on d.name = bd.DS_DATABASE collate Latin1_General_CI_AS&lt;br /&gt;
where (d.name is null or d.snapshot_isolation_state_desc = 'OFF')&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*UPDATE para atualizar dados duplicados da tabela 001&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UPDATE LISTA_PRODUTO_001&lt;br /&gt;
SET data_delete = data_insert+('00:00:00.200')&lt;br /&gt;
where id in (&lt;br /&gt;
-2146273629,&lt;br /&gt;
-2146273628,&lt;br /&gt;
-2146273627,&lt;br /&gt;
-2146273626,&lt;br /&gt;
-2146273625,&lt;br /&gt;
-2146273624,&lt;br /&gt;
-2146273623,&lt;br /&gt;
-2146273622,&lt;br /&gt;
-2146273621)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Comando para concatenar dentro do group by &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
STUFF&lt;br /&gt;
&lt;br /&gt;
SELECT NM_ESTADO,&lt;br /&gt;
       NM_CIDADE,&lt;br /&gt;
       STUFF(&lt;br /&gt;
               (SELECT DISTINCT ',' + NM_FANTASIA&lt;br /&gt;
                FROM cliente&lt;br /&gt;
                WHERE NM_ESTADO = a.NM_ESTADO&lt;br /&gt;
                  AND NM_CIDADE = a.NM_CIDADE&lt;br /&gt;
                  FOR XML PATH ('')) , 1, 1, '') AS URLList&lt;br /&gt;
FROM cliente AS a&lt;br /&gt;
WHERE NM_ESTADO = 'CE'&lt;br /&gt;
  AND NM_CIDADE = 'fortaleza'&lt;br /&gt;
GROUP BY NM_ESTADO,&lt;br /&gt;
         NM_CIDADE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Template base pra criar o script de uma tabela NOVA pro TJ&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/* Criar a tabela TMP pra empresas que utilizam import */&lt;br /&gt;
CREATE TABLE [dbo].[DESCONTO_LOTE_OV_TP_TMP]&lt;br /&gt;
  ( &lt;br /&gt;
     CD_LOTE      int NOT NULL,  &lt;br /&gt;
     CD_ORG_VENDA VARCHAR(20) COLLATE SQL_LATIN1_GENERAL_CP1_CI_AI NOT NULL, &lt;br /&gt;
     CD_TAB_PRECO INT NOT NULL, &lt;br /&gt;
	 PR_DESCONTO  DECIMAL(18, 6) NOT NULL,&lt;br /&gt;
	CONSTRAINT [PK_DESCONTO_LOTE_OV_TP_TMP] PRIMARY KEY CLUSTERED (&lt;br /&gt;
		[CD_LOTE] ASC,&lt;br /&gt;
		[CD_ORG_VENDA] ASC,&lt;br /&gt;
		[CD_TAB_PRECO] ASC&lt;br /&gt;
	) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]&lt;br /&gt;
) ON [PRIMARY]&lt;br /&gt;
&lt;br /&gt;
/* Criar a tabela de LOG */&lt;br /&gt;
CREATE TABLE LOG_DESCONTO_LOTE_OV_TP&lt;br /&gt;
(&lt;br /&gt;
CD_LOG INT IDENTITY PRIMARY KEY&lt;br /&gt;
,DT_LOG DATETIME NOT NULL&lt;br /&gt;
,TP_OPERACAO VARCHAR(1) NOT NULL&lt;br /&gt;
,ID_KEY VARCHAR(200) NOT NULL&lt;br /&gt;
,CD_LOTE int&lt;br /&gt;
,CD_ORG_VENDA VARCHAR(20)&lt;br /&gt;
,CD_TAB_PRECO INT)&lt;br /&gt;
&lt;br /&gt;
/* Criar tabela 001 seguindo o padrão */&lt;br /&gt;
CREATE TABLE [dbo].[DESCONTO_LOTE_OV_TP_001]&lt;br /&gt;
  ( &lt;br /&gt;
     [id] [int] IDENTITY(-2147483648,1) NOT NULL,&lt;br /&gt;
     CD_LOTE      INT NOT NULL,  &lt;br /&gt;
     CD_ORG_VENDA VARCHAR(20) COLLATE SQL_LATIN1_GENERAL_CP1_CI_AI NOT NULL, &lt;br /&gt;
     CD_TAB_PRECO INT NOT NULL, &lt;br /&gt;
	 PR_DESCONTO  DECIMAL(18, 6) NOT NULL,&lt;br /&gt;
     [data_insert] [datetime] NOT NULL,&lt;br /&gt;
	 [data_update] [datetime] NULL,&lt;br /&gt;
	 [data_delete] [datetime] NULL,&lt;br /&gt;
PRIMARY KEY NONCLUSTERED &lt;br /&gt;
(&lt;br /&gt;
	[id] ASC&lt;br /&gt;
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]&lt;br /&gt;
) ON [PRIMARY]&lt;br /&gt;
&lt;br /&gt;
/* Adicionar constraint */&lt;br /&gt;
ALTER TABLE [dbo].[DESCONTO_LOTE_OV_TP_001] ADD  CONSTRAINT [DF_DATA_INSERCAO_DESCONTO]  DEFAULT (getdate()) FOR [data_insert]&lt;br /&gt;
&lt;br /&gt;
/* Criar trigger na tabela nova adicionando os campos necessários */&lt;br /&gt;
CREATE TRIGGER [dbo].[TR_TJ_UPDATE_DESCONTO_LOTE_OV_TP]&lt;br /&gt;
ON [dbo].[DESCONTO_LOTE_OV_TP_001]&lt;br /&gt;
instead OF UPDATE&lt;br /&gt;
AS&lt;br /&gt;
  BEGIN&lt;br /&gt;
      SET nocount ON;&lt;br /&gt;
&lt;br /&gt;
      UPDATE t&lt;br /&gt;
      SET    t.data_update = case when s.data_delete is null then  Getdate() else t.data_update end ,&lt;br /&gt;
             T.CD_LOTE = S.CD_LOTE,&lt;br /&gt;
			 T.CD_ORG_VENDA = S.CD_ORG_VENDA,&lt;br /&gt;
			 T.CD_TAB_PRECO = S.CD_TAB_PRECO,&lt;br /&gt;
			 T.PR_DESCONTO = S.PR_DESCONTO,&lt;br /&gt;
             t.data_delete = s.data_delete&lt;br /&gt;
      FROM   DESCONTO_LOTE_OV_TP_001 t&lt;br /&gt;
             INNER JOIN inserted s&lt;br /&gt;
                     ON ( t.id = s.id )&lt;br /&gt;
&lt;br /&gt;
  END&lt;br /&gt;
&lt;br /&gt;
/* Criar a view TJ */&lt;br /&gt;
CREATE VIEW [dbo].[DESCONTO_LOTE_OV_TP_TJ]&lt;br /&gt;
AS&lt;br /&gt;
  SELECT id,&lt;br /&gt;
         CD_LOTE, CD_ORG_VENDA, CD_TAB_PRECO, PR_DESCONTO&lt;br /&gt;
  FROM   DESCONTO_LOTE_OV_TP_001&lt;br /&gt;
  WHERE  data_delete IS NULL&lt;br /&gt;
&lt;br /&gt;
/* Criar Trigger da view */&lt;br /&gt;
CREATE TRIGGER [dbo].[TR_TJ_DELETE_DESCONTO_LOTE_OV_TP]&lt;br /&gt;
ON [dbo].[DESCONTO_LOTE_OV_TP_TJ]&lt;br /&gt;
instead OF DELETE&lt;br /&gt;
AS&lt;br /&gt;
  BEGIN&lt;br /&gt;
      SET nocount ON;&lt;br /&gt;
&lt;br /&gt;
      UPDATE t&lt;br /&gt;
      SET    data_delete = Getdate()&lt;br /&gt;
      FROM   deleted s&lt;br /&gt;
             INNER JOIN DESCONTO_LOTE_OV_TP_001 t&lt;br /&gt;
                     ON s.id = t.id&lt;br /&gt;
&lt;br /&gt;
  END&lt;br /&gt;
&lt;br /&gt;
/* Criar a view */&lt;br /&gt;
CREATE VIEW [dbo].[DESCONTO_LOTE_OV_TP]&lt;br /&gt;
AS&lt;br /&gt;
  SELECT CD_LOTE, CD_ORG_VENDA, CD_TAB_PRECO, PR_DESCONTO&lt;br /&gt;
  FROM   DESCONTO_LOTE_OV_TP_tj&lt;br /&gt;
&lt;br /&gt;
/* Criar a função de navegação */&lt;br /&gt;
CREATE FUNCTION fn_REGISTRO_SYNC_DESCONTO_LOTE_OV_TP(@ID_VENDEDOR  INT,&lt;br /&gt;
                                                           @DT_LAST_SINC DATETIME)&lt;br /&gt;
RETURNS TABLE&lt;br /&gt;
AS&lt;br /&gt;
    RETURN&lt;br /&gt;
      (SELECT	DLOT.id,&lt;br /&gt;
				DLOT.CD_LOTE,&lt;br /&gt;
				DLOT.CD_ORG_VENDA,&lt;br /&gt;
				DLOT.CD_TAB_PRECO,&lt;br /&gt;
				DLOT.PR_DESCONTO,&lt;br /&gt;
				DLOT.DATA_DELETE&lt;br /&gt;
        FROM   DESCONTO_LOTE_OV_TP_001 DLOT&lt;br /&gt;
		WHERE  &lt;br /&gt;
			(&lt;br /&gt;
				( &lt;br /&gt;
					( &lt;br /&gt;
						( DLOT.DATA_INSERT &amp;gt;= @DT_LAST_SINC&lt;br /&gt;
							OR DLOT.DATA_UPDATE &amp;gt;= @DT_LAST_SINC &lt;br /&gt;
						)&lt;br /&gt;
						AND DLOT.DATA_DELETE IS NULL &lt;br /&gt;
					)&lt;br /&gt;
					OR ( DLOT.DATA_DELETE &amp;gt;= @DT_LAST_SINC&lt;br /&gt;
							AND DLOT.DATA_INSERT &amp;lt; @DT_LAST_SINC&lt;br /&gt;
							AND NOT EXISTS(SELECT 1&lt;br /&gt;
											FROM   DESCONTO_LOTE_OV_TP_001 T&lt;br /&gt;
											WHERE  DLOT.CD_LOTE = T.CD_LOTE&lt;br /&gt;
											AND DLOT.CD_ORG_VENDA = T.CD_ORG_VENDA&lt;br /&gt;
											AND DLOT.CD_TAB_PRECO = T.CD_TAB_PRECO&lt;br /&gt;
												AND T.DATA_DELETE IS NULL&lt;br /&gt;
											)&lt;br /&gt;
					)&lt;br /&gt;
					OR ( &lt;br /&gt;
						@DT_LAST_SINC IS NULL&lt;br /&gt;
						AND DLOT.DATA_DELETE IS NULL&lt;br /&gt;
					)&lt;br /&gt;
				) &lt;br /&gt;
			)&lt;br /&gt;
		)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Rodrigobastosv</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Funcionalidade/Sugest%C3%A3o_De_venda_Por_Curva_ABC&amp;diff=4012</id>
		<title>Funcionalidade/Sugestão De venda Por Curva ABC</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Funcionalidade/Sugest%C3%A3o_De_venda_Por_Curva_ABC&amp;diff=4012"/>
		<updated>2017-05-26T13:22:28Z</updated>

		<summary type="html">&lt;p&gt;Rodrigobastosv: /* 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;
|  25/05/2017  ||  Rodrigo Bastos ||  Criação do Documento&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; | Plastlit&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; | 2ª Fase&lt;br /&gt;
|- &lt;br /&gt;
| | '''Gerente/Sponsor:'''&lt;br /&gt;
| | Pedro Silveira&lt;br /&gt;
| | '''Gerente SoftSite:'''&lt;br /&gt;
|  | Guido Ciarlini&lt;br /&gt;
|- &lt;br /&gt;
| | '''Analista SoftSite:'''&lt;br /&gt;
| | Rodrigo Bastos&lt;br /&gt;
| | '''Arquiteto SoftSite:'''&lt;br /&gt;
| | &lt;br /&gt;
|- &lt;br /&gt;
| | '''Aplicação(s):'''&lt;br /&gt;
| | Portal&lt;br /&gt;
| | &lt;br /&gt;
| | &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Necessidade==&lt;br /&gt;
Necessidade de exibir para o representante uma listagem com sugestão de vendas baseada em itens complementares aos itens inseridos no pedido.&lt;br /&gt;
&lt;br /&gt;
==Exemplo==&lt;br /&gt;
Ao inserir um tubo X no pedido o GeoSales deve sugerir a inclusão de uma conexão Y própria do tubo X.&lt;br /&gt;
&lt;br /&gt;
==Solução==&lt;br /&gt;
Inserir uma ação para cada item do pedido que, quando acionada, mostraria quais os itens sugeridos a partir daquele determinado item.&lt;br /&gt;
&lt;br /&gt;
A ideia seria inserir uma ação a mais na grid de itens do pedido, deve ser algo parecido com a imagem abaixo.&lt;br /&gt;
[[Arquivo:Plast1re.png]]&lt;br /&gt;
&lt;br /&gt;
Ao clicar na nova ação deve aparecer uma grid com todas as sugestões daquele produto parecido com a figura abaixo.&lt;br /&gt;
[[Arquivo:Plast2.png]]&lt;br /&gt;
&lt;br /&gt;
Ao clicar no botão de + o produto sugerido deve ser adicionado na lupa de produto e carregado suas informações para que que possa ser escolhido a quantidade e adicionar algum desconto/acréscimo se necessário.&lt;br /&gt;
&lt;br /&gt;
==Cenários==&lt;br /&gt;
&lt;br /&gt;
===Cenário Happy Day===&lt;br /&gt;
====Dados====&lt;br /&gt;
# Vendedor: João&lt;br /&gt;
# Produto Inserido no Pedido: Tubo X&lt;br /&gt;
# Produtos Sugerido a partir do Tubo X: Conexão Y&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João insere o tubo X ao pedido&lt;br /&gt;
# João aciona o botão para mostrar os produtos sugeridos de X&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O produto Conexão Y aparece como sugestão para o Tubo X&lt;br /&gt;
&lt;br /&gt;
===Cenário Produto sem Sugestão===&lt;br /&gt;
====Dados====&lt;br /&gt;
# Vendedor: João&lt;br /&gt;
# Produto Inserido no Pedido: Tubo X&lt;br /&gt;
# Produtos Sugerido a partir do Tubo X: Nenhum&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João insere o tubo X ao pedido&lt;br /&gt;
# João aciona o botão para mostrar os produtos sugeridos de X&lt;br /&gt;
&lt;br /&gt;
====Assertiva====&lt;br /&gt;
# Nenhum produto deve aparecer como sugestão para o Tubo X&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;
! style=&amp;quot;width:150px&amp;quot; |Aprovado Por&lt;br /&gt;
! style=&amp;quot;width:200px&amp;quot; |E-Mail&lt;br /&gt;
! style=&amp;quot;width:100px&amp;quot; |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;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|- &lt;br /&gt;
| '''''Direção Comercial''''' &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Funcionalidade]]&lt;/div&gt;</summary>
		<author><name>Rodrigobastosv</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Funcionalidade/Sugest%C3%A3o_De_venda_Por_Curva_ABC&amp;diff=4011</id>
		<title>Funcionalidade/Sugestão De venda Por Curva ABC</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Funcionalidade/Sugest%C3%A3o_De_venda_Por_Curva_ABC&amp;diff=4011"/>
		<updated>2017-05-26T13:21:26Z</updated>

		<summary type="html">&lt;p&gt;Rodrigobastosv: /* 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;
|  25/05/2017  ||  Rodrigo Bastos ||  Criação do Documento&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; | Plastlit&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; | 2ª Fase&lt;br /&gt;
|- &lt;br /&gt;
| | '''Gerente/Sponsor:'''&lt;br /&gt;
| | Pedro Silveira&lt;br /&gt;
| | '''Gerente SoftSite:'''&lt;br /&gt;
|  | Guido Ciarlini&lt;br /&gt;
|- &lt;br /&gt;
| | '''Analista SoftSite:'''&lt;br /&gt;
| | Rodrigo Bastos&lt;br /&gt;
| | '''Arquiteto SoftSite:'''&lt;br /&gt;
| | &lt;br /&gt;
|- &lt;br /&gt;
| | '''Aplicação(s):'''&lt;br /&gt;
| | Portal&lt;br /&gt;
| | &lt;br /&gt;
| | &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Necessidade==&lt;br /&gt;
Necessidade de exibir para o representante uma listagem com sugestão de vendas baseada em itens complementares aos itens inseridos no pedido.&lt;br /&gt;
&lt;br /&gt;
==Exemplo==&lt;br /&gt;
Ao inserir um tubo X no pedido o GeoSales deve sugerir a inclusão de uma conexão Y própria do tubo X.&lt;br /&gt;
&lt;br /&gt;
==Solução==&lt;br /&gt;
Inserir uma ação para cada item do pedido que, quando acionada, mostraria quais os itens sugeridos a partir daquele determinado item.&lt;br /&gt;
&lt;br /&gt;
A ideia seria inserir uma ação a mais na grid de itens do pedido, deve ser algo parecido com a imagem abaixo.&lt;br /&gt;
[[Arquivo:Plast1re.png]]&lt;br /&gt;
&lt;br /&gt;
Ao clicar na nova ação deve aparecer uma grid com todas as sugestões daquele produto parecido com a figura abaixo.&lt;br /&gt;
[[Arquivo:Plast2.png]]&lt;br /&gt;
&lt;br /&gt;
Ao clicar no botão de + o produto sugerido deve ser adicionado ao pedido.&lt;br /&gt;
&lt;br /&gt;
==Cenários==&lt;br /&gt;
&lt;br /&gt;
===Cenário Happy Day===&lt;br /&gt;
====Dados====&lt;br /&gt;
# Vendedor: João&lt;br /&gt;
# Produto Inserido no Pedido: Tubo X&lt;br /&gt;
# Produtos Sugerido a partir do Tubo X: Conexão Y&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João insere o tubo X ao pedido&lt;br /&gt;
# João aciona o botão para mostrar os produtos sugeridos de X&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O produto Conexão Y aparece como sugestão para o Tubo X&lt;br /&gt;
&lt;br /&gt;
===Cenário Produto sem Sugestão===&lt;br /&gt;
====Dados====&lt;br /&gt;
# Vendedor: João&lt;br /&gt;
# Produto Inserido no Pedido: Tubo X&lt;br /&gt;
# Produtos Sugerido a partir do Tubo X: Nenhum&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João insere o tubo X ao pedido&lt;br /&gt;
# João aciona o botão para mostrar os produtos sugeridos de X&lt;br /&gt;
&lt;br /&gt;
====Assertiva====&lt;br /&gt;
# Nenhum produto deve aparecer como sugestão para o Tubo X&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;
! style=&amp;quot;width:150px&amp;quot; |Aprovado Por&lt;br /&gt;
! style=&amp;quot;width:200px&amp;quot; |E-Mail&lt;br /&gt;
! style=&amp;quot;width:100px&amp;quot; |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;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|- &lt;br /&gt;
| '''''Direção Comercial''''' &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Funcionalidade]]&lt;/div&gt;</summary>
		<author><name>Rodrigobastosv</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Arquivo:Plast1re.png&amp;diff=4010</id>
		<title>Arquivo:Plast1re.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Arquivo:Plast1re.png&amp;diff=4010"/>
		<updated>2017-05-26T13:21:00Z</updated>

		<summary type="html">&lt;p&gt;Rodrigobastosv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Rodrigobastosv</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Funcionalidade/Sugest%C3%A3o_De_venda_Por_Curva_ABC&amp;diff=4009</id>
		<title>Funcionalidade/Sugestão De venda Por Curva ABC</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Funcionalidade/Sugest%C3%A3o_De_venda_Por_Curva_ABC&amp;diff=4009"/>
		<updated>2017-05-26T13:19:45Z</updated>

		<summary type="html">&lt;p&gt;Rodrigobastosv: /* 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;
|  25/05/2017  ||  Rodrigo Bastos ||  Criação do Documento&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; | Plastlit&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; | 2ª Fase&lt;br /&gt;
|- &lt;br /&gt;
| | '''Gerente/Sponsor:'''&lt;br /&gt;
| | Pedro Silveira&lt;br /&gt;
| | '''Gerente SoftSite:'''&lt;br /&gt;
|  | Guido Ciarlini&lt;br /&gt;
|- &lt;br /&gt;
| | '''Analista SoftSite:'''&lt;br /&gt;
| | Rodrigo Bastos&lt;br /&gt;
| | '''Arquiteto SoftSite:'''&lt;br /&gt;
| | &lt;br /&gt;
|- &lt;br /&gt;
| | '''Aplicação(s):'''&lt;br /&gt;
| | Portal&lt;br /&gt;
| | &lt;br /&gt;
| | &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Necessidade==&lt;br /&gt;
Necessidade de exibir para o representante uma listagem com sugestão de vendas baseada em itens complementares aos itens inseridos no pedido.&lt;br /&gt;
&lt;br /&gt;
==Exemplo==&lt;br /&gt;
Ao inserir um tubo X no pedido o GeoSales deve sugerir a inclusão de uma conexão Y própria do tubo X.&lt;br /&gt;
&lt;br /&gt;
==Solução==&lt;br /&gt;
Inserir uma ação para cada item do pedido que, quando acionada, mostraria quais os itens sugeridos a partir daquele determinado item.&lt;br /&gt;
&lt;br /&gt;
A ideia seria inserir uma ação a mais na grid de itens do pedido, deve ser algo parecido com a imagem abaixo.&lt;br /&gt;
[[Arquivo:Plast1.png]]&lt;br /&gt;
&lt;br /&gt;
Ao clicar na nova ação deve aparecer uma grid com todas as sugestões daquele produto parecido com a figura abaixo.&lt;br /&gt;
[[Arquivo:Plast2.png]]&lt;br /&gt;
&lt;br /&gt;
Ao clicar no botão de + o produto sugerido deve ser adicionado ao pedido.&lt;br /&gt;
&lt;br /&gt;
==Cenários==&lt;br /&gt;
&lt;br /&gt;
===Cenário Happy Day===&lt;br /&gt;
====Dados====&lt;br /&gt;
# Vendedor: João&lt;br /&gt;
# Produto Inserido no Pedido: Tubo X&lt;br /&gt;
# Produtos Sugerido a partir do Tubo X: Conexão Y&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João insere o tubo X ao pedido&lt;br /&gt;
# João aciona o botão para mostrar os produtos sugeridos de X&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O produto Conexão Y aparece como sugestão para o Tubo X&lt;br /&gt;
&lt;br /&gt;
===Cenário Produto sem Sugestão===&lt;br /&gt;
====Dados====&lt;br /&gt;
# Vendedor: João&lt;br /&gt;
# Produto Inserido no Pedido: Tubo X&lt;br /&gt;
# Produtos Sugerido a partir do Tubo X: Nenhum&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João insere o tubo X ao pedido&lt;br /&gt;
# João aciona o botão para mostrar os produtos sugeridos de X&lt;br /&gt;
&lt;br /&gt;
====Assertiva====&lt;br /&gt;
# Nenhum produto deve aparecer como sugestão para o Tubo X&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;
! style=&amp;quot;width:150px&amp;quot; |Aprovado Por&lt;br /&gt;
! style=&amp;quot;width:200px&amp;quot; |E-Mail&lt;br /&gt;
! style=&amp;quot;width:100px&amp;quot; |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;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|- &lt;br /&gt;
| '''''Direção Comercial''''' &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Funcionalidade]]&lt;/div&gt;</summary>
		<author><name>Rodrigobastosv</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Funcionalidade/Sugest%C3%A3o_De_venda_Por_Curva_ABC&amp;diff=4008</id>
		<title>Funcionalidade/Sugestão De venda Por Curva ABC</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Funcionalidade/Sugest%C3%A3o_De_venda_Por_Curva_ABC&amp;diff=4008"/>
		<updated>2017-05-26T13:19:34Z</updated>

		<summary type="html">&lt;p&gt;Rodrigobastosv: /* 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;
|  25/05/2017  ||  Rodrigo Bastos ||  Criação do Documento&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; | Plastlit&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; | 2ª Fase&lt;br /&gt;
|- &lt;br /&gt;
| | '''Gerente/Sponsor:'''&lt;br /&gt;
| | Pedro Silveira&lt;br /&gt;
| | '''Gerente SoftSite:'''&lt;br /&gt;
|  | Guido Ciarlini&lt;br /&gt;
|- &lt;br /&gt;
| | '''Analista SoftSite:'''&lt;br /&gt;
| | Rodrigo Bastos&lt;br /&gt;
| | '''Arquiteto SoftSite:'''&lt;br /&gt;
| | &lt;br /&gt;
|- &lt;br /&gt;
| | '''Aplicação(s):'''&lt;br /&gt;
| | Portal e Mobile&lt;br /&gt;
| | &lt;br /&gt;
| | &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Necessidade==&lt;br /&gt;
Necessidade de exibir para o representante uma listagem com sugestão de vendas baseada em itens complementares aos itens inseridos no pedido.&lt;br /&gt;
&lt;br /&gt;
==Exemplo==&lt;br /&gt;
Ao inserir um tubo X no pedido o GeoSales deve sugerir a inclusão de uma conexão Y própria do tubo X.&lt;br /&gt;
&lt;br /&gt;
==Solução==&lt;br /&gt;
Inserir uma ação para cada item do pedido que, quando acionada, mostraria quais os itens sugeridos a partir daquele determinado item.&lt;br /&gt;
&lt;br /&gt;
A ideia seria inserir uma ação a mais na grid de itens do pedido, deve ser algo parecido com a imagem abaixo.&lt;br /&gt;
[[Arquivo:Plast1.png]]&lt;br /&gt;
&lt;br /&gt;
Ao clicar na nova ação deve aparecer uma grid com todas as sugestões daquele produto parecido com a figura abaixo.&lt;br /&gt;
[[Arquivo:Plast2.png]]&lt;br /&gt;
&lt;br /&gt;
Ao clicar no botão de + o produto sugerido deve ser adicionado ao pedido.&lt;br /&gt;
&lt;br /&gt;
==Cenários==&lt;br /&gt;
&lt;br /&gt;
===Cenário Happy Day===&lt;br /&gt;
====Dados====&lt;br /&gt;
# Vendedor: João&lt;br /&gt;
# Produto Inserido no Pedido: Tubo X&lt;br /&gt;
# Produtos Sugerido a partir do Tubo X: Conexão Y&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João insere o tubo X ao pedido&lt;br /&gt;
# João aciona o botão para mostrar os produtos sugeridos de X&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O produto Conexão Y aparece como sugestão para o Tubo X&lt;br /&gt;
&lt;br /&gt;
===Cenário Produto sem Sugestão===&lt;br /&gt;
====Dados====&lt;br /&gt;
# Vendedor: João&lt;br /&gt;
# Produto Inserido no Pedido: Tubo X&lt;br /&gt;
# Produtos Sugerido a partir do Tubo X: Nenhum&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João insere o tubo X ao pedido&lt;br /&gt;
# João aciona o botão para mostrar os produtos sugeridos de X&lt;br /&gt;
&lt;br /&gt;
====Assertiva====&lt;br /&gt;
# Nenhum produto deve aparecer como sugestão para o Tubo X&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;
! style=&amp;quot;width:150px&amp;quot; |Aprovado Por&lt;br /&gt;
! style=&amp;quot;width:200px&amp;quot; |E-Mail&lt;br /&gt;
! style=&amp;quot;width:100px&amp;quot; |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;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|- &lt;br /&gt;
| '''''Direção Comercial''''' &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Funcionalidade]]&lt;/div&gt;</summary>
		<author><name>Rodrigobastosv</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Funcionalidade/Sugest%C3%A3o_De_venda_Por_Curva_ABC&amp;diff=3993</id>
		<title>Funcionalidade/Sugestão De venda Por Curva ABC</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Funcionalidade/Sugest%C3%A3o_De_venda_Por_Curva_ABC&amp;diff=3993"/>
		<updated>2017-05-25T18:35:40Z</updated>

		<summary type="html">&lt;p&gt;Rodrigobastosv: /* 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;
|  25/05/2017  ||  Rodrigo Bastos ||  Criação do Documento&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; | Plastlit&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; | 1ª Fase - Rentabilidade EBITDA&lt;br /&gt;
|- &lt;br /&gt;
| | '''Gerente/Sponsor:'''&lt;br /&gt;
| | Pedro Silveira&lt;br /&gt;
| | '''Gerente SoftSite:'''&lt;br /&gt;
|  | Guido Ciarlini&lt;br /&gt;
|- &lt;br /&gt;
| | '''Analista SoftSite:'''&lt;br /&gt;
| | Arielton Gomes&lt;br /&gt;
| | '''Arquiteto SoftSite:'''&lt;br /&gt;
| | Fábio Sobral&lt;br /&gt;
|- &lt;br /&gt;
| | '''Aplicação(s):'''&lt;br /&gt;
| | Portal e Mobile&lt;br /&gt;
| | &lt;br /&gt;
| | &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Necessidade==&lt;br /&gt;
Necessidade de exibir para o representante uma listagem com sugestão de vendas baseada em itens complementares aos itens inseridos no pedido.&lt;br /&gt;
&lt;br /&gt;
==Exemplo==&lt;br /&gt;
Ao inserir um tubo X no pedido o GeoSales deve sugerir a inclusão de uma conexão Y própria do tubo X.&lt;br /&gt;
&lt;br /&gt;
==Solução==&lt;br /&gt;
Inserir uma ação para cada item do pedido que, quando acionada, mostraria quais os itens sugeridos a partir daquele determinado item.&lt;br /&gt;
&lt;br /&gt;
A ideia seria inserir uma ação a mais na grid de itens do pedido, deve ser algo parecido com a imagem abaixo.&lt;br /&gt;
[[Arquivo:Plast1.png]]&lt;br /&gt;
&lt;br /&gt;
Ao clicar na nova ação deve aparecer uma grid com todas as sugestões daquele produto parecido com a figura abaixo.&lt;br /&gt;
[[Arquivo:Plast2.png]]&lt;br /&gt;
&lt;br /&gt;
Ao clicar no botão de + o produto sugerido deve ser adicionado ao pedido.&lt;br /&gt;
&lt;br /&gt;
==Cenários==&lt;br /&gt;
&lt;br /&gt;
===Cenário Happy Day===&lt;br /&gt;
====Dados====&lt;br /&gt;
# Vendedor: João&lt;br /&gt;
# Produto Inserido no Pedido: Tubo X&lt;br /&gt;
# Produtos Sugerido a partir do Tubo X: Conexão Y&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João insere o tubo X ao pedido&lt;br /&gt;
# João aciona o botão para mostrar os produtos sugeridos de X&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O produto Conexão Y aparece como sugestão para o Tubo X&lt;br /&gt;
&lt;br /&gt;
===Cenário Produto sem Sugestão===&lt;br /&gt;
====Dados====&lt;br /&gt;
# Vendedor: João&lt;br /&gt;
# Produto Inserido no Pedido: Tubo X&lt;br /&gt;
# Produtos Sugerido a partir do Tubo X: Nenhum&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João insere o tubo X ao pedido&lt;br /&gt;
# João aciona o botão para mostrar os produtos sugeridos de X&lt;br /&gt;
&lt;br /&gt;
====Assertiva====&lt;br /&gt;
# Nenhum produto deve aparecer como sugestão para o Tubo X&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;
! style=&amp;quot;width:150px&amp;quot; |Aprovado Por&lt;br /&gt;
! style=&amp;quot;width:200px&amp;quot; |E-Mail&lt;br /&gt;
! style=&amp;quot;width:100px&amp;quot; |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;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|- &lt;br /&gt;
| '''''Direção Comercial''''' &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Funcionalidade]]&lt;/div&gt;</summary>
		<author><name>Rodrigobastosv</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Funcionalidade/Sugest%C3%A3o_De_venda_Por_Curva_ABC&amp;diff=3992</id>
		<title>Funcionalidade/Sugestão De venda Por Curva ABC</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Funcionalidade/Sugest%C3%A3o_De_venda_Por_Curva_ABC&amp;diff=3992"/>
		<updated>2017-05-25T18:35:05Z</updated>

		<summary type="html">&lt;p&gt;Rodrigobastosv: /* 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;
|  25/05/2017  ||  Rodrigo Bastos ||  Criação do Documento&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; | Plastlit&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; | 1ª Fase - Rentabilidade EBITDA&lt;br /&gt;
|- &lt;br /&gt;
| | '''Gerente/Sponsor:'''&lt;br /&gt;
| | Pedro Silveira&lt;br /&gt;
| | '''Gerente SoftSite:'''&lt;br /&gt;
|  | Guido Ciarlini&lt;br /&gt;
|- &lt;br /&gt;
| | '''Analista SoftSite:'''&lt;br /&gt;
| | Arielton Gomes&lt;br /&gt;
| | '''Arquiteto SoftSite:'''&lt;br /&gt;
| | Fábio Sobral&lt;br /&gt;
|- &lt;br /&gt;
| | '''Aplicação(s):'''&lt;br /&gt;
| | Portal e Mobile&lt;br /&gt;
| | &lt;br /&gt;
| | &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Necessidade==&lt;br /&gt;
Necessidade de exibir para o representante uma listagem com sugestão de vendas baseada em itens complementares aos itens inseridos no pedido.&lt;br /&gt;
&lt;br /&gt;
==Exemplo==&lt;br /&gt;
Ao inserir um tubo X no pedido o GeoSales deve sugerir a inclusão de uma conexão Y própria do tubo X.&lt;br /&gt;
&lt;br /&gt;
==Solução==&lt;br /&gt;
Inserir uma ação para cada item do pedido que, quando acionada, mostraria quais os itens sugeridos a partir daquele determinado item.&lt;br /&gt;
&lt;br /&gt;
A ideia seria inserir uma ação a mais na grid de itens do pedido, deve ser algo parecido com a imagem abaixo.&lt;br /&gt;
[[Arquivo:Plast1.png]]&lt;br /&gt;
&lt;br /&gt;
Ao clicar na nova ação deve aparecer uma grid com todas as sugestões daquele produto parecido com a figura abaixo.&lt;br /&gt;
[[Arquivo:Plast2.png]]&lt;br /&gt;
&lt;br /&gt;
==Cenários==&lt;br /&gt;
&lt;br /&gt;
===Cenário Happy Day===&lt;br /&gt;
====Dados====&lt;br /&gt;
# Vendedor: João&lt;br /&gt;
# Produto Inserido no Pedido: Tubo X&lt;br /&gt;
# Produtos Sugerido a partir do Tubo X: Conexão Y&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João insere o tubo X ao pedido&lt;br /&gt;
# João aciona o botão para mostrar os produtos sugeridos de X&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O produto Conexão Y aparece como sugestão para o Tubo X&lt;br /&gt;
&lt;br /&gt;
===Cenário Produto sem Sugestão===&lt;br /&gt;
====Dados====&lt;br /&gt;
# Vendedor: João&lt;br /&gt;
# Produto Inserido no Pedido: Tubo X&lt;br /&gt;
# Produtos Sugerido a partir do Tubo X: Nenhum&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João insere o tubo X ao pedido&lt;br /&gt;
# João aciona o botão para mostrar os produtos sugeridos de X&lt;br /&gt;
&lt;br /&gt;
====Assertiva====&lt;br /&gt;
# Nenhum produto deve aparecer como sugestão para o Tubo X&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;
! style=&amp;quot;width:150px&amp;quot; |Aprovado Por&lt;br /&gt;
! style=&amp;quot;width:200px&amp;quot; |E-Mail&lt;br /&gt;
! style=&amp;quot;width:100px&amp;quot; |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;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|- &lt;br /&gt;
| '''''Direção Comercial''''' &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Funcionalidade]]&lt;/div&gt;</summary>
		<author><name>Rodrigobastosv</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Arquivo:Plast2.png&amp;diff=3991</id>
		<title>Arquivo:Plast2.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Arquivo:Plast2.png&amp;diff=3991"/>
		<updated>2017-05-25T18:34:32Z</updated>

		<summary type="html">&lt;p&gt;Rodrigobastosv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Rodrigobastosv</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Arquivo:Plast1.png&amp;diff=3990</id>
		<title>Arquivo:Plast1.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Arquivo:Plast1.png&amp;diff=3990"/>
		<updated>2017-05-25T18:34:22Z</updated>

		<summary type="html">&lt;p&gt;Rodrigobastosv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Rodrigobastosv</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Funcionalidade/Sugest%C3%A3o_De_venda_Por_Curva_ABC&amp;diff=3989</id>
		<title>Funcionalidade/Sugestão De venda Por Curva ABC</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Funcionalidade/Sugest%C3%A3o_De_venda_Por_Curva_ABC&amp;diff=3989"/>
		<updated>2017-05-25T18:34:03Z</updated>

		<summary type="html">&lt;p&gt;Rodrigobastosv: /* 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;
|  25/05/2017  ||  Rodrigo Bastos ||  Criação do Documento&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; | Plastlit&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; | 1ª Fase - Rentabilidade EBITDA&lt;br /&gt;
|- &lt;br /&gt;
| | '''Gerente/Sponsor:'''&lt;br /&gt;
| | Pedro Silveira&lt;br /&gt;
| | '''Gerente SoftSite:'''&lt;br /&gt;
|  | Guido Ciarlini&lt;br /&gt;
|- &lt;br /&gt;
| | '''Analista SoftSite:'''&lt;br /&gt;
| | Arielton Gomes&lt;br /&gt;
| | '''Arquiteto SoftSite:'''&lt;br /&gt;
| | Fábio Sobral&lt;br /&gt;
|- &lt;br /&gt;
| | '''Aplicação(s):'''&lt;br /&gt;
| | Portal e Mobile&lt;br /&gt;
| | &lt;br /&gt;
| | &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Necessidade==&lt;br /&gt;
Necessidade de exibir para o representante uma listagem com sugestão de vendas baseada em itens complementares aos itens inseridos no pedido.&lt;br /&gt;
&lt;br /&gt;
==Exemplo==&lt;br /&gt;
Ao inserir um tubo X no pedido o GeoSales deve sugerir a inclusão de uma conexão Y própria do tubo X.&lt;br /&gt;
&lt;br /&gt;
==Solução==&lt;br /&gt;
Inserir uma ação para cada item do pedido que, quando acionada, mostraria quais os itens sugeridos a partir daquele determinado item.&lt;br /&gt;
&lt;br /&gt;
A ideia seria inserir uma ação a mais na grid de itens do pedido, deve ser algo parecido com a imagem abaixo.&lt;br /&gt;
[[Arquivo:Map1.png]]&lt;br /&gt;
&lt;br /&gt;
Ao clicar na nova ação deve aparecer uma grid com todas as sugestões daquele produto parecido com a figura abaixo.&lt;br /&gt;
[[Arquivo:Map1.png]]&lt;br /&gt;
&lt;br /&gt;
==Cenários==&lt;br /&gt;
&lt;br /&gt;
===Cenário Happy Day===&lt;br /&gt;
====Dados====&lt;br /&gt;
# Vendedor: João&lt;br /&gt;
# Produto Inserido no Pedido: Tubo X&lt;br /&gt;
# Produtos Sugerido a partir do Tubo X: Conexão Y&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João insere o tubo X ao pedido&lt;br /&gt;
# João aciona o botão para mostrar os produtos sugeridos de X&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O produto Conexão Y aparece como sugestão para o Tubo X&lt;br /&gt;
&lt;br /&gt;
===Cenário Produto sem Sugestão===&lt;br /&gt;
====Dados====&lt;br /&gt;
# Vendedor: João&lt;br /&gt;
# Produto Inserido no Pedido: Tubo X&lt;br /&gt;
# Produtos Sugerido a partir do Tubo X: Nenhum&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João insere o tubo X ao pedido&lt;br /&gt;
# João aciona o botão para mostrar os produtos sugeridos de X&lt;br /&gt;
&lt;br /&gt;
====Assertiva====&lt;br /&gt;
# Nenhum produto deve aparecer como sugestão para o Tubo X&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;
! style=&amp;quot;width:150px&amp;quot; |Aprovado Por&lt;br /&gt;
! style=&amp;quot;width:200px&amp;quot; |E-Mail&lt;br /&gt;
! style=&amp;quot;width:100px&amp;quot; |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;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|- &lt;br /&gt;
| '''''Direção Comercial''''' &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Funcionalidade]]&lt;/div&gt;</summary>
		<author><name>Rodrigobastosv</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Funcionalidade/Sugest%C3%A3o_De_venda_Por_Curva_ABC&amp;diff=3988</id>
		<title>Funcionalidade/Sugestão De venda Por Curva ABC</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Funcionalidade/Sugest%C3%A3o_De_venda_Por_Curva_ABC&amp;diff=3988"/>
		<updated>2017-05-25T18:32:46Z</updated>

		<summary type="html">&lt;p&gt;Rodrigobastosv: /* 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;
|  25/05/2017  ||  Rodrigo Bastos ||  Criação do Documento&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; | Plastlit&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; | 1ª Fase - Rentabilidade EBITDA&lt;br /&gt;
|- &lt;br /&gt;
| | '''Gerente/Sponsor:'''&lt;br /&gt;
| | Pedro Silveira&lt;br /&gt;
| | '''Gerente SoftSite:'''&lt;br /&gt;
|  | Guido Ciarlini&lt;br /&gt;
|- &lt;br /&gt;
| | '''Analista SoftSite:'''&lt;br /&gt;
| | Arielton Gomes&lt;br /&gt;
| | '''Arquiteto SoftSite:'''&lt;br /&gt;
| | Fábio Sobral&lt;br /&gt;
|- &lt;br /&gt;
| | '''Aplicação(s):'''&lt;br /&gt;
| | Portal e Mobile&lt;br /&gt;
| | &lt;br /&gt;
| | &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Necessidade==&lt;br /&gt;
Necessidade de exibir para o representante uma listagem com sugestão de vendas baseada em itens complementares aos itens inseridos no pedido.&lt;br /&gt;
&lt;br /&gt;
==Exemplo==&lt;br /&gt;
Ao inserir um tubo X no pedido o GeoSales deve sugerir a inclusão de uma conexão Y própria do tubo X.&lt;br /&gt;
&lt;br /&gt;
==Solução==&lt;br /&gt;
Inserir uma ação para cada item do pedido que, quando acionada, mostraria quais os itens sugeridos a partir daquele determinado item.&lt;br /&gt;
&lt;br /&gt;
A ideia seria inserir uma ação a mais na grid de itens do pedido, deve ser algo parecido com a imagem abaixo.&lt;br /&gt;
&lt;br /&gt;
==Cenários==&lt;br /&gt;
&lt;br /&gt;
===Cenário Happy Day===&lt;br /&gt;
====Dados====&lt;br /&gt;
# Vendedor: João&lt;br /&gt;
# Produto Inserido no Pedido: Tubo X&lt;br /&gt;
# Produtos Sugerido a partir do Tubo X: Conexão Y&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João insere o tubo X ao pedido&lt;br /&gt;
# João aciona o botão para mostrar os produtos sugeridos de X&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O produto Conexão Y aparece como sugestão para o Tubo X&lt;br /&gt;
&lt;br /&gt;
===Cenário Produto sem Sugestão===&lt;br /&gt;
====Dados====&lt;br /&gt;
# Vendedor: João&lt;br /&gt;
# Produto Inserido no Pedido: Tubo X&lt;br /&gt;
# Produtos Sugerido a partir do Tubo X: Nenhum&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João insere o tubo X ao pedido&lt;br /&gt;
# João aciona o botão para mostrar os produtos sugeridos de X&lt;br /&gt;
&lt;br /&gt;
====Assertiva====&lt;br /&gt;
# Nenhum produto deve aparecer como sugestão para o Tubo X&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;
! style=&amp;quot;width:150px&amp;quot; |Aprovado Por&lt;br /&gt;
! style=&amp;quot;width:200px&amp;quot; |E-Mail&lt;br /&gt;
! style=&amp;quot;width:100px&amp;quot; |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;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|- &lt;br /&gt;
| '''''Direção Comercial''''' &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Funcionalidade]]&lt;/div&gt;</summary>
		<author><name>Rodrigobastosv</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Funcionalidade/Sugest%C3%A3o_De_venda_Por_Curva_ABC&amp;diff=3987</id>
		<title>Funcionalidade/Sugestão De venda Por Curva ABC</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Funcionalidade/Sugest%C3%A3o_De_venda_Por_Curva_ABC&amp;diff=3987"/>
		<updated>2017-05-25T18:05:13Z</updated>

		<summary type="html">&lt;p&gt;Rodrigobastosv: /* Cenários */&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;
|  25/05/2017  ||  Rodrigo Bastos ||  Criação do Documento&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; | Plastlit&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; | 1ª Fase - Rentabilidade EBITDA&lt;br /&gt;
|- &lt;br /&gt;
| | '''Gerente/Sponsor:'''&lt;br /&gt;
| | Pedro Silveira&lt;br /&gt;
| | '''Gerente SoftSite:'''&lt;br /&gt;
|  | Guido Ciarlini&lt;br /&gt;
|- &lt;br /&gt;
| | '''Analista SoftSite:'''&lt;br /&gt;
| | Arielton Gomes&lt;br /&gt;
| | '''Arquiteto SoftSite:'''&lt;br /&gt;
| | Fábio Sobral&lt;br /&gt;
|- &lt;br /&gt;
| | '''Aplicação(s):'''&lt;br /&gt;
| | Portal e Mobile&lt;br /&gt;
| | &lt;br /&gt;
| | &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Necessidade==&lt;br /&gt;
Necessidade de exibir para o representante uma listagem com sugestão de vendas baseada em itens complementares aos itens inseridos no pedido.&lt;br /&gt;
&lt;br /&gt;
==Exemplo==&lt;br /&gt;
Ao inserir um tubo X no pedido o GeoSales deve sugerir a inclusão de uma conexão Y própria do tubo X.&lt;br /&gt;
&lt;br /&gt;
==Solução==&lt;br /&gt;
Inserir uma ação para cada item do pedido que, quando acionada, mostraria quais os itens sugeridos a partir daquele determinado item.&lt;br /&gt;
&lt;br /&gt;
==Cenários==&lt;br /&gt;
&lt;br /&gt;
===Cenário Happy Day===&lt;br /&gt;
====Dados====&lt;br /&gt;
# Vendedor: João&lt;br /&gt;
# Produto Inserido no Pedido: Tubo X&lt;br /&gt;
# Produtos Sugerido a partir do Tubo X: Conexão Y&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João insere o tubo X ao pedido&lt;br /&gt;
# João aciona o botão para mostrar os produtos sugeridos de X&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O produto Conexão Y aparece como sugestão para o Tubo X&lt;br /&gt;
&lt;br /&gt;
===Cenário Produto sem Sugestão===&lt;br /&gt;
====Dados====&lt;br /&gt;
# Vendedor: João&lt;br /&gt;
# Produto Inserido no Pedido: Tubo X&lt;br /&gt;
# Produtos Sugerido a partir do Tubo X: Nenhum&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João insere o tubo X ao pedido&lt;br /&gt;
# João aciona o botão para mostrar os produtos sugeridos de X&lt;br /&gt;
&lt;br /&gt;
====Assertiva====&lt;br /&gt;
# Nenhum produto deve aparecer como sugestão para o Tubo X&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;
! style=&amp;quot;width:150px&amp;quot; |Aprovado Por&lt;br /&gt;
! style=&amp;quot;width:200px&amp;quot; |E-Mail&lt;br /&gt;
! style=&amp;quot;width:100px&amp;quot; |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;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|- &lt;br /&gt;
| '''''Direção Comercial''''' &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Funcionalidade]]&lt;/div&gt;</summary>
		<author><name>Rodrigobastosv</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Funcionalidade/Sugest%C3%A3o_De_venda_Por_Curva_ABC&amp;diff=3986</id>
		<title>Funcionalidade/Sugestão De venda Por Curva ABC</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Funcionalidade/Sugest%C3%A3o_De_venda_Por_Curva_ABC&amp;diff=3986"/>
		<updated>2017-05-25T18:03:34Z</updated>

		<summary type="html">&lt;p&gt;Rodrigobastosv: /* Cenários */&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;
|  25/05/2017  ||  Rodrigo Bastos ||  Criação do Documento&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; | Plastlit&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; | 1ª Fase - Rentabilidade EBITDA&lt;br /&gt;
|- &lt;br /&gt;
| | '''Gerente/Sponsor:'''&lt;br /&gt;
| | Pedro Silveira&lt;br /&gt;
| | '''Gerente SoftSite:'''&lt;br /&gt;
|  | Guido Ciarlini&lt;br /&gt;
|- &lt;br /&gt;
| | '''Analista SoftSite:'''&lt;br /&gt;
| | Arielton Gomes&lt;br /&gt;
| | '''Arquiteto SoftSite:'''&lt;br /&gt;
| | Fábio Sobral&lt;br /&gt;
|- &lt;br /&gt;
| | '''Aplicação(s):'''&lt;br /&gt;
| | Portal e Mobile&lt;br /&gt;
| | &lt;br /&gt;
| | &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Necessidade==&lt;br /&gt;
Necessidade de exibir para o representante uma listagem com sugestão de vendas baseada em itens complementares aos itens inseridos no pedido.&lt;br /&gt;
&lt;br /&gt;
==Exemplo==&lt;br /&gt;
Ao inserir um tubo X no pedido o GeoSales deve sugerir a inclusão de uma conexão Y própria do tubo X.&lt;br /&gt;
&lt;br /&gt;
==Solução==&lt;br /&gt;
Inserir uma ação para cada item do pedido que, quando acionada, mostraria quais os itens sugeridos a partir daquele determinado item.&lt;br /&gt;
&lt;br /&gt;
==Cenários==&lt;br /&gt;
&lt;br /&gt;
===Cenário Happy Day===&lt;br /&gt;
====Dados====&lt;br /&gt;
Vendedor: João&lt;br /&gt;
Produto Inserido no Pedido: Tubo X&lt;br /&gt;
Produtos Sugerido a partir do Tubo X: Conexão Y&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
João insere o tubo X ao pedido&lt;br /&gt;
João aciona o botão para mostrar os produtos sugeridos de X&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
O produto Conexão Y aparece como sugestão para o Tubo X&lt;br /&gt;
&lt;br /&gt;
===Cenário Produto sem Sugestão===&lt;br /&gt;
====Dados====&lt;br /&gt;
Vendedor: João&lt;br /&gt;
Produto Inserido no Pedido: Tubo X&lt;br /&gt;
Produtos Sugerido a partir do Tubo X: Nenhum&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
João insere o tubo X ao pedido&lt;br /&gt;
João aciona o botão para mostrar os produtos sugeridos de X&lt;br /&gt;
&lt;br /&gt;
====Assertiva====&lt;br /&gt;
Nenhum produto deve aparecer como sugestão para o Tubo X&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;
! style=&amp;quot;width:150px&amp;quot; |Aprovado Por&lt;br /&gt;
! style=&amp;quot;width:200px&amp;quot; |E-Mail&lt;br /&gt;
! style=&amp;quot;width:100px&amp;quot; |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;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|- &lt;br /&gt;
| '''''Direção Comercial''''' &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Funcionalidade]]&lt;/div&gt;</summary>
		<author><name>Rodrigobastosv</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Funcionalidade/Sugest%C3%A3o_De_venda_Por_Curva_ABC&amp;diff=3985</id>
		<title>Funcionalidade/Sugestão De venda Por Curva ABC</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Funcionalidade/Sugest%C3%A3o_De_venda_Por_Curva_ABC&amp;diff=3985"/>
		<updated>2017-05-25T17:59:52Z</updated>

		<summary type="html">&lt;p&gt;Rodrigobastosv: /* 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;
|  25/05/2017  ||  Rodrigo Bastos ||  Criação do Documento&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; | Plastlit&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; | 1ª Fase - Rentabilidade EBITDA&lt;br /&gt;
|- &lt;br /&gt;
| | '''Gerente/Sponsor:'''&lt;br /&gt;
| | Pedro Silveira&lt;br /&gt;
| | '''Gerente SoftSite:'''&lt;br /&gt;
|  | Guido Ciarlini&lt;br /&gt;
|- &lt;br /&gt;
| | '''Analista SoftSite:'''&lt;br /&gt;
| | Arielton Gomes&lt;br /&gt;
| | '''Arquiteto SoftSite:'''&lt;br /&gt;
| | Fábio Sobral&lt;br /&gt;
|- &lt;br /&gt;
| | '''Aplicação(s):'''&lt;br /&gt;
| | Portal e Mobile&lt;br /&gt;
| | &lt;br /&gt;
| | &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Necessidade==&lt;br /&gt;
Necessidade de exibir para o representante uma listagem com sugestão de vendas baseada em itens complementares aos itens inseridos no pedido.&lt;br /&gt;
&lt;br /&gt;
==Exemplo==&lt;br /&gt;
Ao inserir um tubo X no pedido o GeoSales deve sugerir a inclusão de uma conexão Y própria do tubo X.&lt;br /&gt;
&lt;br /&gt;
==Solução==&lt;br /&gt;
Inserir uma ação para cada item do pedido que, quando acionada, mostraria quais os itens sugeridos a partir daquele determinado item.&lt;br /&gt;
&lt;br /&gt;
==Cenários==&lt;br /&gt;
&lt;br /&gt;
===Cenário Happy Day===&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
&lt;br /&gt;
===Cenário de Fluxo de Exceção===&lt;br /&gt;
====Dados====&lt;br /&gt;
====Operação====&lt;br /&gt;
====Assertiva====&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;
! style=&amp;quot;width:150px&amp;quot; |Aprovado Por&lt;br /&gt;
! style=&amp;quot;width:200px&amp;quot; |E-Mail&lt;br /&gt;
! style=&amp;quot;width:100px&amp;quot; |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;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|- &lt;br /&gt;
| '''''Direção Comercial''''' &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Funcionalidade]]&lt;/div&gt;</summary>
		<author><name>Rodrigobastosv</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Funcionalidade/Sugest%C3%A3o_De_venda_Por_Curva_ABC&amp;diff=3984</id>
		<title>Funcionalidade/Sugestão De venda Por Curva ABC</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Funcionalidade/Sugest%C3%A3o_De_venda_Por_Curva_ABC&amp;diff=3984"/>
		<updated>2017-05-25T17:58:10Z</updated>

		<summary type="html">&lt;p&gt;Rodrigobastosv: /* Exemplo */&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;
|  25/05/2017  ||  Rodrigo Bastos ||  Criação do Documento&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; | Plastlit&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; | 1ª Fase - Rentabilidade EBITDA&lt;br /&gt;
|- &lt;br /&gt;
| | '''Gerente/Sponsor:'''&lt;br /&gt;
| | Pedro Silveira&lt;br /&gt;
| | '''Gerente SoftSite:'''&lt;br /&gt;
|  | Guido Ciarlini&lt;br /&gt;
|- &lt;br /&gt;
| | '''Analista SoftSite:'''&lt;br /&gt;
| | Arielton Gomes&lt;br /&gt;
| | '''Arquiteto SoftSite:'''&lt;br /&gt;
| | Fábio Sobral&lt;br /&gt;
|- &lt;br /&gt;
| | '''Aplicação(s):'''&lt;br /&gt;
| | Portal e Mobile&lt;br /&gt;
| | &lt;br /&gt;
| | &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Necessidade==&lt;br /&gt;
Necessidade de exibir para o representante uma listagem com sugestão de vendas baseada em itens complementares aos itens inseridos no pedido.&lt;br /&gt;
&lt;br /&gt;
==Exemplo==&lt;br /&gt;
Ao inserir um tubo X no pedido o GeoSales deve sugerir a inclusão de uma conexão Y própria do tubo X.&lt;br /&gt;
&lt;br /&gt;
==Solução==&lt;br /&gt;
&lt;br /&gt;
==Cenários==&lt;br /&gt;
&lt;br /&gt;
===Cenário Happy Day===&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
&lt;br /&gt;
===Cenário de Fluxo de Exceção===&lt;br /&gt;
====Dados====&lt;br /&gt;
====Operação====&lt;br /&gt;
====Assertiva====&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;
! style=&amp;quot;width:150px&amp;quot; |Aprovado Por&lt;br /&gt;
! style=&amp;quot;width:200px&amp;quot; |E-Mail&lt;br /&gt;
! style=&amp;quot;width:100px&amp;quot; |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;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|- &lt;br /&gt;
| '''''Direção Comercial''''' &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Funcionalidade]]&lt;/div&gt;</summary>
		<author><name>Rodrigobastosv</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Funcionalidade/Sugest%C3%A3o_De_venda_Por_Curva_ABC&amp;diff=3983</id>
		<title>Funcionalidade/Sugestão De venda Por Curva ABC</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Funcionalidade/Sugest%C3%A3o_De_venda_Por_Curva_ABC&amp;diff=3983"/>
		<updated>2017-05-25T17:55:37Z</updated>

		<summary type="html">&lt;p&gt;Rodrigobastosv: /* Necessidade */&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;
|  25/05/2017  ||  Rodrigo Bastos ||  Criação do Documento&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; | Plastlit&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; | 1ª Fase - Rentabilidade EBITDA&lt;br /&gt;
|- &lt;br /&gt;
| | '''Gerente/Sponsor:'''&lt;br /&gt;
| | Pedro Silveira&lt;br /&gt;
| | '''Gerente SoftSite:'''&lt;br /&gt;
|  | Guido Ciarlini&lt;br /&gt;
|- &lt;br /&gt;
| | '''Analista SoftSite:'''&lt;br /&gt;
| | Arielton Gomes&lt;br /&gt;
| | '''Arquiteto SoftSite:'''&lt;br /&gt;
| | Fábio Sobral&lt;br /&gt;
|- &lt;br /&gt;
| | '''Aplicação(s):'''&lt;br /&gt;
| | Portal e Mobile&lt;br /&gt;
| | &lt;br /&gt;
| | &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Necessidade==&lt;br /&gt;
Necessidade de exibir para o representante uma listagem com sugestão de vendas baseada em itens complementares aos itens inseridos no pedido.&lt;br /&gt;
&lt;br /&gt;
==Exemplo==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Solução==&lt;br /&gt;
&lt;br /&gt;
==Cenários==&lt;br /&gt;
&lt;br /&gt;
===Cenário Happy Day===&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
&lt;br /&gt;
===Cenário de Fluxo de Exceção===&lt;br /&gt;
====Dados====&lt;br /&gt;
====Operação====&lt;br /&gt;
====Assertiva====&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;
! style=&amp;quot;width:150px&amp;quot; |Aprovado Por&lt;br /&gt;
! style=&amp;quot;width:200px&amp;quot; |E-Mail&lt;br /&gt;
! style=&amp;quot;width:100px&amp;quot; |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;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|- &lt;br /&gt;
| '''''Direção Comercial''''' &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Funcionalidade]]&lt;/div&gt;</summary>
		<author><name>Rodrigobastosv</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Funcionalidade/Sugest%C3%A3o_De_venda_Por_Curva_ABC&amp;diff=3982</id>
		<title>Funcionalidade/Sugestão De venda Por Curva ABC</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Funcionalidade/Sugest%C3%A3o_De_venda_Por_Curva_ABC&amp;diff=3982"/>
		<updated>2017-05-25T17:53:03Z</updated>

		<summary type="html">&lt;p&gt;Rodrigobastosv: Criou página com '{| |-  |  | style=&amp;quot;width:100%; text-align:right;&amp;quot; | Arquivo:Logo geosales.png |}  == Histórico de Revisões == {| class=&amp;quot;wikitable&amp;quot; ! Data !! Revisor !! Comentário  |- |...'&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;
|  25/05/2017  ||  Rodrigo Bastos ||  Criação do Documento&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; | Plastlit&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; | 1ª Fase - Rentabilidade EBITDA&lt;br /&gt;
|- &lt;br /&gt;
| | '''Gerente/Sponsor:'''&lt;br /&gt;
| | Pedro Silveira&lt;br /&gt;
| | '''Gerente SoftSite:'''&lt;br /&gt;
|  | Guido Ciarlini&lt;br /&gt;
|- &lt;br /&gt;
| | '''Analista SoftSite:'''&lt;br /&gt;
| | Arielton Gomes&lt;br /&gt;
| | '''Arquiteto SoftSite:'''&lt;br /&gt;
| | Fábio Sobral&lt;br /&gt;
|- &lt;br /&gt;
| | '''Aplicação(s):'''&lt;br /&gt;
| | Portal e Mobile&lt;br /&gt;
| | &lt;br /&gt;
| | &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Necessidade==&lt;br /&gt;
Necessidade de exibir para o representante uma listagem com sugestão de vendas baseada em itens complementares aos itens inseridos no pedido (ex.: tubos com conexões específicas). Necessário inserir uma interface no portal para relacionar o produto com seus complementos e definir uma forma de exibir facilmente essas sugestões para o representante.&lt;br /&gt;
&lt;br /&gt;
==Exemplo==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Solução==&lt;br /&gt;
&lt;br /&gt;
==Cenários==&lt;br /&gt;
&lt;br /&gt;
===Cenário Happy Day===&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
&lt;br /&gt;
===Cenário de Fluxo de Exceção===&lt;br /&gt;
====Dados====&lt;br /&gt;
====Operação====&lt;br /&gt;
====Assertiva====&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;
! style=&amp;quot;width:150px&amp;quot; |Aprovado Por&lt;br /&gt;
! style=&amp;quot;width:200px&amp;quot; |E-Mail&lt;br /&gt;
! style=&amp;quot;width:100px&amp;quot; |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;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|- &lt;br /&gt;
| '''''Direção Comercial''''' &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Funcionalidade]]&lt;/div&gt;</summary>
		<author><name>Rodrigobastosv</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Reserva_de_estoque&amp;diff=3491</id>
		<title>Reserva de estoque</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Reserva_de_estoque&amp;diff=3491"/>
		<updated>2017-03-27T01:24:03Z</updated>

		<summary type="html">&lt;p&gt;Rodrigobastosv: /* 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;
|  05/01/2017  ||  Rodrigo Bastos    ||  Criação do Documento&lt;br /&gt;
|-&lt;br /&gt;
|  12/01/2017  ||  Fábio Sobral  ||  Análise e Aprovação da Arquitetura&lt;br /&gt;
|-&lt;br /&gt;
|  13/01/2017  ||  Guido Ciarlini   ||  Inclusão do Histórico de Revisões&lt;br /&gt;
|-&lt;br /&gt;
|  17/02/2017  ||  Rodrigo Bastos   ||  Ajustes na movimentação da Reserva&lt;br /&gt;
|-&lt;br /&gt;
|  21/02/2017  ||  Guido Ciarlini   ||  Inclusão das PREMISSAS para o Pedido&lt;br /&gt;
|-&lt;br /&gt;
|  21/02/2017  ||  Guido Ciarlini   ||  Ajustes para atualização de Saldo Limite Credito Cliente e Conta Corrente Vendedor&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
Para o usuário ao editar/criar um pedido as quantidades deverão ser abatidas do saldo de estoque a medida que o vendedor insere os itens e que essas alterações tornem-se visíveis para todos os outros vendedores.&lt;br /&gt;
&lt;br /&gt;
=== Premissas ===&lt;br /&gt;
&lt;br /&gt;
# O pedido de venda possui dois status (Não Efetivado, Efetivado), que definem se o pedido pode avançar no processo de aprovação, faturamento pelo ERP, etc;&lt;br /&gt;
# Todo pedido de venda ficará com o status “Não Efetivado” para que o vendedor, manualmente, efetive o pedido. &lt;br /&gt;
# O pedido “não efetivado” abate estoque;&lt;br /&gt;
# O pedido “não efetivado” abate limite de crédito;&lt;br /&gt;
# O pedido “não efetivado” reduz/aumenta o saldo da conta corrente;&lt;br /&gt;
&lt;br /&gt;
== Configurações Ativadoras ==&lt;br /&gt;
Precisa ter a configuração '''ID_UTILIZA_RESERVA_ESTOQUE''' com '''S'''. Além disso é preciso da configuração '''QT_HRS_LIMITE_RESERVA_ESTOQUE''' com o valor referente a duração que aquela reserva estará valida em horas.&lt;br /&gt;
&lt;br /&gt;
== Pré Detalhes da Solução Imperativa ==&lt;br /&gt;
O usuário cria um pedido, preenche todos os campos do cabeçalho do pedido e faz a busca por um produto. Nesse momento a grid exibe as quantidades atuais de cada produto que satisfaça a busca. &lt;br /&gt;
&lt;br /&gt;
Ao inserir o produto como um item do pedido ele dispara uma chamada que irá verificar se o saldo de estoque é suficiente medindo todas as quantidades do estoque e em caso positivo ele irá criar uma movimentação para essa transação mesmo antes de salvar o pedido. Essa transação deverá ser armazenada para que outro vendedor tenha controle da posição atual de estoque. Nesse momento a reserva é salva em banco com a data, hora, identificação do vendedor, identificação do Cliente, status da reserva, produto, organização de venda, a quantidade reservada, o preço sugerido do produto, o preço de venda do produto e o desconto/acréscimo aplicado, se houver.&lt;br /&gt;
&lt;br /&gt;
Ao registrar uma reserva, deverão ser atualizados também as seguintes informações: o saldo do limite de crédito do Cliente e o saldo da conta corrente do Vendedor, se algum desconto/acréscimo foi aplicado.&lt;br /&gt;
&lt;br /&gt;
Essas reservas, enquanto o pedido não for SALVO (Sem ser efetivado), serão temporárias, e obedecerão ao tempo limite de existencia definido no parâmetro QT_HRS_LIMITE_RESERVA_ESTOQUE. Toda reserva que não seja salva e exceda esse tempo limite, será cancelada, tendo a sua quantidade devolvida ao estoque, o saldo do limite de crédito do cliente adicionado do valor da reserva e a conta corrente do vendedor atualizada correspondentemente.&lt;br /&gt;
&lt;br /&gt;
Deve ser disponibilizado  também um relatório, para identificar as reservas existentes e ser uma forma de cancelar uma reserva feita para um produto de uma sessão que teve algum problema e ainda está pendente.&lt;br /&gt;
&lt;br /&gt;
Para segurar as reservas de uma forma permanente, o pedido deverá ser salvo, mantendo as movimentações do pedido como reserva de estoque. Apenas no momento que aquele pedido for efetivado as movimentações de estoque de reserva passam a ser movimentações de saída.&lt;br /&gt;
&lt;br /&gt;
== Cálculo de estoque ==&lt;br /&gt;
A quantidade de estoque de um produto em uma organização de venda é calculada da seguinte maneira:&lt;br /&gt;
&lt;br /&gt;
Quantidade Estoque = Quantidade Disponível do Produto na Organização de Venda - Soma(QT_ITEM dos pedidos não autorizados deste produto e desta organização de venda) - Soma(QT_RESERVA com status pendente e dentro do limite de horas da reserva para o produto e a organização de venda)&lt;br /&gt;
&lt;br /&gt;
== Atualização do Limite de Crédito do Cliente ==&lt;br /&gt;
O limite de crédito do Cliente deve ser atualizado quando houver uma reserva de estoque em um pedido, da seguinte maneira:&lt;br /&gt;
&lt;br /&gt;
Saldo Limite Credito = Saldo Limite Credito - (Qtde Reservada x Preço de venda produto)&lt;br /&gt;
&lt;br /&gt;
O saldo atualizado deverá ser atualizado e exibido no campo correspondente na nova Tela de Pedido de Venda.&lt;br /&gt;
&lt;br /&gt;
== Atualização do Saldo da Conta Corrente do Vendedor ==&lt;br /&gt;
A Conta Corrente do Vendedor deverá ser movimentada, de acordo com o desconto/acréscimo praticado no preço de venda, em relação ao preço sugerido do produto, da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
Se o preço de venda é superior ao preço sugerido, ou foi aplicado um acréscimo ao mesmo, deverá ser criada uma movimentação da conta corrente com o diferencial entre o preço de venda e o preço sugerido, multiplicado pela quantidade vendida. Essa movimentação será a crédito na conta corrente.&lt;br /&gt;
&lt;br /&gt;
Se o preço de venda é inferior ao preço sugerido, ou foi aplicado um desconto ao mesmo, deverá ser criada uma movimentação da conta corrente com o diferencial entre o preço sugerido e o preço de venda, multiplicado pela quantidade vendida. Essa movimentação será a débito na conta corrente.&lt;br /&gt;
&lt;br /&gt;
== Cancelamento de uma Reserva ==&lt;br /&gt;
Uma reserva ao ser cancelada deverá:&lt;br /&gt;
&lt;br /&gt;
# Repor no estoque do produto a quantidade reservada;&lt;br /&gt;
# Atualizar o Limite de Crédito do Cliente com o valor que havia sido abatido;&lt;br /&gt;
# Atualizar a conta corrente do vendedor com o movimento de estorno do movimento criado anteriormente.&lt;br /&gt;
&lt;br /&gt;
Para o CANCELAMENTO de uma reserva deverá existir um relatório onde, a partir da seleção do vendedor e/ou cliente e/ou organização de venda e/ou produto, mostre todas as reservas existentes no banco de dados. &lt;br /&gt;
&lt;br /&gt;
Nesse relatório deve ser possível se selecionar um registro de reserva e cancelar o mesmo. Essa ação apenas poderá ser efetuada por um usuário do Portal com nível de Supervisor ou superior na hierarquia, ou com privilégio de administração.&lt;br /&gt;
&lt;br /&gt;
== Confirmação de uma Reserva ==&lt;br /&gt;
Uma reserva é confirmada quando o pedido de venda é SALVO (sem ser efetivado).&lt;br /&gt;
&lt;br /&gt;
Ao SALVAR o pedido de venda, a reserva deve ser confirmada, sendo adicionado ao seu registro na tabela de movimentos de estoque o numero do pedido salvo. &lt;br /&gt;
&lt;br /&gt;
Isso vai implicar que esse registro de reserva, que tenha o numero do pedido de venda, não poderá ser cancelado por ter excedido o tempo definido no parâmetro QT_HRS_LIMITE_RESERVA_ESTOQUE, mas o tipo do movimento continuará a ser de reserva (Tipo = R).&lt;br /&gt;
&lt;br /&gt;
== Tabela ESTOQUE_MOVIMENTO ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot;&lt;br /&gt;
! ID&lt;br /&gt;
! Campo &lt;br /&gt;
! Descrição &lt;br /&gt;
! Tipo&lt;br /&gt;
|-&lt;br /&gt;
|  1  || CD_MOVIMENTO  || Código do Movimento    ||&lt;br /&gt;
|-&lt;br /&gt;
|  2  ||  DT_MOVIMENTO || Data e hora do Movimento    ||&lt;br /&gt;
|-&lt;br /&gt;
|  3  ||  TP_MOVIMENTO   || Tipo do Movimento    ||&lt;br /&gt;
|-&lt;br /&gt;
|  4  ||  QT_MOVIMENTO   || Quantidade do Movimento    ||&lt;br /&gt;
|-&lt;br /&gt;
|  5  ||  CD_PEDIDO_PALM   ||  Código do Pedido    ||&lt;br /&gt;
|-&lt;br /&gt;
|  6  ||  NR_ITEM_PEDIDO   || Número do Item do Pedido    ||&lt;br /&gt;
|-&lt;br /&gt;
|  7  ||  CD_PRODUTO   || Código do Produto    ||&lt;br /&gt;
|-&lt;br /&gt;
|  8  ||  CD_ORG_VENDA   || Código da Organização de Venda    ||&lt;br /&gt;
|-&lt;br /&gt;
|  9  ||  DT_ESTORNO   || Data de Estorno do Movimento    ||&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Deve ser adicionado o status 'R' de reserva nas movimentações da tabela estoque_movimento&lt;br /&gt;
&lt;br /&gt;
== Tabela CONTA_MOVIMENTO_DIRT ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot;&lt;br /&gt;
! ID&lt;br /&gt;
! Campo &lt;br /&gt;
! Descrição &lt;br /&gt;
! Tipo&lt;br /&gt;
|-&lt;br /&gt;
|  1  || CD_USUARIO || || int&lt;br /&gt;
|-&lt;br /&gt;
|  2  || NR_MOVIMENTO || || bigint NOT NULL,&lt;br /&gt;
|-&lt;br /&gt;
|  3  || CD_USUARIO_MOVIMENTO || || int NULL,&lt;br /&gt;
|-&lt;br /&gt;
|  4  || DT_MOVIMENTO || || datetime NOT NULL,&lt;br /&gt;
|-&lt;br /&gt;
|  5  || TP_MOVIMENTO || || int NOT NULL,&lt;br /&gt;
|-&lt;br /&gt;
|  6  || TP_TRANSACAO || || char(2) NULL,&lt;br /&gt;
|-&lt;br /&gt;
|  7  || VR_MOVIMENTO || || decimal (10, 2) NOT NULL,&lt;br /&gt;
|-&lt;br /&gt;
|  8  || DT_ESTORNO || || datetime  NULL,&lt;br /&gt;
|-&lt;br /&gt;
|  9  || CD_USUARIO_ESTORNO || || int  NULL,&lt;br /&gt;
|-&lt;br /&gt;
|  10  || NR_MOVIMENTO_PAI || || bigint  NULL,&lt;br /&gt;
|-&lt;br /&gt;
|  11  || DS_OBS || || varchar (255) NULL,&lt;br /&gt;
|-&lt;br /&gt;
|  12  || CD_PEDIDO_PALM || || bigint  NULL,&lt;br /&gt;
|-&lt;br /&gt;
|  13  || NR_ITEM_PEDIDO || || bigint  NULL,&lt;br /&gt;
|-&lt;br /&gt;
|  14  || CD_PRODUTO || || int  NULL,&lt;br /&gt;
|-&lt;br /&gt;
|  15  || ID_ORIGEM_ESTORNO || || varchar (1) NULL,&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tabela MOVIMENTO_CREDITO_MPGTO_DIRT ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot;&lt;br /&gt;
! ID&lt;br /&gt;
! Campo &lt;br /&gt;
! Descrição &lt;br /&gt;
! Tipo&lt;br /&gt;
|-&lt;br /&gt;
|  1  || CD_MOVIMENTO || || bigint  NOT NULL&lt;br /&gt;
|-&lt;br /&gt;
|  2  || DT_MOVIMENTO || || datetime  NOT NULL&lt;br /&gt;
|-&lt;br /&gt;
|  3  || TP_MOVIMENTO || || int  NOT NULL&lt;br /&gt;
|-&lt;br /&gt;
|  4  || VR_MOVIMENTO || || decimal (18, 6) NOT NULL&lt;br /&gt;
|-&lt;br /&gt;
|  5  || CD_PEDIDO_PALM || || bigint  NULL&lt;br /&gt;
|-&lt;br /&gt;
|  6  || NR_ITEM_PEDIDO || || bigint NULL&lt;br /&gt;
|-&lt;br /&gt;
|  7  || CD_MPGTO || || int NOT NULL&lt;br /&gt;
|-&lt;br /&gt;
|  8  || CD_ORG_VENDA || || varchar(20) NOT NULL&lt;br /&gt;
|-&lt;br /&gt;
|  9  || DT_ESTORNO || || datetime NULL&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Cenários ==&lt;br /&gt;
===Cenário feliz===&lt;br /&gt;
João insere um item que tem estoque no pedido&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Vendedor: João&lt;br /&gt;
# Item: A&lt;br /&gt;
# Estoque de A: 20&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# Na lupa de produto é escolhido o item A e escolhida a quantidade 10&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O item A deve ser adicionado no pedido&lt;br /&gt;
# O estoque de A deve ficar com o valor de 10&lt;br /&gt;
&lt;br /&gt;
===Cenário em que o produto não tem estoque===&lt;br /&gt;
João insere um item que não tem estoque no pedido&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Vendedor: João&lt;br /&gt;
# Item: A&lt;br /&gt;
# Estoque de A: 6&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# Na lupa de produto é escolhido o item A e escolhida a quantidade 10&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O item A não deve ser adicionado no pedido e uma exceção de falta de estoque para o produto deve ser lançada&lt;br /&gt;
# O estoque de A deve permanecer com o valor de 6&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Cenário de concorrência de estoque===&lt;br /&gt;
João insere um item A, que tem estoque, no pedido e José insere em outro pedido o item A, que tem estoque&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Vendedores: João, José&lt;br /&gt;
# Item: A&lt;br /&gt;
# Estoque de A: 25&lt;br /&gt;
# Pedido X de João&lt;br /&gt;
# Pedido Y de José&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# Na lupa de produto de João é escolhido o item A e escolhida a quantidade 10&lt;br /&gt;
# Na lupa de produto de José é escolhido o item A e escolhida a quantidade 15&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O item A é adicionado ao pedido X&lt;br /&gt;
# O estoque de A deve ficar com o valor de 15&lt;br /&gt;
# O item A é adicionado ao pedido Y&lt;br /&gt;
# O estoque de A deve ficar com o valor de 0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Cenário de concorrência de estoque onde falta estoque===&lt;br /&gt;
João insere um item A, que tem estoque, no pedido e José insere em outro pedido o item A, que não tem estoque&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Vendedores: João, José&lt;br /&gt;
# Item: A&lt;br /&gt;
# Estoque de A: 25&lt;br /&gt;
# Pedido X de João&lt;br /&gt;
# Pedido Y de José&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# Na lupa de produto de João é escolhido o item A e escolhida a quantidade 20&lt;br /&gt;
# Na lupa de produto de José é escolhido o item A e escolhida a quantidade 15&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O item A é adicionado ao pedido X&lt;br /&gt;
# O estoque de A deve ficar com o valor de 5&lt;br /&gt;
# O item A não pode ser adicionado ao pedido Y e uma exceção de falta de estoque deve ser lançada&lt;/div&gt;</summary>
		<author><name>Rodrigobastosv</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Reserva_de_estoque&amp;diff=3388</id>
		<title>Reserva de estoque</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Reserva_de_estoque&amp;diff=3388"/>
		<updated>2017-03-21T12:44:52Z</updated>

		<summary type="html">&lt;p&gt;Rodrigobastosv: /* Cálculo de estoque */&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;
|  05/01/2017  ||  Rodrigo Bastos    ||  Criação do Documento&lt;br /&gt;
|-&lt;br /&gt;
|  12/01/2017  ||  Fábio Sobral  ||  Análise e Aprovação da Arquitetura&lt;br /&gt;
|-&lt;br /&gt;
|  13/01/2017  ||  Guido Ciarlini   ||  Inclusão do Histórico de Revisões&lt;br /&gt;
|-&lt;br /&gt;
|  17/02/2017  ||  Rodrigo Bastos   ||  Ajustes na movimentação da Reserva&lt;br /&gt;
|-&lt;br /&gt;
|  21/02/2017  ||  Guido Ciarlini   ||  Inclusão das PREMISSAS para o Pedido&lt;br /&gt;
|-&lt;br /&gt;
|  21/02/2017  ||  Guido Ciarlini   ||  Ajustes para atualização de Saldo Limite Credito Cliente e Conta Corrente Vendedor&lt;br /&gt;
|-&lt;br /&gt;
|  21/02/2017  ||  Rodrigo Bastos   ||  Adição das imagens atualizadas dos protótipos&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
Para o usuário ao editar/criar um pedido as quantidades deverão ser abatidas do saldo de estoque a medida que o vendedor insere os itens e que essas alterações tornem-se visíveis para todos os outros vendedores.&lt;br /&gt;
&lt;br /&gt;
=== Premissas ===&lt;br /&gt;
&lt;br /&gt;
# O pedido de venda possui dois status (Não Efetivado, Efetivado), que definem se o pedido pode avançar no processo de aprovação, faturamento pelo ERP, etc;&lt;br /&gt;
# Todo pedido de venda ficará com o status “Não Efetivado” para que o vendedor, manualmente, efetive o pedido. &lt;br /&gt;
# O pedido “não efetivado” abate estoque;&lt;br /&gt;
# O pedido “não efetivado” abate limite de crédito;&lt;br /&gt;
# O pedido “não efetivado” reduz/aumenta o saldo da conta corrente;&lt;br /&gt;
&lt;br /&gt;
== Configurações Ativadoras ==&lt;br /&gt;
Precisa ter a configuração '''ID_UTILIZA_RESERVA_ESTOQUE''' com '''S'''. Além disso é preciso da configuração '''QT_HRS_LIMITE_RESERVA_ESTOQUE''' com o valor referente a duração que aquela reserva estará valida em horas.&lt;br /&gt;
&lt;br /&gt;
== Pré Detalhes da Solução Imperativa ==&lt;br /&gt;
O usuário cria um pedido, preenche todos os campos do cabeçalho do pedido e faz a busca por um produto. Nesse momento a grid exibe as quantidades atuais de cada produto que satisfaça a busca. &lt;br /&gt;
&lt;br /&gt;
Ao inserir o produto como um item do pedido ele dispara uma chamada que irá verificar se o saldo de estoque é suficiente medindo todas as quantidades do estoque e em caso positivo ele irá criar uma movimentação para essa transação mesmo antes de salvar o pedido. Essa transação deverá ser armazenada para que outro vendedor tenha controle da posição atual de estoque. Nesse momento a reserva é salva em banco com a data, hora, identificação do vendedor, identificação do Cliente, status da reserva, produto, organização de venda, a quantidade reservada, o preço sugerido do produto, o preço de venda do produto e o desconto/acréscimo aplicado, se houver.&lt;br /&gt;
&lt;br /&gt;
Ao registrar uma reserva, deverão ser atualizados também as seguintes informações: o saldo do limite de crédito do Cliente e o saldo da conta corrente do Vendedor, se algum desconto/acréscimo foi aplicado.&lt;br /&gt;
&lt;br /&gt;
Essas reservas, enquanto o pedido não for SALVO (Sem ser efetivado), serão temporárias, e obedecerão ao tempo limite de existencia definido no parâmetro QT_HRS_LIMITE_RESERVA_ESTOQUE. Toda reserva que não seja salva e exceda esse tempo limite, será cancelada, tendo a sua quantidade devolvida ao estoque, o saldo do limite de crédito do cliente adicionado do valor da reserva e a conta corrente do vendedor atualizada correspondentemente.&lt;br /&gt;
&lt;br /&gt;
Deve ser disponibilizado  também um relatório, para identificar as reservas existentes e ser uma forma de cancelar uma reserva feita para um produto de uma sessão que teve algum problema e ainda está pendente.&lt;br /&gt;
&lt;br /&gt;
Para segurar as reservas de uma forma permanente, o pedido deverá ser salvo, mantendo as movimentações do pedido como reserva de estoque. Apenas no momento que aquele pedido for efetivado as movimentações de estoque de reserva passam a ser movimentações de saída.&lt;br /&gt;
&lt;br /&gt;
== Cálculo de estoque ==&lt;br /&gt;
A quantidade de estoque de um produto em uma organização de venda é calculada da seguinte maneira:&lt;br /&gt;
&lt;br /&gt;
Quantidade Estoque = Quantidade Disponível do Produto na Organização de Venda - Soma(QT_ITEM dos pedidos não autorizados deste produto e desta organização de venda) - Soma(QT_RESERVA com status pendente e dentro do limite de horas da reserva para o produto e a organização de venda)&lt;br /&gt;
&lt;br /&gt;
== Atualização do Limite de Crédito do Cliente ==&lt;br /&gt;
O limite de crédito do Cliente deve ser atualizado quando houver uma reserva de estoque em um pedido, da seguinte maneira:&lt;br /&gt;
&lt;br /&gt;
Saldo Limite Credito = Saldo Limite Credito - (Qtde Reservada x Preço de venda produto)&lt;br /&gt;
&lt;br /&gt;
O saldo atualizado deverá ser atualizado e exibido no campo correspondente na nova Tela de Pedido de Venda.&lt;br /&gt;
&lt;br /&gt;
== Atualização do Saldo da Conta Corrente do Vendedor ==&lt;br /&gt;
A Conta Corrente do Vendedor deverá ser movimentada, de acordo com o desconto/acréscimo praticado no preço de venda, em relação ao preço sugerido do produto, da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
Se o preço de venda é superior ao preço sugerido, ou foi aplicado um acréscimo ao mesmo, deverá ser criada uma movimentação da conta corrente com o diferencial entre o preço de venda e o preço sugerido, multiplicado pela quantidade vendida. Essa movimentação será a crédito na conta corrente.&lt;br /&gt;
&lt;br /&gt;
Se o preço de venda é inferior ao preço sugerido, ou foi aplicado um desconto ao mesmo, deverá ser criada uma movimentação da conta corrente com o diferencial entre o preço sugerido e o preço de venda, multiplicado pela quantidade vendida. Essa movimentação será a débito na conta corrente.&lt;br /&gt;
&lt;br /&gt;
== Cancelamento de uma Reserva ==&lt;br /&gt;
Uma reserva ao ser cancelada deverá:&lt;br /&gt;
&lt;br /&gt;
# Repor no estoque do produto a quantidade reservada;&lt;br /&gt;
# Atualizar o Limite de Crédito do Cliente com o valor que havia sido abatido;&lt;br /&gt;
# Atualizar a conta corrente do vendedor com o movimento de estorno do movimento criado anteriormente.&lt;br /&gt;
&lt;br /&gt;
Para o CANCELAMENTO de uma reserva deverá existir um relatório onde, a partir da seleção do vendedor e/ou cliente e/ou organização de venda e/ou produto, mostre todas as reservas existentes no banco de dados. &lt;br /&gt;
&lt;br /&gt;
Nesse relatório deve ser possível se selecionar um registro de reserva e cancelar o mesmo. Essa ação apenas poderá ser efetuada por um usuário do Portal com nível de Supervisor ou superior na hierarquia, ou com privilégio de administração.&lt;br /&gt;
&lt;br /&gt;
== Confirmação de uma Reserva ==&lt;br /&gt;
Uma reserva é confirmada quando o pedido de venda é SALVO (sem ser efetivado).&lt;br /&gt;
&lt;br /&gt;
Ao SALVAR o pedido de venda, a reserva deve ser confirmada, sendo adicionado ao seu registro na tabela de movimentos de estoque o numero do pedido salvo. &lt;br /&gt;
&lt;br /&gt;
Isso vai implicar que esse registro de reserva, que tenha o numero do pedido de venda, não poderá ser cancelado por ter excedido o tempo definido no parâmetro QT_HRS_LIMITE_RESERVA_ESTOQUE, mas o tipo do movimento continuará a ser de reserva (Tipo = R).&lt;br /&gt;
&lt;br /&gt;
== Tabela ESTOQUE_MOVIMENTO ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot;&lt;br /&gt;
! ID&lt;br /&gt;
! Campo &lt;br /&gt;
! Descrição &lt;br /&gt;
! Tipo&lt;br /&gt;
|-&lt;br /&gt;
|  1  || CD_MOVIMENTO  || Código do Movimento    ||&lt;br /&gt;
|-&lt;br /&gt;
|  2  ||  DT_MOVIMENTO || Data e hora do Movimento    ||&lt;br /&gt;
|-&lt;br /&gt;
|  3  ||  TP_MOVIMENTO   || Tipo do Movimento    ||&lt;br /&gt;
|-&lt;br /&gt;
|  4  ||  QT_MOVIMENTO   || Quantidade do Movimento    ||&lt;br /&gt;
|-&lt;br /&gt;
|  5  ||  CD_PEDIDO_PALM   ||  Código do Pedido    ||&lt;br /&gt;
|-&lt;br /&gt;
|  6  ||  NR_ITEM_PEDIDO   || Número do Item do Pedido    ||&lt;br /&gt;
|-&lt;br /&gt;
|  7  ||  CD_PRODUTO   || Código do Produto    ||&lt;br /&gt;
|-&lt;br /&gt;
|  8  ||  CD_ORG_VENDA   || Código da Organização de Venda    ||&lt;br /&gt;
|-&lt;br /&gt;
|  9  ||  DT_ESTORNO   || Data de Estorno do Movimento    ||&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Deve ser adicionado o status 'R' de reserva nas movimentações da tabela estoque_movimento&lt;br /&gt;
&lt;br /&gt;
== Tabela CONTA_MOVIMENTO_DIRT ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot;&lt;br /&gt;
! ID&lt;br /&gt;
! Campo &lt;br /&gt;
! Descrição &lt;br /&gt;
! Tipo&lt;br /&gt;
|-&lt;br /&gt;
|  1  || CD_USUARIO || || int&lt;br /&gt;
|-&lt;br /&gt;
|  2  || NR_MOVIMENTO || || bigint NOT NULL,&lt;br /&gt;
|-&lt;br /&gt;
|  3  || CD_USUARIO_MOVIMENTO || || int NULL,&lt;br /&gt;
|-&lt;br /&gt;
|  4  || DT_MOVIMENTO || || datetime NOT NULL,&lt;br /&gt;
|-&lt;br /&gt;
|  5  || TP_MOVIMENTO || || int NOT NULL,&lt;br /&gt;
|-&lt;br /&gt;
|  6  || TP_TRANSACAO || || char(2) NULL,&lt;br /&gt;
|-&lt;br /&gt;
|  7  || VR_MOVIMENTO || || decimal (10, 2) NOT NULL,&lt;br /&gt;
|-&lt;br /&gt;
|  8  || DT_ESTORNO || || datetime  NULL,&lt;br /&gt;
|-&lt;br /&gt;
|  9  || CD_USUARIO_ESTORNO || || int  NULL,&lt;br /&gt;
|-&lt;br /&gt;
|  10  || NR_MOVIMENTO_PAI || || bigint  NULL,&lt;br /&gt;
|-&lt;br /&gt;
|  11  || DS_OBS || || varchar (255) NULL,&lt;br /&gt;
|-&lt;br /&gt;
|  12  || CD_PEDIDO_PALM || || bigint  NULL,&lt;br /&gt;
|-&lt;br /&gt;
|  13  || NR_ITEM_PEDIDO || || bigint  NULL,&lt;br /&gt;
|-&lt;br /&gt;
|  14  || CD_PRODUTO || || int  NULL,&lt;br /&gt;
|-&lt;br /&gt;
|  15  || ID_ORIGEM_ESTORNO || || varchar (1) NULL,&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tabela MOVIMENTO_CREDITO_MPGTO_DIRT ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot;&lt;br /&gt;
! ID&lt;br /&gt;
! Campo &lt;br /&gt;
! Descrição &lt;br /&gt;
! Tipo&lt;br /&gt;
|-&lt;br /&gt;
|  1  || CD_MOVIMENTO || || bigint  NOT NULL&lt;br /&gt;
|-&lt;br /&gt;
|  2  || DT_MOVIMENTO || || datetime  NOT NULL&lt;br /&gt;
|-&lt;br /&gt;
|  3  || TP_MOVIMENTO || || int  NOT NULL&lt;br /&gt;
|-&lt;br /&gt;
|  4  || VR_MOVIMENTO || || decimal (18, 6) NOT NULL&lt;br /&gt;
|-&lt;br /&gt;
|  5  || CD_PEDIDO_PALM || || bigint  NULL&lt;br /&gt;
|-&lt;br /&gt;
|  6  || NR_ITEM_PEDIDO || || bigint NULL&lt;br /&gt;
|-&lt;br /&gt;
|  7  || CD_MPGTO || || int NOT NULL&lt;br /&gt;
|-&lt;br /&gt;
|  8  || CD_ORG_VENDA || || varchar(20) NOT NULL&lt;br /&gt;
|-&lt;br /&gt;
|  9  || DT_ESTORNO || || datetime NULL&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Cenários ==&lt;br /&gt;
===Cenário feliz===&lt;br /&gt;
João insere um item que tem estoque no pedido&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Vendedor: João&lt;br /&gt;
# Item: A&lt;br /&gt;
# Estoque de A: 20&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# Na lupa de produto é escolhido o item A e escolhida a quantidade 10&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O item A deve ser adicionado no pedido&lt;br /&gt;
# O estoque de A deve ficar com o valor de 10&lt;br /&gt;
&lt;br /&gt;
===Cenário em que o produto não tem estoque===&lt;br /&gt;
João insere um item que não tem estoque no pedido&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Vendedor: João&lt;br /&gt;
# Item: A&lt;br /&gt;
# Estoque de A: 6&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# Na lupa de produto é escolhido o item A e escolhida a quantidade 10&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O item A não deve ser adicionado no pedido e uma exceção de falta de estoque para o produto deve ser lançada&lt;br /&gt;
# O estoque de A deve permanecer com o valor de 6&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Cenário de concorrência de estoque===&lt;br /&gt;
João insere um item A, que tem estoque, no pedido e José insere em outro pedido o item A, que tem estoque&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Vendedores: João, José&lt;br /&gt;
# Item: A&lt;br /&gt;
# Estoque de A: 25&lt;br /&gt;
# Pedido X de João&lt;br /&gt;
# Pedido Y de José&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# Na lupa de produto de João é escolhido o item A e escolhida a quantidade 10&lt;br /&gt;
# Na lupa de produto de José é escolhido o item A e escolhida a quantidade 15&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O item A é adicionado ao pedido X&lt;br /&gt;
# O estoque de A deve ficar com o valor de 15&lt;br /&gt;
# O item A é adicionado ao pedido Y&lt;br /&gt;
# O estoque de A deve ficar com o valor de 0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Cenário de concorrência de estoque onde falta estoque===&lt;br /&gt;
João insere um item A, que tem estoque, no pedido e José insere em outro pedido o item A, que não tem estoque&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Vendedores: João, José&lt;br /&gt;
# Item: A&lt;br /&gt;
# Estoque de A: 25&lt;br /&gt;
# Pedido X de João&lt;br /&gt;
# Pedido Y de José&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# Na lupa de produto de João é escolhido o item A e escolhida a quantidade 20&lt;br /&gt;
# Na lupa de produto de José é escolhido o item A e escolhida a quantidade 15&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O item A é adicionado ao pedido X&lt;br /&gt;
# O estoque de A deve ficar com o valor de 5&lt;br /&gt;
# O item A não pode ser adicionado ao pedido Y e uma exceção de falta de estoque deve ser lançada&lt;/div&gt;</summary>
		<author><name>Rodrigobastosv</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Reserva_de_estoque&amp;diff=3387</id>
		<title>Reserva de estoque</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Reserva_de_estoque&amp;diff=3387"/>
		<updated>2017-03-21T10:06:30Z</updated>

		<summary type="html">&lt;p&gt;Rodrigobastosv: /* 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;
|  05/01/2017  ||  Rodrigo Bastos    ||  Criação do Documento&lt;br /&gt;
|-&lt;br /&gt;
|  12/01/2017  ||  Fábio Sobral  ||  Análise e Aprovação da Arquitetura&lt;br /&gt;
|-&lt;br /&gt;
|  13/01/2017  ||  Guido Ciarlini   ||  Inclusão do Histórico de Revisões&lt;br /&gt;
|-&lt;br /&gt;
|  17/02/2017  ||  Rodrigo Bastos   ||  Ajustes na movimentação da Reserva&lt;br /&gt;
|-&lt;br /&gt;
|  21/02/2017  ||  Guido Ciarlini   ||  Inclusão das PREMISSAS para o Pedido&lt;br /&gt;
|-&lt;br /&gt;
|  21/02/2017  ||  Guido Ciarlini   ||  Ajustes para atualização de Saldo Limite Credito Cliente e Conta Corrente Vendedor&lt;br /&gt;
|-&lt;br /&gt;
|  21/02/2017  ||  Rodrigo Bastos   ||  Adição das imagens atualizadas dos protótipos&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
Para o usuário ao editar/criar um pedido as quantidades deverão ser abatidas do saldo de estoque a medida que o vendedor insere os itens e que essas alterações tornem-se visíveis para todos os outros vendedores.&lt;br /&gt;
&lt;br /&gt;
=== Premissas ===&lt;br /&gt;
&lt;br /&gt;
# O pedido de venda possui dois status (Não Efetivado, Efetivado), que definem se o pedido pode avançar no processo de aprovação, faturamento pelo ERP, etc;&lt;br /&gt;
# Todo pedido de venda ficará com o status “Não Efetivado” para que o vendedor, manualmente, efetive o pedido. &lt;br /&gt;
# O pedido “não efetivado” abate estoque;&lt;br /&gt;
# O pedido “não efetivado” abate limite de crédito;&lt;br /&gt;
# O pedido “não efetivado” reduz/aumenta o saldo da conta corrente;&lt;br /&gt;
&lt;br /&gt;
== Configurações Ativadoras ==&lt;br /&gt;
Precisa ter a configuração '''ID_UTILIZA_RESERVA_ESTOQUE''' com '''S'''. Além disso é preciso da configuração '''QT_HRS_LIMITE_RESERVA_ESTOQUE''' com o valor referente a duração que aquela reserva estará valida em horas.&lt;br /&gt;
&lt;br /&gt;
== Pré Detalhes da Solução Imperativa ==&lt;br /&gt;
O usuário cria um pedido, preenche todos os campos do cabeçalho do pedido e faz a busca por um produto. Nesse momento a grid exibe as quantidades atuais de cada produto que satisfaça a busca. &lt;br /&gt;
&lt;br /&gt;
Ao inserir o produto como um item do pedido ele dispara uma chamada que irá verificar se o saldo de estoque é suficiente medindo todas as quantidades do estoque e em caso positivo ele irá criar uma movimentação para essa transação mesmo antes de salvar o pedido. Essa transação deverá ser armazenada para que outro vendedor tenha controle da posição atual de estoque. Nesse momento a reserva é salva em banco com a data, hora, identificação do vendedor, identificação do Cliente, status da reserva, produto, organização de venda, a quantidade reservada, o preço sugerido do produto, o preço de venda do produto e o desconto/acréscimo aplicado, se houver.&lt;br /&gt;
&lt;br /&gt;
Ao registrar uma reserva, deverão ser atualizados também as seguintes informações: o saldo do limite de crédito do Cliente e o saldo da conta corrente do Vendedor, se algum desconto/acréscimo foi aplicado.&lt;br /&gt;
&lt;br /&gt;
Essas reservas, enquanto o pedido não for SALVO (Sem ser efetivado), serão temporárias, e obedecerão ao tempo limite de existencia definido no parâmetro QT_HRS_LIMITE_RESERVA_ESTOQUE. Toda reserva que não seja salva e exceda esse tempo limite, será cancelada, tendo a sua quantidade devolvida ao estoque, o saldo do limite de crédito do cliente adicionado do valor da reserva e a conta corrente do vendedor atualizada correspondentemente.&lt;br /&gt;
&lt;br /&gt;
Deve ser disponibilizado  também um relatório, para identificar as reservas existentes e ser uma forma de cancelar uma reserva feita para um produto de uma sessão que teve algum problema e ainda está pendente.&lt;br /&gt;
&lt;br /&gt;
Para segurar as reservas de uma forma permanente, o pedido deverá ser salvo, mantendo as movimentações do pedido como reserva de estoque. Apenas no momento que aquele pedido for efetivado as movimentações de estoque de reserva passam a ser movimentações de saída.&lt;br /&gt;
&lt;br /&gt;
== Cálculo de estoque ==&lt;br /&gt;
A quantidade de estoque de um produto em uma organização de venda é calculada da seguinte maneira:&lt;br /&gt;
&lt;br /&gt;
Quantidade Estoque = Quantidade Disponível do Produto na Organização de Venda - Soma(QT_ITEM dos pedidos não exportados deste produto e desta organizaação de venda) - Soma(QT_RESERVA com status pendente e dentro do limite de horas da reserva para o produto e a organização de venda)&lt;br /&gt;
&lt;br /&gt;
== Atualização do Limite de Crédito do Cliente ==&lt;br /&gt;
O limite de crédito do Cliente deve ser atualizado quando houver uma reserva de estoque em um pedido, da seguinte maneira:&lt;br /&gt;
&lt;br /&gt;
Saldo Limite Credito = Saldo Limite Credito - (Qtde Reservada x Preço de venda produto)&lt;br /&gt;
&lt;br /&gt;
O saldo atualizado deverá ser atualizado e exibido no campo correspondente na nova Tela de Pedido de Venda.&lt;br /&gt;
&lt;br /&gt;
== Atualização do Saldo da Conta Corrente do Vendedor ==&lt;br /&gt;
A Conta Corrente do Vendedor deverá ser movimentada, de acordo com o desconto/acréscimo praticado no preço de venda, em relação ao preço sugerido do produto, da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
Se o preço de venda é superior ao preço sugerido, ou foi aplicado um acréscimo ao mesmo, deverá ser criada uma movimentação da conta corrente com o diferencial entre o preço de venda e o preço sugerido, multiplicado pela quantidade vendida. Essa movimentação será a crédito na conta corrente.&lt;br /&gt;
&lt;br /&gt;
Se o preço de venda é inferior ao preço sugerido, ou foi aplicado um desconto ao mesmo, deverá ser criada uma movimentação da conta corrente com o diferencial entre o preço sugerido e o preço de venda, multiplicado pela quantidade vendida. Essa movimentação será a débito na conta corrente.&lt;br /&gt;
&lt;br /&gt;
== Cancelamento de uma Reserva ==&lt;br /&gt;
Uma reserva ao ser cancelada deverá:&lt;br /&gt;
&lt;br /&gt;
# Repor no estoque do produto a quantidade reservada;&lt;br /&gt;
# Atualizar o Limite de Crédito do Cliente com o valor que havia sido abatido;&lt;br /&gt;
# Atualizar a conta corrente do vendedor com o movimento de estorno do movimento criado anteriormente.&lt;br /&gt;
&lt;br /&gt;
Para o CANCELAMENTO de uma reserva deverá existir um relatório onde, a partir da seleção do vendedor e/ou cliente e/ou organização de venda e/ou produto, mostre todas as reservas existentes no banco de dados. &lt;br /&gt;
&lt;br /&gt;
Nesse relatório deve ser possível se selecionar um registro de reserva e cancelar o mesmo. Essa ação apenas poderá ser efetuada por um usuário do Portal com nível de Supervisor ou superior na hierarquia, ou com privilégio de administração.&lt;br /&gt;
&lt;br /&gt;
== Confirmação de uma Reserva ==&lt;br /&gt;
Uma reserva é confirmada quando o pedido de venda é SALVO (sem ser efetivado).&lt;br /&gt;
&lt;br /&gt;
Ao SALVAR o pedido de venda, a reserva deve ser confirmada, sendo adicionado ao seu registro na tabela de movimentos de estoque o numero do pedido salvo. &lt;br /&gt;
&lt;br /&gt;
Isso vai implicar que esse registro de reserva, que tenha o numero do pedido de venda, não poderá ser cancelado por ter excedido o tempo definido no parâmetro QT_HRS_LIMITE_RESERVA_ESTOQUE, mas o tipo do movimento continuará a ser de reserva (Tipo = R).&lt;br /&gt;
&lt;br /&gt;
== Tabela ESTOQUE_MOVIMENTO ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot;&lt;br /&gt;
! ID&lt;br /&gt;
! Campo &lt;br /&gt;
! Descrição &lt;br /&gt;
! Tipo&lt;br /&gt;
|-&lt;br /&gt;
|  1  || CD_MOVIMENTO  || Código do Movimento    ||&lt;br /&gt;
|-&lt;br /&gt;
|  2  ||  DT_MOVIMENTO || Data e hora do Movimento    ||&lt;br /&gt;
|-&lt;br /&gt;
|  3  ||  TP_MOVIMENTO   || Tipo do Movimento    ||&lt;br /&gt;
|-&lt;br /&gt;
|  4  ||  QT_MOVIMENTO   || Quantidade do Movimento    ||&lt;br /&gt;
|-&lt;br /&gt;
|  5  ||  CD_PEDIDO_PALM   ||  Código do Pedido    ||&lt;br /&gt;
|-&lt;br /&gt;
|  6  ||  NR_ITEM_PEDIDO   || Número do Item do Pedido    ||&lt;br /&gt;
|-&lt;br /&gt;
|  7  ||  CD_PRODUTO   || Código do Produto    ||&lt;br /&gt;
|-&lt;br /&gt;
|  8  ||  CD_ORG_VENDA   || Código da Organização de Venda    ||&lt;br /&gt;
|-&lt;br /&gt;
|  9  ||  DT_ESTORNO   || Data de Estorno do Movimento    ||&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Deve ser adicionado o status 'R' de reserva nas movimentações da tabela estoque_movimento&lt;br /&gt;
&lt;br /&gt;
== Tabela CONTA_MOVIMENTO_DIRT ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot;&lt;br /&gt;
! ID&lt;br /&gt;
! Campo &lt;br /&gt;
! Descrição &lt;br /&gt;
! Tipo&lt;br /&gt;
|-&lt;br /&gt;
|  1  || CD_USUARIO || || int&lt;br /&gt;
|-&lt;br /&gt;
|  2  || NR_MOVIMENTO || || bigint NOT NULL,&lt;br /&gt;
|-&lt;br /&gt;
|  3  || CD_USUARIO_MOVIMENTO || || int NULL,&lt;br /&gt;
|-&lt;br /&gt;
|  4  || DT_MOVIMENTO || || datetime NOT NULL,&lt;br /&gt;
|-&lt;br /&gt;
|  5  || TP_MOVIMENTO || || int NOT NULL,&lt;br /&gt;
|-&lt;br /&gt;
|  6  || TP_TRANSACAO || || char(2) NULL,&lt;br /&gt;
|-&lt;br /&gt;
|  7  || VR_MOVIMENTO || || decimal (10, 2) NOT NULL,&lt;br /&gt;
|-&lt;br /&gt;
|  8  || DT_ESTORNO || || datetime  NULL,&lt;br /&gt;
|-&lt;br /&gt;
|  9  || CD_USUARIO_ESTORNO || || int  NULL,&lt;br /&gt;
|-&lt;br /&gt;
|  10  || NR_MOVIMENTO_PAI || || bigint  NULL,&lt;br /&gt;
|-&lt;br /&gt;
|  11  || DS_OBS || || varchar (255) NULL,&lt;br /&gt;
|-&lt;br /&gt;
|  12  || CD_PEDIDO_PALM || || bigint  NULL,&lt;br /&gt;
|-&lt;br /&gt;
|  13  || NR_ITEM_PEDIDO || || bigint  NULL,&lt;br /&gt;
|-&lt;br /&gt;
|  14  || CD_PRODUTO || || int  NULL,&lt;br /&gt;
|-&lt;br /&gt;
|  15  || ID_ORIGEM_ESTORNO || || varchar (1) NULL,&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tabela MOVIMENTO_CREDITO_MPGTO_DIRT ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot;&lt;br /&gt;
! ID&lt;br /&gt;
! Campo &lt;br /&gt;
! Descrição &lt;br /&gt;
! Tipo&lt;br /&gt;
|-&lt;br /&gt;
|  1  || CD_MOVIMENTO || || bigint  NOT NULL&lt;br /&gt;
|-&lt;br /&gt;
|  2  || DT_MOVIMENTO || || datetime  NOT NULL&lt;br /&gt;
|-&lt;br /&gt;
|  3  || TP_MOVIMENTO || || int  NOT NULL&lt;br /&gt;
|-&lt;br /&gt;
|  4  || VR_MOVIMENTO || || decimal (18, 6) NOT NULL&lt;br /&gt;
|-&lt;br /&gt;
|  5  || CD_PEDIDO_PALM || || bigint  NULL&lt;br /&gt;
|-&lt;br /&gt;
|  6  || NR_ITEM_PEDIDO || || bigint NULL&lt;br /&gt;
|-&lt;br /&gt;
|  7  || CD_MPGTO || || int NOT NULL&lt;br /&gt;
|-&lt;br /&gt;
|  8  || CD_ORG_VENDA || || varchar(20) NOT NULL&lt;br /&gt;
|-&lt;br /&gt;
|  9  || DT_ESTORNO || || datetime NULL&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Cenários ==&lt;br /&gt;
===Cenário feliz===&lt;br /&gt;
João insere um item que tem estoque no pedido&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Vendedor: João&lt;br /&gt;
# Item: A&lt;br /&gt;
# Estoque de A: 20&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# Na lupa de produto é escolhido o item A e escolhida a quantidade 10&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O item A deve ser adicionado no pedido&lt;br /&gt;
# O estoque de A deve ficar com o valor de 10&lt;br /&gt;
&lt;br /&gt;
===Cenário em que o produto não tem estoque===&lt;br /&gt;
João insere um item que não tem estoque no pedido&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Vendedor: João&lt;br /&gt;
# Item: A&lt;br /&gt;
# Estoque de A: 6&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# Na lupa de produto é escolhido o item A e escolhida a quantidade 10&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O item A não deve ser adicionado no pedido e uma exceção de falta de estoque para o produto deve ser lançada&lt;br /&gt;
# O estoque de A deve permanecer com o valor de 6&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Cenário de concorrência de estoque===&lt;br /&gt;
João insere um item A, que tem estoque, no pedido e José insere em outro pedido o item A, que tem estoque&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Vendedores: João, José&lt;br /&gt;
# Item: A&lt;br /&gt;
# Estoque de A: 25&lt;br /&gt;
# Pedido X de João&lt;br /&gt;
# Pedido Y de José&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# Na lupa de produto de João é escolhido o item A e escolhida a quantidade 10&lt;br /&gt;
# Na lupa de produto de José é escolhido o item A e escolhida a quantidade 15&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O item A é adicionado ao pedido X&lt;br /&gt;
# O estoque de A deve ficar com o valor de 15&lt;br /&gt;
# O item A é adicionado ao pedido Y&lt;br /&gt;
# O estoque de A deve ficar com o valor de 0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Cenário de concorrência de estoque onde falta estoque===&lt;br /&gt;
João insere um item A, que tem estoque, no pedido e José insere em outro pedido o item A, que não tem estoque&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Vendedores: João, José&lt;br /&gt;
# Item: A&lt;br /&gt;
# Estoque de A: 25&lt;br /&gt;
# Pedido X de João&lt;br /&gt;
# Pedido Y de José&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# Na lupa de produto de João é escolhido o item A e escolhida a quantidade 20&lt;br /&gt;
# Na lupa de produto de José é escolhido o item A e escolhida a quantidade 15&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O item A é adicionado ao pedido X&lt;br /&gt;
# O estoque de A deve ficar com o valor de 5&lt;br /&gt;
# O item A não pode ser adicionado ao pedido Y e uma exceção de falta de estoque deve ser lançada&lt;/div&gt;</summary>
		<author><name>Rodrigobastosv</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Nova_tela_de_cadastro_de_pedidos&amp;diff=3386</id>
		<title>Nova tela de cadastro de pedidos</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Nova_tela_de_cadastro_de_pedidos&amp;diff=3386"/>
		<updated>2017-03-20T20:45:57Z</updated>

		<summary type="html">&lt;p&gt;Rodrigobastosv: /* Ajuste 2 */&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;
|  05/01/2017  ||  Rodrigo Bastos    ||  Criação do Documento&lt;br /&gt;
|-&lt;br /&gt;
|  12/01/2017  ||  Fábio Sobral  ||  Análise e Aprovação da Arquitetura&lt;br /&gt;
|-&lt;br /&gt;
|  13/01/2017  ||  Guido Ciarlini   ||  Inclusão do Histórico de Revisões&lt;br /&gt;
|-&lt;br /&gt;
|  20/01/2017  ||  Rodrigo Bastos   ||  Inclusão de Novas telas após a última reunião&lt;br /&gt;
|-&lt;br /&gt;
|  21/02/2017  ||  Guido Ciarlini   ||  Inclusão das PREMISSAS para o Pedido&lt;br /&gt;
|-&lt;br /&gt;
|  21/01/2017  ||  Rodrigo Bastos   ||  Inclusão de Novas telas solicitadas pelo Guido&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
A tela de cadastro de pedidos precisa de alguns ajustes para ser melhor utilizada pela Mais Próxima.&lt;br /&gt;
&lt;br /&gt;
=== Premissas ===&lt;br /&gt;
&lt;br /&gt;
# O pedido de venda possui dois status (Não Efetivado, Efetivado), que definem se o pedido pode avançar no processo de aprovação, faturamento pelo ERP, etc;&lt;br /&gt;
# Todo pedido de venda ficará com o status “Não Efetivado” para que o vendedor, manualmente, efetive o pedido. &lt;br /&gt;
# O pedido “não efetivado” abate estoque;&lt;br /&gt;
# O pedido “não efetivado” abate limite de crédito;&lt;br /&gt;
# O pedido “não efetivado” reduz saldo da conta corrente;&lt;br /&gt;
&lt;br /&gt;
== Pré Detalhes da Solução Imperativa ==&lt;br /&gt;
=== Ajuste 1 ===&lt;br /&gt;
Na tela de cadastro de pedidos deverá ser possível selecionar uma lupa com as informações contidas de grupo econômico. Se for selecionado um determinado grupo econômico nesta lupa, isso influenciará a consulta da lupa de clientes, pois esta lupa de clientes só trará os clientes que são do grupo econômico que foi escolhido previamente. Caso não seja escolhido algum grupo econômico, a lupa de clientes deve funcionar normalmente e deve trazer todos os clientes que o usuário tiver visibilidade.&lt;br /&gt;
&lt;br /&gt;
O campo de grupo econômico deve ser algo parecido com o do protótipo abaixo:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Map1.png]]&lt;br /&gt;
&lt;br /&gt;
Os grupos econômicos dos clientes serão informações trazidas do Protheus.&lt;br /&gt;
&lt;br /&gt;
=== Ajuste 2 ===&lt;br /&gt;
O segundo ajuste desta tela ocorre após o preenchimento do cabeçalho do pedido. Devem existir dois novos campos na tela de adição de itens, um campo chamado Grupo Fornecedor e outro chamado Produto. Este campo de Produto deve substituir a atual lupa do Produto.&lt;br /&gt;
&lt;br /&gt;
Estes campos devem ficar parecidos com o protótipo abaixo:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Mpdenovo.png]]&lt;br /&gt;
&lt;br /&gt;
Ao clicar na imagem ao lado  do campo de Grupo Fornecedor ou de Produto deve aparecer uma grid com os itens que casem sua descrição com o campo Produto ou que casem com o grupo fornecedor. A grid mostrada deve possuir os seguintes campos:&lt;br /&gt;
* Código do Produto&lt;br /&gt;
* Código do Fabricante&lt;br /&gt;
* Descrição do Produto&lt;br /&gt;
* Estoque do Produto&lt;br /&gt;
* Preço Sugerido do Produto&lt;br /&gt;
&lt;br /&gt;
A tela deve ser parecida com a mostrada abaixo.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Map3.png]]&lt;br /&gt;
&lt;br /&gt;
Ao clicar no icone ao lado do produto na grid, este deve ser adicionado automaticamente ao item do pedido, para que seja informada a quantidade desejada e confirmados o preço de venda ou aplicado um desconto.&lt;br /&gt;
&lt;br /&gt;
=== Resumo Nova Tela ===&lt;br /&gt;
As modificações na tela de cadastro de pedido são mostradas nas imagens abaixo.&lt;br /&gt;
&lt;br /&gt;
O cabeçalho do pedido é preenchido.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Cabecamp.png]]&lt;br /&gt;
&lt;br /&gt;
Depois é escolhido um Grupo Fornecedor ou Produto e a grid com todos os produtos equivalentes é mostrada.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Map3.png]]&lt;br /&gt;
&lt;br /&gt;
Um dos produtos é escolhido e adiciona-se a quantidade desejada dele.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Map4.png]]&lt;br /&gt;
&lt;br /&gt;
Após apertar inserir observa-se que o produto entrou como um item no pedido.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Map5.png]]&lt;br /&gt;
&lt;br /&gt;
== Cenários ==&lt;br /&gt;
&lt;br /&gt;
===Cenário feliz com escolha de grupo econômico===&lt;br /&gt;
João escolhe um grupo econômico X que possui os clientes (A, B e C)&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# Grupo Econômico: X&lt;br /&gt;
# Clientes com grupo econômico X: A, B e C&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João escolhe na lupa de grupo econômico o grupo econômico X&lt;br /&gt;
# João tenta selecionar um cliente&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales deve mostrar como opção de escolha na lupa de clientes os clientes: A, B e C&lt;br /&gt;
&lt;br /&gt;
===Cenário feliz sem escolha de grupo econômico===&lt;br /&gt;
João escolhe um cliente sem escolher nenhum grupo econômico&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# Grupo Econômico: não escolhido&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João tenta selecionar um cliente sem ter selecionado nenhum grupo econômico&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales deve mostrar como opção de escolha na lupa de clientes todos os clientes que o usuário tem visibilidade&lt;br /&gt;
&lt;br /&gt;
===Cenário grupo econômico sem nenhum cliente===&lt;br /&gt;
João escolhe um grupo econômico X que não possui nenhum cliente vinculado&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# Grupo Econômico: X&lt;br /&gt;
# Clientes com grupo econômico X: nenhum&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João escolhe na lupa de grupo econômico o grupo econômico X&lt;br /&gt;
# João tenta selecionar um cliente&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales não deve mostrar nenhum cliente como opção de escolha na lupa de clientes.&lt;br /&gt;
&lt;br /&gt;
===Cenário grupo fornecedor com produto===&lt;br /&gt;
João escolhe no campo de grupo fornecedor um grupo de fornecedor&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# Grupo Fornecedor: Fornecedor_1&lt;br /&gt;
# Produtos do grupo Fornecedor_1: A, B e C&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João digita no campo de Grupo Fornecedor o Fornecedor_1&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales deve mostrar na grid de produtos os produtos A, B e C&lt;br /&gt;
&lt;br /&gt;
===Cenário grupo fornecedor sem nenhum produto===&lt;br /&gt;
João escolhe no campo de grupo fornecedor um grupo de fornecedor sem nenhum produto.&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# Grupo Fornecedor: Fornecedor_1&lt;br /&gt;
# Produtos do grupo Fornecedor_1: nenhum&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João digita no campo de Grupo Fornecedor o Fornecedor_1&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales não deve mostrar nenhum produto na grid de produtos&lt;br /&gt;
&lt;br /&gt;
===Cenário com Produto existente===&lt;br /&gt;
João digita no campo de Produto uma string&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# String: Radio&lt;br /&gt;
# Produtos: Radio_A, Radio_B e Radio_C&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João digita no campo de Produto a string Radio&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales deve mostrar na grid de produtos os produtos Radio_A, Radio_B e Radio_C&lt;/div&gt;</summary>
		<author><name>Rodrigobastosv</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Arquivo:Mpdenovo.png&amp;diff=3385</id>
		<title>Arquivo:Mpdenovo.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Arquivo:Mpdenovo.png&amp;diff=3385"/>
		<updated>2017-03-20T20:45:33Z</updated>

		<summary type="html">&lt;p&gt;Rodrigobastosv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Rodrigobastosv</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Convers%C3%A3o_de_pedido_de_or%C3%A7amento_em_pedido_de_venda&amp;diff=3384</id>
		<title>Conversão de pedido de orçamento em pedido de venda</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Convers%C3%A3o_de_pedido_de_or%C3%A7amento_em_pedido_de_venda&amp;diff=3384"/>
		<updated>2017-03-20T16:35:02Z</updated>

		<summary type="html">&lt;p&gt;Rodrigobastosv: /* Pré Detalhes da Solução Imperativa */&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;
|  05/01/2017  ||  Rodrigo Bastos    ||  Criação do Documento&lt;br /&gt;
|-&lt;br /&gt;
|  17/01/2017  ||  Guido Ciarlini   ||  Inclusão do Histórico de Revisões&lt;br /&gt;
|-&lt;br /&gt;
|  18/01/2017  ||  Rodrigo Bastos   ||  Adição da seção &amp;quot;Definições sobre pedido orçamento&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|  27/01/2017  ||  Fábio Sobral  ||  Análise e Aprovação da Arquitetura&lt;br /&gt;
|-&lt;br /&gt;
|  31/01/2017  ||  Guido Ciarlini   ||  Finalização do Documento&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
Permitir ao usuário a criação de um pedido de venda a partir de um pedido do tipo orçamento.&lt;br /&gt;
&lt;br /&gt;
== Definições sobre pedido orçamento ==&lt;br /&gt;
O pedido de orçamento é uma simulação que o vendedor pode realizar e deixar salvo para posteriormente converter em um pedido de venda. As características do pedido de orçamento são:&lt;br /&gt;
# Não deve ser realizada baixa/reserva de estoque;&lt;br /&gt;
# Não deve ser realizada baixa do limite de crédito;&lt;br /&gt;
# Não deve ser utilizado o saldo da Conta Corrente;&lt;br /&gt;
# Não deve existir bloqueio (aprovação) para valor do item ou crédito;&lt;br /&gt;
# Pedido de orçamento não deve ser enviado para o ERP;&lt;br /&gt;
# O pedido de orçamento pode ser convertido em um pedido de venda, porém todas as críticas padronizadas do pedido de venda serão aplicadas;&lt;br /&gt;
# Os pedidos não convertidos para venda permanecerão no portal GeoSales;&lt;br /&gt;
# Após convertido, o pedido deverá assumir o preço negociado durante a emissão do pedido de orçamento;&lt;br /&gt;
# Caso não exista estoque para algum dos itens, o pedido inteiro não poderá ser convertido para venda;&lt;br /&gt;
&lt;br /&gt;
== Pré Detalhes da Solução Imperativa ==&lt;br /&gt;
No portal deverá ser disponibilizado um novo botão para clonar o pedido de orçamento (botão &amp;quot;Clonar Orçamento&amp;quot;) em um pedido de venda. Este botão somente deve ser exibido quando o pedido editado for do tipo Orçamento. Como mostrado abaixo:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tipo pedido.png]]&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Mapcop1.png]]&lt;br /&gt;
&lt;br /&gt;
Ao clicar no botão de Clonar Orçamento, o cabeçalho do novo pedido deve ser idêntico ao cabeçalho do pedido de orçamento. Todos os campos deste cabeçalho devem ser não editáveis e o tipo do pedido deve ser modificado para VENDA.&lt;br /&gt;
&lt;br /&gt;
Ao clicar nesse botão deve aparecer uma tela para ser escolhida a quantidade de cada item que entrará no pedido de venda criado. Este passará pela tramitação normal de um pedido do tipo VENDA. A tela deve parecer com a tela abaixo:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Mapcop2.png]]&lt;br /&gt;
 &lt;br /&gt;
Ao ser salvo o pedido de venda, este deverá ter o código do orçamento originador como Pedido Pai. E o Pedido de Orçamento não deve ter as quantidades dos itens alteradas, permanecendo as originais.&lt;br /&gt;
&lt;br /&gt;
Cada vez que um novo pedido seja criado a partir desse orçamento, os pedidos com código Pedido Pai igual ao do orçamento serão avaliados para se saber as quantidades já atendidas do Orçamento, colocando os saldos existentes, se houverem, nas linhas.&lt;br /&gt;
&lt;br /&gt;
== Cenários ==&lt;br /&gt;
===Cenário feliz===&lt;br /&gt;
# Vendedor João clona o pedido de orçamento X e cria o pedido de venda Y&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Vendedor: João&lt;br /&gt;
# Pedido de Orçamento: X&lt;br /&gt;
# Itens do Orçamento X: A, B e C&lt;br /&gt;
# Quantidades escolhida dos itens: A (10), B (5) e C(15)&lt;br /&gt;
# Estoque disponível dos itens: A (20), B (10), C(30)&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# Vendedor João aperta o botão de clonar o pedido de orçamento X até chegar na tela de escolha de quantidade dos itens&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O pedido Y deve ser criado com o tipo VENDA e com o Código do Pai preenchido com o código do pedido de Orçamento&lt;br /&gt;
# O pedido de venda Y deve ser criado com os itens A, B e C, com as quantidades 10, 5 e 15&lt;br /&gt;
# As quantidades dos itens do orçamento X devem permanecer inalteradas: A (20), B (10), C(30)&lt;br /&gt;
&lt;br /&gt;
===Cenário itens sem estoque disponível===&lt;br /&gt;
# Vendedor João clona o pedido de orçamento X e cria o pedido de venda Y&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Vendedor: João&lt;br /&gt;
# Pedido de Orçamento: X&lt;br /&gt;
# Itens do Orçamento X: A, B e C&lt;br /&gt;
# Quantidades escolhida dos itens: A (10), B (5) e C(15)&lt;br /&gt;
# Estoque disponível dos itens: A (5), B (10), C(30)&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# Vendedor João aperta o botão de clonar o pedido de orçamento X até chegar na tela de escolha de quantidade dos itens&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
Após a criação do pedido de venda Y:&lt;br /&gt;
# O pedido Y não deve ser criado pois o item A não possui estoque disponível&lt;br /&gt;
# Uma exceção de falta de estoque deve ser mostrada ao usuário&lt;br /&gt;
&lt;br /&gt;
===Cenário quantidades totais de itens===&lt;br /&gt;
# Vendedor João clona o pedido de orçamento X e cria o pedido de venda Y&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Vendedor: João&lt;br /&gt;
# Pedido de Orçamento: X&lt;br /&gt;
# Itens do Orçamento X: A, B e C&lt;br /&gt;
# Quantidades escolhida dos itens: A (5), B (10) e C(30)&lt;br /&gt;
# Estoque disponível dos itens: A (5), B (10), C(30)&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# Vendedor João aperta o botão de clonar o pedido de orçamento X até chegar na tela de escolha de quantidade dos itens&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O pedido Y deve ser criado com o tipo VENDA e com o Código do Pai preenchido com o código do pedido de Orçamento&lt;br /&gt;
# O pedido de venda Y deve ser criado com os itens A, B e C, com as quantidades 5, 10 e 30&lt;br /&gt;
# As quantidades dos itens do orçamento X devem permanecer: A (5), B (10), C(30)&lt;/div&gt;</summary>
		<author><name>Rodrigobastosv</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Arquivo:Mapcop2.png&amp;diff=3383</id>
		<title>Arquivo:Mapcop2.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Arquivo:Mapcop2.png&amp;diff=3383"/>
		<updated>2017-03-20T16:34:35Z</updated>

		<summary type="html">&lt;p&gt;Rodrigobastosv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Rodrigobastosv</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Arquivo:Mapcop1.png&amp;diff=3382</id>
		<title>Arquivo:Mapcop1.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Arquivo:Mapcop1.png&amp;diff=3382"/>
		<updated>2017-03-20T16:34:27Z</updated>

		<summary type="html">&lt;p&gt;Rodrigobastosv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Rodrigobastosv</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Nova_tela_de_cadastro_de_pedidos&amp;diff=3381</id>
		<title>Nova tela de cadastro de pedidos</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Nova_tela_de_cadastro_de_pedidos&amp;diff=3381"/>
		<updated>2017-03-20T16:30:44Z</updated>

		<summary type="html">&lt;p&gt;Rodrigobastosv: /* Resumo Nova Tela */&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;
|  05/01/2017  ||  Rodrigo Bastos    ||  Criação do Documento&lt;br /&gt;
|-&lt;br /&gt;
|  12/01/2017  ||  Fábio Sobral  ||  Análise e Aprovação da Arquitetura&lt;br /&gt;
|-&lt;br /&gt;
|  13/01/2017  ||  Guido Ciarlini   ||  Inclusão do Histórico de Revisões&lt;br /&gt;
|-&lt;br /&gt;
|  20/01/2017  ||  Rodrigo Bastos   ||  Inclusão de Novas telas após a última reunião&lt;br /&gt;
|-&lt;br /&gt;
|  21/02/2017  ||  Guido Ciarlini   ||  Inclusão das PREMISSAS para o Pedido&lt;br /&gt;
|-&lt;br /&gt;
|  21/01/2017  ||  Rodrigo Bastos   ||  Inclusão de Novas telas solicitadas pelo Guido&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
A tela de cadastro de pedidos precisa de alguns ajustes para ser melhor utilizada pela Mais Próxima.&lt;br /&gt;
&lt;br /&gt;
=== Premissas ===&lt;br /&gt;
&lt;br /&gt;
# O pedido de venda possui dois status (Não Efetivado, Efetivado), que definem se o pedido pode avançar no processo de aprovação, faturamento pelo ERP, etc;&lt;br /&gt;
# Todo pedido de venda ficará com o status “Não Efetivado” para que o vendedor, manualmente, efetive o pedido. &lt;br /&gt;
# O pedido “não efetivado” abate estoque;&lt;br /&gt;
# O pedido “não efetivado” abate limite de crédito;&lt;br /&gt;
# O pedido “não efetivado” reduz saldo da conta corrente;&lt;br /&gt;
&lt;br /&gt;
== Pré Detalhes da Solução Imperativa ==&lt;br /&gt;
=== Ajuste 1 ===&lt;br /&gt;
Na tela de cadastro de pedidos deverá ser possível selecionar uma lupa com as informações contidas de grupo econômico. Se for selecionado um determinado grupo econômico nesta lupa, isso influenciará a consulta da lupa de clientes, pois esta lupa de clientes só trará os clientes que são do grupo econômico que foi escolhido previamente. Caso não seja escolhido algum grupo econômico, a lupa de clientes deve funcionar normalmente e deve trazer todos os clientes que o usuário tiver visibilidade.&lt;br /&gt;
&lt;br /&gt;
O campo de grupo econômico deve ser algo parecido com o do protótipo abaixo:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Map1.png]]&lt;br /&gt;
&lt;br /&gt;
Os grupos econômicos dos clientes serão informações trazidas do Protheus.&lt;br /&gt;
&lt;br /&gt;
=== Ajuste 2 ===&lt;br /&gt;
O segundo ajuste desta tela ocorre após o preenchimento do cabeçalho do pedido. Devem existir dois novos campos na tela de adição de itens, um campo chamado Grupo Fornecedor e outro chamado Produto. Este campo de Produto deve substituir a atual lupa do Produto.&lt;br /&gt;
&lt;br /&gt;
Estes campos devem ficar parecidos com o protótipo abaixo:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Map2.png]]&lt;br /&gt;
&lt;br /&gt;
Ao clicar na imagem ao lado  do campo de Grupo Fornecedor ou de Produto deve aparecer uma grid com os itens que casem sua descrição com o campo Produto ou que casem com o grupo fornecedor. A grid mostrada deve possuir os seguintes campos:&lt;br /&gt;
* Código do Produto&lt;br /&gt;
* Código do Fabricante&lt;br /&gt;
* Descrição do Produto&lt;br /&gt;
* Estoque do Produto&lt;br /&gt;
* Preço Sugerido do Produto&lt;br /&gt;
&lt;br /&gt;
A tela deve ser parecida com a mostrada abaixo.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Map3.png]]&lt;br /&gt;
&lt;br /&gt;
Ao clicar no icone ao lado do produto na grid, este deve ser adicionado automaticamente ao item do pedido, para que seja informada a quantidade desejada e confirmados o preço de venda ou aplicado um desconto.&lt;br /&gt;
&lt;br /&gt;
=== Resumo Nova Tela ===&lt;br /&gt;
As modificações na tela de cadastro de pedido são mostradas nas imagens abaixo.&lt;br /&gt;
&lt;br /&gt;
O cabeçalho do pedido é preenchido.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Cabecamp.png]]&lt;br /&gt;
&lt;br /&gt;
Depois é escolhido um Grupo Fornecedor ou Produto e a grid com todos os produtos equivalentes é mostrada.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Map3.png]]&lt;br /&gt;
&lt;br /&gt;
Um dos produtos é escolhido e adiciona-se a quantidade desejada dele.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Map4.png]]&lt;br /&gt;
&lt;br /&gt;
Após apertar inserir observa-se que o produto entrou como um item no pedido.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Map5.png]]&lt;br /&gt;
&lt;br /&gt;
== Cenários ==&lt;br /&gt;
&lt;br /&gt;
===Cenário feliz com escolha de grupo econômico===&lt;br /&gt;
João escolhe um grupo econômico X que possui os clientes (A, B e C)&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# Grupo Econômico: X&lt;br /&gt;
# Clientes com grupo econômico X: A, B e C&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João escolhe na lupa de grupo econômico o grupo econômico X&lt;br /&gt;
# João tenta selecionar um cliente&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales deve mostrar como opção de escolha na lupa de clientes os clientes: A, B e C&lt;br /&gt;
&lt;br /&gt;
===Cenário feliz sem escolha de grupo econômico===&lt;br /&gt;
João escolhe um cliente sem escolher nenhum grupo econômico&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# Grupo Econômico: não escolhido&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João tenta selecionar um cliente sem ter selecionado nenhum grupo econômico&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales deve mostrar como opção de escolha na lupa de clientes todos os clientes que o usuário tem visibilidade&lt;br /&gt;
&lt;br /&gt;
===Cenário grupo econômico sem nenhum cliente===&lt;br /&gt;
João escolhe um grupo econômico X que não possui nenhum cliente vinculado&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# Grupo Econômico: X&lt;br /&gt;
# Clientes com grupo econômico X: nenhum&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João escolhe na lupa de grupo econômico o grupo econômico X&lt;br /&gt;
# João tenta selecionar um cliente&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales não deve mostrar nenhum cliente como opção de escolha na lupa de clientes.&lt;br /&gt;
&lt;br /&gt;
===Cenário grupo fornecedor com produto===&lt;br /&gt;
João escolhe no campo de grupo fornecedor um grupo de fornecedor&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# Grupo Fornecedor: Fornecedor_1&lt;br /&gt;
# Produtos do grupo Fornecedor_1: A, B e C&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João digita no campo de Grupo Fornecedor o Fornecedor_1&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales deve mostrar na grid de produtos os produtos A, B e C&lt;br /&gt;
&lt;br /&gt;
===Cenário grupo fornecedor sem nenhum produto===&lt;br /&gt;
João escolhe no campo de grupo fornecedor um grupo de fornecedor sem nenhum produto.&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# Grupo Fornecedor: Fornecedor_1&lt;br /&gt;
# Produtos do grupo Fornecedor_1: nenhum&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João digita no campo de Grupo Fornecedor o Fornecedor_1&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales não deve mostrar nenhum produto na grid de produtos&lt;br /&gt;
&lt;br /&gt;
===Cenário com Produto existente===&lt;br /&gt;
João digita no campo de Produto uma string&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# String: Radio&lt;br /&gt;
# Produtos: Radio_A, Radio_B e Radio_C&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João digita no campo de Produto a string Radio&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales deve mostrar na grid de produtos os produtos Radio_A, Radio_B e Radio_C&lt;/div&gt;</summary>
		<author><name>Rodrigobastosv</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Nova_tela_de_cadastro_de_pedidos&amp;diff=3380</id>
		<title>Nova tela de cadastro de pedidos</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Nova_tela_de_cadastro_de_pedidos&amp;diff=3380"/>
		<updated>2017-03-20T16:29:31Z</updated>

		<summary type="html">&lt;p&gt;Rodrigobastosv: /* Resumo Nova Tela */&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;
|  05/01/2017  ||  Rodrigo Bastos    ||  Criação do Documento&lt;br /&gt;
|-&lt;br /&gt;
|  12/01/2017  ||  Fábio Sobral  ||  Análise e Aprovação da Arquitetura&lt;br /&gt;
|-&lt;br /&gt;
|  13/01/2017  ||  Guido Ciarlini   ||  Inclusão do Histórico de Revisões&lt;br /&gt;
|-&lt;br /&gt;
|  20/01/2017  ||  Rodrigo Bastos   ||  Inclusão de Novas telas após a última reunião&lt;br /&gt;
|-&lt;br /&gt;
|  21/02/2017  ||  Guido Ciarlini   ||  Inclusão das PREMISSAS para o Pedido&lt;br /&gt;
|-&lt;br /&gt;
|  21/01/2017  ||  Rodrigo Bastos   ||  Inclusão de Novas telas solicitadas pelo Guido&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
A tela de cadastro de pedidos precisa de alguns ajustes para ser melhor utilizada pela Mais Próxima.&lt;br /&gt;
&lt;br /&gt;
=== Premissas ===&lt;br /&gt;
&lt;br /&gt;
# O pedido de venda possui dois status (Não Efetivado, Efetivado), que definem se o pedido pode avançar no processo de aprovação, faturamento pelo ERP, etc;&lt;br /&gt;
# Todo pedido de venda ficará com o status “Não Efetivado” para que o vendedor, manualmente, efetive o pedido. &lt;br /&gt;
# O pedido “não efetivado” abate estoque;&lt;br /&gt;
# O pedido “não efetivado” abate limite de crédito;&lt;br /&gt;
# O pedido “não efetivado” reduz saldo da conta corrente;&lt;br /&gt;
&lt;br /&gt;
== Pré Detalhes da Solução Imperativa ==&lt;br /&gt;
=== Ajuste 1 ===&lt;br /&gt;
Na tela de cadastro de pedidos deverá ser possível selecionar uma lupa com as informações contidas de grupo econômico. Se for selecionado um determinado grupo econômico nesta lupa, isso influenciará a consulta da lupa de clientes, pois esta lupa de clientes só trará os clientes que são do grupo econômico que foi escolhido previamente. Caso não seja escolhido algum grupo econômico, a lupa de clientes deve funcionar normalmente e deve trazer todos os clientes que o usuário tiver visibilidade.&lt;br /&gt;
&lt;br /&gt;
O campo de grupo econômico deve ser algo parecido com o do protótipo abaixo:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Map1.png]]&lt;br /&gt;
&lt;br /&gt;
Os grupos econômicos dos clientes serão informações trazidas do Protheus.&lt;br /&gt;
&lt;br /&gt;
=== Ajuste 2 ===&lt;br /&gt;
O segundo ajuste desta tela ocorre após o preenchimento do cabeçalho do pedido. Devem existir dois novos campos na tela de adição de itens, um campo chamado Grupo Fornecedor e outro chamado Produto. Este campo de Produto deve substituir a atual lupa do Produto.&lt;br /&gt;
&lt;br /&gt;
Estes campos devem ficar parecidos com o protótipo abaixo:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Map2.png]]&lt;br /&gt;
&lt;br /&gt;
Ao clicar na imagem ao lado  do campo de Grupo Fornecedor ou de Produto deve aparecer uma grid com os itens que casem sua descrição com o campo Produto ou que casem com o grupo fornecedor. A grid mostrada deve possuir os seguintes campos:&lt;br /&gt;
* Código do Produto&lt;br /&gt;
* Código do Fabricante&lt;br /&gt;
* Descrição do Produto&lt;br /&gt;
* Estoque do Produto&lt;br /&gt;
* Preço Sugerido do Produto&lt;br /&gt;
&lt;br /&gt;
A tela deve ser parecida com a mostrada abaixo.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Map3.png]]&lt;br /&gt;
&lt;br /&gt;
Ao clicar no icone ao lado do produto na grid, este deve ser adicionado automaticamente ao item do pedido, para que seja informada a quantidade desejada e confirmados o preço de venda ou aplicado um desconto.&lt;br /&gt;
&lt;br /&gt;
=== Resumo Nova Tela ===&lt;br /&gt;
As modificações na tela de cadastro de pedido são mostradas nas imagens abaixo.&lt;br /&gt;
&lt;br /&gt;
O cabeçalho do pedido é preenchido.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Cabecamp.png]]&lt;br /&gt;
&lt;br /&gt;
Depois é escolhido um Grupo Fornecedor ou Produto e a grid com todos os produtos equivalentes é mostrada.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Map5.png]]&lt;br /&gt;
&lt;br /&gt;
Um dos produtos é escolhido e adiciona-se a quantidade desejada dele.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Passo3.png]]&lt;br /&gt;
&lt;br /&gt;
Após apertar inserir observa-se que o produto entrou como um item no pedido.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Passo5.png]]&lt;br /&gt;
&lt;br /&gt;
== Cenários ==&lt;br /&gt;
&lt;br /&gt;
===Cenário feliz com escolha de grupo econômico===&lt;br /&gt;
João escolhe um grupo econômico X que possui os clientes (A, B e C)&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# Grupo Econômico: X&lt;br /&gt;
# Clientes com grupo econômico X: A, B e C&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João escolhe na lupa de grupo econômico o grupo econômico X&lt;br /&gt;
# João tenta selecionar um cliente&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales deve mostrar como opção de escolha na lupa de clientes os clientes: A, B e C&lt;br /&gt;
&lt;br /&gt;
===Cenário feliz sem escolha de grupo econômico===&lt;br /&gt;
João escolhe um cliente sem escolher nenhum grupo econômico&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# Grupo Econômico: não escolhido&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João tenta selecionar um cliente sem ter selecionado nenhum grupo econômico&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales deve mostrar como opção de escolha na lupa de clientes todos os clientes que o usuário tem visibilidade&lt;br /&gt;
&lt;br /&gt;
===Cenário grupo econômico sem nenhum cliente===&lt;br /&gt;
João escolhe um grupo econômico X que não possui nenhum cliente vinculado&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# Grupo Econômico: X&lt;br /&gt;
# Clientes com grupo econômico X: nenhum&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João escolhe na lupa de grupo econômico o grupo econômico X&lt;br /&gt;
# João tenta selecionar um cliente&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales não deve mostrar nenhum cliente como opção de escolha na lupa de clientes.&lt;br /&gt;
&lt;br /&gt;
===Cenário grupo fornecedor com produto===&lt;br /&gt;
João escolhe no campo de grupo fornecedor um grupo de fornecedor&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# Grupo Fornecedor: Fornecedor_1&lt;br /&gt;
# Produtos do grupo Fornecedor_1: A, B e C&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João digita no campo de Grupo Fornecedor o Fornecedor_1&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales deve mostrar na grid de produtos os produtos A, B e C&lt;br /&gt;
&lt;br /&gt;
===Cenário grupo fornecedor sem nenhum produto===&lt;br /&gt;
João escolhe no campo de grupo fornecedor um grupo de fornecedor sem nenhum produto.&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# Grupo Fornecedor: Fornecedor_1&lt;br /&gt;
# Produtos do grupo Fornecedor_1: nenhum&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João digita no campo de Grupo Fornecedor o Fornecedor_1&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales não deve mostrar nenhum produto na grid de produtos&lt;br /&gt;
&lt;br /&gt;
===Cenário com Produto existente===&lt;br /&gt;
João digita no campo de Produto uma string&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# String: Radio&lt;br /&gt;
# Produtos: Radio_A, Radio_B e Radio_C&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João digita no campo de Produto a string Radio&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales deve mostrar na grid de produtos os produtos Radio_A, Radio_B e Radio_C&lt;/div&gt;</summary>
		<author><name>Rodrigobastosv</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Nova_tela_de_cadastro_de_pedidos&amp;diff=3379</id>
		<title>Nova tela de cadastro de pedidos</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Nova_tela_de_cadastro_de_pedidos&amp;diff=3379"/>
		<updated>2017-03-20T16:25:50Z</updated>

		<summary type="html">&lt;p&gt;Rodrigobastosv: /* Pré Detalhes da Solução Imperativa */&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;
|  05/01/2017  ||  Rodrigo Bastos    ||  Criação do Documento&lt;br /&gt;
|-&lt;br /&gt;
|  12/01/2017  ||  Fábio Sobral  ||  Análise e Aprovação da Arquitetura&lt;br /&gt;
|-&lt;br /&gt;
|  13/01/2017  ||  Guido Ciarlini   ||  Inclusão do Histórico de Revisões&lt;br /&gt;
|-&lt;br /&gt;
|  20/01/2017  ||  Rodrigo Bastos   ||  Inclusão de Novas telas após a última reunião&lt;br /&gt;
|-&lt;br /&gt;
|  21/02/2017  ||  Guido Ciarlini   ||  Inclusão das PREMISSAS para o Pedido&lt;br /&gt;
|-&lt;br /&gt;
|  21/01/2017  ||  Rodrigo Bastos   ||  Inclusão de Novas telas solicitadas pelo Guido&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
A tela de cadastro de pedidos precisa de alguns ajustes para ser melhor utilizada pela Mais Próxima.&lt;br /&gt;
&lt;br /&gt;
=== Premissas ===&lt;br /&gt;
&lt;br /&gt;
# O pedido de venda possui dois status (Não Efetivado, Efetivado), que definem se o pedido pode avançar no processo de aprovação, faturamento pelo ERP, etc;&lt;br /&gt;
# Todo pedido de venda ficará com o status “Não Efetivado” para que o vendedor, manualmente, efetive o pedido. &lt;br /&gt;
# O pedido “não efetivado” abate estoque;&lt;br /&gt;
# O pedido “não efetivado” abate limite de crédito;&lt;br /&gt;
# O pedido “não efetivado” reduz saldo da conta corrente;&lt;br /&gt;
&lt;br /&gt;
== Pré Detalhes da Solução Imperativa ==&lt;br /&gt;
=== Ajuste 1 ===&lt;br /&gt;
Na tela de cadastro de pedidos deverá ser possível selecionar uma lupa com as informações contidas de grupo econômico. Se for selecionado um determinado grupo econômico nesta lupa, isso influenciará a consulta da lupa de clientes, pois esta lupa de clientes só trará os clientes que são do grupo econômico que foi escolhido previamente. Caso não seja escolhido algum grupo econômico, a lupa de clientes deve funcionar normalmente e deve trazer todos os clientes que o usuário tiver visibilidade.&lt;br /&gt;
&lt;br /&gt;
O campo de grupo econômico deve ser algo parecido com o do protótipo abaixo:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Map1.png]]&lt;br /&gt;
&lt;br /&gt;
Os grupos econômicos dos clientes serão informações trazidas do Protheus.&lt;br /&gt;
&lt;br /&gt;
=== Ajuste 2 ===&lt;br /&gt;
O segundo ajuste desta tela ocorre após o preenchimento do cabeçalho do pedido. Devem existir dois novos campos na tela de adição de itens, um campo chamado Grupo Fornecedor e outro chamado Produto. Este campo de Produto deve substituir a atual lupa do Produto.&lt;br /&gt;
&lt;br /&gt;
Estes campos devem ficar parecidos com o protótipo abaixo:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Map2.png]]&lt;br /&gt;
&lt;br /&gt;
Ao clicar na imagem ao lado  do campo de Grupo Fornecedor ou de Produto deve aparecer uma grid com os itens que casem sua descrição com o campo Produto ou que casem com o grupo fornecedor. A grid mostrada deve possuir os seguintes campos:&lt;br /&gt;
* Código do Produto&lt;br /&gt;
* Código do Fabricante&lt;br /&gt;
* Descrição do Produto&lt;br /&gt;
* Estoque do Produto&lt;br /&gt;
* Preço Sugerido do Produto&lt;br /&gt;
&lt;br /&gt;
A tela deve ser parecida com a mostrada abaixo.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Map3.png]]&lt;br /&gt;
&lt;br /&gt;
Ao clicar no icone ao lado do produto na grid, este deve ser adicionado automaticamente ao item do pedido, para que seja informada a quantidade desejada e confirmados o preço de venda ou aplicado um desconto.&lt;br /&gt;
&lt;br /&gt;
=== Resumo Nova Tela ===&lt;br /&gt;
As modificações na tela de cadastro de pedido são mostradas nas imagens abaixo.&lt;br /&gt;
&lt;br /&gt;
O cabeçalho do pedido é preenchido.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Map4.png]]&lt;br /&gt;
&lt;br /&gt;
Depois é escolhido um Grupo Fornecedor ou Produto e a grid com todos os produtos equivalentes é mostrada.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Map5.png]]&lt;br /&gt;
&lt;br /&gt;
Um dos produtos é escolhido e adiciona-se a quantidade desejada dele.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Passo3.png]]&lt;br /&gt;
&lt;br /&gt;
Após apertar inserir observa-se que o produto entrou como um item no pedido.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Passo5.png]]&lt;br /&gt;
&lt;br /&gt;
== Cenários ==&lt;br /&gt;
&lt;br /&gt;
===Cenário feliz com escolha de grupo econômico===&lt;br /&gt;
João escolhe um grupo econômico X que possui os clientes (A, B e C)&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# Grupo Econômico: X&lt;br /&gt;
# Clientes com grupo econômico X: A, B e C&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João escolhe na lupa de grupo econômico o grupo econômico X&lt;br /&gt;
# João tenta selecionar um cliente&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales deve mostrar como opção de escolha na lupa de clientes os clientes: A, B e C&lt;br /&gt;
&lt;br /&gt;
===Cenário feliz sem escolha de grupo econômico===&lt;br /&gt;
João escolhe um cliente sem escolher nenhum grupo econômico&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# Grupo Econômico: não escolhido&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João tenta selecionar um cliente sem ter selecionado nenhum grupo econômico&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales deve mostrar como opção de escolha na lupa de clientes todos os clientes que o usuário tem visibilidade&lt;br /&gt;
&lt;br /&gt;
===Cenário grupo econômico sem nenhum cliente===&lt;br /&gt;
João escolhe um grupo econômico X que não possui nenhum cliente vinculado&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# Grupo Econômico: X&lt;br /&gt;
# Clientes com grupo econômico X: nenhum&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João escolhe na lupa de grupo econômico o grupo econômico X&lt;br /&gt;
# João tenta selecionar um cliente&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales não deve mostrar nenhum cliente como opção de escolha na lupa de clientes.&lt;br /&gt;
&lt;br /&gt;
===Cenário grupo fornecedor com produto===&lt;br /&gt;
João escolhe no campo de grupo fornecedor um grupo de fornecedor&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# Grupo Fornecedor: Fornecedor_1&lt;br /&gt;
# Produtos do grupo Fornecedor_1: A, B e C&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João digita no campo de Grupo Fornecedor o Fornecedor_1&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales deve mostrar na grid de produtos os produtos A, B e C&lt;br /&gt;
&lt;br /&gt;
===Cenário grupo fornecedor sem nenhum produto===&lt;br /&gt;
João escolhe no campo de grupo fornecedor um grupo de fornecedor sem nenhum produto.&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# Grupo Fornecedor: Fornecedor_1&lt;br /&gt;
# Produtos do grupo Fornecedor_1: nenhum&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João digita no campo de Grupo Fornecedor o Fornecedor_1&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales não deve mostrar nenhum produto na grid de produtos&lt;br /&gt;
&lt;br /&gt;
===Cenário com Produto existente===&lt;br /&gt;
João digita no campo de Produto uma string&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# String: Radio&lt;br /&gt;
# Produtos: Radio_A, Radio_B e Radio_C&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João digita no campo de Produto a string Radio&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales deve mostrar na grid de produtos os produtos Radio_A, Radio_B e Radio_C&lt;/div&gt;</summary>
		<author><name>Rodrigobastosv</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Nova_tela_de_cadastro_de_pedidos&amp;diff=3378</id>
		<title>Nova tela de cadastro de pedidos</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Nova_tela_de_cadastro_de_pedidos&amp;diff=3378"/>
		<updated>2017-03-20T16:24:37Z</updated>

		<summary type="html">&lt;p&gt;Rodrigobastosv: /* Resumo Nova Tela */&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;
|  05/01/2017  ||  Rodrigo Bastos    ||  Criação do Documento&lt;br /&gt;
|-&lt;br /&gt;
|  12/01/2017  ||  Fábio Sobral  ||  Análise e Aprovação da Arquitetura&lt;br /&gt;
|-&lt;br /&gt;
|  13/01/2017  ||  Guido Ciarlini   ||  Inclusão do Histórico de Revisões&lt;br /&gt;
|-&lt;br /&gt;
|  20/01/2017  ||  Rodrigo Bastos   ||  Inclusão de Novas telas após a última reunião&lt;br /&gt;
|-&lt;br /&gt;
|  21/02/2017  ||  Guido Ciarlini   ||  Inclusão das PREMISSAS para o Pedido&lt;br /&gt;
|-&lt;br /&gt;
|  21/01/2017  ||  Rodrigo Bastos   ||  Inclusão de Novas telas solicitadas pelo Guido&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
A tela de cadastro de pedidos precisa de alguns ajustes para ser melhor utilizada pela Mais Próxima.&lt;br /&gt;
&lt;br /&gt;
=== Premissas ===&lt;br /&gt;
&lt;br /&gt;
# O pedido de venda possui dois status (Não Efetivado, Efetivado), que definem se o pedido pode avançar no processo de aprovação, faturamento pelo ERP, etc;&lt;br /&gt;
# Todo pedido de venda ficará com o status “Não Efetivado” para que o vendedor, manualmente, efetive o pedido. &lt;br /&gt;
# O pedido “não efetivado” abate estoque;&lt;br /&gt;
# O pedido “não efetivado” abate limite de crédito;&lt;br /&gt;
# O pedido “não efetivado” reduz saldo da conta corrente;&lt;br /&gt;
&lt;br /&gt;
== Pré Detalhes da Solução Imperativa ==&lt;br /&gt;
=== Ajuste 1 ===&lt;br /&gt;
Na tela de cadastro de pedidos deverá ser possível selecionar uma lupa com as informações contidas de grupo econômico. Se for selecionado um determinado grupo econômico nesta lupa, isso influenciará a consulta da lupa de clientes, pois esta lupa de clientes só trará os clientes que são do grupo econômico que foi escolhido previamente. Caso não seja escolhido algum grupo econômico, a lupa de clientes deve funcionar normalmente e deve trazer todos os clientes que o usuário tiver visibilidade.&lt;br /&gt;
&lt;br /&gt;
O campo de grupo econômico deve ser algo parecido com o do protótipo abaixo:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Map1.png]]&lt;br /&gt;
&lt;br /&gt;
Os grupos econômicos dos clientes serão informações trazidas do Protheus.&lt;br /&gt;
&lt;br /&gt;
=== Ajuste 2 ===&lt;br /&gt;
O segundo ajuste desta tela ocorre após o preenchimento do cabeçalho do pedido. Devem existir dois novos campos na tela de adição de itens, um campo chamado Grupo Fornecedor e outro chamado Produto. Este campo de Produto deve substituir a atual lupa do Produto.&lt;br /&gt;
&lt;br /&gt;
Estes campos devem ficar parecidos com o protótipo abaixo:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Map2.png]]&lt;br /&gt;
&lt;br /&gt;
Ao clicar na imagem ao lado  do campo de Grupo Fornecedor ou de Produto deve aparecer uma grid com os itens que casem sua descrição com o campo Produto ou que casem com o grupo fornecedor. A grid mostrada deve possuir os seguintes campos:&lt;br /&gt;
* Código do Produto&lt;br /&gt;
* Código do Fabricante&lt;br /&gt;
* Descrição do Produto&lt;br /&gt;
* Estoque do Produto&lt;br /&gt;
* Preço Sugerido do Produto&lt;br /&gt;
&lt;br /&gt;
A tela deve ser parecida com a mostrada abaixo.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Map3.png]]&lt;br /&gt;
&lt;br /&gt;
Ao clicar no icone ao lado do produto na grid, este deve ser adicionado automaticamente ao item do pedido, para que seja informada a quantidade desejada e confirmados o preço de venda ou aplicado um desconto.&lt;br /&gt;
&lt;br /&gt;
=== Resumo Nova Tela ===&lt;br /&gt;
As modificações na tela de cadastro de pedido são mostradas nas imagens abaixo.&lt;br /&gt;
&lt;br /&gt;
O cabeçalho do pedido é preenchido.&lt;br /&gt;
&lt;br /&gt;
[Arquivo:Map4.png]]&lt;br /&gt;
&lt;br /&gt;
Depois é escolhido um Grupo Fornecedor ou Produto e a grid com todos os produtos equivalentes é mostrada.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Ahaha.png]]&lt;br /&gt;
&lt;br /&gt;
Um dos produtos é escolhido e adiciona-se a quantidade desejada dele.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Passo3.png]]&lt;br /&gt;
&lt;br /&gt;
Após apertar inserir observa-se que o produto entrou como um item no pedido.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Passo5.png]]&lt;br /&gt;
&lt;br /&gt;
== Cenários ==&lt;br /&gt;
&lt;br /&gt;
===Cenário feliz com escolha de grupo econômico===&lt;br /&gt;
João escolhe um grupo econômico X que possui os clientes (A, B e C)&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# Grupo Econômico: X&lt;br /&gt;
# Clientes com grupo econômico X: A, B e C&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João escolhe na lupa de grupo econômico o grupo econômico X&lt;br /&gt;
# João tenta selecionar um cliente&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales deve mostrar como opção de escolha na lupa de clientes os clientes: A, B e C&lt;br /&gt;
&lt;br /&gt;
===Cenário feliz sem escolha de grupo econômico===&lt;br /&gt;
João escolhe um cliente sem escolher nenhum grupo econômico&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# Grupo Econômico: não escolhido&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João tenta selecionar um cliente sem ter selecionado nenhum grupo econômico&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales deve mostrar como opção de escolha na lupa de clientes todos os clientes que o usuário tem visibilidade&lt;br /&gt;
&lt;br /&gt;
===Cenário grupo econômico sem nenhum cliente===&lt;br /&gt;
João escolhe um grupo econômico X que não possui nenhum cliente vinculado&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# Grupo Econômico: X&lt;br /&gt;
# Clientes com grupo econômico X: nenhum&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João escolhe na lupa de grupo econômico o grupo econômico X&lt;br /&gt;
# João tenta selecionar um cliente&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales não deve mostrar nenhum cliente como opção de escolha na lupa de clientes.&lt;br /&gt;
&lt;br /&gt;
===Cenário grupo fornecedor com produto===&lt;br /&gt;
João escolhe no campo de grupo fornecedor um grupo de fornecedor&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# Grupo Fornecedor: Fornecedor_1&lt;br /&gt;
# Produtos do grupo Fornecedor_1: A, B e C&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João digita no campo de Grupo Fornecedor o Fornecedor_1&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales deve mostrar na grid de produtos os produtos A, B e C&lt;br /&gt;
&lt;br /&gt;
===Cenário grupo fornecedor sem nenhum produto===&lt;br /&gt;
João escolhe no campo de grupo fornecedor um grupo de fornecedor sem nenhum produto.&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# Grupo Fornecedor: Fornecedor_1&lt;br /&gt;
# Produtos do grupo Fornecedor_1: nenhum&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João digita no campo de Grupo Fornecedor o Fornecedor_1&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales não deve mostrar nenhum produto na grid de produtos&lt;br /&gt;
&lt;br /&gt;
===Cenário com Produto existente===&lt;br /&gt;
João digita no campo de Produto uma string&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# String: Radio&lt;br /&gt;
# Produtos: Radio_A, Radio_B e Radio_C&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João digita no campo de Produto a string Radio&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales deve mostrar na grid de produtos os produtos Radio_A, Radio_B e Radio_C&lt;/div&gt;</summary>
		<author><name>Rodrigobastosv</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Nova_tela_de_cadastro_de_pedidos&amp;diff=3377</id>
		<title>Nova tela de cadastro de pedidos</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Nova_tela_de_cadastro_de_pedidos&amp;diff=3377"/>
		<updated>2017-03-20T16:24:16Z</updated>

		<summary type="html">&lt;p&gt;Rodrigobastosv: /* Ajuste 2 */&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;
|  05/01/2017  ||  Rodrigo Bastos    ||  Criação do Documento&lt;br /&gt;
|-&lt;br /&gt;
|  12/01/2017  ||  Fábio Sobral  ||  Análise e Aprovação da Arquitetura&lt;br /&gt;
|-&lt;br /&gt;
|  13/01/2017  ||  Guido Ciarlini   ||  Inclusão do Histórico de Revisões&lt;br /&gt;
|-&lt;br /&gt;
|  20/01/2017  ||  Rodrigo Bastos   ||  Inclusão de Novas telas após a última reunião&lt;br /&gt;
|-&lt;br /&gt;
|  21/02/2017  ||  Guido Ciarlini   ||  Inclusão das PREMISSAS para o Pedido&lt;br /&gt;
|-&lt;br /&gt;
|  21/01/2017  ||  Rodrigo Bastos   ||  Inclusão de Novas telas solicitadas pelo Guido&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
A tela de cadastro de pedidos precisa de alguns ajustes para ser melhor utilizada pela Mais Próxima.&lt;br /&gt;
&lt;br /&gt;
=== Premissas ===&lt;br /&gt;
&lt;br /&gt;
# O pedido de venda possui dois status (Não Efetivado, Efetivado), que definem se o pedido pode avançar no processo de aprovação, faturamento pelo ERP, etc;&lt;br /&gt;
# Todo pedido de venda ficará com o status “Não Efetivado” para que o vendedor, manualmente, efetive o pedido. &lt;br /&gt;
# O pedido “não efetivado” abate estoque;&lt;br /&gt;
# O pedido “não efetivado” abate limite de crédito;&lt;br /&gt;
# O pedido “não efetivado” reduz saldo da conta corrente;&lt;br /&gt;
&lt;br /&gt;
== Pré Detalhes da Solução Imperativa ==&lt;br /&gt;
=== Ajuste 1 ===&lt;br /&gt;
Na tela de cadastro de pedidos deverá ser possível selecionar uma lupa com as informações contidas de grupo econômico. Se for selecionado um determinado grupo econômico nesta lupa, isso influenciará a consulta da lupa de clientes, pois esta lupa de clientes só trará os clientes que são do grupo econômico que foi escolhido previamente. Caso não seja escolhido algum grupo econômico, a lupa de clientes deve funcionar normalmente e deve trazer todos os clientes que o usuário tiver visibilidade.&lt;br /&gt;
&lt;br /&gt;
O campo de grupo econômico deve ser algo parecido com o do protótipo abaixo:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Map1.png]]&lt;br /&gt;
&lt;br /&gt;
Os grupos econômicos dos clientes serão informações trazidas do Protheus.&lt;br /&gt;
&lt;br /&gt;
=== Ajuste 2 ===&lt;br /&gt;
O segundo ajuste desta tela ocorre após o preenchimento do cabeçalho do pedido. Devem existir dois novos campos na tela de adição de itens, um campo chamado Grupo Fornecedor e outro chamado Produto. Este campo de Produto deve substituir a atual lupa do Produto.&lt;br /&gt;
&lt;br /&gt;
Estes campos devem ficar parecidos com o protótipo abaixo:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Map2.png]]&lt;br /&gt;
&lt;br /&gt;
Ao clicar na imagem ao lado  do campo de Grupo Fornecedor ou de Produto deve aparecer uma grid com os itens que casem sua descrição com o campo Produto ou que casem com o grupo fornecedor. A grid mostrada deve possuir os seguintes campos:&lt;br /&gt;
* Código do Produto&lt;br /&gt;
* Código do Fabricante&lt;br /&gt;
* Descrição do Produto&lt;br /&gt;
* Estoque do Produto&lt;br /&gt;
* Preço Sugerido do Produto&lt;br /&gt;
&lt;br /&gt;
A tela deve ser parecida com a mostrada abaixo.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Map3.png]]&lt;br /&gt;
&lt;br /&gt;
Ao clicar no icone ao lado do produto na grid, este deve ser adicionado automaticamente ao item do pedido, para que seja informada a quantidade desejada e confirmados o preço de venda ou aplicado um desconto.&lt;br /&gt;
&lt;br /&gt;
=== Resumo Nova Tela ===&lt;br /&gt;
As modificações na tela de cadastro de pedido são mostradas nas imagens abaixo.&lt;br /&gt;
&lt;br /&gt;
O cabeçalho do pedido é preenchido.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Cabecamp.png]]&lt;br /&gt;
&lt;br /&gt;
Depois é escolhido um Grupo Fornecedor ou Produto e a grid com todos os produtos equivalentes é mostrada.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Ahaha.png]]&lt;br /&gt;
&lt;br /&gt;
Um dos produtos é escolhido e adiciona-se a quantidade desejada dele.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Passo3.png]]&lt;br /&gt;
&lt;br /&gt;
Após apertar inserir observa-se que o produto entrou como um item no pedido.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Passo5.png]]&lt;br /&gt;
&lt;br /&gt;
== Cenários ==&lt;br /&gt;
&lt;br /&gt;
===Cenário feliz com escolha de grupo econômico===&lt;br /&gt;
João escolhe um grupo econômico X que possui os clientes (A, B e C)&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# Grupo Econômico: X&lt;br /&gt;
# Clientes com grupo econômico X: A, B e C&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João escolhe na lupa de grupo econômico o grupo econômico X&lt;br /&gt;
# João tenta selecionar um cliente&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales deve mostrar como opção de escolha na lupa de clientes os clientes: A, B e C&lt;br /&gt;
&lt;br /&gt;
===Cenário feliz sem escolha de grupo econômico===&lt;br /&gt;
João escolhe um cliente sem escolher nenhum grupo econômico&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# Grupo Econômico: não escolhido&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João tenta selecionar um cliente sem ter selecionado nenhum grupo econômico&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales deve mostrar como opção de escolha na lupa de clientes todos os clientes que o usuário tem visibilidade&lt;br /&gt;
&lt;br /&gt;
===Cenário grupo econômico sem nenhum cliente===&lt;br /&gt;
João escolhe um grupo econômico X que não possui nenhum cliente vinculado&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# Grupo Econômico: X&lt;br /&gt;
# Clientes com grupo econômico X: nenhum&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João escolhe na lupa de grupo econômico o grupo econômico X&lt;br /&gt;
# João tenta selecionar um cliente&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales não deve mostrar nenhum cliente como opção de escolha na lupa de clientes.&lt;br /&gt;
&lt;br /&gt;
===Cenário grupo fornecedor com produto===&lt;br /&gt;
João escolhe no campo de grupo fornecedor um grupo de fornecedor&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# Grupo Fornecedor: Fornecedor_1&lt;br /&gt;
# Produtos do grupo Fornecedor_1: A, B e C&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João digita no campo de Grupo Fornecedor o Fornecedor_1&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales deve mostrar na grid de produtos os produtos A, B e C&lt;br /&gt;
&lt;br /&gt;
===Cenário grupo fornecedor sem nenhum produto===&lt;br /&gt;
João escolhe no campo de grupo fornecedor um grupo de fornecedor sem nenhum produto.&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# Grupo Fornecedor: Fornecedor_1&lt;br /&gt;
# Produtos do grupo Fornecedor_1: nenhum&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João digita no campo de Grupo Fornecedor o Fornecedor_1&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales não deve mostrar nenhum produto na grid de produtos&lt;br /&gt;
&lt;br /&gt;
===Cenário com Produto existente===&lt;br /&gt;
João digita no campo de Produto uma string&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# String: Radio&lt;br /&gt;
# Produtos: Radio_A, Radio_B e Radio_C&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João digita no campo de Produto a string Radio&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales deve mostrar na grid de produtos os produtos Radio_A, Radio_B e Radio_C&lt;/div&gt;</summary>
		<author><name>Rodrigobastosv</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Nova_tela_de_cadastro_de_pedidos&amp;diff=3376</id>
		<title>Nova tela de cadastro de pedidos</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Nova_tela_de_cadastro_de_pedidos&amp;diff=3376"/>
		<updated>2017-03-20T16:23:52Z</updated>

		<summary type="html">&lt;p&gt;Rodrigobastosv: /* Ajuste 2 */&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;
|  05/01/2017  ||  Rodrigo Bastos    ||  Criação do Documento&lt;br /&gt;
|-&lt;br /&gt;
|  12/01/2017  ||  Fábio Sobral  ||  Análise e Aprovação da Arquitetura&lt;br /&gt;
|-&lt;br /&gt;
|  13/01/2017  ||  Guido Ciarlini   ||  Inclusão do Histórico de Revisões&lt;br /&gt;
|-&lt;br /&gt;
|  20/01/2017  ||  Rodrigo Bastos   ||  Inclusão de Novas telas após a última reunião&lt;br /&gt;
|-&lt;br /&gt;
|  21/02/2017  ||  Guido Ciarlini   ||  Inclusão das PREMISSAS para o Pedido&lt;br /&gt;
|-&lt;br /&gt;
|  21/01/2017  ||  Rodrigo Bastos   ||  Inclusão de Novas telas solicitadas pelo Guido&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
A tela de cadastro de pedidos precisa de alguns ajustes para ser melhor utilizada pela Mais Próxima.&lt;br /&gt;
&lt;br /&gt;
=== Premissas ===&lt;br /&gt;
&lt;br /&gt;
# O pedido de venda possui dois status (Não Efetivado, Efetivado), que definem se o pedido pode avançar no processo de aprovação, faturamento pelo ERP, etc;&lt;br /&gt;
# Todo pedido de venda ficará com o status “Não Efetivado” para que o vendedor, manualmente, efetive o pedido. &lt;br /&gt;
# O pedido “não efetivado” abate estoque;&lt;br /&gt;
# O pedido “não efetivado” abate limite de crédito;&lt;br /&gt;
# O pedido “não efetivado” reduz saldo da conta corrente;&lt;br /&gt;
&lt;br /&gt;
== Pré Detalhes da Solução Imperativa ==&lt;br /&gt;
=== Ajuste 1 ===&lt;br /&gt;
Na tela de cadastro de pedidos deverá ser possível selecionar uma lupa com as informações contidas de grupo econômico. Se for selecionado um determinado grupo econômico nesta lupa, isso influenciará a consulta da lupa de clientes, pois esta lupa de clientes só trará os clientes que são do grupo econômico que foi escolhido previamente. Caso não seja escolhido algum grupo econômico, a lupa de clientes deve funcionar normalmente e deve trazer todos os clientes que o usuário tiver visibilidade.&lt;br /&gt;
&lt;br /&gt;
O campo de grupo econômico deve ser algo parecido com o do protótipo abaixo:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Map1.png]]&lt;br /&gt;
&lt;br /&gt;
Os grupos econômicos dos clientes serão informações trazidas do Protheus.&lt;br /&gt;
&lt;br /&gt;
=== Ajuste 2 ===&lt;br /&gt;
O segundo ajuste desta tela ocorre após o preenchimento do cabeçalho do pedido. Devem existir dois novos campos na tela de adição de itens, um campo chamado Grupo Fornecedor e outro chamado Produto. Este campo de Produto deve substituir a atual lupa do Produto.&lt;br /&gt;
&lt;br /&gt;
Estes campos devem ficar parecidos com o protótipo abaixo:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Map2.png]]&lt;br /&gt;
&lt;br /&gt;
Ao clicar na imagem ao lado  do campo de Grupo Fornecedor ou de Produto deve aparecer uma grid com os itens que casem sua descrição com o campo Produto ou que casem com o grupo fornecedor. A grid mostrada deve possuir os seguintes campos:&lt;br /&gt;
* Código do Produto&lt;br /&gt;
* Código do Fabricante&lt;br /&gt;
* Descrição do Produto&lt;br /&gt;
* Estoque do Produto&lt;br /&gt;
* Preço Sugerido do Produto&lt;br /&gt;
&lt;br /&gt;
A tela deve ser parecida com a mostrada abaixo.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Ahaha.png]]&lt;br /&gt;
&lt;br /&gt;
Ao clicar no icone ao lado do produto na grid, este deve ser adicionado automaticamente ao item do pedido, para que seja informada a quantidade desejada e confirmados o preço de venda ou aplicado um desconto.&lt;br /&gt;
&lt;br /&gt;
=== Resumo Nova Tela ===&lt;br /&gt;
As modificações na tela de cadastro de pedido são mostradas nas imagens abaixo.&lt;br /&gt;
&lt;br /&gt;
O cabeçalho do pedido é preenchido.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Cabecamp.png]]&lt;br /&gt;
&lt;br /&gt;
Depois é escolhido um Grupo Fornecedor ou Produto e a grid com todos os produtos equivalentes é mostrada.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Ahaha.png]]&lt;br /&gt;
&lt;br /&gt;
Um dos produtos é escolhido e adiciona-se a quantidade desejada dele.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Passo3.png]]&lt;br /&gt;
&lt;br /&gt;
Após apertar inserir observa-se que o produto entrou como um item no pedido.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Passo5.png]]&lt;br /&gt;
&lt;br /&gt;
== Cenários ==&lt;br /&gt;
&lt;br /&gt;
===Cenário feliz com escolha de grupo econômico===&lt;br /&gt;
João escolhe um grupo econômico X que possui os clientes (A, B e C)&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# Grupo Econômico: X&lt;br /&gt;
# Clientes com grupo econômico X: A, B e C&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João escolhe na lupa de grupo econômico o grupo econômico X&lt;br /&gt;
# João tenta selecionar um cliente&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales deve mostrar como opção de escolha na lupa de clientes os clientes: A, B e C&lt;br /&gt;
&lt;br /&gt;
===Cenário feliz sem escolha de grupo econômico===&lt;br /&gt;
João escolhe um cliente sem escolher nenhum grupo econômico&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# Grupo Econômico: não escolhido&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João tenta selecionar um cliente sem ter selecionado nenhum grupo econômico&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales deve mostrar como opção de escolha na lupa de clientes todos os clientes que o usuário tem visibilidade&lt;br /&gt;
&lt;br /&gt;
===Cenário grupo econômico sem nenhum cliente===&lt;br /&gt;
João escolhe um grupo econômico X que não possui nenhum cliente vinculado&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# Grupo Econômico: X&lt;br /&gt;
# Clientes com grupo econômico X: nenhum&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João escolhe na lupa de grupo econômico o grupo econômico X&lt;br /&gt;
# João tenta selecionar um cliente&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales não deve mostrar nenhum cliente como opção de escolha na lupa de clientes.&lt;br /&gt;
&lt;br /&gt;
===Cenário grupo fornecedor com produto===&lt;br /&gt;
João escolhe no campo de grupo fornecedor um grupo de fornecedor&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# Grupo Fornecedor: Fornecedor_1&lt;br /&gt;
# Produtos do grupo Fornecedor_1: A, B e C&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João digita no campo de Grupo Fornecedor o Fornecedor_1&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales deve mostrar na grid de produtos os produtos A, B e C&lt;br /&gt;
&lt;br /&gt;
===Cenário grupo fornecedor sem nenhum produto===&lt;br /&gt;
João escolhe no campo de grupo fornecedor um grupo de fornecedor sem nenhum produto.&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# Grupo Fornecedor: Fornecedor_1&lt;br /&gt;
# Produtos do grupo Fornecedor_1: nenhum&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João digita no campo de Grupo Fornecedor o Fornecedor_1&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales não deve mostrar nenhum produto na grid de produtos&lt;br /&gt;
&lt;br /&gt;
===Cenário com Produto existente===&lt;br /&gt;
João digita no campo de Produto uma string&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# String: Radio&lt;br /&gt;
# Produtos: Radio_A, Radio_B e Radio_C&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João digita no campo de Produto a string Radio&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales deve mostrar na grid de produtos os produtos Radio_A, Radio_B e Radio_C&lt;/div&gt;</summary>
		<author><name>Rodrigobastosv</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Nova_tela_de_cadastro_de_pedidos&amp;diff=3375</id>
		<title>Nova tela de cadastro de pedidos</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Nova_tela_de_cadastro_de_pedidos&amp;diff=3375"/>
		<updated>2017-03-20T16:23:32Z</updated>

		<summary type="html">&lt;p&gt;Rodrigobastosv: /* Ajuste 1 */&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;
|  05/01/2017  ||  Rodrigo Bastos    ||  Criação do Documento&lt;br /&gt;
|-&lt;br /&gt;
|  12/01/2017  ||  Fábio Sobral  ||  Análise e Aprovação da Arquitetura&lt;br /&gt;
|-&lt;br /&gt;
|  13/01/2017  ||  Guido Ciarlini   ||  Inclusão do Histórico de Revisões&lt;br /&gt;
|-&lt;br /&gt;
|  20/01/2017  ||  Rodrigo Bastos   ||  Inclusão de Novas telas após a última reunião&lt;br /&gt;
|-&lt;br /&gt;
|  21/02/2017  ||  Guido Ciarlini   ||  Inclusão das PREMISSAS para o Pedido&lt;br /&gt;
|-&lt;br /&gt;
|  21/01/2017  ||  Rodrigo Bastos   ||  Inclusão de Novas telas solicitadas pelo Guido&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
A tela de cadastro de pedidos precisa de alguns ajustes para ser melhor utilizada pela Mais Próxima.&lt;br /&gt;
&lt;br /&gt;
=== Premissas ===&lt;br /&gt;
&lt;br /&gt;
# O pedido de venda possui dois status (Não Efetivado, Efetivado), que definem se o pedido pode avançar no processo de aprovação, faturamento pelo ERP, etc;&lt;br /&gt;
# Todo pedido de venda ficará com o status “Não Efetivado” para que o vendedor, manualmente, efetive o pedido. &lt;br /&gt;
# O pedido “não efetivado” abate estoque;&lt;br /&gt;
# O pedido “não efetivado” abate limite de crédito;&lt;br /&gt;
# O pedido “não efetivado” reduz saldo da conta corrente;&lt;br /&gt;
&lt;br /&gt;
== Pré Detalhes da Solução Imperativa ==&lt;br /&gt;
=== Ajuste 1 ===&lt;br /&gt;
Na tela de cadastro de pedidos deverá ser possível selecionar uma lupa com as informações contidas de grupo econômico. Se for selecionado um determinado grupo econômico nesta lupa, isso influenciará a consulta da lupa de clientes, pois esta lupa de clientes só trará os clientes que são do grupo econômico que foi escolhido previamente. Caso não seja escolhido algum grupo econômico, a lupa de clientes deve funcionar normalmente e deve trazer todos os clientes que o usuário tiver visibilidade.&lt;br /&gt;
&lt;br /&gt;
O campo de grupo econômico deve ser algo parecido com o do protótipo abaixo:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Map1.png]]&lt;br /&gt;
&lt;br /&gt;
Os grupos econômicos dos clientes serão informações trazidas do Protheus.&lt;br /&gt;
&lt;br /&gt;
=== Ajuste 2 ===&lt;br /&gt;
O segundo ajuste desta tela ocorre após o preenchimento do cabeçalho do pedido. Devem existir dois novos campos na tela de adição de itens, um campo chamado Grupo Fornecedor e outro chamado Produto. Este campo de Produto deve substituir a atual lupa do Produto.&lt;br /&gt;
&lt;br /&gt;
Estes campos devem ficar parecidos com o protótipo abaixo:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Uf.png]]&lt;br /&gt;
&lt;br /&gt;
Ao clicar na imagem ao lado  do campo de Grupo Fornecedor ou de Produto deve aparecer uma grid com os itens que casem sua descrição com o campo Produto ou que casem com o grupo fornecedor. A grid mostrada deve possuir os seguintes campos:&lt;br /&gt;
* Código do Produto&lt;br /&gt;
* Código do Fabricante&lt;br /&gt;
* Descrição do Produto&lt;br /&gt;
* Estoque do Produto&lt;br /&gt;
* Preço Sugerido do Produto&lt;br /&gt;
&lt;br /&gt;
A tela deve ser parecida com a mostrada abaixo.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Ahaha.png]]&lt;br /&gt;
&lt;br /&gt;
Ao clicar no icone ao lado do produto na grid, este deve ser adicionado automaticamente ao item do pedido, para que seja informada a quantidade desejada e confirmados o preço de venda ou aplicado um desconto.&lt;br /&gt;
&lt;br /&gt;
=== Resumo Nova Tela ===&lt;br /&gt;
As modificações na tela de cadastro de pedido são mostradas nas imagens abaixo.&lt;br /&gt;
&lt;br /&gt;
O cabeçalho do pedido é preenchido.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Cabecamp.png]]&lt;br /&gt;
&lt;br /&gt;
Depois é escolhido um Grupo Fornecedor ou Produto e a grid com todos os produtos equivalentes é mostrada.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Ahaha.png]]&lt;br /&gt;
&lt;br /&gt;
Um dos produtos é escolhido e adiciona-se a quantidade desejada dele.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Passo3.png]]&lt;br /&gt;
&lt;br /&gt;
Após apertar inserir observa-se que o produto entrou como um item no pedido.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Passo5.png]]&lt;br /&gt;
&lt;br /&gt;
== Cenários ==&lt;br /&gt;
&lt;br /&gt;
===Cenário feliz com escolha de grupo econômico===&lt;br /&gt;
João escolhe um grupo econômico X que possui os clientes (A, B e C)&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# Grupo Econômico: X&lt;br /&gt;
# Clientes com grupo econômico X: A, B e C&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João escolhe na lupa de grupo econômico o grupo econômico X&lt;br /&gt;
# João tenta selecionar um cliente&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales deve mostrar como opção de escolha na lupa de clientes os clientes: A, B e C&lt;br /&gt;
&lt;br /&gt;
===Cenário feliz sem escolha de grupo econômico===&lt;br /&gt;
João escolhe um cliente sem escolher nenhum grupo econômico&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# Grupo Econômico: não escolhido&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João tenta selecionar um cliente sem ter selecionado nenhum grupo econômico&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales deve mostrar como opção de escolha na lupa de clientes todos os clientes que o usuário tem visibilidade&lt;br /&gt;
&lt;br /&gt;
===Cenário grupo econômico sem nenhum cliente===&lt;br /&gt;
João escolhe um grupo econômico X que não possui nenhum cliente vinculado&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# Grupo Econômico: X&lt;br /&gt;
# Clientes com grupo econômico X: nenhum&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João escolhe na lupa de grupo econômico o grupo econômico X&lt;br /&gt;
# João tenta selecionar um cliente&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales não deve mostrar nenhum cliente como opção de escolha na lupa de clientes.&lt;br /&gt;
&lt;br /&gt;
===Cenário grupo fornecedor com produto===&lt;br /&gt;
João escolhe no campo de grupo fornecedor um grupo de fornecedor&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# Grupo Fornecedor: Fornecedor_1&lt;br /&gt;
# Produtos do grupo Fornecedor_1: A, B e C&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João digita no campo de Grupo Fornecedor o Fornecedor_1&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales deve mostrar na grid de produtos os produtos A, B e C&lt;br /&gt;
&lt;br /&gt;
===Cenário grupo fornecedor sem nenhum produto===&lt;br /&gt;
João escolhe no campo de grupo fornecedor um grupo de fornecedor sem nenhum produto.&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# Grupo Fornecedor: Fornecedor_1&lt;br /&gt;
# Produtos do grupo Fornecedor_1: nenhum&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João digita no campo de Grupo Fornecedor o Fornecedor_1&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales não deve mostrar nenhum produto na grid de produtos&lt;br /&gt;
&lt;br /&gt;
===Cenário com Produto existente===&lt;br /&gt;
João digita no campo de Produto uma string&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# String: Radio&lt;br /&gt;
# Produtos: Radio_A, Radio_B e Radio_C&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João digita no campo de Produto a string Radio&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales deve mostrar na grid de produtos os produtos Radio_A, Radio_B e Radio_C&lt;/div&gt;</summary>
		<author><name>Rodrigobastosv</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Arquivo:Map5.png&amp;diff=3374</id>
		<title>Arquivo:Map5.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Arquivo:Map5.png&amp;diff=3374"/>
		<updated>2017-03-20T16:23:00Z</updated>

		<summary type="html">&lt;p&gt;Rodrigobastosv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Rodrigobastosv</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Arquivo:Map4.png&amp;diff=3373</id>
		<title>Arquivo:Map4.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Arquivo:Map4.png&amp;diff=3373"/>
		<updated>2017-03-20T16:22:54Z</updated>

		<summary type="html">&lt;p&gt;Rodrigobastosv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Rodrigobastosv</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Arquivo:Map3.png&amp;diff=3372</id>
		<title>Arquivo:Map3.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Arquivo:Map3.png&amp;diff=3372"/>
		<updated>2017-03-20T16:22:48Z</updated>

		<summary type="html">&lt;p&gt;Rodrigobastosv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Rodrigobastosv</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Arquivo:Map2.png&amp;diff=3371</id>
		<title>Arquivo:Map2.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Arquivo:Map2.png&amp;diff=3371"/>
		<updated>2017-03-20T16:22:41Z</updated>

		<summary type="html">&lt;p&gt;Rodrigobastosv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Rodrigobastosv</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Arquivo:Map1.png&amp;diff=3370</id>
		<title>Arquivo:Map1.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Arquivo:Map1.png&amp;diff=3370"/>
		<updated>2017-03-20T16:22:29Z</updated>

		<summary type="html">&lt;p&gt;Rodrigobastosv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Rodrigobastosv</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Nova_tela_de_cadastro_de_pedidos&amp;diff=3085</id>
		<title>Nova tela de cadastro de pedidos</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Nova_tela_de_cadastro_de_pedidos&amp;diff=3085"/>
		<updated>2017-02-21T15:51:46Z</updated>

		<summary type="html">&lt;p&gt;Rodrigobastosv: /* 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;
|  05/01/2017  ||  Rodrigo Bastos    ||  Criação do Documento&lt;br /&gt;
|-&lt;br /&gt;
|  12/01/2017  ||  Fábio Sobral  ||  Análise e Aprovação da Arquitetura&lt;br /&gt;
|-&lt;br /&gt;
|  13/01/2017  ||  Guido Ciarlini   ||  Inclusão do Histórico de Revisões&lt;br /&gt;
|-&lt;br /&gt;
|  20/01/2017  ||  Rodrigo Bastos   ||  Inclusão de Novas telas após a última reunião&lt;br /&gt;
|-&lt;br /&gt;
|  21/02/2017  ||  Guido Ciarlini   ||  Inclusão das PREMISSAS para o Pedido&lt;br /&gt;
|-&lt;br /&gt;
|  21/01/2017  ||  Rodrigo Bastos   ||  Inclusão de Novas telas solicitadas pelo Guido&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
A tela de cadastro de pedidos precisa de alguns ajustes para ser melhor utilizada pela Mais Próxima.&lt;br /&gt;
&lt;br /&gt;
=== Premissas ===&lt;br /&gt;
&lt;br /&gt;
# O pedido de venda possui dois status (Não Efetivado, Efetivado), que definem se o pedido pode avançar no processo de aprovação, faturamento pelo ERP, etc;&lt;br /&gt;
# Todo pedido de venda ficará com o status “Não Efetivado” para que o vendedor, manualmente, efetive o pedido. &lt;br /&gt;
# O pedido “não efetivado” abate estoque;&lt;br /&gt;
# O pedido “não efetivado” abate limite de crédito;&lt;br /&gt;
# O pedido “não efetivado” reduz saldo da conta corrente;&lt;br /&gt;
&lt;br /&gt;
== Pré Detalhes da Solução Imperativa ==&lt;br /&gt;
=== Ajuste 1 ===&lt;br /&gt;
Na tela de cadastro de pedidos deverá ser possível selecionar uma lupa com as informações contidas de grupo econômico. Se for selecionado um determinado grupo econômico nesta lupa, isso influenciará a consulta da lupa de clientes, pois esta lupa de clientes só trará os clientes que são do grupo econômico que foi escolhido previamente. Caso não seja escolhido algum grupo econômico, a lupa de clientes deve funcionar normalmente e deve trazer todos os clientes que o usuário tiver visibilidade.&lt;br /&gt;
&lt;br /&gt;
O campo de grupo econômico deve ser algo parecido com o do protótipo abaixo:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:GrupoEconomicoCPP.png]]&lt;br /&gt;
&lt;br /&gt;
Os grupos econômicos dos clientes serão informações trazidas do Protheus.&lt;br /&gt;
&lt;br /&gt;
=== Ajuste 2 ===&lt;br /&gt;
O segundo ajuste desta tela ocorre após o preenchimento do cabeçalho do pedido. Devem existir dois novos campos na tela de adição de itens, um campo chamado Grupo Fornecedor e outro chamado Produto. Este campo de Produto deve substituir a atual lupa do Produto.&lt;br /&gt;
&lt;br /&gt;
Estes campos devem ficar parecidos com o protótipo abaixo:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Uf.png]]&lt;br /&gt;
&lt;br /&gt;
Ao clicar na imagem ao lado  do campo de Grupo Fornecedor ou de Produto deve aparecer uma grid com os itens que casem sua descrição com o campo Produto ou que casem com o grupo fornecedor. A grid mostrada deve possuir os seguintes campos:&lt;br /&gt;
* Código do Produto&lt;br /&gt;
* Código do Fabricante&lt;br /&gt;
* Descrição do Produto&lt;br /&gt;
* Estoque do Produto&lt;br /&gt;
* Preço Sugerido do Produto&lt;br /&gt;
&lt;br /&gt;
A tela deve ser parecida com a mostrada abaixo.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Ahaha.png]]&lt;br /&gt;
&lt;br /&gt;
Ao clicar no icone ao lado do produto na grid, este deve ser adicionado automaticamente ao item do pedido, para que seja informada a quantidade desejada e confirmados o preço de venda ou aplicado um desconto.&lt;br /&gt;
&lt;br /&gt;
=== Resumo Nova Tela ===&lt;br /&gt;
As modificações na tela de cadastro de pedido são mostradas nas imagens abaixo.&lt;br /&gt;
&lt;br /&gt;
O cabeçalho do pedido é preenchido.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Cabecamp.png]]&lt;br /&gt;
&lt;br /&gt;
Depois é escolhido um Grupo Fornecedor ou Produto e a grid com todos os produtos equivalentes é mostrada.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Ahaha.png]]&lt;br /&gt;
&lt;br /&gt;
Um dos produtos é escolhido e adiciona-se a quantidade desejada dele.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Passo3.png]]&lt;br /&gt;
&lt;br /&gt;
Após apertar inserir observa-se que o produto entrou como um item no pedido.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Passo5.png]]&lt;br /&gt;
&lt;br /&gt;
== Cenários ==&lt;br /&gt;
&lt;br /&gt;
===Cenário feliz com escolha de grupo econômico===&lt;br /&gt;
João escolhe um grupo econômico X que possui os clientes (A, B e C)&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# Grupo Econômico: X&lt;br /&gt;
# Clientes com grupo econômico X: A, B e C&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João escolhe na lupa de grupo econômico o grupo econômico X&lt;br /&gt;
# João tenta selecionar um cliente&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales deve mostrar como opção de escolha na lupa de clientes os clientes: A, B e C&lt;br /&gt;
&lt;br /&gt;
===Cenário feliz sem escolha de grupo econômico===&lt;br /&gt;
João escolhe um cliente sem escolher nenhum grupo econômico&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# Grupo Econômico: não escolhido&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João tenta selecionar um cliente sem ter selecionado nenhum grupo econômico&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales deve mostrar como opção de escolha na lupa de clientes todos os clientes que o usuário tem visibilidade&lt;br /&gt;
&lt;br /&gt;
===Cenário grupo econômico sem nenhum cliente===&lt;br /&gt;
João escolhe um grupo econômico X que não possui nenhum cliente vinculado&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# Grupo Econômico: X&lt;br /&gt;
# Clientes com grupo econômico X: nenhum&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João escolhe na lupa de grupo econômico o grupo econômico X&lt;br /&gt;
# João tenta selecionar um cliente&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales não deve mostrar nenhum cliente como opção de escolha na lupa de clientes.&lt;br /&gt;
&lt;br /&gt;
===Cenário grupo fornecedor com produto===&lt;br /&gt;
João escolhe no campo de grupo fornecedor um grupo de fornecedor&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# Grupo Fornecedor: Fornecedor_1&lt;br /&gt;
# Produtos do grupo Fornecedor_1: A, B e C&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João digita no campo de Grupo Fornecedor o Fornecedor_1&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales deve mostrar na grid de produtos os produtos A, B e C&lt;br /&gt;
&lt;br /&gt;
===Cenário grupo fornecedor sem nenhum produto===&lt;br /&gt;
João escolhe no campo de grupo fornecedor um grupo de fornecedor sem nenhum produto.&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# Grupo Fornecedor: Fornecedor_1&lt;br /&gt;
# Produtos do grupo Fornecedor_1: nenhum&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João digita no campo de Grupo Fornecedor o Fornecedor_1&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales não deve mostrar nenhum produto na grid de produtos&lt;br /&gt;
&lt;br /&gt;
===Cenário com Produto existente===&lt;br /&gt;
João digita no campo de Produto uma string&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# String: Radio&lt;br /&gt;
# Produtos: Radio_A, Radio_B e Radio_C&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João digita no campo de Produto a string Radio&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales deve mostrar na grid de produtos os produtos Radio_A, Radio_B e Radio_C&lt;/div&gt;</summary>
		<author><name>Rodrigobastosv</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Nova_tela_de_cadastro_de_pedidos&amp;diff=3084</id>
		<title>Nova tela de cadastro de pedidos</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Nova_tela_de_cadastro_de_pedidos&amp;diff=3084"/>
		<updated>2017-02-21T15:50:26Z</updated>

		<summary type="html">&lt;p&gt;Rodrigobastosv: /* Resumo Nova Tela */&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;
|  05/01/2017  ||  Rodrigo Bastos    ||  Criação do Documento&lt;br /&gt;
|-&lt;br /&gt;
|  12/01/2017  ||  Fábio Sobral  ||  Análise e Aprovação da Arquitetura&lt;br /&gt;
|-&lt;br /&gt;
|  13/01/2017  ||  Guido Ciarlini   ||  Inclusão do Histórico de Revisões&lt;br /&gt;
|-&lt;br /&gt;
|  20/01/2017  ||  Rodrigo Bastos   ||  Inclusão de Novas telas após a última reunião&lt;br /&gt;
|-&lt;br /&gt;
|  21/02/2017  ||  Guido Ciarlini   ||  Inclusão das PREMISSAS para o Pedido&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
A tela de cadastro de pedidos precisa de alguns ajustes para ser melhor utilizada pela Mais Próxima.&lt;br /&gt;
&lt;br /&gt;
=== Premissas ===&lt;br /&gt;
&lt;br /&gt;
# O pedido de venda possui dois status (Não Efetivado, Efetivado), que definem se o pedido pode avançar no processo de aprovação, faturamento pelo ERP, etc;&lt;br /&gt;
# Todo pedido de venda ficará com o status “Não Efetivado” para que o vendedor, manualmente, efetive o pedido. &lt;br /&gt;
# O pedido “não efetivado” abate estoque;&lt;br /&gt;
# O pedido “não efetivado” abate limite de crédito;&lt;br /&gt;
# O pedido “não efetivado” reduz saldo da conta corrente;&lt;br /&gt;
&lt;br /&gt;
== Pré Detalhes da Solução Imperativa ==&lt;br /&gt;
=== Ajuste 1 ===&lt;br /&gt;
Na tela de cadastro de pedidos deverá ser possível selecionar uma lupa com as informações contidas de grupo econômico. Se for selecionado um determinado grupo econômico nesta lupa, isso influenciará a consulta da lupa de clientes, pois esta lupa de clientes só trará os clientes que são do grupo econômico que foi escolhido previamente. Caso não seja escolhido algum grupo econômico, a lupa de clientes deve funcionar normalmente e deve trazer todos os clientes que o usuário tiver visibilidade.&lt;br /&gt;
&lt;br /&gt;
O campo de grupo econômico deve ser algo parecido com o do protótipo abaixo:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:GrupoEconomicoCPP.png]]&lt;br /&gt;
&lt;br /&gt;
Os grupos econômicos dos clientes serão informações trazidas do Protheus.&lt;br /&gt;
&lt;br /&gt;
=== Ajuste 2 ===&lt;br /&gt;
O segundo ajuste desta tela ocorre após o preenchimento do cabeçalho do pedido. Devem existir dois novos campos na tela de adição de itens, um campo chamado Grupo Fornecedor e outro chamado Produto. Este campo de Produto deve substituir a atual lupa do Produto.&lt;br /&gt;
&lt;br /&gt;
Estes campos devem ficar parecidos com o protótipo abaixo:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Uf.png]]&lt;br /&gt;
&lt;br /&gt;
Ao clicar na imagem ao lado  do campo de Grupo Fornecedor ou de Produto deve aparecer uma grid com os itens que casem sua descrição com o campo Produto ou que casem com o grupo fornecedor. A grid mostrada deve possuir os seguintes campos:&lt;br /&gt;
* Código do Produto&lt;br /&gt;
* Código do Fabricante&lt;br /&gt;
* Descrição do Produto&lt;br /&gt;
* Estoque do Produto&lt;br /&gt;
* Preço Sugerido do Produto&lt;br /&gt;
&lt;br /&gt;
A tela deve ser parecida com a mostrada abaixo.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Ahaha.png]]&lt;br /&gt;
&lt;br /&gt;
Ao clicar no icone ao lado do produto na grid, este deve ser adicionado automaticamente ao item do pedido, para que seja informada a quantidade desejada e confirmados o preço de venda ou aplicado um desconto.&lt;br /&gt;
&lt;br /&gt;
=== Resumo Nova Tela ===&lt;br /&gt;
As modificações na tela de cadastro de pedido são mostradas nas imagens abaixo.&lt;br /&gt;
&lt;br /&gt;
O cabeçalho do pedido é preenchido.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Cabecamp.png]]&lt;br /&gt;
&lt;br /&gt;
Depois é escolhido um Grupo Fornecedor ou Produto e a grid com todos os produtos equivalentes é mostrada.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Ahaha.png]]&lt;br /&gt;
&lt;br /&gt;
Um dos produtos é escolhido e adiciona-se a quantidade desejada dele.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Passo3.png]]&lt;br /&gt;
&lt;br /&gt;
Após apertar inserir observa-se que o produto entrou como um item no pedido.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Passo5.png]]&lt;br /&gt;
&lt;br /&gt;
== Cenários ==&lt;br /&gt;
&lt;br /&gt;
===Cenário feliz com escolha de grupo econômico===&lt;br /&gt;
João escolhe um grupo econômico X que possui os clientes (A, B e C)&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# Grupo Econômico: X&lt;br /&gt;
# Clientes com grupo econômico X: A, B e C&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João escolhe na lupa de grupo econômico o grupo econômico X&lt;br /&gt;
# João tenta selecionar um cliente&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales deve mostrar como opção de escolha na lupa de clientes os clientes: A, B e C&lt;br /&gt;
&lt;br /&gt;
===Cenário feliz sem escolha de grupo econômico===&lt;br /&gt;
João escolhe um cliente sem escolher nenhum grupo econômico&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# Grupo Econômico: não escolhido&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João tenta selecionar um cliente sem ter selecionado nenhum grupo econômico&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales deve mostrar como opção de escolha na lupa de clientes todos os clientes que o usuário tem visibilidade&lt;br /&gt;
&lt;br /&gt;
===Cenário grupo econômico sem nenhum cliente===&lt;br /&gt;
João escolhe um grupo econômico X que não possui nenhum cliente vinculado&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# Grupo Econômico: X&lt;br /&gt;
# Clientes com grupo econômico X: nenhum&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João escolhe na lupa de grupo econômico o grupo econômico X&lt;br /&gt;
# João tenta selecionar um cliente&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales não deve mostrar nenhum cliente como opção de escolha na lupa de clientes.&lt;br /&gt;
&lt;br /&gt;
===Cenário grupo fornecedor com produto===&lt;br /&gt;
João escolhe no campo de grupo fornecedor um grupo de fornecedor&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# Grupo Fornecedor: Fornecedor_1&lt;br /&gt;
# Produtos do grupo Fornecedor_1: A, B e C&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João digita no campo de Grupo Fornecedor o Fornecedor_1&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales deve mostrar na grid de produtos os produtos A, B e C&lt;br /&gt;
&lt;br /&gt;
===Cenário grupo fornecedor sem nenhum produto===&lt;br /&gt;
João escolhe no campo de grupo fornecedor um grupo de fornecedor sem nenhum produto.&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# Grupo Fornecedor: Fornecedor_1&lt;br /&gt;
# Produtos do grupo Fornecedor_1: nenhum&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João digita no campo de Grupo Fornecedor o Fornecedor_1&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales não deve mostrar nenhum produto na grid de produtos&lt;br /&gt;
&lt;br /&gt;
===Cenário com Produto existente===&lt;br /&gt;
João digita no campo de Produto uma string&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# String: Radio&lt;br /&gt;
# Produtos: Radio_A, Radio_B e Radio_C&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João digita no campo de Produto a string Radio&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales deve mostrar na grid de produtos os produtos Radio_A, Radio_B e Radio_C&lt;/div&gt;</summary>
		<author><name>Rodrigobastosv</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Nova_tela_de_cadastro_de_pedidos&amp;diff=3083</id>
		<title>Nova tela de cadastro de pedidos</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Nova_tela_de_cadastro_de_pedidos&amp;diff=3083"/>
		<updated>2017-02-21T15:50:10Z</updated>

		<summary type="html">&lt;p&gt;Rodrigobastosv: /* Pré Detalhes da Solução Imperativa */&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;
|  05/01/2017  ||  Rodrigo Bastos    ||  Criação do Documento&lt;br /&gt;
|-&lt;br /&gt;
|  12/01/2017  ||  Fábio Sobral  ||  Análise e Aprovação da Arquitetura&lt;br /&gt;
|-&lt;br /&gt;
|  13/01/2017  ||  Guido Ciarlini   ||  Inclusão do Histórico de Revisões&lt;br /&gt;
|-&lt;br /&gt;
|  20/01/2017  ||  Rodrigo Bastos   ||  Inclusão de Novas telas após a última reunião&lt;br /&gt;
|-&lt;br /&gt;
|  21/02/2017  ||  Guido Ciarlini   ||  Inclusão das PREMISSAS para o Pedido&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
A tela de cadastro de pedidos precisa de alguns ajustes para ser melhor utilizada pela Mais Próxima.&lt;br /&gt;
&lt;br /&gt;
=== Premissas ===&lt;br /&gt;
&lt;br /&gt;
# O pedido de venda possui dois status (Não Efetivado, Efetivado), que definem se o pedido pode avançar no processo de aprovação, faturamento pelo ERP, etc;&lt;br /&gt;
# Todo pedido de venda ficará com o status “Não Efetivado” para que o vendedor, manualmente, efetive o pedido. &lt;br /&gt;
# O pedido “não efetivado” abate estoque;&lt;br /&gt;
# O pedido “não efetivado” abate limite de crédito;&lt;br /&gt;
# O pedido “não efetivado” reduz saldo da conta corrente;&lt;br /&gt;
&lt;br /&gt;
== Pré Detalhes da Solução Imperativa ==&lt;br /&gt;
=== Ajuste 1 ===&lt;br /&gt;
Na tela de cadastro de pedidos deverá ser possível selecionar uma lupa com as informações contidas de grupo econômico. Se for selecionado um determinado grupo econômico nesta lupa, isso influenciará a consulta da lupa de clientes, pois esta lupa de clientes só trará os clientes que são do grupo econômico que foi escolhido previamente. Caso não seja escolhido algum grupo econômico, a lupa de clientes deve funcionar normalmente e deve trazer todos os clientes que o usuário tiver visibilidade.&lt;br /&gt;
&lt;br /&gt;
O campo de grupo econômico deve ser algo parecido com o do protótipo abaixo:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:GrupoEconomicoCPP.png]]&lt;br /&gt;
&lt;br /&gt;
Os grupos econômicos dos clientes serão informações trazidas do Protheus.&lt;br /&gt;
&lt;br /&gt;
=== Ajuste 2 ===&lt;br /&gt;
O segundo ajuste desta tela ocorre após o preenchimento do cabeçalho do pedido. Devem existir dois novos campos na tela de adição de itens, um campo chamado Grupo Fornecedor e outro chamado Produto. Este campo de Produto deve substituir a atual lupa do Produto.&lt;br /&gt;
&lt;br /&gt;
Estes campos devem ficar parecidos com o protótipo abaixo:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Uf.png]]&lt;br /&gt;
&lt;br /&gt;
Ao clicar na imagem ao lado  do campo de Grupo Fornecedor ou de Produto deve aparecer uma grid com os itens que casem sua descrição com o campo Produto ou que casem com o grupo fornecedor. A grid mostrada deve possuir os seguintes campos:&lt;br /&gt;
* Código do Produto&lt;br /&gt;
* Código do Fabricante&lt;br /&gt;
* Descrição do Produto&lt;br /&gt;
* Estoque do Produto&lt;br /&gt;
* Preço Sugerido do Produto&lt;br /&gt;
&lt;br /&gt;
A tela deve ser parecida com a mostrada abaixo.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Ahaha.png]]&lt;br /&gt;
&lt;br /&gt;
Ao clicar no icone ao lado do produto na grid, este deve ser adicionado automaticamente ao item do pedido, para que seja informada a quantidade desejada e confirmados o preço de venda ou aplicado um desconto.&lt;br /&gt;
&lt;br /&gt;
=== Resumo Nova Tela ===&lt;br /&gt;
As modificações na tela de cadastro de pedido são mostradas nas imagens abaixo.&lt;br /&gt;
&lt;br /&gt;
O cabeçalho do pedido é preenchido.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Cabecamp.png]]&lt;br /&gt;
&lt;br /&gt;
Depois é escolhido um Grupo Fornecedor ou Produto e a grid com todos os produtos equivalentes é mostrada.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Passo2arte.png]]&lt;br /&gt;
&lt;br /&gt;
Um dos produtos é escolhido e adiciona-se a quantidade desejada dele.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Passo3.png]]&lt;br /&gt;
&lt;br /&gt;
Após apertar inserir observa-se que o produto entrou como um item no pedido.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Passo5.png]]&lt;br /&gt;
&lt;br /&gt;
== Cenários ==&lt;br /&gt;
&lt;br /&gt;
===Cenário feliz com escolha de grupo econômico===&lt;br /&gt;
João escolhe um grupo econômico X que possui os clientes (A, B e C)&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# Grupo Econômico: X&lt;br /&gt;
# Clientes com grupo econômico X: A, B e C&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João escolhe na lupa de grupo econômico o grupo econômico X&lt;br /&gt;
# João tenta selecionar um cliente&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales deve mostrar como opção de escolha na lupa de clientes os clientes: A, B e C&lt;br /&gt;
&lt;br /&gt;
===Cenário feliz sem escolha de grupo econômico===&lt;br /&gt;
João escolhe um cliente sem escolher nenhum grupo econômico&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# Grupo Econômico: não escolhido&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João tenta selecionar um cliente sem ter selecionado nenhum grupo econômico&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales deve mostrar como opção de escolha na lupa de clientes todos os clientes que o usuário tem visibilidade&lt;br /&gt;
&lt;br /&gt;
===Cenário grupo econômico sem nenhum cliente===&lt;br /&gt;
João escolhe um grupo econômico X que não possui nenhum cliente vinculado&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# Grupo Econômico: X&lt;br /&gt;
# Clientes com grupo econômico X: nenhum&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João escolhe na lupa de grupo econômico o grupo econômico X&lt;br /&gt;
# João tenta selecionar um cliente&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales não deve mostrar nenhum cliente como opção de escolha na lupa de clientes.&lt;br /&gt;
&lt;br /&gt;
===Cenário grupo fornecedor com produto===&lt;br /&gt;
João escolhe no campo de grupo fornecedor um grupo de fornecedor&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# Grupo Fornecedor: Fornecedor_1&lt;br /&gt;
# Produtos do grupo Fornecedor_1: A, B e C&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João digita no campo de Grupo Fornecedor o Fornecedor_1&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales deve mostrar na grid de produtos os produtos A, B e C&lt;br /&gt;
&lt;br /&gt;
===Cenário grupo fornecedor sem nenhum produto===&lt;br /&gt;
João escolhe no campo de grupo fornecedor um grupo de fornecedor sem nenhum produto.&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# Grupo Fornecedor: Fornecedor_1&lt;br /&gt;
# Produtos do grupo Fornecedor_1: nenhum&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João digita no campo de Grupo Fornecedor o Fornecedor_1&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales não deve mostrar nenhum produto na grid de produtos&lt;br /&gt;
&lt;br /&gt;
===Cenário com Produto existente===&lt;br /&gt;
João digita no campo de Produto uma string&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# String: Radio&lt;br /&gt;
# Produtos: Radio_A, Radio_B e Radio_C&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João digita no campo de Produto a string Radio&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales deve mostrar na grid de produtos os produtos Radio_A, Radio_B e Radio_C&lt;/div&gt;</summary>
		<author><name>Rodrigobastosv</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Arquivo:Ahaha.png&amp;diff=3082</id>
		<title>Arquivo:Ahaha.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Arquivo:Ahaha.png&amp;diff=3082"/>
		<updated>2017-02-21T15:49:26Z</updated>

		<summary type="html">&lt;p&gt;Rodrigobastosv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Rodrigobastosv</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Arquivo:Uf.png&amp;diff=3081</id>
		<title>Arquivo:Uf.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Arquivo:Uf.png&amp;diff=3081"/>
		<updated>2017-02-21T15:48:38Z</updated>

		<summary type="html">&lt;p&gt;Rodrigobastosv: Rodrigobastosv carregada uma nova versão de Arquivo:Uf.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Rodrigobastosv</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Nova_tela_de_cadastro_de_pedidos&amp;diff=3080</id>
		<title>Nova tela de cadastro de pedidos</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Nova_tela_de_cadastro_de_pedidos&amp;diff=3080"/>
		<updated>2017-02-21T15:48:07Z</updated>

		<summary type="html">&lt;p&gt;Rodrigobastosv: /* Ajuste 2 */&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;
|  05/01/2017  ||  Rodrigo Bastos    ||  Criação do Documento&lt;br /&gt;
|-&lt;br /&gt;
|  12/01/2017  ||  Fábio Sobral  ||  Análise e Aprovação da Arquitetura&lt;br /&gt;
|-&lt;br /&gt;
|  13/01/2017  ||  Guido Ciarlini   ||  Inclusão do Histórico de Revisões&lt;br /&gt;
|-&lt;br /&gt;
|  20/01/2017  ||  Rodrigo Bastos   ||  Inclusão de Novas telas após a última reunião&lt;br /&gt;
|-&lt;br /&gt;
|  21/02/2017  ||  Guido Ciarlini   ||  Inclusão das PREMISSAS para o Pedido&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
A tela de cadastro de pedidos precisa de alguns ajustes para ser melhor utilizada pela Mais Próxima.&lt;br /&gt;
&lt;br /&gt;
=== Premissas ===&lt;br /&gt;
&lt;br /&gt;
# O pedido de venda possui dois status (Não Efetivado, Efetivado), que definem se o pedido pode avançar no processo de aprovação, faturamento pelo ERP, etc;&lt;br /&gt;
# Todo pedido de venda ficará com o status “Não Efetivado” para que o vendedor, manualmente, efetive o pedido. &lt;br /&gt;
# O pedido “não efetivado” abate estoque;&lt;br /&gt;
# O pedido “não efetivado” abate limite de crédito;&lt;br /&gt;
# O pedido “não efetivado” reduz saldo da conta corrente;&lt;br /&gt;
&lt;br /&gt;
== Pré Detalhes da Solução Imperativa ==&lt;br /&gt;
=== Ajuste 1 ===&lt;br /&gt;
Na tela de cadastro de pedidos deverá ser possível selecionar uma lupa com as informações contidas de grupo econômico. Se for selecionado um determinado grupo econômico nesta lupa, isso influenciará a consulta da lupa de clientes, pois esta lupa de clientes só trará os clientes que são do grupo econômico que foi escolhido previamente. Caso não seja escolhido algum grupo econômico, a lupa de clientes deve funcionar normalmente e deve trazer todos os clientes que o usuário tiver visibilidade.&lt;br /&gt;
&lt;br /&gt;
O campo de grupo econômico deve ser algo parecido com o do protótipo abaixo:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:GrupoEconomicoCPP.png]]&lt;br /&gt;
&lt;br /&gt;
Os grupos econômicos dos clientes serão informações trazidas do Protheus.&lt;br /&gt;
&lt;br /&gt;
=== Ajuste 2 ===&lt;br /&gt;
O segundo ajuste desta tela ocorre após o preenchimento do cabeçalho do pedido. Devem existir dois novos campos na tela de adição de itens, um campo chamado Grupo Fornecedor e outro chamado Produto. Este campo de Produto deve substituir a atual lupa do Produto.&lt;br /&gt;
&lt;br /&gt;
Estes campos devem ficar parecidos com o protótipo abaixo:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Uf.png]]&lt;br /&gt;
&lt;br /&gt;
Ao clicar na imagem ao lado  do campo de Grupo Fornecedor ou de Produto deve aparecer uma grid com os itens que casem sua descrição com o campo Produto ou que casem com o grupo fornecedor. A grid mostrada deve possuir os seguintes campos:&lt;br /&gt;
* Código do Produto&lt;br /&gt;
* Código do Fabricante&lt;br /&gt;
* Descrição do Produto&lt;br /&gt;
* Estoque do Produto&lt;br /&gt;
* Preço Sugerido do Produto&lt;br /&gt;
&lt;br /&gt;
A tela deve ser parecida com a mostrada abaixo.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Passo2arte.png]]&lt;br /&gt;
&lt;br /&gt;
Ao clicar no icone ao lado do produto na grid, este deve ser adicionado automaticamente ao item do pedido, para que seja informada a quantidade desejada e confirmados o preço de venda ou aplicado um desconto.&lt;br /&gt;
&lt;br /&gt;
=== Resumo Nova Tela ===&lt;br /&gt;
As modificações na tela de cadastro de pedido são mostradas nas imagens abaixo.&lt;br /&gt;
&lt;br /&gt;
O cabeçalho do pedido é preenchido.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Cabecamp.png]]&lt;br /&gt;
&lt;br /&gt;
Depois é escolhido um Grupo Fornecedor ou Produto e a grid com todos os produtos equivalentes é mostrada.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Passo2arte.png]]&lt;br /&gt;
&lt;br /&gt;
Um dos produtos é escolhido e adiciona-se a quantidade desejada dele.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Passo3.png]]&lt;br /&gt;
&lt;br /&gt;
Após apertar inserir observa-se que o produto entrou como um item no pedido.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Passo5.png]]&lt;br /&gt;
&lt;br /&gt;
== Cenários ==&lt;br /&gt;
&lt;br /&gt;
===Cenário feliz com escolha de grupo econômico===&lt;br /&gt;
João escolhe um grupo econômico X que possui os clientes (A, B e C)&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# Grupo Econômico: X&lt;br /&gt;
# Clientes com grupo econômico X: A, B e C&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João escolhe na lupa de grupo econômico o grupo econômico X&lt;br /&gt;
# João tenta selecionar um cliente&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales deve mostrar como opção de escolha na lupa de clientes os clientes: A, B e C&lt;br /&gt;
&lt;br /&gt;
===Cenário feliz sem escolha de grupo econômico===&lt;br /&gt;
João escolhe um cliente sem escolher nenhum grupo econômico&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# Grupo Econômico: não escolhido&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João tenta selecionar um cliente sem ter selecionado nenhum grupo econômico&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales deve mostrar como opção de escolha na lupa de clientes todos os clientes que o usuário tem visibilidade&lt;br /&gt;
&lt;br /&gt;
===Cenário grupo econômico sem nenhum cliente===&lt;br /&gt;
João escolhe um grupo econômico X que não possui nenhum cliente vinculado&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# Grupo Econômico: X&lt;br /&gt;
# Clientes com grupo econômico X: nenhum&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João escolhe na lupa de grupo econômico o grupo econômico X&lt;br /&gt;
# João tenta selecionar um cliente&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales não deve mostrar nenhum cliente como opção de escolha na lupa de clientes.&lt;br /&gt;
&lt;br /&gt;
===Cenário grupo fornecedor com produto===&lt;br /&gt;
João escolhe no campo de grupo fornecedor um grupo de fornecedor&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# Grupo Fornecedor: Fornecedor_1&lt;br /&gt;
# Produtos do grupo Fornecedor_1: A, B e C&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João digita no campo de Grupo Fornecedor o Fornecedor_1&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales deve mostrar na grid de produtos os produtos A, B e C&lt;br /&gt;
&lt;br /&gt;
===Cenário grupo fornecedor sem nenhum produto===&lt;br /&gt;
João escolhe no campo de grupo fornecedor um grupo de fornecedor sem nenhum produto.&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# Grupo Fornecedor: Fornecedor_1&lt;br /&gt;
# Produtos do grupo Fornecedor_1: nenhum&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João digita no campo de Grupo Fornecedor o Fornecedor_1&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales não deve mostrar nenhum produto na grid de produtos&lt;br /&gt;
&lt;br /&gt;
===Cenário com Produto existente===&lt;br /&gt;
João digita no campo de Produto uma string&lt;br /&gt;
&lt;br /&gt;
====Dado====&lt;br /&gt;
# Usuário: João&lt;br /&gt;
# String: Radio&lt;br /&gt;
# Produtos: Radio_A, Radio_B e Radio_C&lt;br /&gt;
&lt;br /&gt;
====Operação====&lt;br /&gt;
# João digita no campo de Produto a string Radio&lt;br /&gt;
&lt;br /&gt;
====Assertivas====&lt;br /&gt;
# O GeoSales deve mostrar na grid de produtos os produtos Radio_A, Radio_B e Radio_C&lt;/div&gt;</summary>
		<author><name>Rodrigobastosv</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Arquivo:Uf.png&amp;diff=3079</id>
		<title>Arquivo:Uf.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Arquivo:Uf.png&amp;diff=3079"/>
		<updated>2017-02-21T15:47:32Z</updated>

		<summary type="html">&lt;p&gt;Rodrigobastosv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Rodrigobastosv</name></author>
	</entry>
</feed>