Roteirização

De GeoSales
Ir para navegação Ir para pesquisar

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 <>