Integração Pedido GeoSales - ERP Protheus

De GeoSales
Revisão de 20h35min de 10 de julho de 2018 por Joaofelipe (discussão | contribs) (→‎Solução)
Ir para navegação Ir para pesquisar

Histórico de Alterações

Data Quem Comentários
02/07/2018 Rilston Soares Criação do Documento
09/07/2018 João Felipe Maciel Transcrição e adaptação do Documento para modelo padrão

Necessidade

Este documento tem como objetivo disponibilizar informações técnicas necessárias para a configuração, parametrização e utilização do Integrador GeoSales.

Além disso, este documento busca descrever o histórico de configurações e atividades realizadas na integração GeoSales referentes aos cadastros básicos.

Implementação

Integração

Para a realização dos cadastros básicos, as configurações e atividades realizadas na integração GeoSales são as seguintes:

- Configuração do ambiente:

Será montado um ambiente de geração de arquivos via importação de dados na ferramenta da TOTVS (Protheus).


- Exportação de dados do ERP Protheus X GeoSales:

Exportação via Web Serviço (Json).


- Importação de dados do GeoSales x ERP Protheus:

Importação via funcionalidade no ERP Protheus (Integrador Json).


- Integração - GeoSales x Protheus (Histórico Movimento) :

Realizar a estruturação dos Parâmetros e Campos Criados no ERP Protheus através das seguintes tabelas:

[TABELA I02]
Coluna Tipo Obrigatório Explicação
I02_ARQPRI CARACTER SIM Campo para guardar código da tabela
I02_CHAVE CARACTER SIM Campo para guardar a chave usada da tabela para extração
I02_CODLAY CARACTER SIM Código do layout
I02_DESLAY CARACTER NÃO Campo para guardar descrição do layout
I02_EXECAU CARACTER SIM Código do tipo de extração do arquivo
I02_FILIAL CARACTER NÃO Campo usado para guardar a filial para extração do layout
I02_STATUS CARACTER SIM Campo usado para guardar o status do layout
I02_TIPIMP CARACTER SIM Campo usado para guardar o tipo de importação
[TABELA I03]
Coluna Tipo Obrigatório Explicação
I03_ARQDES CARACTER SIM Campo para guardar o campo de destino do ERP
I03_ARQORI CARACTER NÃO Campo para guardar origem do campo
I03_CODLAY CARACTER SIM Campo para guardar o layout de integração
I03_FILIAL CARACTER NÃO Campo para guardar filial de integração
I03_NOME CARACTER NÃO Campo para guardar o nome do Arquivo
I03_SEQARQ CARACTER SIM Campo para guardar sequência dos arquivos
I03_TPARQ CARACTER SIM Campo para guardar tipo dos arquivos
I03_QUERY MEMO SIM Campo para guardar consulta SQL
[TABELA I04]
Coluna Tipo Obrigatório Explicação
I04_CODLAY CARACTER SIM Campo para guardar código do Layout
I04_CPOATE CARACTER SIM Campo para guardar campo início para importação
I04_CPODE CARACTER SIM Campo para guardar campo Fim para importação
I04_CPODES CARACTER NÃO Campo para guardar destino da informação para importação
I04_CPOORI CARACTER NÃO Campo para guardar origem da informação
I04_DECIMA NUMERICO NÃO Campo para guardar o tipo de arquivo decimal de importação
I04_FILIAL CARACTER NÃO Campo para guardar filial de importação
I04_FUNC MEMO SIM Campo para validação de funções
I04_SEQARQ CARACTER NÃO Campo para guardar sequência dos arquivos
I04_SEQCPO CARACTER NÃO Campo para guardar sequência dos campos de importação
I04_TAMANH NUMERICO NÃO Campo para guarda o tamanho da informação para importação
I04_TIPDAT CARACTER NÃO Campo para guardar o tipo de dado para importação
[TABELA SC5]
Coluna Tipo Obrigatório Explicação
C5_XCDPALM CARACTER SIM Campo para guardar Pedido Palm
C5_XDTIMPR DATA NÃO Campo para guardar a data de importação do pedido no ERP
C5_XPEDPAI CARACTER NÃO Código do Pedido Pai
[TABELA SC6]
Coluna Tipo Obrigatório Explicação
C6_XITPPAL CARACTER NÃO Campo para guardar Pedido Palm Pai
[TABELA SCJ]
Coluna Tipo Obrigatório Explicação
CJ_XCDPALM CARACTER SIM Campo para guardar Pedido Palm
CJ_XDTIMPR DATA NÃO Campo para guardar a data de importação do pedido no ERP
CJ_XPEDPAI CARACTER NÃO Código do Pedido Pai
[TABELA SCK]
Coluna Tipo Obrigatório Explicação
CK_XCDPALM CARACTER SIM Campo para guardar Pedido Palm
[TABELA SUA]
Coluna Tipo Obrigatório Explicação
UA_XCDPALM CARACTER SIM Campo para guardar Pedido Palm
UA_XDTIMPR DATA NÃO Campo para guardar a data de importação do pedido no ERP
UA_XPEDPAI CARACTER NÃO Código do Pedido Pai
[TABELA SUB]
Coluna Tipo Obrigatório Explicação
UB_XCDPALM CARACTER SIM Campo para guardar Pedido Palm
[TABELA I07]
Coluna Tipo Obrigatório Explicação
I07_CDPALM CARACTER SIM Campo para guardar Pedido Palm
I07_VEND CARACTER NÃO Campo para guardar o vendedor do Pedido
I07_CLIENT CARACTER NÃO Campo para guardar o Código do cliente
I07_LOG MEMO NÃO Campo para guardar o Log de erros
I07_DTIMPR DATA NÃO Campo para guardar a data do Log
I07_SEQUEC MEMO NÃO Campo para guardar log de erros
I07_FILIAL CARACTER SIM Campo para guardar a filial do Log

