Preço Dinâmico

Comentários

4 comentários

  • Avatar
    Felipe J. R. Ferreira

    Bom dia!

    Como não encontrei material sobre preço dinâmico, segue um exemplo que pode ajudar:

    CREATE OR REPLACE PROCEDURE STP_CALCULA_PRECO_DINAMICO(p_IdSessao VARCHAR2, p_Result OUT VARCHAR2)
    AS
    PRECO FLOAT;
    PRECOBASE FLOAT;

    BEGIN

    -- PRECO
    SELECT
    VLRVENDA INTO PRECO
    FROM TGFEXC WHERE NUTAB = 15 AND CODPROD = 1;

    -- PRECO BASE
    SELECT
    VLRVENDA INTO PRECOBASE
    FROM TGFEXC WHERE NUTAB = 18 AND CODPROD = 1;


    /*
    SELECT
    NVL(ACT_DEC_FIELD(p_IdSessao, 0, 'VLRUNIT'),0)
    , NVL(ACT_DEC_FIELD(p_IdSessao, 0, 'VLRICMS'),0)
    , NVL(ACT_DEC_FIELD(p_IdSessao, 0, 'VLRSUBST'),0)
    , NVL(ACT_DEC_FIELD(p_IdSessao, 0, 'VLRIPI'),0)
    , NVL(ACT_DEC_FIELD(p_IdSessao, 0, 'NUNOTA'),0)
    , NVL(ACT_DEC_FIELD(p_IdSessao, 0, 'IDALIQ'),0)
    , NVL(ACT_DEC_FIELD(p_IdSessao, 0, 'CODPROD'),0)
    , NVL(ACT_DEC_FIELD(p_IdSessao, 0, 'CODPARC'),0)
    , NVL(ACT_DEC_FIELD(p_IdSessao, 0, 'ICMSPRO_VLRDIFALDEST'),0)
    , NVL(ACT_DEC_FIELD(p_IdSessao, 0, 'ICMSPRO_VLRDIFALREM'),0)
    , NVL(ACT_DEC_FIELD(p_IdSessao, 0, 'ICMSPRO_VLRFCP'),0)
    , NVL(ACT_DEC_FIELD(p_IdSessao, 0, 'IPIPRO_PERCIPI'),0)
    , NVL(ACT_DEC_FIELD(p_IdSessao, 0, 'QTD'),0)
    INTO
    --VLRUNIT, VLRICMS, VLRSUBST, VLRIPI, NUNOTA, IDALIQ, CODPROD, CODPROD, CODPARC,
    --VLRUNIT, ICMSPRO_VLRDIFALDEST, ICMSPRO_VLRDIFALREM, ICMSPRO_VLRFCP, IPIPRO_PERCIPI, QTDNEG
    -- VLRUNIT, QTDNEG

    FROM DUAL;
    */

    p_Result :=

    '{' ||
    'PRECO : "' || PRECO || '",' ||
    'PRECOBASE : "' || PRECOBASE || '"' ||
    '}';

    RETURN;
    END;

     

    12
    Ações de comentário Permalink
  • Avatar
    Marttini Silva e Souza

    Felipe, obrigado pelo exemplo! Foi muito útil para complementar o conteúdo deste artigo.
    #Grato

    0
    Ações de comentário Permalink
  • Avatar
    HELIO BATISTA SILVA

    boa tarde, poderia postar um exemplo desta procedure, contemplando a tela de consulta de produto, a documentação acima ela só da ênfase no lançamento do pedido na tela de consulta de produto não da, os campos disponível mencionado acima na tabela EXECPARAMS não mostra quando e feito a consulta do produto.

    0
    Ações de comentário Permalink
  • Avatar
    Documentação Dti

    Olá, Helio.

    Conforme verificando junto aos nossos analistas, ao calcular o preço de venda, uma procedure personalizada será utilizada, sendo esta chamada na inicialização do produto na Central de Vendas e Consulta de Produtos, como pode ser lido no trecho abaixo: 

    "No momento do cálculo do preço de venda, será chamada uma procedure personalizada. Esta procedure será "chamada" pelo sistema na inicialização do produto na Central de Vendas e na Consulta de Produtos solicitada também pela Central de Vendas ou diretamente pela rotina de Consulta de Produtos.

    A rotina de cálculo dinâmico é executada em pontos específicos do sistema. São eles:

    • Na inicialização do produto;
    • Ao consultar o produto pela Consulta de Produtos (Central de Vendas e diretamente pela Consulta de Produtos);
    • Na alteração do campo de quantidade (pela Central de Vendas ou pelo Carrinho de Compras);

    Ao salvar o item pela Central de Vendas ou na inclusão direta pelo carrinho. Uma informação importante é que apenas nesse ponto é que o sistema injeta os demais campos calculados pela procedure."

    -1
    Ações de comentário Permalink

Por favor, entre para comentar.