Histórico da Página
...
Aviso |
---|
As vendas compatíveis: NFC-e, SAT e ECF Não existe integração de ficha técnica. A integração da venda é realizada utilizando as rotinas padrão do Venda Assistida, atualmente não existe no padrão a funcionalidade de baixa de estoque por ficha técnica. Não existe integração de Impostos. Os dados de impostos devem ser complementados na camada do TOTVS CH EF. Não existe integração de Inutilização de documento NFC-e Não existe integração de Troca/Devolução de Venda Não existe integração de venda com pagamento em NCC (Crédito) |
Cadastrando o Processo VENDA
Para integrarmos as vendas do Totvs Chef com o Protheus é necessário primeiramente realizar o cadastro do processo VENDA no Protheus.
...
Exemplo do cadastro de Processo do VENDA:
Vinculando o Processo VENDA ao Assinante CHEF
1- No módulo 12 (Controle de Lojas), acesse Atualizações/ RMI/ Cadastros/ Assinantes.
...
Informações | ||
---|---|---|
| ||
Para Reprocessar vendas com erro é necessário incluir tags de controle no layout de envio:
Exemplo: "DataReprocessamento": "20230515","UltimodiaReprocessado": "20230515","DiasRetroceder": 10Como será inicializado o reprocessamento? O serviço RMIBUSCA verifica se a data da maquina onde se encontra o mesmo é maior que a data contida na tag DataReprocessamento. Caso seja será inicializado o reprocessamento seguindo as considerações abaixo: A data inicial do reprocessamento será realizada através do calculo: UltimodiaReprocessado - DiasRetroceder = 05/05/2023 Com isso o reprocessamento se busca as vendas do dia 05/10/2023 até o dia 14/05/2023. As tags DataReprocessamento e UltimodiaReprocessado são atualizadas após cada execução com isso não será mais necessário realizar essa alteração manualmente. Neste cenário começará a partir de 05/05/23 e terminará na data atual; Com isso o Layout de Envio deve estar com essa estrutura.{ |
- Por Data de Integração:
Nota | ||
---|---|---|
| ||
Obs: Essa opção foi descontinuada, deve utilizar a configuração acima: Por Data de Movimentação |
...
Bloco de código |
---|
{ "L1_FILIAL": "&self:aArrayFil[self:nFil][2]", "L1_CLIENTE": "&SuperGetMV('MV_CLIPAD',.F.,'000001', self:DePara('SM0', cValToChar(self:oRegistro['Loja']['Codigo']), 1, 0, .F., 'CHEF'))", "L1_LOJA": "&SuperGetMV('MV_LOJAPAD',.F., '01', self:DePara('SM0', cValToChar(self:oRegistro['Loja']['Codigo']), 1, 0, .F., 'CHEF'))", "L1_OPERADO": "&self:DePara('SA6', cValToChar(self:oRegistro['Loja']['Codigo']) + '|' + cValToChar(self:oRegistro['Caixa']['Operador']['Codigo']), 2, 0, .F., 'CHEF')", "L1_TROCO1": "&self:oRegistro['TotalizadorVenda']['ValorTroco']", "L1_EMISSAO": "&self:oRegistro['DataMovimento']", "L1_EMISNF": "&self:oRegistro['DataMovimento']", "L1_DTLIM": "&self:oRegistro['DataMovimento']", "L1_NUMMOV": "&SubStr(cValToChar(self:oRegistro['Caixa']['NumeroFechamento']),1,2)", "L1_NUMCFIS": "&cValToChar(self:oRegistro['NumeroCupom'])", "L1_DOC": "&cValToChar(self:oRegistro['NumeroNota'])", "L1_SERIE": "&self:LayEstAutoChef('LG_SERIE')", "L1_SERPDV": "&self:oRegistro['SerieECF']", "L1_SERSAT": "&self:oRegistro['SerieSAT']", "L1_KEYNFCE": "&self:oRegistro['ChaveSefaz']", "L1_PRONFCE": "&self:oRegistro['ProtocoloAutorizacaoSefaz']", "L1_COMIS": 0, "L1_ORIGEM": "N", "L1_VLRTOT": "&self:oRegistro['TotalizadorVenda']['ValorTotal']", "L1_VALBRUT": "&self:oRegistro['TotalizadorVenda']['ValorSubTotal']", "L1_VLRLIQ": "&self:oRegistro['TotalizadorVenda']['ValorSubTotal']", "L1_VALMERC": "&self:oRegistro['TotalizadorVenda']['ValorSubTotal']", "L1_DESCONT": "&self:oRegistro['TotalizadorVenda']['ValorTotalDescontoSistema']", "L1_DESCFIN": "&self:oRegistro['TotalizadorVenda']['ValorTotalDescontoFiscal']", "L1_VALICM": "&self:oRegistro['TotalizadorVenda']['ValorTotalICMS']", "L1_VALPIS": "&self:oRegistro['TotalizadorVenda']['ValorTotalPIS']", "L1_VALCOFI": "&self:oRegistro['TotalizadorVenda']['ValorTotalCOFINS']", "L1_CGCCLI": "&IIF(self:oRegistro['Cliente'] <> Nil, self:oRegistro['Cliente']['Documento'], '')", "L1_CONDPG": "CN", "L1_SITUA": "IP", "L1_TIPO": "V", "L1_TIPOCLI": "F", "L1_ESPECIE": "&IIF(self:oRegistro['ModeloFiscal'] == 1,'SATCE',IIF(self:oRegistro['ModeloFiscal'] == 2,'NFCE','ECF'))", "L1_PDV": "&self:LayEstAutoChef('LG_PDV')", "SL2": [ { "L2_FILIAL": "&self:aArrayFil[self:nFil][2]": "", "L2_PRODUTO": "&cValToChar(self:oRegistro['Itens'][nItem]['Produto']['Codigo'])", "L2_DESCRI": "&self:oRegistro['Itens'][nItem]['Produto']['Nome']", "L2_QUANT": "&self:oRegistro['Itens'][nItem]['Quantidade']", "L2_VRUNIT": "&self:oRegistro['Itens'][nItem]['ValorUnitario']", "L2_VLRITEM": "&": "&self:oRegistro['Itens'][nItem]['ValorTotal']", "L2_LOCAL": "&SuperGetMV('MV_LOCPAD',.F., '01', self:DePara('SM0', cValToChar(self:oRegistro['ItensLoja'][nItem]['ValorTotalCodigo']", "L2_LOCAL": "&SuperGetMV('MV_LOCPAD',), 1, 0, .F., '01CHEF'))", "L2_UM": "&self:oRegistro['Itens'][nItem]['Produto']['Unidade']", "L2_VALDESC": "&self:oRegistro['Itens'][nItem]['ValorDesconto']", "L2_TES": "&SUPERGETMV('MV_TESSAI', SuperGetMV('MV_TESSAI', .F., '501', self:DePara('SM0', cValToChar(self:oRegistro['Loja']['Codigo']), 1, 0, .F., '501CHEF'))", "L2_CF": "&self:oRegistro['Itens'][nItem]['Cfop']", "L2_PICM": "&self:oRegistro['Itens'][nItem]['Icms']['Aliquota']", "L2_BASEICM": "&self:oRegistro['Itens'][nItem]['Icms']['BaseCalculo']", "L2_VALICM": "&self:oRegistro['Itens'][nItem]['Icms']['Valor']", "L2_EMISSAO": "&self:oRegistro['DataMovimento']", "L2_CSTPIS": "&self:oRegistro['Itens'][nItem]['Pis']['Cst']", "L2_CSTCOF": "&self:oRegistro['Itens'][nItem]['Cofins']['Cst']" } ], "SL4": [ { "L4_FILIAL": "&self:aArrayFil[self:nFil][2]", "L4_DATA": "&self:oRegistro['DataMovimento']", "L4_VALOR": "&IIF(self:oRegistro['Pagamentos'][nItem]['Descricao'] == 'DINHEIRO',self:oRegistro['Pagamentos'][nItem]['ValorRecebido']+self:oRegistro['TotalizadorVenda']['ValorTroco'],self:oRegistro['Pagamentos'][nItem]['ValorRecebido'])", "L4_ADMINIS": "&IIF(self:oRegistro['Pagamentos'][nItem]['Descricao'] <> 'DINHEIRO',Substr(self:DePara('SAE',self:oRegistro['Pagamentos'][nItem]['Descricao'], 2, 0, .F., 'CHEF'),1,20),'')", "L4_TROCO": "&IIF(self:oRegistro['Pagamentos'][1] <> nil .and. self:oRegistro['Pagamentos'][1]['ValorRecebido'] > 0,self:oRegistro['TotalizadorVenda']['ValorTroco'],0)", "L4_FORMA": "&self:DePara('SX5',IIF(cValToChar(self:oRegistro['Pagamentos'][nItem]['TipoFormaPagamento']) == '3',self:oRegistro['Pagamentos'][nItem]['Descricao'],cValToChar(self:oRegistro['Pagamentos'][nItem]['TipoFormaPagamento'])), 2, 0, .F., 'CHEF')", "L4_NSUTEF": "&IIF(self:oRegistro['Pagamentos'][nItem]['FormaPagamentoCartao'] <> nil .and. cValToChar(self:oRegistro['Pagamentos'][nItem]['FormaPagamentoCartao']['TipoTransacao']) == '1',self:oRegistro['Pagamentos'][nItem]['FormaPagamentoCartao']['DadosTEF']['NSUTEF'],'')", "L4_DOCTEF": "&IIF(self:oRegistro['Pagamentos'][nItem]['FormaPagamentoCartao'] <> nil .and. cValToChar(self:oRegistro['Pagamentos'][nItem]['FormaPagamentoCartao']['TipoTransacao']) == '1',self:oRegistro['Pagamentos'][nItem]['FormaPagamentoCartao']['DadosTEF']['NSUHost'],'')", "L4_DATATEF": "&IIF(self:oRegistro['Pagamentos'][nItem]['FormaPagamentoCartao'] <> nil .and. cValToChar(self:oRegistro['Pagamentos'][nItem]['FormaPagamentoCartao']['TipoTransacao']) == '1',StrTran(Substr(self:oRegistro['DataRecebimento'],1, AT('T',self:oRegistro['DataRecebimento']) -1),'-',''),' / / ')", "L4_HORATEF": "&IIF(self:oRegistro['Pagamentos'][nItem]['FormaPagamentoCartao'] <> nil .and. cValToChar(self:oRegistro['Pagamentos'][nItem]['FormaPagamentoCartao']['TipoTransacao']) == '1',StrTran(Substr(self:oRegistro['DataRecebimento'],AT('T',self:oRegistro['DataRecebimento']) +1 ,8),':',''),'')", "L4_BANDEIR": "&IIF(self:oRegistro['Pagamentos'][nItem]['FormaPagamentoCartao'] <> nil .and. cValToChar(self:oRegistro['Pagamentos'][nItem]['FormaPagamentoCartao']['TipoTransacao']) == '1',self:oRegistro['Pagamentos'][nItem]['FormaPagamentoCartao']['DadosTEF']['CodigoBandeiraTexto'],'')", "L4_AUTORIZ": "&IIF( self:oRegistro['Pagamentos'][nItem]['FormaPagamentoCartao'] <> Nil, IIF(self:oRegistro['Pagamentos'][nItem]['FormaPagamentoCartao']['DadosTEF'] <> Nil .and. !Empty(self:oRegistro['Pagamentos'][nItem]['FormaPagamentoCartao']['DadosTEF']['CodigoAutorizacao']), self:oRegistro['Pagamentos'][nItem]['FormaPagamentoCartao']['DadosTEF']['CodigoAutorizacao'], StrZero(nItem, TamSx3('L4_FORMAID')[1])), '' )" } ] } |
Nota | ||
---|---|---|
| ||
|
Dica | ||
---|---|---|
| ||
Para mais informações referente à campos na API do FOOD acesse: API - FOOD CAPA VENDA. TipoFormaPagamento = 3 é para identificar as formas de pagamento do tipo cartão. |
Exemplo da configuração do Processo VENDA no assinante CHEF:
Vinculando o Processo VENDA ao Assinante PROTHEUS
1- No módulo 12 (Controle de Lojas), acesse Atualizações/ RMI/ Cadastros/ Assinantes.
...