Integrando Inventario
Abaixo iremos mostrar como configurar o Processo de Inventário no Protheus para integra-lo com o sistema Totvs Live. Siga o Passo a Passo.
Cadastrando o Processo de Inventário
Para integrarmos o Inventário com o Totvs Live primeiramente é necessário acessar o cadastro do Processo para verificar se o Inventário foi criado automaticamente no Protheus.
1- No módulo 12 (Controle de Lojas), acesse Atualizações/ RMI/ Cadastros/ Processos.
2- Aguarde a criação automática do cadastro de processo referente ao Inventário.
3- Verifique se foi criado as Informações abaixo:
Processo: INVENTARIO
Tabela: SB7
Chave: B7_FILIAL+B7_DATA+B7_COD+B7_LOCAL+B7_LOCALIZ+B7_NUMSERI+B7_LOTECTL+B7_NUMLOTE+B7_CONTAGE
Vinculando o Processo de Inventário ao Assinante Live
1- No módulo 12 (Controle de Lojas), acesse Atualizações/ RMI/ Cadastros/ Assinantes.
2- Com o assinante Live previamente cadastrado, posicione no assinante Live e clique em alterar.
3- Na guia Assinantes x Processos, preencha os seguintes campos:
Processo: Inventario
Ativo: Sim
Tipo Process: Busca
Filiais Proc: Informe o código de apenas uma filial para buscar o Processo. (todas as lojas abaixo do sistema satélite serão retornadas)
Configuração: Preencha esta campo de acordo com a sua URL da API Inventario, como mostra o exemplo abaixo:
{ "url": "http://XXXXXXXX/XXXXXXX/LiveConnector/FacadeIntegracao.svc?wsdl", "operacao": "RecuperarInventarioLC_Integracao_Xml", "tagretorno": "<LC_TicketInventario>", "documentoId": "InventarioLista", "SB7":"self:oRegistro:_INVENTARIO:_ProdutosLista:_Produto", "ChaveUni": "Inventario:_CodigoInventario" }
Layout Envio: Preencha este campo de acordo com o exemplo abaixo: Lembrando que é permitido utilizar macro execuções no Layout abaixo, após o &.
&"<?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:RecuperarInventarioLC_Integracao_Xml> <liv:codigoSistemaSatelite>" + self:oLive:getSatelite(self) + "</liv:codigoSistemaSatelite> <liv:xmlIdentificacao><![CDATA[<?xml version='1.0' encoding='utf-8'?><LC_Identificacao><Chave>" + self:oLive:getToken(self) + "</Chave><CodigoSistemaSatelite>" + self:oLive:getSatelite(self) + "</CodigoSistemaSatelite><Data/><Hora/></LC_Identificacao>]]></liv:xmlIdentificacao> </liv:RecuperarInventarioLC_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
{ "B7_FILIAL":"&RmiDePaRet('LIVE', 'SM0',self:oRegistro:_INVENTARIO:_CNPJLoja:Text,.F.)", "B7_DOC":"&self:oRegistro:_INVENTARIO:_CodigoInventario:Text", "B7_DATA":"&DtoS(CtoD(SubStr(self:oRegistro:_INVENTARIO:_DataFechamento:Text,1,10)))", "SB7": [ { "B7_COD":"&RmiDePaRet('LIVE', 'SB1',self:oRegistro:_INVENTARIO:_ProdutosLista:_Produto[nItem]:_CodigoProduto:text,.F.)", "B7_LOCAL": "01", "B7_QUANT":"&self:oRegistro:_INVENTARIO:_ProdutosLista:_Produto[nItem]:_QtdEstoquePosicaoAtual:text", "B7_CONTAGE": "1", "B7_ORIGEM": "LOJAINT" } ] }
Exemplo da configuração do Processo Inventario no assinante Live:
Fluxo de integração
Após ter realizado as configurações acima a integração do Inventário 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 o Assinante Live na tabela MHR.
Com as distribuições realizadas o serviço RMIENVIA realizara o envio de Inventário 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.