...
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.
...
PermiteEdicaoPedido funcionaA propriedade PermiteEdicaoPedido é a responsável por definir define se um pedido resgatado no PDV pode ou não ser editado.
Ela é composta formada por duas verificações principais:partes que precisam estar verdadeiras ao mesmo tempo:
Uma verificação que impede a edição em casos muito específicos de resgate.
Uma regra que considera as condições de pagamento e integração do pedido.
O sistema considera três fatores juntos:
Se o
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?) está desligado.
Se o parâmetro estiver habilitado → a edição é permitida.Se estiver desabilitado → tipo da pré-venda é Pedido.
Se o pedido está sendo resgatado.
Quando essas três condições acontecem ao mesmo tempo, a edição é bloqueada.
BloquearAlteracaoCondicaoPagamento
Essa regra bloqueia a edição em situações específicas relacionadas à forma de pagamento.
Em qualquer outro cenário, essa parte não impede a edição.
Além disso, existe a propriedade BloquearAlteracaoCondicaoPagamento, que pode bloquear ou liberar a edição dependendo de algumas situações. Ela fica ativa (true) em dois casos
Ela pode ser true em dois cenários:
Integração com Retaguarda: quando o pedido veio de outro sistema (origem retaguarda), tem um identificador de retaguarda e está na situação RECEBIDO.
Preço por
Condiçãocondição de
Pagamentopagamento: quando o parâmetro 282 (Aplica preço por condição de pagamento) está
habilitadoligado, o tipo é Pedido 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.
Se nenhum desses cenários acontece, essa regra fica inativa (false).
Combinando as duas partes, temos:
A edição só é permitida quando não estamos no triplo-bloqueio do resgate (parâmetro 180 desligado + Pedido + Resgate) e ao mesmo tempo estamos em um dos cenários que ativam a alteração de condição de pagamento (Retaguarda RECEBIDO ou Parâmetro 282 ativo).
Se qualquer uma dessas condições não for atendida, a edição fica bloqueada.
PermiteEdicaoPedido| Parâmetros / Situação | Resultado | Explicação |
|---|---|---|
| Parâmetro 180 = desligado + Tipo = Pedido + Resgate = true | ❌ Não permite edição | Triplo-bloqueio ativo → sempre bloqueia a edição, independente dos outros fatores. |
| Parâmetro 180 = ligado + Parâmetro 282 = ligado + Tipo = Pedido + Modo ≠ PedidoVenda | ✅ Permite edição | Cenário de “Preço por condição de pagamento” → edição liberada. |
| Integração com Retaguarda ativa (PDVSync = true, Origem = Retaguarda, Situação = RECEBIDO) | ✅ Permite edição | Pedido vindo da retaguarda com status RECEBIDO libera a edição. |
| Parâmetro 180 = ligado, mas Parâmetro 282 = desligado e sem Retaguarda | ❌ Não permite edição | Não há bloqueio inicial, mas também não há regra que libere a edição. |
| Parâmetro 180 = desligado (independente dos demais) | ❌ Não permite edição | Quando o triplo-bloqueio se confirma, a edição sempre é barrada. |
Além disso:
Quando o operador opta por continuar comprando clicar no botão 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.