Dica |
---|
|
Abaixo iremos mostrar como configurar o Processo de Envio Produto do Protheus para integra-lo com o sistema Totvs Live. Siga o Passo a Passo. |
Cadastrando o Processo de Produto
Para integrarmos o Produto com o Totvs Live primeiramente é necessário acessar o cadastro do Processo para verificar se o Produtofoi criado automaticamente no Protheus.
...
Chave: B1_FILIAL+B1_COD
Vinculando o Processo de Produto ao Assinante Live
1- No módulo 12 (Controle de Lojas), acesse Atualizações/ RMI/ Cadastros/ Assinantes.
...
Aviso |
---|
title | Função para retirar caracteres especiais |
---|
|
O Live não permite caracteres especiais na descrição do Produto, então inclua a função RMISUBSTR(cConteudo,cProcura,cTroca ) nas tags Descricao e DescricaoResumida. Exemplo: <Descricao>" + RMISUBSTR(@self:oPublica['B1_DESC'],"+|&|%"," + |E| PORC " ) + "</Descricao><DescricaoResumida>" + RMISUBSTR(@SubStr(self:oPublica['B1_DESC'], 1, 50),"+|&|%"," + |E| PORC " ) + "</DescricaoResumida> |
Bloco de código |
---|
&"
<soapenv:Envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/'
xmlns:liv='http://LiveConnector/'>
<soapenv:Header/>
<soapenv:Body>
<liv:ManterProdutoLC_Integracao_Xml>
<liv:codigoSistemaSatelite>" + self:oConfAssin['sistemasatelite']oLive:getSatelite(self) + "</liv:codigoSistemaSatelite>
<liv:xmlTicketProduto>
<xmlTicketProduto><![CDATA[<?xml version='1.0' encoding='utf-8'?>
<LC_TicketProduto>
<Chave>" + self:cTokenoLive:getToken(self) + "</Chave>
<CodigoSistemaSatelite>" + self:oConfAssin['sistemasatelite']:oLive:getSatelite(self) + "</CodigoSistemaSatelite>
<Data>" + DtoS( Date() ) + "</Data>
<Hora>" + StrTran(Time(), ':', '') + "</Hora>
<Numero>" + RMITImeStamp() + "</Numero>
<Documentos>
<LC_Produto>
<NumeroSequencia>1</NumeroSequencia>
<Ativo>true</Ativo>
<CNPJFornecedor>" + IIF(!Empty(self:oPublica['B1_PROC']),Posicione('SA2', 1, self:oPublica['B1_PROC'] + self:oPublica['B1_LOJPROC'], 'A2_CGC'),'') + "</CNPJFornecedor>
<CEST>" + self:oPublica['B1_CEST'] + "</CEST>
<CNAE>" + self:oPublica['B1_CNAE'] + "</CNAE>
<CodigoAlternativo>" + IIF(Empty(self:oPublica['B1_ALTER']), self:oPublica['B1_CODBAR'], self:oPublica['B1_ALTER']) + "</CodigoAlternativo>
<CodigoClassificacaoFiscal>" + self:oPublica['B1_POSIPI'] + "</CodigoClassificacaoFiscal>
<CodigoItemServico/>
<CodigoPadrao>" + (self:cIdRetaguarda := self:oPublica['B1_COD']) + "</CodigoPadrao>
<CodigoPrincipal>" + self:oPublica['B1_CODBAR'] + "</CodigoPrincipal>
<CodigoProdutoPorFornecedor>" + self:oPublica['B1_CODBAR'] + "</CodigoProdutoPorFornecedor>
<DescontoMaximo>99.99</DescontoMaximo>
<DescontoVendaPromocao>99.99</DescontoVendaPromocao>
<Descricao>" + self:oPublica['B1_DESC'] + "</Descricao>
<DescricaoResumida>" + SubStr(self:oPublica['B1_DESC'], 1, 50) + "</DescricaoResumida>
<DescricaoTipoProduto>REVENDA</DescricaoTipoProduto>
<IPPT>" + self:oPublica['B1_IPPT'] + "</IPPT>
<IndicadorArredondamento>true</IndicadorArredondamento>
<InserirClassificacao>true</InserirClassificacao>
<PesoBruto>" + cValToChar(self:oPublica['B1_PESO']) + "</PesoBruto>
<PesoLiquido>" + cValToChar(self:oPublica['B1_PESO']) + "</PesoLiquido>
<PrecoCentralizado>true</PrecoCentralizado>
<QuantidadeCasaDecimal>0</QuantidadeCasaDecimal>
<QuantidadeCasaDecimalValor>0</QuantidadeCasaDecimalValor>
<QuantidadeMultiplaCompra>0</QuantidadeMultiplaCompra>
<SiglaUnidadeMedida>" + self:oPublica['B1_UM'] + "</SiglaUnidadeMedida>
<SituacaoTributariaOrigem>" + IIF(Empty(self:oPublica['B1_ORIGEM']),'0',self:oPublica['B1_ORIGEM']) + "</SituacaoTributariaOrigem>
<SituacaoVenda>true</SituacaoVenda>
<Classificacoes>
<LC_ClassificacaoProduto>
<DescricaoClassificacao>TESTE</DescricaoClassificacao>
<DescricaoTipoClassificacao>MARCA</DescricaoTipoClassificacao>
</LC_ClassificacaoProduto>
</Classificacoes>
<UnidadesNegocio/>
<ProdutoFornecedores/>
</LC_Produto>
</Documentos>
</LC_TicketProduto>]]></liv:xmlTicketProduto>
</liv:ManterProdutoLC_Integracao_Xml>
</soapenv:Body>
</soapenv:Envelope>
" |
Exemplo da Configuração do campo de exportação B1_MSEXP via Configurador:
...
- No Live o usuário pode configurar quais tipos de Produtos são aceitos. Neste caso a integração SmartConnector e o Live Connector pode retornar esse erro:
...