Mudanças entre as edições de "Roteirização"

De GeoSales
Ir para navegação Ir para pesquisar
 
(8 revisões intermediárias por 2 usuários não estão sendo mostradas)
Linha 30: Linha 30:
 
'''ZONA''' - Onde é definido a area de atendimento e vendedor que ira atender.
 
'''ZONA''' - Onde é definido a area de atendimento e vendedor que ira atender.
  
[[Arquivo:ZONA.jpg|800px]]
+
[[Arquivo:ZONA.jpg|900px]]
  
 
'''SETORES POR ZONA''' - Onde são definidos os pontos de atendimento em uma Zona de atendimento.
 
'''SETORES POR ZONA''' - Onde são definidos os pontos de atendimento em uma Zona de atendimento.
  
2 - imagem
+
[[Arquivo:SETORES_POR_ZONA2.jpg|900px ]]
  
'''PONTOS POR ZONA E SETOR''' - Onde será vinculando os clientes de acordo com o ponto de antedimento e sua Zona de atendimento.
+
'''PONTOS POR SETOR''' - Onde será vinculando os clientes de acordo com o ponto de antedimento e sua Zona de atendimento.
  
3 - imagem
+
[[Arquivo:PONTOS_POR ZONA_E_SETOR2.jpg|900px]]
  
 
'''ROTA''' - aqui é criado o nome da rota e o sequenciamento do atendimento.
 
'''ROTA''' - aqui é criado o nome da rota e o sequenciamento do atendimento.
  
4 - imagem
+
[[Arquivo:ROTA.jpg|900px]]
 +
 
 +
 
 +
 
 +
== Link do Vídeo demostrativo da TOTVS  ==
 +
 
 +
https://www.youtube.com/watch?v=oudIP_fFeVI
  
 
== Tabelas Padrões do Protheus para integração da Rota. ==
 
== Tabelas Padrões do Protheus para integração da Rota. ==
Linha 55: Linha 61:
 
=== ROTA ===
 
=== ROTA ===
  
CREATE VIEW [dbo].[VW_ROTA_TMP] AS<br>
+
CREATE VIEW [dbo].[VW_ROTA_TMP] AS<br>
SELECT DISTINCT<br>
+
<br>
'01' + LTRIM(RTRIM(DA8.DA8_COD)) AS CD_ROTA,<br>
+
SELECT<br>
LEFT(DA8.DA8_DESC,20) AS DS_ROTA<br>
+
CONVERT(INT, DA8_FILIAL + CONVERT(VARCHAR(10),DA8.R_E_C_N_O_)) AS CD_ROTA,<br>
FROM DA8100 DA8 WITH (NOLOCK) WHERE DA8.D_E_L_E_T_ = ''<br>
+
DA8_DESC AS DS_ROTA,<br>
 +
NULL AS DS_DIAS_ROTA<br>
 +
FROM DA5010 DA5<br>
 +
INNER JOIN VW_DE_PARA_VENDEDOR_TMP VD ON A3_COD = DA5_VENDED<br>
 +
INNER JOIN DA6010 DA6 ON RTRIM(LTRIM(DA6_PERCUR)) = RTRIM(LTRIM(DA5_COD))<br>
 +
INNER JOIN DA7010  DA7 ON RTRIM(LTRIM(DA6_PERCUR)) = RTRIM(LTRIM(DA7_PERCUR))<br>
 +
INNER JOIN VW_DE_PARA_CLIENTE_TMP CL ON A1_COD = DA7_CLIENT AND DA5_FILIAL = DA6_FILIAL<br>
 +
INNER JOIN DA9010 DA9 ON LTRIM(RTRIM(DA9_PERCUR)) = RTRIM(LTRIM(DA7_PERCUR))<br>
 +
AND DA9_FILIAL = DA5_FILIAL <br>
 +
INNER JOIN DA8010  DA8 ON DA8_COD = DA9_ROTEIR AND DA8_FILIAL = DA5_FILIAL <br>
 +
WHERE<br>
 +
DA5.D_E_L_E_T_ = ''<br>
 +
AND DA6.D_E_L_E_T_ = ''<br>
 +
AND DA7.D_E_L_E_T_ = ''<br>
 +
AND DA8.D_E_L_E_T_ = ''<br>
 +
AND DA8.DA8_ATIVO = '1'<br>
 +
AND DA9.D_E_L_E_T_ = ''<br>
 +
AND DA5_VENDED <> ''<br>
 +
AND DA7_CLIENT <> ''<br>
 +
 
  
 
=== CLIENTE_ROTA ===
 
