01. DADOS GERAIS
Produto: | TOTVS Varejo Lojas |
---|---|
Linha de Produto: | Linha Protheus |
Segmento: | Varejo |
Módulo: | Controle de Lojas (SIGALOJA) |
Função: | RMICADPROC |
Ticket: | não há |
Issue: | DVARLOJ1-5609 |
02. SITUAÇÃO/REQUISITO
Situação 1
Atualmente é usado o método ManterTributoProdutoLC_Integracao_Xml para enviar somente o imposto ICMS e houve a necessidade de envio de PIS e COFINS.
Situação 2
Enviar o imposto ICMS através do método ManterSituacaoVendaProdutoLC_Integracao_XML, onde devera ser enviado por outro processo.
Situação 3
Enviar mensagem de imposto somente quando a mensagem de Produto já tiver processada: Live valida se o produto existe antes de colocar o cadastro de Imposto na Fila.
03. SOLUÇÃO
Solução 1
Criado função para montagem do layout do método ManterTributoProdutoLC_Integracao_Xml, onde verifica se a alíquota de imposto é maior que zero para envio do bloco de imposto. Necessário atualizar o campo Layout Envio (MHP_LAYENV, do processo IMPOSTO PROD, vinculado ao assinante LIVE:
&"<soapenv:Envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/' xmlns:liv='http://LiveConnector/'> <soapenv:Header/> <soapenv:Body> <liv:ManterTributoProdutoLC_Integracao_Xml><liv:codigoSistemaSatelite>" + self:oConfAssin['sistemasatelite'] + "</liv:codigoSistemaSatelite><liv:xmlTicketTributoProduto><![CDATA[<?xml version='1.0' encoding='utf-8'?><LC_TicketTributoProduto> <Chave>" + self:cToken + "</Chave> <CodigoSistemaSatelite>" + self:oConfAssin['sistemasatelite'] + "</CodigoSistemaSatelite> <Data>" + DtoS( Date() ) + "</Data> <Hora>" + StrTran(Time(), ':', '') + "</Hora> <Numero>" + RMITImeStamp() + "</Numero> <Documentos>" + MontaTributo(self:cProcesso,self:oPublica) + " </Documentos></LC_TicketTributoProduto>]]></liv:xmlTicketTributoProduto> </liv:ManterTributoProdutoLC_Integracao_Xml> </soapenv:Body> </soapenv:Envelope>"
Solução 2
Realizado a criação do processo IMPOSTO VENDA, para o consumo do método ManterSituacaoVendaProdutoLC_Integracao_XML para integração de ICMS da venda a partir do produto. Necessário atualizar o campo Layout Envio (MHP_LAYENV, do processo IMPOSTO VENDA, vinculado ao assinante LIVE:
&"<soapenv:Envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/' xmlns:liv='http://LiveConnector/'> <soapenv:Header/> <soapenv:Body> <liv:ManterSituacaoVendaProdutoLC_Integracao_Xml> <liv:codigoSistemaSatelite>" + self:oConfAssin['sistemasatelite'] + "</liv:codigoSistemaSatelite> <liv:xmlSituacaoVendaProduto><![CDATA[<?xml version='1.0' encoding='utf-8'?><LC_SituacaoVendaProduto> <Chave>" + self:cToken + "</Chave> <CodigoSistemaSatelite>" + self:oConfAssin['sistemasatelite'] + "</CodigoSistemaSatelite> <Data>" + DtoS( Date() ) + "</Data> <Hora>" + StrTran(Time(), ':', '') + "</Hora> <Numero>" + RMITImeStamp() + "</Numero> <Documentos> <LC_ProdutoLoja> <NumeroSequencia>1</NumeroSequencia> <Ativo>true</Ativo> <CNPJLoja>"+RmiDePaRet(Alltrim(Self:cAssinante), 'SM0',Self:oPublica['B1_FILIAL'], .T.)+"</CNPJLoja> <CodigoLoja>"+RmiDePaRet(Alltrim(Self:cAssinante), 'SM0',Self:oPublica['B1_FILIAL'], .T.)+"</CodigoLoja> <CodigoProduto>"+self:oPublica['B1_COD']+"</CodigoProduto> <DescontoMaximo></DescontoMaximo> <EstoqueMinimo></EstoqueMinimo> <TributoECF>" + self:DePara('YYY', + self:oPublica['IT_TES'] + "|" + cValtoChar(self:oPublica['IT_ALIQICM']) + "|" + self:oPublica['IT_SITTRIB'] + "|" + cValtoChar(self:oPublica['IT_PREDIC']) , 1, 0, .T.) + "</TributoECF> </LC_ProdutoLoja> </Documentos> </LC_SituacaoVendaProduto>]]></liv:xmlSituacaoVendaProduto> </liv:ManterSituacaoVendaProdutoLC_Integracao_Xml> </soapenv:Body> </soapenv:Envelope>"
Solução 3
Criado rotina para controlar as mensagens de IMPOSTO PROD e IMPOSTO VENDA para realizar o envio somente quando a mensagem de Produto já tiver processada no Live e finalizada no Protheus.
04. DEMAIS INFORMAÇÕES
É necessário realizar o cadastro de De/Para de imposto entre o Protheus e o LIVE, para que na tag TributoECF da mensagem IMPOSTO VENDA, seja enviado o código do tributo do LIVE.
No campo Cont.Interno deve ser informado os seguintes campo IT_TES, IT_ALIQICM, IT_SITTRIB, IT_PREDIC gerados na mensagem IMPOSTO VENDA. Obs, o conteúdo dos campos devem ser separados por "|" pipe como mostra a imagem abaixo.
No campo Cont.Origem deve ser informado o código do tributo no LIVE.
05. ASSUNTOS RELACIONADOS
- Dúvidas Frequentes - Varejo
- Processos integrados com Connector do TOTVS VAREJO FRANQUIAS E REDES
- Guia da Integração com Smart Connector