Documentação - Integrador GeoSales

Para realizar a configuração, utilização e parametrização do Integrador GeoSales, as informações técnicas são as seguintes:

- Manipulação dos arquivos de rotinas;

Abra a IDE TotvsDevStudio, como mostra a Figura 01: Exportação ERP PROTHEUS JSON - Figura (1).jpg

- Aplicar o seguinte Path no Repositório para criação de campos de integração GeoSales;

Esta ação pode ser verificada na Figura 02, logo abaixo:

Exportação ERP PROTHEUS JSON - Figura (2).jpg


- Execução do Compatibilizador :

Agora é necessária a execução do compatibilizador “U_SFT001UPD”, onde o mesmo executará para todas as Empresas/Filiais contidas no sigimat.emp a atualização dos dicionários de dados compilados anteriormente.

Abra o TotvsSmartClient, e, em programa inicial, digite “U_SFT001UPD”, em comunicação no cliente coloque a comunicação ativa para a conexão com o servidor, em ambiente, informe o ambiente onde foram compilados os códigos fontes do integrador.

A Figura 03 mostra o preenchimento dos dados:

Exportação ERP PROTHEUS JSON - Figura (3).jpg

Após essa atualização, o sistema mostra que foi atualizado com sucesso ou não.


- Cadastro de Menus:

Para o cadastro de menus, iremos criar o acesso às rotinas personalizadas abaixo, no menu do Módulo do Protheus (Faturamento):

  • SFTA040 – Rotina de Manutenção dos Layouts de Importação de dados para o sistema Protheus;
  • SFTIMP – Rotina de processamento manual de importação de dados para o sistema Protheus.

Abra o TotvsSmartClient, e em Programa inicial digite “Sigacfg”, em seguida, clique em “Ok” (Figura 04):

Exportação ERP PROTHEUS JSON - Figura (4).jpg


Logo em seguida será aberta a tela de acesso ao ERP Protheus, Digite o usuário, senha e clique em acessar Protheus (Figura 05):

Exportação ERP PROTHEUS JSON - Figura (5).jpg


Em seguida, será exibida a tela abaixo, selecione a Empresa/Filial desejada e clique em “Entrar” (Figura 06):

Exportação ERP PROTHEUS JSON - Figura (6).jpg


Marque somente a opção “Faturamento” e, em seguida, clique em “Ok” (Figura 07).

Exportação ERP PROTHEUS JSON - Figura (7).jpg


Em seguida, irá abrir uma nova tela para que possamos editar os menus do Módulo Faturamento, clique na opção “Adicionar” localizada no centro da tela (Figura 08):

