Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Dica
titleDica!

O primeiro processo que vamos integrar é o processo Cadastro de Loja. Neste caso vamos cadastrar a Loja do TOTVS Protheus e integra-la com o PDVSync que por sua vez ira cadastrar no TOTVS VAREJO PDV OMNISHOPOMNI.

Para integrar a loja é de extrema importância que tenha realizado as seguintes configurações:

Pré-requisitos

Assinante PDVSync

Após os procedimentos mencionados acima vamos iniciar...


Processo CADASTRO LOJA

Dica
titleProcesso Loja

O que é o Processo?

Na integração entre TOTVS Protheus e TOTVS VAREJO PDV OMNISHOPOMNIo processo é o responsável por determinar de qual tabela do TOTVS Protheus vamos extrair as informações que serão enviadas para o TOTVS VAREJO PDV OMNISHOPOMNI.

Neste caso vamos utilizar o Processo CADASTRO LOJA para realizar esta integração.


Preciso cadastrar o Processo CADASTRO LOJA

Não, conforme mencionado em Carregando os Processoso cadastro é feito de forma automática quando acessamos a rotina Cadastro de Processo.

Caso queira visualizar o Processo acesse:  Modulo Controle de Lojas(SIGALOJA), acesse: Atualizações/ Smart Hub Protheus/ Cadastros/ Processos.


Vinculando o Processo de CADASTRO LOJA ao Assinante PdvSync

Dica
titleVinculo com o Assinante PDVSync

Se você chegou até aqui deve saber o que é um assinante e um processo, certo? E sabe também que este processo já foi vinculado anteriormente, ok?

Agora é necessário solicitar a URL da API de LOJA ao time de serviços responsável pela implantação do PDVSYNC(Middleware do TOTVS VAREJO PDV OMNISHOPOMNI).


Com a URL em mãos realize o passo a passo abaixo:

...

  1. No módulo 12 (Controle de Lojas), acesse Atualizações/

...

  1. Smart Hub Protheus/ Cadastros/ Assinantes.

...

  1. Posicione no assinante PdvSync e clique em alterar.

...

  1. Na guia Assinantes x Processos, no processo CADASTRO LOJA e dê um duplo clique no campo Configuração.

...

...

  1. Na tag URL informe o endereço disponibilizado pelo time de serviços da APIlojas, como mostra o vídeo abaixo:

INSERIR VÍDEO


{ "idRetaguarda": "&self:oPublica['IDFilialProtheus']", "razaoSocial": "&self:oPublica['RazaoSocial']", "nomeFantasia": "&self:oPublica['NomeFantasia']", "cnpj

O Layout de envio é basicamente um mapeamento dos campos do TOTVS Protheus com as tag's da API de LOJAS.


É possível alterar o Layout de envio? 

Sim é possível, para isso basta basta clicar duas vezes sobre o campo Layout Envio e realizar a alteração desejada, com isso você consegue informar um campo customizado ou até mesmo uma função como mostra o exemplo abaixo:

"endereco":

":

"&self:oPublica['

CNPJ

CAMPO-CUSTOMIZADO AQUI']",

"inscricaoEstadual": "&self:oPublica['InscricaoEstadual']", "inscricaoMunicipal": "&self:oPublica['InscricaoMunicipal']", "endereco": "&self:oPublica['Endereco']", "numero":1, "complemento": "&self:oPublica['Complemento']", "bairro": "&self:oPublica['Bairro']", "cidade": "&self:oPublica['Cidade']", "estado": "&self:oPublica['Estado']", "siglauf": "&self:oPublica['Estado']", "codigoUFIBGE": "&SUBSTR(self:oPublica['CodigoMunicipio'],1,2)", "codigoMunicipioIbge": "&SUBSTR(self:oPublica['CodigoMunicipio'],1,7)", "cep": "&self:oPublica['CEP']", "telefone": "&self:oPublica['Telefone']", "codigoIdentificacaoLoja": "&self:oPublica['CodigoIdentificacaoLoja']", "situacao": "&IIF(self:oPublica['MIH_ATIVO'] == '1' .and. self:cEvento == '1', 1, 0)", "modeloFiscal": "&self:oPublica['ModeloFiscal']", "regimeTributario": "&IIF(Alltrim(self:oPublica['RegimeTributario']) == '3','RegimeNormal','SimplesNacional')", "rede": "&self:oPublica['NomeMaster']", "codigoMaster": "&self:oPublica['CodigoMaster']", "nomeMaster": "&self:oPublica['NomeMaster']", "numeroLoja": "&self:oPublica['NumeroLoja']", "id": "&self:oPublica['MIH_ID']", "idInquilino": "&self:oConfAssin['inquilino']", "dataAtualizacao": "&self:oPublica['MIH_DATALT']", "dataCadastro": "&self:oPublica['MIH_DATINC']", "idProprietario": "&LjRetComp( PadR( self:oPublica['IDFilialProtheus'], FwSizeFilial() ), 'CADASTRO DE LOJA' )", "loteOrigem": "&Self:cLote", "lote": 0, "_expandables": [ "string" ] }
Nota
titleLayout de Envio