=== CLIENTE_ROTA ===
  
CREATE VIEW [dbo].[VW_CLIENTE_ROTA_TMP] AS<br>
+
CREATE VIEW [dbo].[VW_CLIENTE_ROTA_TMP] AS<br>
SELECT DISTINCT<br>  
+
<br>
SA3.A3_COD AS CD_VENDEDOR,<br>
+
SELECT<br>
DA7.DA7_CLIENT AS CD_CLIENTE,<br>
+
CD_VENDEDOR AS CD_VENDEDOR,<br>
'01' + LTRIM(RTRIM(DA9.DA9_ROTEIR)) AS CD_ROTA,<br>
+
CD_CLIENTE AS CD_CLIENTE,<br>
DA7.DA7_SEQUEN AS NR_SEQ_ATEND<br>
+
CONVERT(INT, DA8_FILIAL + CONVERT(VARCHAR(10),DA8.R_E_C_N_O_)) AS CD_ROTA,<br>
FROM DA7100 DA7 WITH (NOLOCK)<br>
+
DA7_SEQUEN AS NR_SEQ_ATEND,<br>
 
+
NULL AS CD_PESQUISADOR<br>
INNER JOIN DA9100 DA9 WITH (NOLOCK) ON <br>
+
FROM DA5010 DA5<br>
DA9.D_E_L_E_T_ = '' AND DA7.DA7_ROTA = DA9.DA9_ROTA<br>
+
INNER JOIN VW_DE_PARA_VENDEDOR_TMP VD ON A3_COD = DA5_VENDED<br>
 
+
INNER JOIN DA6010 DA6 ON RTRIM(LTRIM(DA6_PERCUR)) = RTRIM(LTRIM(DA5_COD))<br>
INNER JOIN DA5100 DA5 WITH (NOLOCK) ON <br>
+
INNER JOIN DA7010 DA7 ON RTRIM(LTRIM(DA6_PERCUR)) = RTRIM(LTRIM(DA7_PERCUR))<br>
DA5.D_E_L_E_T_ = '' AND DA5.DA5_COD = DA7.DA7_PERCUR <br>
+
INNER JOIN VW_DE_PARA_CLIENTE_TMP CL ON A1_COD = DA7_CLIENT AND DA5_FILIAL = DA6_FILIAL
 
+
INNER JOIN DA9010 DA9 ON LTRIM(RTRIM(DA9_PERCUR)) = RTRIM(LTRIM(DA7_PERCUR))
INNER JOIN SA1100 SA1 WITH (NOLOCK) ON  <br>
+
AND DA9_FILIAL = DA5_FILIAL <br>
SA1.D_E_L_E_T_ = '' AND SA1.A1_COD = DA7.DA7_CLIENT AND SA1.A1_LOJA = DA7.DA7_LOJA <br>
+
INNER JOIN DA8010  DA8 ON DA8_COD = DA9_ROTEIR AND DA8_FILIAL = DA5_FILIAL <br>
 
+
WHERE<br>
INNER JOIN SA3100 SA3 WITH (NOLOCK) ON <br>
+
DA5.D_E_L_E_T_ = ''<br>
SA3.D_E_L_E_T_ = '' AND SA3.A3_COD = DA5.DA5_VENDED <br>
+
AND DA6.D_E_L_E_T_ = ''<br>
 
+
AND DA7.D_E_L_E_T_ = ''<br>
WHERE DA7.D_E_L_E_T_ = ''<br>
+
AND DA8.D_E_L_E_T_ = ''<br>
 +
AND DA8.DA8_ATIVO = '1'<br>
 +
AND DA9.D_E_L_E_T_ = ''<br>
 +
AND DA5_VENDED <> ''<br>
 +
AND DA7_CLIENT <> ''<br>

Edição atual tal como às 17h26min de 14 de junho de 2017

Histórico de Revisões

Data Quem Comentários
19/04/2017 Carlos Robson Criação do Documento

Necessidade

As informações a seguir mostrara como é feita a configuração padrão da roteirização no Protheus e quais informações são necessárias para que o mesmo seja integrado na sua forma padrão no Geosales

Solução

Para que seja feita a roteirização é necessário acessar no Protheus o Modulo 39 - OMS - Gestão de Distribuição -> Menu -> Atualizações -> Roteirização onde é feito a configuração da Roteirização no Protheus.


  • Modulo 39 - OMS - Gestão de Distribuição

Roteirizacao.jpg

  • Menu -> Atualizações -> Roteirização

Roteirizacao2.jpg

Opções do Menu

ZONA - Onde é definido a area de atendimento e vendedor que ira atender.