Exportação ERP PROTHEUS JSON - Figura (8).jpg


No novo menu do lado direito da tela, localize o menu “&Miscelanea”, selecione-o e clique em “Novo Grupo”.

Abrirá uma nova tela para que possa ser digitado o nome do novo grupo. Preencha com o nome “Softsite” e clique em “Ok”, como mostra a Figura 09:

Exportação ERP PROTHEUS JSON - Figura (9).jpg


Localize o novo grupo criado, selecione-o e clique em “Novo Item”, conforme a Figura 10:

Exportação ERP PROTHEUS JSON - Figura (10).jpg

Uma nova tela será aberta. Para preencher os dados dos itens, iremos fazer esse procedimento, sendo eles para o “Layout de Importação” e “Importação Manual”.

Vamos adicionar o Layout de Importação: localize o grupo “GEOSALES” novamente, selecione-o e clique em “Novo Item”, preencha com as informações abaixo:

Layout de Importação: Contém o Layout de geração dos arquivos para a importação;

  • Descrição: Layout de Importação;
  • Programa: SFTA040;
  • Status: Habilitado;
  • Módulo: Faturamento;
  • Tipo: Função de Usuário;
  • Rotinas do browse: Marque todos;
  • Tabelas: Marque somente a i02 e i03.

Após preencher as informações, clique em "Ok" (Figura 11):

Exportação ERP PROTHEUS JSON - Figura (11).jpg

Agora, vamos adicionar a Importação Manual.

Localize o grupo GEOSALES novamente, selecione-o e clique em “Novo Item”. Preencha com as informações abaixo (Figura 12):

Importação Manual: O Administrador poderá executar a importação manualmente;

  • Descrição: Importação Manual;
  • Programa: SFTIMP;
  • Status: Habilitado;
  • Módulo: Faturamento;
  • Tipo: Função de Usuário;
  • Rotinas do browse: Marque todos;
  • Tabelas: Deixe todas desmarcadas.

Exportação ERP PROTHEUS JSON - Figura (12).jpg


Em seguida, clique em “Gerar”, digite “SIGAFAT” e clique em “Gerar” na nova tela (Figura 13):

Exportação ERP PROTHEUS JSON - Figura (13).jpg


- Revisão dos Layouts:

  • Layout de Importação

Após montar os dados e criar os menus, será necessário revisar todos os Layouts, tendo atenção para verificar se a geração dos dados será somente dá empresa/filial, por exemplo, podem existir clientes que necessitem exportar os dados de todas as filiais de uma empresa ou de apenas uma, ou então, a integração será para mais de uma empresa, nesse caso, é preciso analisar o ambiente de homologação.

Abra o TotvsSmartClient, e em "Programa inicial" digite “SIGAADV” (Figura 14):

Exportação ERP PROTHEUS JSON - Figura (14).jpg


Ao ser clicado em “Ok”, será aberta a tela de acesso ao Protheus. Digite o usuário e senha, em seguida, clique em “acessar Protheus”. Logo após fazer o login, adicione o ambiente Faturamento e clique em “Entra”.

Clique no Menu “Miscelanea” --> Submenu “GeoSales” --> clique na opção “Layouts_GeoSales” (Figura 15):

Exportação ERP PROTHEUS JSON - Figura (15).jpg

Obs: Para integração via JSON será utilizado apenas as tabelas I02, I03, I04.


As tabelas I02, I03 e I04 montam o layout usado para importação de pedidos/orçamento. Layouts padrões (Figura 16):

Exportação ERP PROTHEUS JSON - Figura (16).jpg


Abaixo, veremos as tabelas I02/I03/I04 preenchidas (Figura 17):

  • Campo Status = 1: determina se o layout está ativo para importação;
  • Rot.Aut. = “MATA415”: determina a rotina automática que será usada para gravar os pedidos, no caso abaixo, se trata da Rotina orçamentos de vendas;
  • Tp.Import = 1: no caso de gravação via rotina automática, será efetuado a gravação pelos campos apresentados no layout. Caso não seja nessa modalidade, será necessário acionar a equipe para adaptação dos demais tipos de gravação do pedido;
  • Arq.princ = “Pedido”: usado para posicionar em qual arquivo (Json) será acessando os campos para gravação.

