Árvore de páginas

Versões comparadas

Chave

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

Abaixo iremos mostrar como configurar o Processo de NCM no Inventário no Protheus para integra-lo com o sistema Totvs ChefLive. Siga o Passo a Passo.


Cadastrando o Processo de Inventário 

Para integrarmos o NCM Inventário com o Totvs Chef Live primeiramente é necessário realizar acessar o cadastro do Processo NCM 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 No Browse clique em Incluir e preencha os campos:

Processo: NCM INVENTARIO  

Tabela: SYD SB7

Chave: YDB7_FILIAL+YD_TEC

Exemplo do cadastro de Processo do NCM:

...

+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 CHEF  Live previamente cadastrado, posicione no assinante CHEF Live e clique em alterar.

3- Na guia Assinantes x Processos, preencha os seguintes campos:

Processo: NCMInventario

Ativo: Sim

Tipo Process: EnvioBusca

Filiais Proc: Informe o código das filiais que deseja enviar o Processode 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  NCMInventario, como mostra o exemplo abaixo:

Bloco de código
{
    "url": "http://{url_do_servidor}/api/produto/salvarNCM", (caminho para a API do Chef que manipula o NCM)
    "tagretorno":"sucesso",
    "tagcodigo":"codigo"
}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 &.

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

Bloco de código
{  
    "B7_FILIAL":"&RmiDePaRet('LIVE', 'SM0',self:oRegistro:_INVENTARIO:_CNPJLoja:Text,.F.)",
    	"codigoNCMB7_DOC":"&self:oPublica['YD_TEC']:oRegistro:_INVENTARIO:_CodigoInventario:Text",
	    "descricaoB7_DATA":"&DtoS(CtoD(SubStr(self:oPublica['YD_DESC_P']",
    	"status":"&self:cEvento == '1'"
	}

...

: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 NCM Inventario no assinante CHEFLive:

Image RemovedImage Added


Dica
titleFluxo de integração

Após ter realizado as configurações acima a integração do NCM 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, com os NCM's incluídos, alterados ou com o campo de exportação YD_MSEXP vazio.

Após a busca da publicação sera realizado a distribuição das publicações de NCM para Inventários para o Assinante CHEF Live na tabela MHR.

Com as distribuições realizadas o serviço RMIENVIA realizara o envio de NCM para Inventário para o Totvs ChefProtheusapós a finalização do serviço RMIENVIA, no campo MHR_ENVIO, será gravado o json que enviamos para o Chef  Protheus e no campo MHR_RETORN é gravado a mensagem de retorno do Chef Live, se obteve sucesso ou não na inclusão do NCM.Caso tenha sucesso na inclusão do NCM no Totvs Chef, no Protheus será gravado um De/Para com o código do NCM no Chef e o código do NCM no Protheus. Para acessar o cadastro de De/Para acesse: Modulo 12 (Controle de Lojas) e em seguida,  Atualizações/ RMI/ Cadastros/ De/ParaInventário.