Para integrarmos o Produto com o PdvSync primeiramente é necessário acessar o cadastro do Processo para verificar se o processo Preço 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 processo referente a Preço.
3- Verifique se foi criado as Informações abaixo:
Processo: Preco
Tabela: DA1
Chave: DA1_FILIAL+DA1_CODTAB+DA1_CODPRO+DA1_ITEM
Secund. Obg: 1- Sim
1- No módulo 12 (Controle de Lojas), acesse Atualizações/ RMI/ Cadastros/ Assinantes.
2- Com o assinante PdvSync previamente cadastrado, posicione no assinante PdvSync e clique em alterar.
3- Na guia Assinantes x Processos, preencha os seguintes campos:
Processo: Preco
Ativo: Sim
Tipo Process: Envia
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 Preço. A URL deve ser preenchida com o caminho da API de Preço, como mostra o exemplo abaixo:
{ "url":"https://...preco...app/api/retaguarda/precos", "codigotipo": "13", "descricaotipo": "Preco", "qtdEnvio": 100 } |
Layout Envio: Preencha este campo de acordo com o exemplo abaixo:
Caso utilize tabela de preço DA0/DA1 (MV_LJCNVDA = .T.)
{ "dataHoraVigenciaInicial": "&FwTimeStamp(3,SToD(Self:oPublica['DA1_DATVIG']),Self:oPublica['DA0'][1]['DA0_HORADE'])", "dataHoraVigenciaFinal": "&IIf(!Empty(Self:oPublica['DA0'][1]['DA0_DATATE']),FwTimeStamp(3,SToD(Self:oPublica['DA0'][1]['DA0_DATATE']),Self:oPublica['DA0'][1]['DA0_HORATE']),'9999-01-31T23:59')", "codigoProduto": "&Self:oPublica['DA1_CODPRO']", "idRetaguardaProduto": "&Self:oPublica['DA1_CODPRO']", "valor": "&IIF(POSICIONE('SB1',1,XFILIAL('SB1')+Self:oPublica['DA1_CODPRO'],'B1_PRV1') > 0, StrTran( cValToChar(POSICIONE('SB1',1,XFILIAL('SB1')+Self:oPublica['DA1_CODPRO'],'B1_PRV1')), '.', ','), StrTran( cValToChar(Self:oPublica['DA1_PRCVEN']), '.', ',')) ", "precoPromocional": "&StrTran( cValToChar(Self:oPublica['DA1_PRCVEN']), '.', ',') ", "situacao": "&IIF(Self:cEvento == '1' .AND. Self:oPublica['DA0'][1]['DA0_ATIVO'] == '1' .AND. Self:oPublica['DA1_ATIVO'] == '1', 1, 0)", "sincronizadoEtiquetaEletronica": 0, "idInquilino": "&self:oConfAssin['inquilino']", "idRetaguarda": "&Self:oPublica['DA1_CODTAB'] + Self:oPublica['DA1_CODPRO'] + Self:oPublica['DA1_ITEM']", "dataAtualizacao": "&FwTimeStamp(3)", "dataCadastro": "&FwTimeStamp(3)", "idProprietario": "&LjRetComp()", "loteOrigem": "&Self:cLote" } |
Para envio ao Pdv Omni é necessário incluir o valor original no cadastro de produto (campo B1_PRV1). Incluir na tabela de preço o valor promocional no campo DA1_PRCVEN. |
Caso utilize preço configurado no produto SB0 (MV_LJCNVDA = .F.)
{ "dataHoraVigenciaInicial": "&FwTimeStamp(3)", "dataHoraVigenciaFinal": "9999-01-31T23:59", "codigoProduto": "&Self:oPublica['B0_COD']", "idRetaguardaProduto": "&Self:oPublica['B0_COD']", "valor": "&StrTran( cValToChar(Self:oPublica['B0_PRV1']), '.', ',') ", "situacao": "&Val(IIF(Empty(Self:oPublica['B0_PRV1']), '0', '1'))", "sincronizadoEtiquetaEletronica": 0, "id": "", "idInquilino": "&self:oConfAssin['inquilino']", "idRetaguarda": "&'1' + Self:oPublica['B0_COD']", "dataAtualizacao": "&FwTimeStamp(6)", "dataCadastro": "&FwTimeStamp(6)", "idProprietario": "&LjRetComp()", "loteOrigem": "&Self:cLote", "lote": "", "_expandables": [ "" ] } |
Layout Publicação: Não há.