Á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/ Smart Hub Protheus/ Cadastros/ Assinantes.
  2. Posicione no assinante PdvSync e clique em alterar.
  3. Na guia Assinantes x Processos, no processo CADASTRO LOJA e dê um duplo clique no campo Configuração.
  4. Na tag URL informe o endereço disponibilizado pelo time de serviços da APIlojas, como mostra o vídeo abaixo:

...

Nota
titleLayout de Envio

O que é um Layout de envio?

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['CAMPO-CUSTOMIZADO AQUI']",

Ou em caso de uma User Function:

"endereco": "&U_SuaFunction()",


Abaixo o Layout 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
{
    "idRetaguarda": "&self:oPublica['IDFilialProtheus']",
    "razaoSocial": "&self:oPublica['RazaoSocial']",
    "nomeFantasia": "&self:oPublica['NomeFantasia']",
    "cnpj": "&self:oPublica['CNPJ']",
    "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"
    ]
}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 OMNISHOPOMNI, 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 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