Árvore de páginas

Pré-requisitos

  • Ter integrado a  Unidade de Medida
  • Realizar a amarração entre o a Categoria de produto e o Grupo de Produto através da rotina FATA150, em Módulo 12 (Controle de Lojas) em seguida: Atualizações/ Cadastros/ Amarração de Categoria x Produto.

Importante: O grupo de produtos vinculado à Categoria, deve ser informado no campo B1_GRUPO no cadastro de Produto.

Integrando Produto

Abaixo iremos mostrar como configurar o Processo de Produto no Protheus para integra-lo com o sistema Totvs Chef. Siga o Passo a Passo.

Importante: Não existe integração de cadastro fiscal, para utilizar um produto que a origem foi uma integração com o Protheus, deverá ser realizado o cadastro das informações fiscais diretamente no ambiente do TOTVS Chef.


Cadastrando o Processo Produto

Para integrarmos o produto com o Totvs Chef primeiramente é necessário realizar o cadastro do Processo Produto no Protheus.


1- No módulo 12 (Controle de Lojas), acesse Atualizações/ RMI/ Cadastros/ Processos. 

(informação)Importante: Caso o processo Produto esteja cadastrado automaticamente favor seguir para o tópico: Vinculando o processo Produto no assinante CHEF.

2- No Browse clique em Incluir e preencha os campos:

Processo: Produto

Tabela: SB1

Chave: B1_FILIAL+B1_COD

Exemplo do cadastro de Processo do CEST:


Vinculando o processo Produto ao assinante CHEF


1- No módulo 12 (Controle de Lojas), acesse Atualizações/ RMI/ Cadastros/ Assinantes.

2- Com o assinante CHEF previamente cadastrado, posicione no assinante CHEF e clique em alterar.

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

Processo: Produto

Ativo: Sim

Tipo Process: Envio

Filiais Proc: Informe o código das filiais que deseja enviar o Processo

Configuração: Preencha esta campo de acordo com a sua URL da API  Produto, como mostra o exemplo abaixo:

{
    "url":"http://{url_do_servidor}/api/produto/salvarProduto", (caminho para a API do Chef que manipula o Produto)
    "tagretorno":"sucesso",
    "tagcodigo":"codigo"
}

Layout Envio: Preencha este campo de acordo com o exemplo abaixo: 

{
	"serialLoja": "&self:DePara('SM0',self:oPublica['B1_FILIAL'] + '|SERIAL',1,0,.T.)",
	"Loja": "&self:DePara('SM0',self:oPublica['B1_FILIAL'],1,0,.T.)",
	"token": "&self:oBody['token']",
	"codigoProduto": "%B1_COD%",
	"gerarCodigoProduto": false,
	"nomeProduto": "%B1_DESC%",
	"precoVenda": "%B1_PRV1%",
	"descricaoProduto": "%B1_DESC%",
	"CEST": "%B1_CEST%",
	"NCM": "%B1_POSIPI%",
	"idUnidade": "&self:DePara('SAH',PADR(SUBSTR(self:oPublica['B1_FILIAL'],1,4),TamSx3('AH_FILIAL')[1]) + '|' + self:oPublica['B1_UM'],1,0,.T.)",
	"idUnidadeCompra": "&self:DePara('SAH',PADR(SUBSTR(self:oPublica['B1_FILIAL'],1,4),TamSx3('AH_FILIAL')[1]) + '|' + self:oPublica['B1_UM'],1,0,.T.)",
	"Grupo": "&AllTrim( Upper( Posicione('ACU', 1, xFilial('ACU') + PadR(cValToChar(RmixGetCat(self:oPublica['B1_COD'], self:oPublica['B1_GRUPO'],'PROTHEUS')[1]), TamSx3('ACU_COD')[1]), 'ACU_DESC') ) )",
	"SubGrupo": "&AllTrim( Upper( Posicione('ACU', 1, xFilial('ACU') + PadR(cValToChar(RmixGetCat(self:oPublica['B1_COD'], self:oPublica['B1_GRUPO'],'PROTHEUS')[2]), TamSx3('ACU_COD')[1]), 'ACU_DESC') ) )"
}

Observações

  • A partir de 06/2023 as integrações de CEST, NCM e CATEGORIA não são mais necessárias. Estas informações irão direto na integração de PRODUTO, tags CEST, NCM, Grupo e SubGrupo.
    Caso não exista alguma destas informações no Totvs FOOD, a mesma seria criada automaticamente.
  • Para o correto preenchimento da tag "serialLoja", deve ser criado o De\Para, informando o número serial de cada loja do Totvs FOOD, como demonstrado abaixo:

Alternativa para envio de Filial

Na necessidade de envio de cadastros para empresa diferente da matriz, você poderá alterar a tag serialLoja e incluindo o De/Para na SM0 seguindo este exemplo:

Neste cenário usamos o grupo de produto para busca e envio para empresa especifica, incluindo o código do grupo no campo Cont. Interno e o código da empresa Chef no campo Cont.Origem.

   "serialLoja":"&self:DePara('SM0',self:oPublica['B1_GRUPO'],1,0,.T.)",

Cadastro De/Para


Layout Publicação: Vazio.


Exemplo da configuração do processo Produto no assinante CHEF:



Fluxo de integração

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

Após a publicação sera realizado a distribuição das publicações dos Produtos para o assinante CHEF na tabela MHR.

Com as distribuições realizadas o serviço RMIENVIA realizara o envio dos Produtos para o Totvs Chef, após a finalização do serviço RMIENVIA, no campo MHR_ENVIO, será gravado o json que enviamos para o Chef e no campo MHR_RETORN é gravado a mensagem de retorno do Chef, se obteve sucesso ou não na inclusão do Produto.


Caso tenha sucesso na inclusão do Produto no Totvs Chef, no Protheus será gravado um De/Para com o código do Produto no Chef e o código do Produto no Protheus. Para acessar o cadastro de De/Para acesse: Modulo 12 (Controle de Lojas) e em seguida, Atualizações/ RMI/ Cadastros/ De/Para.

  • Sem rótulos