Árvore de páginas

Importante!

O Smart Hub é de uso exclusivo para soluções homologadas TOTVS.

Esse processo não é suportado para integrações customizadas ou por soluções não homologadas.

Cadastrando o Processo de Venda

Para integrarmos o Venda com o Terceiros primeiramente é necessário acessar o cadastro do Processo para verificar se o Venda 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 Venda.  

3- Verifique se foi criado as Informações abaixo:

Processo: Venda

Tabela: SL1

Chave: L1_FILIAL+L1_NUM

Vinculando o Processo de Venda ao Assinante Terceiros

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

2- Com o assinante Terceiros previamente cadastrado, posicione no assinante Terceirose clique em alterar.

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

Processo: Venda

Ativo: Sim

Tipo Process: Busca

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

Configuração: Preencha este campo com as configurações do processo de Venda. A URL deve ser preenchida com o caminho da API de Venda, como mostra o exemplo abaixo:

Configuração
{
    "url": "https://xxx.xx-dev.com.br/",
    "listasPublicacao": {
        "SL2": "self:oRegistro['VendaItems']",
        "SL4": "self:oRegistro['VendaPagamentos']"
    },
    "ChaveUni": [
        "Loja:IdRetaguarda",
        "Ccf",
        "SerieNota"
    ],
    "Header": {
        "x-api-key": "SEU TOKEN",
        "Content-Type": "application/json"
    },
    "Path": "pdv/sales"
}


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

Layout Envio
{  "Empty":""  }


Layout Publicação: Layout que será utilizado para gerar a Publicação (tabela MHQ), especificamente o campo MHQ_MENSAG.

