Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Painel
borderColorlightgray

03.02.01 Implementação de preços por filial

Contexto / Gatilho:

  • Ambiente Web/Android, na busca de preços do produto

Lógica:

  • Após a primeira validação se há preço fixo para o produto (idnprecofixo=1), a aplicação deverá realizar a busca abaixo para identificar preços por embalagem na filial selecionada no cabeçalho:

    Sem Formato
    select 
    	preco, 
    	idembalagem 
    from tabelaprecoproduto 
    where idlocalfilial = :filial_cabecalho 
    	  and idproduto = :produto_grid 
    	  and idnprecofixo = 0 
    	  and idembalagem is not null


    • Caso a busca retorne resultados, o preço de tabela exibido deve condizer com a embalagem informada no campo Embalagem no carrinho;

  • Se o vendedor mudar a embalagem selecionada, o preço de tabela também deve ser atualizado para corresponder à nova embalagem selecionada;

    03.02.02 Validação de preço por embalagem - Parte II

  • A aplicação deve validar se a filial informada no cabeçalho utiliza ou não preço por embalagem. Se a filial estiver vinculada a operação 'PRECOEMBAL', significa que ela utiliza preço por embalagem e, consequentemente, o cálculo do Valor Total Produto será por embalagem:

    Sem Formato
    select 
    	o.sgloperacao, 
    	ol.idlocalfilial 
    from operacaolocal ol inner join operacao o 
    	on o.idoperacao =ol.idoperacao
    where o.sgloperacao ='PRECOEMBAL'
    	and ol.valor=1
  • Quando o preço for por embalagem, a aplicação deve ignorar o cálculo de multiplicação utilizando PRODUTOEMBALAGEM.FATORPRECO; esse cálculo não deve ser feito e o preço exibido para o item no campo Preço Tabela deve ser o valor retornado de TABELAPRECOPRODUTO.PRECO e o desconto/acréscimo da condição de pagamento (quando houver);

  • O cálculo para o campo Valor Total Produto Líquido deve olhar para Quantidade Embalagem, e não mais Quantidade, como é hoje:
    • Preço Venda * Quantidade Embalagem = Valor Total ProdutoLíquido

    • Quando a filial utilizar preço por embalagem, a aplicação deve buscar por preços aplicáveis ao pedido na seguinte ordem:

      1° TABELAPRECOPRODUTO.PRECO + IDNPRECOFIXO =1
      2° TABELAPRECOPRODUTO.PRECO + IDLOCALFILIAL + IDNPRECOFIXO =0 + IDEMBALAGEM IS NOT NULL
       
    • Não é mais necessária a 3° busca de preços como ocorre atualmente;

  • Persistir a quantidade de embalagens em PEDIDOPRODUTO.QUANTIDADEEMBALAGEM;
    • A quantidade embalagem deve ser persistida em todas as vendas sempre o campo Quantidade Embalagem estiver visível em tela;

    • Quando um pedido gravado ou finalizado, for aberto em tela para visualização/edição, exibir a informação gravado em banco;

  • Persistir em banco os campos PEDIDOPRODUTO.VALORTOTALLIQUIDO e PEDIDOPRODUTO.VALORTOTALBRUTO, em todas as vendas;

    • Para o caso de pedidos em que a filial utiliza preço por embalagem, os campos devem ser persistidos com o cálculo:
      VALORTOTALBRUTO = PREÇO TABELA X QUANTIDADE EMBALAGENS
      VALORTOTALLIQUIDO = PREÇO VENDA X QUANTIDADE EMBALAGENS

    • Para o caso de pedidos em que a filial NÃO utiliza preço por embalagem, os campos devem ser persistidos com o cálculo:
      VALORTOTALBRUTO = PREÇO TABELA X QUANTIDADE
      VALORTOTALLIQUIDO = PREÇO VENDA X QUANTIDADE

    • Quando um pedido gravado ou finalizado, for aberto em tela para visualização/edição, exibir a informação gravado em banco;

  • Não deve ocorrer a dedução do valor do frete sobre o preço de tabela, quando a filial estiver vinculada com a operação 'PRECOEMBAL', conforme regra detalhada aqui Abatimento de frete nos preços em pedidos de Venda Balcão.