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.
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.)",
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.