Exportação ERP PROTHEUS JSON - Figura (17).jpg


Na figura 17, é visualizada a tabela (Arq.Destino), que serão usados para gravação à direita e, na tela esquerda, os campos da tabela que será gravado.

Obs: Caso necessite, a GeoSales disponibiliza esses arquivos modelos para que o cliente possa usá-los como exemplo para gravar os pedidos. Em caso de campos fora do padrão, é necessário acionar a equipe técnica para ver possíveis modificações na estrutura GeoSales (Json).

Na figura 18, no campo “Query” pode ser validado as situações do pedido, como qual filial será importado ou se o mesmo terá validação de autorizado ou não:

Exportação ERP PROTHEUS JSON - Figura (18).jpg

Abaixo, teremos alguns campos como exemplo para importação:

Exportação ERP PROTHEUS JSON - Figura (19).jpg

Na figura 19, temos a informação da tabela de preço, exemplo de como pegar a informação do Json, usando linguagem Advpl para manipulação do mesmo. Sempre que for pegar a informação do Json, precisa informar de onde vem a informação (Arq.Destino).


Na figura 20, temos a informação do código do vendedor, exemplo de como pegar a informação do Json, usando linguagem Advpl para manipulação do mesmo:

Exportação ERP PROTHEUS JSON - Figura (20).jpg


Na figura 21, temos a informação do código do produto, exemplo de como pegar a informação do Json, usando linguagem Advpl para manipulação do mesmo:

Exportação ERP PROTHEUS JSON - Figura (21).jpg


Na figura 22, temos a informação do item valores do produto, exemplo de como pegar a informação do Json, usando linguagem Advpl para manipulação do mesmo:

Exportação ERP PROTHEUS JSON - Figura (22).jpg


Obs: Caso o cliente necessite da importação de dados de mais de uma empresa, é necessário replicar os dados (tabelas I02 / I03 / 04) do layout para todas elas. Será necessário definir uma empresa principal e parametrizar os Layouts de exportação.

Link para testes se existe pedido disponível: Ambiente homologação. Teste de Pedido Disponível


Pode ser usado o Postman para testes (Figura 23):

Exportação ERP PROTHEUS JSON - Figura (23).jpg


Após os passos seguidos podemos iniciar o serviço no Job do cliente, deverá incluir a seguinte fonte. Segue exemplo:


;--------------------------------------------

;JOB do IMPORT GEOSALES - PROTHEUS

;--------------------------------------------

[OnStart]

jobs=JOBSFT020_01

RefreshRate=120

;Importar Pedidos GeoSales Json [JOBSFT020_01]

Main=U_SFTIMP01 (Caso tenha mais de uma empresa ou filiais necessárias acionar a equipe interna para orientação das demais empresas).

Environment=Ambiente_cliente

Após aplicado, o sistema já está pronto para receber os pedidos pelo nosso serviço.

Regras de Negócios

[RN1] – Para realizar a parametrização e utilização do Integrador GeoSales, o usuário deverá ter o path utilizado para a empresa;

[RN2] – É necessário o acesso ao ERP Protheus: Usuário com acessos de administrador;

[RN3] – É necessário o acesso ao SmartClient: Usado para acessar o Configurador, Apsdu e Faturamento;

[RN4] – É necessário o acesso ao TotvsDevStudio: Será usado para aplicar o path de integração;

[RN5] – O módulo Faturamento não é obrigatório, fica a cargo do cliente incluir o menu no módulo que ele achar melhor.

Regras de Integração

[RI1] – O Integrador GeoSales é responsável por permitir o cadastro dos layouts de importação, em seguida configurar a geração dos arquivos destes layouts automaticamente, tratando o fluxo de geração dos arquivos de layouts do ERP Protheus como ferramenta de integração na importação dos pedidos com do GeoSales.

Aprovação

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.

GeoSales

Setor Aprovado Por Data Assinatura
Desenvolvimento - GeoSales Pessoa que aprovou 00/00/0000
Integração - GeoSales Pessoa que aprovou 00/00/0000
Configurações - GeoSales Pessoa que aprovou 00/00/0000