O que é um Layout de envio?

Bloco de código
titleLayout Cadastro Loja
collapsetrue

...

Ou em caso de uma User Function:

"endereco": "&U_SuaFunction()",


Acesse  link abaixo para visualizar o layout de envio padrão para o envio e integração do Processo CADASTRO LOJA:

Expandir
titleLayout de Envio
Bloco de código
https://github.com/totvs/protheus-smart-hub-layouts/blob/6f3e7077682e4f25ec63107b3b21d58398309c93/pdvsync/envio/envia_cadastro_loja.json



Cadastrando a Loja no Protheus

Dica
titleDica!

Após realizar os procedimentos mencionados acima, é hora de realizar o cadastro de Loja no TOTVS Protheus para integra-lo com o TOTVS VAREJO PDV OMNI, para isso siga as instruções abaixo:


  1. No módulo 12 (Controle de Lojas), acesse Atualizações/ Smart Hub Protheus/ Cadastros/ Auxiliares.
  2. Ao acessar a rotina clique no ícone da Lupa Image Added e procure por CADASTRO DE LOJA e em seguida clique em OK.
  3. No browser clique em Incluir e preencha os campos de acordo com a LOJA que deseja cadastrar, abaixo o vídeo de exemplo e em seguida o auxilio para preenchimento dos campos:

ADCIONAR VIDEO

Informações
titleAuxilio no preenchimento dos campos

Após preencher o campo Filial que é obrigatório todos os demais campos serão preenchidos automaticamente de acordo com o cadastro de Filial do Protheus, exceto os campos abaixo você terá que preencher manualmente:

Código Identificação Loja: Informar descrição do campo

Modelo Fiscal: Informar descrição do campo

Regime Tributário: Informar descrição do campo

Numero da Loja: Informar descrição do campo


Integrando o cadastro de Loja

Dica
titleDica!

Com o cadastro de loja efetuado, aguarde a finalização dos serviços abaixo:

RMIPUBLICA: Na integração este serviço verifica que foi Cadastrado, Alterado ou Deletado algum registro na tabela MIH -Cadastros Auxiliares referente ao Processo CADASTRO LOJA, após isso ele gera uma publicação na tabela MHQ - Mensagens Publicadas com um json contendo todos os campos da tabela MIH do registro que foi Cadastrado, Alterado ou Deletado.

RMIDISTRIB: Este serviço é responsável por verificar se existe publicação para distribuir para o assinante que deseja aquele dado, neste caso o CADASTRO LOJA, com isso o serviço gera um registro na tabela MHR - Mensagens Distribuidas para o assinante PDVSYNC  e fica pendente de envio ao assinante através do campo MHR_STATUS = 1.

RMIENVIA: Este serviço verifica os registros que estão pendentes de envio, campo MHR_STATUS = 1, e em seguida realiza o mapeamento entre a mensagem publicada na tabela MHQ e o Layout de Envio do Processo CADASTRO LOJA, com isso gerando o json esperado na API de cadastro de LOJA do PDVSYNC, após o mapeamento a mensagem é enviada ao assinante e pode ter as seguintes ocorrências:

Sucesso: Quando o dado é enviado com sucesso ao assinante, com isso os campos MHR_ENVIO é preenchido com o Json enviado, MHR_RETORN preenchido com a mensagem de retorno do assinante e o campo MHR_STATUS é atualizado para 2 (Sucesso).

Falha: Caso ocorra algum erro no envio ou no PDVSYNC ao receber o dado, os campos MHR_ENVIO é preenchido com o Json enviado, MHR_RETORN preenchido com a mensagem de retorno do assinante e o campo MHR_STATUS é atualizado para 3 (Falha). Também será gravado um registro na tabela MHL - Logs de Integração com o motivo do erro.


(informação)Importante: Todos os passos da integração do Processo CADASTRO LOJA, pode ser acompanhado pelo monitor de integração, como mostra o vídeo abaixo:


  1.  No módulo 12 (Controle de Lojas), acesse Atualizações/ Smart Hub Protheus/ Monitores/ Novo Monitor.
  2. Informe o período de integração e clique em Pesquisar. Abaixo o vídeo com a integração do processo Cadastro Loja

ADCIONAR VÍDEO