Árvore de páginas

Versões comparadas

Chave

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

...

Situação 1

Atualmente é usado o método ManterTributoProdutoLCmétodo ManterTributoProdutoLC_Integracao_Xml para enviar somente o imposto ICMS e houve a necessidade de envio de PIS e COFINS.

...

Enviar o imposto ICMS através do método ManterSituacaoVendaProdutoLC_Integracao_XML, onde devera ser enviado por outro processo.

...

Criado função para montagem do layout do método ManterTributoProdutoLCmé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:

Bloco de código
titleJson - ManterTributoProdutoLC_Integracao_Xml
&"<soapenv:Envelope
 xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/'
 xmlns:liv='http://LiveConnector/'>
	<soapenv:Header/>
	<soapenv:Body>
		<liv:ManterTributoProdutoLC_Integracao_Xml>
			<livXml><liv:codigoSistemaSatelite>" + self:oConfAssin['sistemasatelite'] + "</liv:codigoSistemaSatelite>
			<liv:xmlTicketTributoProduto>
				<codigoSistemaSatelite><liv:xmlTicketTributoProduto><![CDATA[<?xml version='1.0' encoding='utf-8'?>
						<LC><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>
						<Documentos></LC_TicketTributoProduto>]]>
			<></liv:xmlTicketTributoProduto>
		</liv:ManterTributoProdutoLC_Integracao_Xml>
	</soapenv:Body>
</soapenv:Envelope>"


Solução 2

Consumido o método ManterSituacaoVendaProdutoLCRealizado 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:

Bloco de código
titleJson - ManterSituacaoVendaProdutoLC_Integracao_Xml
&"<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>
							                    <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>
							                            <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>"

Criação de De/Para de Tributo com 4 campos concatenados (IT_TES, IT_ALIQICM, IT_SITTRIB, IT_PREDIC) para envio do código ao Live:

Image Removed


Solução 3

Criado rotina para controlar as mensagem de imposto mensagens de IMPOSTO PROD e IMPOSTO VENDA para realizar o envio somente quando a mensagem de Produto já tiver processada :  Live valida se o produto existe antes de colocar o cadastro de Imposto na Fila.

04. DEMAIS INFORMAÇÕES

...

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

Image Added

05. ASSUNTOS RELACIONADOS

...