DESCONTO COM VERIFICAÇÃO DE VALOR DE SUBTOTAL
Criei o seguinte exemplo:
Possuo um venda na tela com 4 produtos (4 registros)... com VALOR, QUANTIDADE e SUBTOTAL(valor x quantidade), DESCONTO e TOTAL (subtotal - desconto).
Coloquei 4 produtos... e dei um desconto de 10,00 reais
Sistema ver quantas linhas tem, divide 10 reais por essa quantidade e definiu que o desconto é 2,50 para cada item
vDescItensVenda = 2,50 'desconto de cada item fica nessa variável
Ai ao fechar a venda, ela atualiza aquela venda colocando o desconto de cada item e recalculando o TOTAL... assim:
sSQL = "UPDATE pedidos_itens SET desconto = " & Replace(CCur(vDescItensVenda), ",", ".") & ", total = subtotal - " & Replace(CCur(vDescItensVenda), ",", ".") & ", data = '" & Format$(txtDataCompra, "yyyy-dd-MM") & "' where (cod_pedido = " & txtCodPedido.Text & ")"
Ai me surguiu a seguinte questão:
-Se um produto da lista custar (SUBTOTAL) menos que o desconto?
Desconto de 2,50 e o produto custa 1,80...
Como iria verificar isso?
Dai surgiu outra duvida:
-Digamos que eu tenho que dar 2,50 de desconto em cada produto... caso verifique que o SUBTOTAL é menor que o DESCONTO e eu pule ele... como ficaria o desconto para os demais itens?
Alguem tem alguma solução para desconto para produtos?
Veja este exemplo:
Você foi ao bar com dois amigos.
A conta deu 25 reais.
Cada um de vocês deu uma nota de 10.
O garçom pegou o dinheiro e levou no caixa.
O caixa deu 5 moedas de um real.
Vocês deram dois reais de gorgeta para o garçom.
Sobraram 3 moedas de um, e cada um de vocês ficou com uma, logo é como se tivesse pago apenas 9 reais cada.
Então 9 reais de cada um de vocês(27), mais os dois do garçom, 29.
Onde está o erro?
Como deveria fazer? Já que a venda tem 10 reais de desconto para distribuir pelo produtos igualmente!
Faça isso em percentual, não por quantidade de itens.
Descubra o percentual do desconto do total da venda e aplique esse percentual nos itens.
Ex: Sub Total=25,00
Desc: 10,00
10,00 x 100 / 25,00=40%
cada item terá desconto de 40%.
Citação:Você quer ratear o desconto entre os itens, Talvez seja para o SAT Fiscal.Faça isso em percentual, não por quantidade de itens.Descubra o percentual do desconto do total da venda e aplique esse percentual nos itens.Ex: Sub Total=25,00Desc: 10,0010,00 x 100 / 25,00=40%cada item terá desconto de 40%.
Já fiz isso, realmente resolve 99% do caso...
Porém me deparei em alguns casos para a mais 0,01 ou faltar 0,01 centavos na hora de transmitir... porque existe o arrendondamento em caso de um desconto com a porcentagem com muita casas decimais... ai ao arrendodar, passou ou falta 0,01 em alguns caso!
O que vc fez para resolver isso?
Citação:Já fiz isso, realmente resolve 99% do caso...
Porém me deparei em alguns casos para a mais 0,01 ou faltar 0,01 centavos na hora de transmitir... porque existe o arrendondamento em caso de um desconto com a porcentagem com muita casas decimais... ai ao arrendodar, passou ou falta 0,01 em alguns caso!
Essa diferença eu acrescento ou subtraio do ultimo item.
Citação:No Ultimo Item.
Tem como postar aqui como vc fez para ver a diferença e acrescentar no ultimo item ?
1) Supondo que o valor total seja R$ 65,00 e você proceda R$ 10,00 de desconto, portanto você deu 15,3846% de desconto.
2) Percorra os itens da lista e dê 15,3846% de desconto em cada um deles, assim todos os itens terão um desconto relativo a quanto influem no total da nota, sendo que nenhum produto de apenas R$ 0,50 (por exemplo) vai ter um desconto maior do que o valor do próprio item, uma vez que o desconto nos itens está sendo feito em percentual e não valor em R$.
3) A soma dos descontos EM REAIS em todos os itens precisa ser exatamente de R$ 10,00, mas como o percentual de desconto é fracionário, pode ser que somando todos os valores em R$ dos itens se chegue, por exemplo, em R$ 9,98 (faltando 2 centavos para R$ 10,00), então estes 2 centavos você ACRESCENTA nos descontos do item com maior valor e se a soma dos descontos for, por exemplo, R$ 10,01 (1 centavo a mais), então você DIMINUI 1 centavo no item com maior valor.
EDITADO: Quando falo em "valor do item" estou me referindo ao subtotal, pois pode haver um produto de R$ 0,50 centavos, mas com 1.000 unidades, que terá um subtotal maior do que um produto de R$ 200,00 com apenas 1 unidade,.
Citação:Colega, você precisa usar rateio HARMÔNICO, da seguinte forma:1) Supondo que o valor total seja R$ 65,00 e você proceda R$ 10,00 de desconto, portanto você deu 15,3846% de desconto.2) Percorra os itens da lista e dê 15,3846% de desconto em cada um deles, assim todos os itens terão um desconto relativo a quanto influem no total da nota, sendo que nenhum produto de apenas R$ 0,50 (por exemplo) vai ter um desconto maior do que o valor do próprio item, uma vez que o desconto nos itens está sendo feito em percentual e não valor em R$.3) A soma dos descontos EM REAIS em todos os itens precisa ser exatamente de R$ 10,00, mas como o percentual de desconto é fracionário, pode ser que somando todos os valores em R$ dos itens se chegue, por exemplo, em R$ 9,98 (faltando 2 centavos para R$ 10,00), então estes 2 centavos você ACRESCENTA nos descontos do item com maior valor e se a soma dos descontos for, por exemplo, R$ 10,01 (1 centavo a mais), então você DIMINUI 1 centavo no item com maior valor.EDITADO: Quando falo em "valor do item" estou me referindo ao subtotal, pois pode haver um produto de R$ 0,50 centavos, mas com 1.000 unidades, que terá um subtotal maior do que um produto de R$ 200,00 com apenas 1 unidade,.
Justamente nesse 3 clausula que estou perdido..
Ver quanto passou ou faltou para bater os 10 reais de desconto, procurar o item de maior subtotal e acrescentar/retirar nele o centavos no desconto
Aliás muito importante ter esta coluna até para que em consultas você possa informar os valores de desconto que foram dados para cada item, o que obriga que em seu banco de dados, na tabela para itens dos documentos tenha um campo destinado a conter estes valores de descontos, assim como imagino que já tenha para quantidade, por exemplo.