Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Dica
titleIntegrando Inventario

Abaixo iremos mostrar como configurar o Processo de Inventário  Cliente no Protheus para integra-lo com o sistema Totvs Live. Siga o Passo a Passo.


Cadastrando o Processo de

...

Cliente

Para integrarmos o Inventário  Cliente com o Totvs Live primeiramente é necessário acessar o cadastro do Processo para verificar se o Inventário Cliente foi criado automaticamente no Protheus.

...

2- Aguarde a criação automática do cadastro de processo referente ao InventárioCliente.  

3- Verifique se foi criado as Informações abaixo:

Processo: INVENTARIO   Cliente 

Tabela: SB7 SA1

Chave: B7A1_FILIAL+B7A1_DATA+B7_COD+B7_LOCAL+B7_LOCALIZ+B7_NUMSERI+B7_LOTECTL+B7_NUMLOTE+B7_CONTAGE  

Vinculando o Processo de

...

Cliente ao Assinante Live


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

...

3- Na guia Assinantes x Processos, preencha os seguintes campos:

Processo: InventarioCliente 

Ativo: Sim

Tipo Process: Busca

...

Configuração: Preencha esta campo de acordo com a sua URL da API  InventarioCliente, como mostra o exemplo abaixo:

Bloco de código
{
    "url_token": "http://caminhoxxxxxxx/PracticoLivexxxxxxxx/LiveConnector/FacadeIntegracao.svc?wsdl",     (Url para acessar o LiveConector)
    "operacao": "RecuperarInventarioLCRecuperarClienteLC_Integracao_Xml",                                      (Operação para buscar token)
    "sistemasatelitetagretorno": "123456789",                                                          (código do sistema satélite)<LC_TicketClienteSaida>",
    "usuariodocumentoId":"[email protected]",                                                       (nome do usuário) "LC_ClienteSaida",
    "senhaChaveUni": "senha"                                                                         (senha do usuário)
}CPF_CNPJ"
}

Layout Envio: Preencha este campo de acordo com o exemplo abaixo: Lembrando que é permitido utilizar macro execuções no Layout abaixo, após o &.

Bloco de código
&"<?xml version='1.0' encoding='UTF-8'?>
<soapenv:Envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/' xmlns:liv='http://LiveConnector/'>
   <soapenv:Header />
   <soapenv:Body>
      <liv:RecuperarInventarioLCRecuperarClienteLC_Integracao_Xml>
         <liv:codigoSistemaSatelite>" + self:oConfAssin['sistemasatelite'] + "</liv:codigoSistemaSatelite>
         <liv:xmlIdentificacao><![CDATA[<?xml version='1.0' encoding='utf-8'?><LC_Identificacao><Chave>" + self:cToken + "</Chave><CodigoSistemaSatelite>" + self:oConfAssin['sistemasatelite'] + "</CodigoSistemaSatelite><Data/><Hora/></LC_Identificacao>]]></liv:xmlIdentificacao>
      </liv:RecuperarInventarioLCRecuperarClienteLC_Integracao_Xml>
   </soapenv:Body>
</soapenv:Envelope>"

Layout Publicação:  Layout que será utilizado para gerar a Publicação (tabela MHQ), especificamente o campo MHQ_MENSAG

Obs: Os campos abaixo são configuráveis conforme a sua necessidade após o &. Podendo incluir mais campos e chamada de funções para preenchimento.

Bloco de código
{  
    "B7A1_FILIAL":"&RmiDePaRet('LIVE', 'SM0',xFilial()",
    "A1_NOME":"&self:oRegistro:_INVENTARIO:_CNPJLoja:Text,.F.)Apelido:Text",
    "A1_LOJA":"01",
    "A1_COD":"",
    "B7A1_DOCCGC":"&self:oRegistro:_INVENTARIO:CPF_CodigoInventarioCNPJ:Text",
    "B7A1_DATADTNASC":"&DtoS( CtoD( SubStr(self:oRegistro:_INVENTARIO:_DataFechamentoDataNascimento:Text, 1, 10) ))",
    "SB7": [A1_NREDUZ":"&self:oRegistro:_Nome_RazaoSocial:Text",
    "A1_PESSOA":"&IIF(UPPER(Alltrim(self:oRegistro:_TipoCliente:Text))    {== 'JURIDICA','J','F')",
    "A1_BAIRRO":"&self:oRegistro:_LISTAENDERECOSSAIDA:_LC_ENDERECOSAIDA:_BAIRRO:Text",
    "A1_CEP":"&self:oRegistro:_LISTAENDERECOSSAIDA:_LC_ENDERECOSAIDA:_CEP:TEXT",
    "B7A1_COD_MUN":"&RmiDePaRet('LIVE', 'SB1',self:oRegistro:_INVENTARIOLISTAENDERECOSSAIDA:_LC_ProdutosListaENDERECOSAIDA:_Produto[nItem]:_CodigoProduto:text,.F.)Cidade_NumeroMunicipioIBGE:Text",
    "A1_COMPLEM":"&self:oRegistro:_LISTAENDERECOSSAIDA:_LC_ENDERECOSAIDA:_Complemento:Text",
        "B7A1_LOCALEST": "01"&self:oRegistro:_LISTAENDERECOSSAIDA:_LC_ENDERECOSAIDA:_Estado:Text",
            "B7_QUANT"A1_END":"&self:oRegistro:_INVENTARIOLISTAENDERECOSSAIDA:_ProdutosLista:_Produto[nItem]LC_ENDERECOSAIDA:_QtdEstoquePosicaoAtualLOGRADOURO:textText",
            "B7A1_CONTAGEDDD": "1"&self:oRegistro:_LISTATELEFONESSAIDA:_LC_TELEFONESAIDA:_DDD:TEXT",
            "B7A1_ORIGEMTEL": "LOJAINT"
        }
    ]
}"&self:oRegistro:_LISTATELEFONESSAIDA:_LC_TELEFONESAIDA:_NUMERO:TEXT"
}


Exemplo da configuração do Processo Inventario Cliente no assinante Live:

Image RemovedImage Added


Dica
titleFluxo de integração

Após ter realizado as configurações acima a integração do Inventário  Cliente seguirá o seguinte fluxo:

Com os serviços RMIPUBLICA, RMIDISTRIB e RMIENVIA configurados e ativos, será gerado as publicações na tabela MHQ.

Após a busca da publicação sera realizado a distribuição das publicações de Inventários para Cliente para o Assinante Live na tabela MHR.

Com as distribuições realizadas o serviço RMIENVIA realizara o envio de Inventário para Cliente para o Totvs Protheus, após a finalização do serviço RMIENVIA, no campo MHR_ENVIO, será gravado o json que enviamos para o Protheus e no campo MHR_RETORN é gravado a mensagem de retorno do Live, se obteve sucesso ou não na inclusão do Inventário Cliente .