ZONA.jpg

SETORES POR ZONA - Onde são definidos os pontos de atendimento em uma Zona de atendimento.

SETORES POR ZONA2.jpg

PONTOS POR SETOR - Onde será vinculando os clientes de acordo com o ponto de antedimento e sua Zona de atendimento.

PONTOS POR ZONA E SETOR2.jpg

ROTA - aqui é criado o nome da rota e o sequenciamento do atendimento.

ROTA.jpg


Link do Vídeo demostrativo da TOTVS

https://www.youtube.com/watch?v=oudIP_fFeVI

Tabelas Padrões do Protheus para integração da Rota.

1 - DA5010 - CADASTRO DE ZONAS.
2 - DA9010 - CADASTRO DE ZONAS POR ROTA.
3 - DA7010 - CADASTRO DE CLIENTES POR SETOR.
4 - DA8010 - CADASTRO DAS ROTAS.

Scripts para Criação das Views ROTA e CLIENTE_ROTA

ROTA

CREATE VIEW [dbo].[VW_ROTA_TMP] AS

SELECT
CONVERT(INT, DA8_FILIAL + CONVERT(VARCHAR(10),DA8.R_E_C_N_O_)) AS CD_ROTA,
DA8_DESC AS DS_ROTA,
NULL AS DS_DIAS_ROTA
FROM DA5010 DA5
INNER JOIN VW_DE_PARA_VENDEDOR_TMP VD ON A3_COD = DA5_VENDED
INNER JOIN DA6010 DA6 ON RTRIM(LTRIM(DA6_PERCUR)) = RTRIM(LTRIM(DA5_COD))
INNER JOIN DA7010 DA7 ON RTRIM(LTRIM(DA6_PERCUR)) = RTRIM(LTRIM(DA7_PERCUR))
INNER JOIN VW_DE_PARA_CLIENTE_TMP CL ON A1_COD = DA7_CLIENT AND DA5_FILIAL = DA6_FILIAL
INNER JOIN DA9010 DA9 ON LTRIM(RTRIM(DA9_PERCUR)) = RTRIM(LTRIM(DA7_PERCUR))
AND DA9_FILIAL = DA5_FILIAL
INNER JOIN DA8010 DA8 ON DA8_COD = DA9_ROTEIR AND DA8_FILIAL = DA5_FILIAL
WHERE
DA5.D_E_L_E_T_ =
AND DA6.D_E_L_E_T_ =
AND DA7.D_E_L_E_T_ =
AND DA8.D_E_L_E_T_ =
AND DA8.DA8_ATIVO = '1'
AND DA9.D_E_L_E_T_ =
AND DA5_VENDED <>
AND DA7_CLIENT <>


CLIENTE_ROTA

CREATE VIEW [dbo].[VW_CLIENTE_ROTA_TMP] AS

SELECT
CD_VENDEDOR AS CD_VENDEDOR,
CD_CLIENTE AS CD_CLIENTE,
CONVERT(INT, DA8_FILIAL + CONVERT(VARCHAR(10),DA8.R_E_C_N_O_)) AS CD_ROTA,
DA7_SEQUEN AS NR_SEQ_ATEND,
NULL AS CD_PESQUISADOR
FROM DA5010 DA5
INNER JOIN VW_DE_PARA_VENDEDOR_TMP VD ON A3_COD = DA5_VENDED
INNER JOIN DA6010 DA6 ON RTRIM(LTRIM(DA6_PERCUR)) = RTRIM(LTRIM(DA5_COD))
INNER JOIN DA7010 DA7 ON RTRIM(LTRIM(DA6_PERCUR)) = RTRIM(LTRIM(DA7_PERCUR))
INNER JOIN VW_DE_PARA_CLIENTE_TMP CL ON A1_COD = DA7_CLIENT AND DA5_FILIAL = DA6_FILIAL INNER JOIN DA9010 DA9 ON LTRIM(RTRIM(DA9_PERCUR)) = RTRIM(LTRIM(DA7_PERCUR)) AND DA9_FILIAL = DA5_FILIAL
INNER JOIN DA8010 DA8 ON DA8_COD = DA9_ROTEIR AND DA8_FILIAL = DA5_FILIAL
WHERE
DA5.D_E_L_E_T_ =
AND DA6.D_E_L_E_T_ =
AND DA7.D_E_L_E_T_ =
AND DA8.D_E_L_E_T_ =
AND DA8.DA8_ATIVO = '1'
AND DA9.D_E_L_E_T_ =
AND DA5_VENDED <>
AND DA7_CLIENT <>