Tempo aproximado para leitura: 00:03:30 min
Ocorrência
Ao devolver uma compra aparece o Help: A410VLDIF, como retornar o item pelo pedido de venda?
Ambiente
Cross Segmentos - TOTVS Backoffice (Linha Protheus) - SIGAFAT (Faturamento) - Todas as versões
Causa
O sistema verifica se a quantidade do C6_PRCVEN é diferente do resultado obtido nas duas verificações abaixo respectivas, se for diferente, o erro ocorre:
Para que esse Help ocorra, temos três possíveis causas e elas podem ocorrer ao mesmo tempo:
Causa 1 - Total do documento de entrada errado
Ao referenciar um documento de entrada para devolução (Em um pedido de vendas tipo D), o valor total do documento de entrada "Total (D1_TOTAL)" é levado ao valor total do pedido de venda "Valor (C6_VALOR)".
O conteúdo de quantidade do item no documento de entrada "Quantidade (D1_QUANT)" até a quantidade do item no pedido de venda "Quantidade (C6_QTDVEN)".
Porém, o total no documento de entrada é informado pelo usuário, pelo pedido de vendas é feito a partir do cálculo da quantidade vezes o preço (C6_QTDVEN * C6_PRVEN).
Ao retornar, os valores trazidos do documento de entrada são:
D1_TOTAL -> C6_VALOR
D1_DESC -> C6_VALDESC
D1_VUNIT -> C6_PRUNIT
D1_QUANT -> C6_QTDVEN .
No retornar do pedido de venda, a partir da divisão do valor total pela quantidade (C6_VALOR / C6_QTDVEN) é encontrado o preço do item (C6_PRCVEN), que pode estar diferente do preço do item no documento de entrada (D1_VUNIT) pois o cálculo do total do pedido é feito automaticamente (Total dividido pela quantidade) e o do documento de entrada é manual, ocasionando o erro.
ATENÇÃO: Os campos de preço de lista (C6_PRUNIT) e preço de venda (C6_PRCVEN) ao retornar no pedido de vendas, devem ser iguais ao campo D1_VUNIT do documento de entrada.
Exemplo:
Documento de entrada (MATA103):
- D1_QUANT == 3,67 (Levado ao C6_QTDVEN)
- D1_VUNIT = 99,99 (Levado ao C6_PRUNIT)
- D1_TOTAL = 366,90 [Errado] (Levado ao C6_VALOR)
- D1_DESC = 0 [Vazio no exemplo] (C6_VALDESC)
Pedido de Vendas (MATA410) [Ao usar a função Retornar]:
- C6_QTDVEN = 3,67
- C6_PRCVEN = 99,97 [99,972752043 (...) calculado pela divisão do total (366,90) pelo valor do item (3,67), que veio errado do documento de entrada e, depois o sistema ainda ajusta para duas casas decimais que é a quantidade decimal do campo no ambiente do exemplo]
- C6_PRUNIT = 99,99
- C6_VALOR = 366,90
- C6_VALDESC = 0
99,99 [Resultado da fórmula acima] é diferente de 99,97 [C6_PRCVEN] então o Help acontecerá.
Causa 2 - Decimais de todos os campos com quantidade decimal diferentes entre si.
Causa 3 - Customizações em campos e gatilhos da tabela SC6 sobre campos/gatilhos de preços, quantidades e totalizadores.
Solução
Solução da causa 1:
- A - Exclua a devolução dos pedidos de venda que referenciam o documento de entrada.
- B - Crie um novo documento de entrada informando corretamente o total do item (D1_TOTAL) corretamente, truncando ou arredondando com margem máxima de 0,01.
Solução da causa 2:
- A - Ajustar todos os campos com a mesma quantidade decimal de acordo com a documentação: FAT068 - Aumento de decimais
- B - Rodar as rotinas de recálculo de saldos de acordo com a documentação: FAT068 - Aumento de decimais
Solução da causa 3:
- A - Retirar/validar as customizações nos fontes do faturamento.
- B - Retirar/validar as customizações nos campos/gatilhos da tabela SC6.
- C - Retirar/validar as customizações nos campos/gatilhos da tabela SD1.
0 Comentários