Tempo aproximado para leitura: 00:04:30 min
Ocorrência
Ao devolver uma compra aparece o Help: A410VTDNO, como retornar o item pelo pedido de venda?
Ambiente
Cross Segmentos - TOTVS Backoffice (Linha Protheus) - SIGAFAT (Faturamento) - Todas as versões
Causas
1 - As devoluções parciais do pedido de venda tiveram ITENS com preços maiores que o preço do item no documento de entrada.
2 - O Help ocorre quando a multiplicação que incide no C6_VALOR (C6_QTDVEN * C6_PRCVEN) dá um valor maior ou menor do que o exato valor total do documento de entrada restante a devolver.
OBS: O Help só ocorre quando já foi anteriormente devolvido parte do saldo da entrada, porém na nova tentativa de devolução, está no campo C6_QTDVEN para ser retornado, toda a quantidade que falta devolver (D1_QUANT - D1_QTDEDEV).
O sistema verifica o total da entrada (D1_TOTAL) do documento de entrada. Exemplo:
Documento de entrada (MATA103):
Quantidade: D1_QUANT = 2
Preço unitário: D1_VUNIT = 2
Resultado: D1_TOTAL = 4
Primeira devolução ao documento de entrada (MATA410):
Quantidade: C6_QTDVEN = 1 (Ao entrar na rotina estava "2", porém nessa devolução alteramos para um para devolver apenas um)
Preço de venda: C6_PRCVEN = 2 (Encontrado pelo C6_VALOR dividido pelo C6_QTDVEN [2 / 1 = 1])
Preço de lista: C6_PRUNIT = 2 (Vem do campo D1_VUNIT)
Resultado: C6_VALOR = 2 (Resultado do C6_QTDVEN * C6_PRCVEN)
Segunda devolução ao documento de entrada (MATA410):
1 - Ao retornar pela funcionalidade Retornar, o sistema irá validar:
- Do total da entrada, falta devolver R$ 2 ao todo.
- Do total da entrada, falta devolver uma quantidade do item.
Logo, o sistema achará o preço de venda (C6_PRCVEN), dividindo o total (C6_VALOR) pela quantidade (C6_QTDVEN): (2 / 1 = 1)
Ao retornar pela funcionalidade Retornar (segunda devolução):
Quantidade: C6_QTDVEN = 1
Preço de venda: C6_PRCVEN = 2
Preço de lista: C6_PRUNIT = 2
Resultado: C6_VALOR = 2
Da maneira que a segunda devolução está acima, será possível devolver, pois atende:
- 1 - A quantidade que resta devolver (1)
- 2 - O total em relação ao documento de entrada que resta devolver (R$2)
2 - Ao alterar o preço de venda (C6_PRCVEN), para um valor que a multiplicação dele com a quantidade, seja menor ou maior que o valor exato do documento de entrada a devolver, o erro ocorre:
Exemplo 1: Ao retornar pela funcionalidade Retornar (segunda devolução):
Quantidade: C6_QTDVEN = 1
Preço de venda: C6_PRCVEN = 3
Preço de lista: C6_PRUNIT = 2
Resultado: C6_VALOR = 3
Da maneira que a segunda devolução está acima, o erro "A410VTDNO" ocorre pois:
- 1 - A quantidade que resta devolver (1) está correta
- 2 - O total em relação ao documento de entrada que resta devolver está incorreto, está (R$ 3) e não (R$ 2), um real a mais que o correto.
Exemplo 2: Ao retornar pela funcionalidade Retornar (segunda devolução):
Quantidade: C6_QTDVEN = 1
Preço de venda: C6_PRCVEN = 1
Preço de lista: C6_PRUNIT = 2
Resultado: C6_VALOR = 1
Da maneira que a segunda devolução está acima, o erro "A410VTDNO" ocorre pois:
- 1 - A quantidade que resta devolver (1) está correta
- 2 - O total em relação ao documento de entrada que resta devolver está incorreto, está (R$ 1) e não (R$ 2), um real a menos que o correto.
Solução:
1 - Inserir no C6_PRCVEN uma quantidade que, ao ser feita a multiplicação (C6_QTDVEN * C6_PRCVEN), o valor total (C6_VALOR) seja exatamente o valor que falta retornar, para ficar igual ao documento de entrada.
2 - Identificar nos pedidos de venda devolvidos anteriormente (referenciando o documento de entrada), quais deles estão sendo devolvidos com o valor maior (C6_VALOR) fazendo com que fique desregulado as próximas devoluções parciais, pois a quantidade a ser devolvida nem foi completa porém o valor total a ser devolvido sim.
0 Comentários