01. DADOS GERAIS
Linha de Produto: | Microsiga Protheus |
---|---|
Segmento: | Varejo |
Módulo: | SigaLoja - Controle de Loja |
Função: | RmiBusLiveObj- Classe responsável por buscar informações com particularidades do Totvs Live. |
02. SITUAÇÃO/REQUISITO
Permitir que o serviço RMIBUSCA efetue a busca de Inventário no Assinante Live
03. SOLUÇÃO
Atualizado serviço RmiBusca, permitindo realizar a busca do Inventário cadastrados no TOTVS LIVE e publica-los na tabela MHQ - Mensagens Publicadas.
Este serviço será executado com base na configuração de Assinantes.
Neste exemplo o processo Inventário está configurado como busca para o assinantes Live utilizando a operação RecuperarInventarioLC_Integracao_Xml.
Definição dos principais campos para efetuar a busca:
- Tipo Process - Tipo de Execução do Processo
2=Busca
- Configuração do Assinante - Para acessar o WebSevice do LiveConector
{ "url_token":"http://caminho/PracticoLive/LiveConnector/FacadeIntegracao.svc?wsdl", (Url para acessar o LiveConector) "operacao":"RecuperarInventarioLC_Integracao_Xml", (Operação para buscar token) "sistemasatelite":"123456789", (código do sistema satélite) "usuario":"[email protected]", (nome do usuário) "senha":"senha" (senha do usuário) }
- Configuração do Processo - Necessário para executar a operação RecuperarInventarioLC_Integracao_Xml.
{ "url": "http://caminho/PracticoLive/LiveConnector/FacadeIntegracao.svc?wsdl", (Url para acessar o LiveConector) "operacao": "RecuperarInventarioLC_Integracao_Xml", "tagretorno": "<LC_TicketInventario>", "documentoId": "InventarioLista", "SB7":"self:oRegistro:_INVENTARIO:_ProdutosLista:_Produto", "ChaveUni": "Inventario:_CodigoInventario" }
- Layout Envio - Body que o LiveConector precisa para retornar os Inventários.
&"<?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: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:RecuperarInventarioLC_Integracao_Xml> </soapenv:Body> </soapenv:Envelope>"
Observação:
& - Este carácter define que deve macro executar tudo o quem depois em tempo de execução.
- Layout Publi - 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" } ] }
Observação:
& - Este carácter define que deve macro executar tudo o quem depois em tempo de execução.
self:oRegistro - Possibilita o acesso a todas as TAGs retornadas pela operação RecuperarInventarioLC_Integracao_Xml do LiveConector, definido por uma venda por vez.
Caso seja necessário receber mais algum campo deve ser incluído no layout acima.
Exemplo de geração do mensagem publicada (MHQ_MENSAG):
{ "B7_DATA": "20191216", "B7_FILIAL": "D MG 01 ", "B7_DOC": "INV_191216093134", "SB7": [ { "B7_QUANT": 0, "B7_CONTAGE": "1", "B7_LOCAL": "01", "B7_ORIGEM": "LOJAINT", "B7_COD": "10001443" } ] }
Neste serviço serão utilizadas as seguintes tabelas:
MHP - Assinantes x Processos
MHQ - Mensagens Publicadas
04. DEMAIS INFORMAÇÕES
Não há.
05. ASSUNTOS RELACIONADOS
Guia da Integração RMI - Retail Integration Management