Árvore de páginas

01. DADOS GERAIS

Produto:

TOTVS Varejo Franquias e Redes

Linha de Produto:

Franquias e Redes

Segmento:

Varejo

Módulo:

PDV Omnishop

Função:Cancelamento
País:Brasil
Ticket:
Requisito/Story/Issue (informe o requisito relacionado) :DVARLIVEPDV-16387


02. SITUAÇÃO/REQUISITO

Foi reportado que algumas vendas após realizar o cancelamento manual a partir da opção menu lateral > Acessar Consulta Vendas > Localizar o cupom e clicar no [...] > Cancelar venda > Confirmar

Ocorria o cancelamento da venda na SEFAZ porem a venda continua ativa no PDV.


Simulação do Problema:
Para reproduzir o problema é necessário possuir uma ou mais vendas que possuam desconto no item registrado com data/hora posterior a venda que será cancelada.
Ao simular essa situação e tentar realizar o cancelamento é possível observar que a venda é cancelada na sefaz, é impresso o comprovante de cancelamento é exibido a mensagem de venda cancelada  com sucesso, porem a venda continua ativa no PDV.


Também foi identificado que ao cancelar uma venda, o pdv realizava uma verificação se existia itens incorretos já registrado no banco vinculado a venda que seria cancelada, porem essa validação estava ocorrendo para todas as vendas registrada posterior a venda que seria cancelada, ocasionando a exclusão indevida de itens e pagamentos, gerando divergência no fechamento do caixa e em outras situações ocasionando falha de sincronismo de venda com o retaguarda, quando o pdv não conseguia realizar a exclusão dos itens, era enviado para o pdv mensagem de erro: Erro ao cancelar venda.



03. SOLUÇÃO

Foi identificado que ocorria falha na API durante a tentativa de  atualização da situação da venda para status cancelado, devido a uma condição incorreta para obter dados da venda que seria cancelada, estava sendo retornado todos os registros da tabela venda_item com id maior e igual ao id da venda, dessa forma ao tentar manipular a informação incorreta da venda ocorria falha no banco de dados e a operação de atualização não era concluída.

Para solucionar o problema foi realizado ajuste na rotina que recupera dados da venda após o cancelamento, dessa forma é retornando apenas um único registro de venda para atualização da situação para cancelado.


  • Sem rótulos