Layout Publicação
{
	"L1_FILIAL": "&self:oRegistro['Loja']['IdRetaguarda']",
	"L1_CLIENTE": "&IIF( Empty(self:oRegistro['IdentificacaoCliente']), SuperGetMv('MV_CLIPAD', .F., '000001',self:oRegistro['Loja']['IdRetaguarda']), self:DePara('SA1', self:oRegistro['IdentificacaoCliente'], 2, 0) )",
	"L1_LOJA": "&IIF( Empty(self:oRegistro['IdentificacaoCliente']), SuperGetMv('MV_LOJAPAD', .F., '01',self:oRegistro['Loja']['IdRetaguarda']), self:DePara('SA1', self:oRegistro['IdentificacaoCliente'], 3, 0) )",
	"L1_OPERADO": "&self:oRegistro['Operador']['IdRetaguarda']",
	"L1_EMISSAO": "&self:oRegistro['VendaData']",
	"L1_EMISNF": "&self:oRegistro['VendaData']",
	"L1_DTLIM": "&self:oRegistro['VendaData']",
	"L1_NUMMOV": "&SubStr(cValToChar(self:oRegistro['IdCaixa']),1,2)",
	"L1_NUMCFIS": "&self:oRegistro['Ccf']",
	"L1_DOC": "&IIF( self:oRegistro['ModeloFiscal'] == 1, self:oXmlSefaz:get( , {'ide', 'nCFe'}, ''), IIF(self:oRegistro['ModeloFiscal'] == 2, self:oXmlSefaz:get( , {'ide', 'nNF'}, ''), self:oRegistro['Ccf']) )",
	"L1_SERIE": "&self:oRegistro['SerieNota']",
	"L1_SERPDV": "&cValToChar(self:oRegistro['SerieNota'])",
	"L1_SERSAT": "&IIF(self:oRegistro['ModeloFiscal'] == 1, self:oRegistro['Periferico']['NumeroSerie'], '')",
	"L1_KEYNFCE": "&self:oRegistro['Chaveacesso']",
	"L1_COMIS": 0,
	"L1_VLRTOT": "&self:oXmlSefaz:getTotal({'ICMSTot', 'vProd'}) - self:oXmlSefaz:getTotal({'ICMSTot', 'vDesc'}, 0) - self:oXmlSefaz:getTotal({'DescAcrEntr', 'vDescSubtot'}, 0)",
	"L1_VALBRUT": "&self:oXmlSefaz:getTotal({'ICMSTot', 'vProd'}) - self:oXmlSefaz:getTotal({'ICMSTot', 'vDesc'}, 0) - self:oXmlSefaz:getTotal({'DescAcrEntr', 'vDescSubtot'}, 0)",
	"L1_VLRLIQ": "&self:oXmlSefaz:getTotal({'ICMSTot', 'vProd'}) - self:oXmlSefaz:getTotal({'ICMSTot', 'vDesc'}, 0) - self:oXmlSefaz:getTotal({'DescAcrEntr', 'vDescSubtot'}, 0)",
	"L1_VALMERC": "&self:oXmlSefaz:getTotal({'ICMSTot', 'vProd'})",
	"L1_DESCONT": "&IIF( self:oRegistro['ModeloFiscal'] == 2, 0, self:oXmlSefaz:getTotal({'DescAcrEntr', 'vDescSubtot'}, 0) )",
	"L1_DESPESA": "&self:oXmlSefaz:getTotal({'ICMSTot', 'vOutro'}, 0)",
	"L1_FRETE": "&self:oXmlSefaz:getTotal({'ICMSTot', 'vFrete'}, 0)",
	"L1_SEGURO": "&self:oXmlSefaz:getTotal({'ICMSTot', 'vSeg'}, 0)",
	"L1_ORIGEM": "N",
	"L1_CGCCLI": "&IIF( Empty(self:oRegistro['CpfCnpjConsumidor']), '', self:oRegistro['CpfCnpjConsumidor'] )",
	"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:oRegistro['NumeroPdv']",
	"L1_ESTACAO": "&self:oRegistro['NumeroPdv']",
	"L1_INDPRES": "&self:oXmlSefaz:get( , {'ide', 'indPres'}, '')",
	"L1_TROCO1": "&IIF( self:oRegistro['ModeloFiscal'] == 1, self:oXmlSefaz:get( , {'pgto', 'vTroco'}, 0), self:oXmlSefaz:get( , {'pag', 'vTroco'}, 0) )",
	"SL2": [
		{
			"L2_FILIAL": "&self:oRegistro['Loja']['IdRetaguarda']",
			"L2_PRODUTO": "&self:oRegistro['VendaItems'][nItem]['Produto']['IdRetaguarda']",
			"L2_ITEM": "&StrZero(self:oRegistro['VendaItems'][nItem]['Sequencia'], TamSx3('L2_ITEM')[1])",
			"L2_DESCRI": "&self:oXmlSefaz:getDet({'prod', 'xProd'}, self:oRegistro['VendaItems'][nItem]['Sequencia'])",
			"L2_QUANT": "&self:oXmlSefaz:getDet({'prod', 'qCom'}, self:oRegistro['VendaItems'][nItem]['Sequencia'])",
			"L2_VRUNIT": "&self:oXmlSefaz:getDet({'prod', 'vUnCom'}, self:oRegistro['VendaItems'][nItem]['Sequencia'],0) - ( ( self:oXmlSefaz:getDet({'prod', 'vDesc'}, self:oRegistro['VendaItems'][nItem]['Sequencia'], 0) + self:oXmlSefaz:getDet({'prod', 'vRatDesc'}, self:oRegistro['VendaItems'][nItem]['Sequencia'], 0) ) / self:oXmlSefaz:getDet({'prod', 'qCom'}, self:oRegistro['VendaItems'][nItem]['Sequencia'],0) )",
			"L2_PRCTAB": "&self:oXmlSefaz:getDet({'prod', 'vUnCom'}, self:oRegistro['VendaItems'][nItem]['Sequencia'],0)",
			"L2_VLRITEM": "&self:oXmlSefaz:getDet({'prod', 'vProd'}, self:oRegistro['VendaItems'][nItem]['Sequencia'],0) - ( self:oXmlSefaz:getDet({'prod', 'vDesc'}, self:oRegistro['VendaItems'][nItem]['Sequencia'], 0) + self:oXmlSefaz:getDet({'prod', 'vRatDesc'}, self:oRegistro['VendaItems'][nItem]['Sequencia'], 0) )",
			"L2_LOCAL": "&SuperGetMv('MV_LOCPAD', .F., '01',self:oRegistro['Loja']['IdRetaguarda'])",
			"L2_UM": "&self:oXmlSefaz:getDet({'prod', 'uCom'}, self:oRegistro['VendaItems'][nItem]['Sequencia'])",
			"L2_VALDESC": "&self:oXmlSefaz:getDet({'prod', 'vDesc'}, self:oRegistro['VendaItems'][nItem]['Sequencia'], 0)",
			"L2_DESCPRO": "&self:oXmlSefaz:getDet({'prod', 'vRatDesc'}, self:oRegistro['VendaItems'][nItem]['Sequencia'], 0)",
			"L2_EMISSAO": "&self:oRegistro['VendaData']",
			"L2_VEND": "&IIF(Empty(self:oRegistro['VendaItems'][nItem]['Vendedor']['IdRetaguarda']), SuperGetMv('MV_VENDPAD', .F., '000001', self:oRegistro['Loja']['IdRetaguarda']), self:oRegistro['VendaItems'][nItem]['Vendedor']['IdRetaguarda'])",
			"L2_CF": "&self:oXmlSefaz:getDet({'prod', 'CFOP'}, self:oRegistro['VendaItems'][nItem]['Sequencia'])",
			"L2_DOC": "&IIF( self:oRegistro['ModeloFiscal'] == 1, self:oXmlSefaz:get( , {'ide', 'nCFe'}, ''), IIF(self:oRegistro['ModeloFiscal'] == 2, self:oXmlSefaz:get( , {'ide', 'nNF'}, ''), self:oRegistro['Ccf']) )",
			"L2_SERIE": "&self:oRegistro['SerieNota']",
			"L2_PICM": "&self:oXmlSefaz:getDetIcms('pICMS', self:oRegistro['VendaItems'][nItem]['Sequencia'], 0)",
			"L2_VALICM": "&self:oXmlSefaz:getDetIcms('vICMS', self:oRegistro['VendaItems'][nItem]['Sequencia'], 0)",
			"L2_BASEICM": "&IIF( self:oRegistro['ModeloFiscal'] == 1,   self:oXmlSefaz:getDet({'prod', 'vItem'}, self:oRegistro['VendaItems'][nItem]['Sequencia'], 0),self:oXmlSefaz:getDetIcms('vBC', self:oRegistro['VendaItems'][nItem]['Sequencia'], 0) )",
			"L2_MODBC": "&self:oXmlSefaz:getDetIcms('modBC', self:oRegistro['VendaItems'][nItem]['Sequencia'], '0')",
			"L2_ORIGEM": "&self:oXmlSefaz:getDetIcms('Orig', self:oRegistro['VendaItems'][nItem]['Sequencia'], '0')",
			"L2_CLASFIS": "&self:oXmlSefaz:getDetIcms('Orig', self:oRegistro['VendaItems'][nItem]['Sequencia'], '') + self:oXmlSefaz:getDetIcms('CST', self:oRegistro['VendaItems'][nItem]['Sequencia'], '')",
			"L2_VALPS2": "&self:oXmlSefaz:getDetPIS('vPIS', self:oRegistro['VendaItems'][nItem]['Sequencia'], 0)",
			"L2_BASEPS2": "&self:oXmlSefaz:getDetPIS('vBC', self:oRegistro['VendaItems'][nItem]['Sequencia'], 0)",
			"L2_ALIQPS2": "&self:oXmlSefaz:getDetPIS('pPIS', self:oRegistro['VendaItems'][nItem]['Sequencia'], 0)",
			"L2_CSTPIS": "&self:oXmlSefaz:getDetPIS('CST', self:oRegistro['VendaItems'][nItem]['Sequencia'], '')",
			"L2_VALCF2": "&self:oXmlSefaz:getDetCOF('vCOFINS', self:oRegistro['VendaItems'][nItem]['Sequencia'], 0)",
			"L2_BASECF2": "&self:oXmlSefaz:getDetCOF('vBC', self:oRegistro['VendaItems'][nItem]['Sequencia'], 0)",
			"L2_ALIQCF2": "&self:oXmlSefaz:getDetCOF('pCOFINS', self:oRegistro['VendaItems'][nItem]['Sequencia'], 0)",
			"L2_CSTCOF": "&self:oXmlSefaz:getDetCOF('CST', self:oRegistro['VendaItems'][nItem]['Sequencia'], '')",
			"L2_BRICMS": "&self:oXmlSefaz:getDetIcms('vBCSTRet', self:oRegistro['VendaItems'][nItem]['Sequencia'], '0')",
			"L2_ICMSRET": "&self:oXmlSefaz:getDetIcms('vICMSSTRet', self:oRegistro['VendaItems'][nItem]['Sequencia'], '0')",
			"L2_BASFECP": "&self:oXmlSefaz:getDetIcms('vBC', self:oRegistro['VendaItems'][nItem]['Sequencia'], '0')",
			"L2_ALQFECP": "&self:oXmlSefaz:getDetIcms('pFCP', self:oRegistro['VendaItems'][nItem]['Sequencia'], '0')",
			"L2_VALFECP": "&self:oXmlSefaz:getDetIcms('vFCP', self:oRegistro['VendaItems'][nItem]['Sequencia'], '0')",
			"L2_PREDIC": "&self:oXmlSefaz:getDetIcms('pRedBC', self:oRegistro['VendaItems'][nItem]['Sequencia'], '0')"
		}
	],
	"SL4": [
		{
			"L4_FILIAL": "&self:oRegistro['Loja']['IdRetaguarda']",
			"L4_DATA": "&self:oRegistro['VendaPagamentos'][nItem]['DataVencimento']",
			"L4_VALOR": "&self:oRegistro['VendaPagamentos'][nItem]['ValorPago']",
			"L4_ADMINIS": "&Iif(self:oRegistro['VendaPagamentos'][nItem]['PagamentoOperadora'] == Nil,'',self:oRegistro['VendaPagamentos'][nItem]['PagamentoOperadora']['IdRetaguarda'])",
			"L4_TROCO": "&self:oRegistro['VendaPagamentos'][nItem]['ValorTroco']",
			"L4_FORMA": "&self:oRegistro['VendaPagamentos'][nItem]['PagamentoForma']['IdRetaguarda']",
			"L4_NSUTEF": "&IIF(self:oRegistro['VendaPagamentos'][nItem]['VendaPagamentoTefs'] == Nil,'', self:oRegistro['VendaPagamentos'][nItem]['VendaPagamentoTefs']['NsuHost'])",
			"L4_DOCTEF": "&IIF(self:oRegistro['VendaPagamentos'][nItem]['VendaPagamentoTefs'] == Nil,'', self:oRegistro['VendaPagamentos'][nItem]['VendaPagamentoTefs']['NsuHost'])",
			"L4_BANDEIR": "&IIF(self:oRegistro['VendaPagamentos'][nItem]['VendaPagamentoTefs'] == Nil,'',self:oRegistro['VendaPagamentos'][nItem]['VendaPagamentoTefs']['Bandeira'])",
			"L4_PARCTEF": "&IIF(self:oRegistro['VendaPagamentos'][nItem]['VendaPagamentoTefs'] == Nil,'', self:oRegistro['VendaPagamentos'][nItem]['VendaPagamentoTefs']['NumeroParcelas'])",
			"L4_AUTORIZ": "&IIF(self:oRegistro['VendaPagamentos'][nItem]['VendaPagamentoTefs'] == Nil,'', self:oRegistro['VendaPagamentos'][nItem]['VendaPagamentoTefs']['NumeroAutorizacao'])"
		}
	]
}