Histórico da Página
...
2- Aguarde a criação automática do processo referente a Preço.
3- Verifique Verifique se o processo foi criado com as Informações abaixo:
Caso MV_LJCNVDA = .F. - Preços serão definidos pela tabela SB0
Processo: Preco
Tabela: SB0
Chave: B0_FILIAL+B0_COD
Secund. Obg:
Caso MV_LJCNVDA = .T. - Preços serão definidos pela tabela de preços. DA0 e DA1
Processo: Preco
Tabela: DA1
Chave: DA1_FILIAL+DA1_CODTAB+DA1_CODPRO+DA1_ITEM
Secund. Obg: 1- Sim
Vinculando o Processo de Preço ao Assinante PdvSync
...
Bloco de código | ||
---|---|---|
| ||
{ "url":"https://...preco...app/api/retaguarda/precos", "codigotipo": "13", "descricaotipo": "Preco", "qtdEnvio": 100 } github.com/totvs/protheus-smart-hub-layouts/blob/bb8924fafdf58498b0708af5d368a53f70c19e47/pdvsync/configuracao/envia_preco.json |
Informações | ||
---|---|---|
| ||
A tag "qtdEnvio" é utilizada para configurar a quantidade de registros que serão enviados para o PDV em uma única requisição. Exemplo - Caso no processo de Envio de Preço esteja configurado:
|
Layout Envio: Preencha este campo de acordo com o exemplo abaixo:
Caso utilize tabela de preço DA0/DA1 No layout de envio já esta contemplada a atualização do Cenário de Venda (MV_LJCNVDA = .T.), para definição de preços.
Bloco de código | ||
---|---|---|
| ||
{ "dataHoraVigenciaInicial": "&IIF( !SuperGetMv('MV_LJCNVDA', , .F.), FwTimeStamp(3), FwTimeStamp(3,SToD(Self:oPublica['DA1_DATVIG']),Self:oPublica['DA0'][1]['DA0_HORADE']) )", "dataHoraVigenciaFinal": "&IIfIIF( !SuperGetMv('MV_LJCNVDA', , .F.), '9999-01-31T23:59', 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": "&IIF( !SuperGetMv('MV_LJCNVDA', , .F.), Self:oPublica['B0_COD'], Self:oPublica['DA1_CODPRO'] )", "idRetaguardaProduto": "&IIF( !SuperGetMv('MV_LJCNVDA', , .F.), Self:oPublica['B0_COD'], Self:oPublica['DA1_CODPRO'] )", "valor": "&StrTran( cValToChar(Self:oPublica['DA1_PRCVEN']), '.', ',') ", "situacao": "&IIF(Self:cEvento == '1' .AND. IIF( Posicione('SB1', 1, xFilial('SB1') + IIF( !SuperGetMv('MV_LJCNVDA', , .F.), Self:oPublica['DA0B0_COD'][1]['DA0_ATIVO'] == '1' .AND., Self:oPublica['DA1_CODPRO'] ), 'B1_PRV1') > 0, Posicione('SB1', 1, xFilial('SB1') + IIF( !SuperGetMv('MV_LJCNVDA', , .F.), Self:oPublica['B0_COD'], Self:oPublica['DA1_ATIVOCODPRO'] ==), '1B1_PRV1'), 1 IIF( !SuperGetMv('MV_LJCNVDA', 0)", "sincronizadoEtiquetaEletronica": 0, "idInquilino": "&self:oConfAssin['inquilino']", "idRetaguarda": "& .F.), Self:oPublica['B0_PRV1'], Self:oPublica['DA1_CODTABPRCVEN'] + Self:oPublica['DA1_CODPRO']", "dataAtualizacao": "&FwTimeStamp(6) ) ), '.', ',' )", "dataCadastroprecoPromocional": "&FwTimeStamp(6)0", "idProprietariosituacao": "&LjRetComp()", "loteOrigem": "&Self:cLote" } |
Caso utilize preço configurado no produto SB0 (MV_LJCNVDA = .F.)
Bloco de código | ||
---|---|---|
| ||
{ "dataHoraVigenciaInicial": "&FwTimeStamp(3)", "dataHoraVigenciaFinal": "9999-01-31T23:59", "codigoProduto": "&IIF( !SuperGetMv('MV_LJCNVDA', , .F.), IIF(Empty(Self:oPublica['B0_CODPRV1']", "idRetaguardaProduto": "&Self:oPublica['B0_COD']", "valor": "&StrTran( cValToChar(Self:oPublica['B0_PRV1']), '.', ',') ", "situacao": "&Val(IIF(Empty() .Or. Self:cEvento <> '1', 0, 1), IIF(Self:cEvento == '1' .AND. Self:oPublica['DA0'][1]['DA0_ATIVO'] == '1' .AND. Self:oPublica['B0DA1_PRV1ATIVO']), == '01', '1', 0) )", "sincronizadoEtiquetaEletronica": 0, "id": "", "idInquilino": "&self:oConfAssin['inquilino']", "idRetaguarda": "&IIF( !SuperGetMv('MV_LJCNVDA', , .F.), '1' + Self:oPublica['B0_COD'], Self:oPublica['DA1_CODTAB'] + Self:oPublica['DA1_CODPRO'] + Self:oPublica['DA1_ITEM'] )", "dataAtualizacao": "&FwTimeStamp(63)", "dataCadastro": "&FwTimeStamp(63)", "idProprietario": "&LjRetComp()", "loteOrigem": "&Self:cLote", "loteconfigPSH": "",{ "_expandablesVersion": [ ""3.2" ] }} } |
Dica | ||
---|---|---|
| ||
Como funciona o Preço Promocional no PDV OMNI? No PDV OMNI o Preço Promocional é composto da forma, De - Por, exemplo: De 10,00R$ Por 5,00R$. E como integramos esses dados? Se você utiliza o cenário de Vendas MV_LJCNVDA = .T., é necessario que no cadastro do Produto preencha o camp B1_PRV1 com um valor que será considerado como De. Em seguida na tabela de Preços preencha o campo DA1_PRCVEN do produto com um valor que será considerado como Por. Caso você não utilize o cenário de Vendas MV_LJCNVDA = .F., é necessario que no cadastro do Produto preencha o camp B1_PRV1 com um valor que será considerado como De. Em seguida na grid de preço do Produto, tabela SB0 preencha o campo B0_PRV1 com um valor que será considerado como Por. Agora que você sabe das regras do Preço Promocional, é necessesário realizar uma alteração em seu Layout de envio do processo PRECO, para que a funcionalidade funcione corretamente. Subistitua o conteudo da tag precoPromocional como mostra o exemplo abaixo: De: "precoPromocional": "0", Para: "precoPromocional": "&StrTran( cValToChar( IIF( !SuperGetMv('MV_LJCNVDA', , .F.), Self:oPublica['B0_PRV1'], Self:oPublica['DA1_PRCVEN'] ) ), '.', ',' )", |
Layout Publicação: Não há.
...