| Produto: |
|
|---|---|
| Linha de Produto: | |
| Segmento: |
|
| Módulo: |
|
| Função: | Pagamento de Pedido |
| País: | Brasil |
| Ticket: | |
| Requisito/Story/Issue (informe o requisito relacionado) : |
Com a criação dos parâmetros de Recebimento Antecipado (DVAROMNIP-7 e DVAROMNIP-8), tornou-se necessário implementar o comportamento dessa forma de pagamento no momento da seleção no PDV Desktop (Venda Assistida).
A regra de negócio principal é que a seleção de uma forma de pagamento de Recebimento Antecipado deve respeitar a configuração sistêmica de "Permitir múltiplas formas de pagamento" (DVARLIVEPDV-47519), agilizando o processo de pagamento quando apenas uma forma é permitida.
Visão Negocial Quando o operador de caixa, no módulo de Pedido de Venda (Desktop), selecionar uma forma de pagamento configurada como "Recebimento Antecipado", o sistema irá agir de duas formas:
Se a loja NÃO permitir múltiplos pagamentos: O sistema entenderá que este será o pagamento único e preencherá automaticamente o valor total do pedido para esta forma de pagamento, otimizando o tempo do operador.
Se a loja PERMITIR múltiplos pagamentos: O sistema manterá o comportamento padrão, permitindo ao operador dividir o valor e incluir outras formas de pagamento, caso necessário.
Essa alteração torna o fluxo de pagamento mais inteligente e rápido em cenários de pagamento único.

Imagem 1 - Ciclo de Pagamento com a validação de Múltiplos Recebimentos com a Flag Desligada

Imagem 2 - Ciclo de Pagamento com a validação de Múltiplos Recebimentos com a Flag Ligada
Visão Técnica Para implementar esta regra, a lógica de validação foi centralizada e depois consumida pela ViewModel:
PagamentoAppService (Serviço):
Foi criada uma nova validação de negócio que verifica o estado do parâmetro "Permitir múltiplas formas de pagamento".
DesktopPagamentoViewModel (PDV):
Dentro do método SelecionarPagamento(), especificamente na sub-rotina ConfigurarFormaPagamentoSelecionada(), foi adicionada a chamada à nova validação do PagamentoAppService.
Com base no retorno dessa validação (se múltiplas formas não são permitidas), o sistema agora manipula o campo ValorPagar. Ele captura o valor pendente, realiza a limpeza (removendo "R$" e formatando) e o atribui diretamente à propriedade FormaPagamentoSelecionada.Valor (e ValorTela), preenchendo assim o valor total automaticamente.