| Produto: |
|
|---|---|
| Linha de Produto: |
|
| Segmento: |
|
| Módulo: |
|
| Função: | RESGATE DE PEDIDO |
| País: | Brasil |
| Ticket: | |
| Requisito/Story/Issue (informe o requisito relacionado) : |
Ao resgatar um pedido no PDV Omni que não possui forma de pagamento associada, o sistema permite remover a tela de seleção de forma de pagamento utilizando a tecla ESC. Entretanto, o botão Pagar permanece desabilitado, obrigando o operador a abandonar o pedido e resgatá-lo novamente.
Esse comportamento foi identificado nas versões 4.1 e 4.2 do sistema. Na versão 4.0, o menu lateral de pagamento não é carregado e o botão Pagar já vem habilitado, permitindo a continuidade da operação.
Foi identificado que o problema acontecia porque o PDV entendia, em algumas situações, que o pedido não poderia ser editado durante o resgate. Isso fazia com que os botões da tela de pagamento ficassem desabilitados, impedindo a continuidade do processo.
Ajustamos a regra que define quando um pedido resgatado pode ser editado ou não. Com essa correção, o PDV agora:
Se o pedido resgatado pode ser editado:
O operador consegue acessar a tela de itens com o botão Pagar habilitado.
É possível voltar para a tela de itens tanto pelo botão Voltar quanto pela tecla ESC.
Se o pedido resgatado não pode ser editado:
O sistema já abre direto a tela de formas de pagamento.
Os botões Voltar e a tecla ESC ficam desabilitados, garantindo que o fluxo fique na finalização do pagamento.
Esse ajuste garante que o comportamento do sistema seja consistente com a configuração definida, evitando que o operador precise abandonar e resgatar o pedido novamente.
A análise apontou que o problema estava relacionado à propriedade PermiteEdicaoPedido, localizada na classe DesktopPagamentoViewModel, que era avaliada incorretamente devido à forma como a variável BloquearAlteracaoCondicaoPagamento era tratada.
Foi removida a negação (!) da variável BloquearAlteracaoCondicaoPagamento na composição da propriedade PermiteEdicaoPedido.
Além disso, no método VoltarTelaCarrinho, foi adicionada uma condição para que, quando PermiteEdicaoPedido estiver definido como false, a ação de voltar (tecla ESC ou botão Voltar) não execute nenhuma operação.
PermiteEdicaoPedidoA propriedade PermiteEdicaoPedido é a responsável por definir se um pedido resgatado no PDV pode ou não ser editado.
Ela é composta por duas verificações principais:
BloqueiaEdicaoPedido
Controla se o pedido pode ser alterado ou não.
O valor depende do parâmetro 180 (Permite incluir itens no recebimento de pedido no PDV?).
Se o parâmetro estiver habilitado → a edição é permitida.
Se estiver desabilitado → a edição é bloqueada.
BloquearAlteracaoCondicaoPagamento
Essa regra bloqueia a edição em situações específicas relacionadas à forma de pagamento.
Ela pode ser true em dois cenários:
Integração com Retaguarda: quando o pedido veio de outro sistema (origem retaguarda) e está na situação RECEBIDO.
Configuração de Preço por Condição de Pagamento: quando o parâmetro 282 (Aplica preço por condição de pagamento) está habilitado e o modo de operação não é “Pedido de Venda”.
Caso nenhuma dessas condições seja atendida, a variável retorna false, ou seja, não bloqueia a edição.
Além disso:
Quando o operador opta por continuar comprando em um pedido resgatado que pode editado e que já tenha a forma de pagamento escolhida, os pagamentos existentes são descartados, sendo necessário incluir manualmente um novo pagamento no momento de finalizar o pedido.
Independentemente do cenário, o botão Abandonar Recebimento permanece disponível, permitindo ao operador sair do pedido e resgatar outro.