Produto: | TOTVS CRM Automação da Força de Vendas |
---|---|
Linha de Produto: | Linha TOTVS CRM SFA |
ERPs impactados: | Winthor |
Módulo: | Venda |
Função: | Pedido |
Ticket: | |
Requisito/Story/Issue: |
Anteriormente, para integrações com ERP Winthor,
O SFA somente faz o consumo da precificação por região, com origem pela tabela PCTABPR. Entretanto, ao ativar o parâmetro do Winthor "1065/2257- Trabalha com preço por embalagem", o preço do SFA ainda continua se originando da tabela PCTABPR, quando deveria consumir originado da tabela PCEMBALAGEM.
Agora,
O SFA deverá adaptar a integração para receber os preços da tabela PCEMBALAGEM, para filiais que contém o parâmetro "1065/2257- Trabalha com preço por embalagem" como preço de tabela do produto.
A aplicação do SFA deverá fazer a leitura desse parâmetro integrado. Quando marcado, o SFA deverá preferir a precificação do produto por sua embalagem para a filial selecionada no cabeçalho. Quando desmarcado, o sistema continuará fazendo a utilização da precificação por região.
Contexto / Gatilho:
Lógica:
Criação de novos registros de tabelas de preço originados a partir da tabela pcparamfilial (UNION adicional)
/* UNION SELECT CAST('Filial ' || ppf.CODFILIAL || ' - Precificação embalagem' AS VARCHAR2(80))AS DESCRICAO, CAST('EMBALAGEM' AS VARCHAR2(10))AS SGLTIPOTABELA, CAST('EMBALAGEM#' || PPF.CODFILIAL AS VARCHAR2(20))AS CODIGO, CAST(NULL AS DATE)AS DATAINICIOVIGENCIA, CAST(NULL AS DATE) AS DATAFIMVIGENCIA, CAST(CASE WHEN PPF.VALOR = 'S' THEN 1 ELSE 0 END AS INT) AS IDNATIVO, CAST(1 AS INT) AS IDNLISTAPEDIDO, CAST(1 AS INT) AS IDNDISPPRIMEIROPEDIDO, CAST(0 AS INT) AS IDNCALCULOANTECIPACAO, CAST(NULL AS NUMERIC(18,6)) AS VALORMINIMO, CAST('EMBALAGEM#' || PPF.CODFILIAL AS VARCHAR2(80)) AS CODIGOERP, CAST(PPF.CODFILIAL AS VARCHAR2(80)) AS CODFILIAL FROM PCPARAMFILIAL PPF WHERE PPF.NOME = 'FIL_PRECOPOREMBALAGEM' AND PPF.CODFILIAL <> '99' AND PPF.VALOR = 'S' */
Contexto / Gatilho:
Lógica:
Criação de registros de vínculos entre tabelas de preço e as filiais referentes aos registros da seção 03.01.01
Contexto / Gatilho:
Lógica:
Criação de nova union, trazendo os preços específicos das filiais, quando existe precificação por embalagem, dessa forma:
SELECT * FROM pctabpr ptp CROSS JOIN pcparamfilial pcf LEFT JOIN pcembalagem pe ON pcf.CODFILIAL = pe.CODFILIAL AND pe.codprod = ptp.CODPROD WHERE pcf.NOME = 'FIL_PRECOPOREMBALAGEM' AND pcf.VALOR = 'S' AND pcf.CODFILIAL <> 99
Winthor | SFA (TABELAPRECOPRODUTO) |
---|---|
PCEMBALAGEM.PVENDA | PRECO PRECO2 PRECO3 PRECO4 PRECO5 PRECO6 PRECO7 |
PCEMBALAGEM.PTABELA | PRECOREFERENCIA PRECOREFERENCIA2 PRECOREFERENCIA3 PRECOREFERENCIA4 PRECOREFERENCIA5 PRECOREFERENCIA6 PRECOREFERENCIA7 |
PCEMBALAGEM.CODFILIAL | IDLOCALFILIAL |
Contexto / Gatilho:
Lógica:
Para preços não fixos (tabelaprecoproduto.idnprecofixo = 0) o sistema deverá verificar se existem preços para a filial selecionada no cabeçalho.
select preco from tabelaprecoproduto where idlocalfilial = :filial_cabecalho and idproduto = :produto_grid and idnprecofixo = 0