Linha de Produto: | Bematech Loja |
---|---|
Segmento: | Varejo |
Módulo: | Bematech PDV |
Função: | Vendas |
Ticket: | |
Requisito/Story/Issue (informe o requisito relacionado) : | DVARPDV-1180 |
Ao finalizar uma venda com desconto ocorre o erro "Cód. Sefaz:865, Status: Total dos pagamentos menor que o total da nota, VPag 49.80 - vNF49.81".
Verificado que na rotina de desconto do PDV sempre que é dado um valor de desconto o mesmo faz o calculo para descobrir a porcentagem equivalente, e para NFCe existe a questão do rateio , ou seja, após aplicar os descontos o PDV entra nessa rotina e refaz todos os cálculos.
Porém para refazer os cálculos o PDV faz a leitura dos arquivos dbf's e no arquivo a gravação estava truncando em 2 casas decimais causando a falha no cálculo.
Segue exemplo abaixo:
Produto 1 = 89,9 * 3 = 269,7
Foram vendidos 3 produtos com o desconto através da tecla "V" para sair a 84,00, chegando a um total de 252,00.
Para fazer o calculo do desconto basta subtrair 269,7 - 252 = 17,70.
Então o PDV faz o calculo para descobrir a porcentagem: (17,7 / 269,7) * 100 = 6,562848
Valor gravado no DBF = 6,56
Ou seja,
6,56% de 269,7 = 17,69232 (Arredondando) 17,69
6,562848% de 269,7 = 17,700001056 (Arrendondando) 17,70
Como solução foi aumentado as casas decimais do campo de desconto do mvend.dbf