Ir para conteúdo
  • Cadastre-se

dev botao

Percentual de Desconto


wilson_jr
  • Este tópico foi criado há 4022 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Bom dia Caros,

Eu utilizo o componente ACBrNFeDANFERaveCB para a emissão do Danfe, e verifiquei que no arquivo ACBrNFeDANFERaveDM foi retirado o Round do calculo do percentual do desconto.

Não entendo muito bem como é o funcionamento dos componentes.

Quando faço alguma nota que tem um desconto de por exemplo 30,13 no danfe sai 30,20.

Neste caso o item no valor de R$20 com desconto de 30,13 ou (R$6,026) quando passo para o componente já passo arredondado (R$6,03) o percentual do desconto daria (30,15) mas no danfe apresenta 30,20.

Alguém saberia me informar se tem como ajustar esse calculo que é feito, ou como faço para mudar do ACBrNFeDANFERaveCB para o ACBrNFeDANFERaveDM ?

Grato.

Wilson.

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Imprimi normalmente seu XML conforme pode ser visto nos PDFs abaixo.

desconto_porc.pdf

desconto_liquido.pdf

desconto.pdf

djsystem-logo.png
 youtube.png facebook.png instagram.png linkedin.png
André Ferreira de Moraes | Analista de Sistemas
www.djsystem.com.br | www.djpdv.com.br
www.tefhouse.com.br | www.lambretinha.com.br
Link para o comentário
Compartilhar em outros sites

  • 2 meses depois ...

Bom dia André,

Retornando nesse assunto não consegui ter o resultado esperado, estou mandando novamente o xml e pdf.

Os itens originalmente tiveram um desconto de 33.16 %, mas depois do arredondamento do item o desconto ficaria 33.15%

item R$65 - 33.16% = 43.4525

Desconto = 21.5475, depois de arredondado fica 21.55

Quando mando para o componente o valor de 65 e desconto de 21.55 teria que gerar o percentual de 33.15

43.45 / 65 = 0.6684615

0.6684615 * 100 = 66.84615

100 - 66.84615 = 33.15385

mas ainda mostra 33.20

Localizei na unit ACBrDANFeCBRaveRetrato a linha onde é feito o calculo do percentual:

PrintTab(NotaUtil.FormatFloat(RoundTo(100-((((Prod.VUnCom*Prod.QCom)-Prod.vDesc)/(Prod.VUnCom*Prod.QCom))*100),-1))+'%')

Quando retiro o RoundTo me retorna o 33.15, e se passo o valor sem arredondar do desconto 21.554 é retornado o 33.16% que necessito.

Teria como verificar?

Grato.

35110604528398000194550020000019811000019812.pdf

35110604528398000194550020000019811000019812-nfe.xml

Link para o comentário
Compartilhar em outros sites

Bom dia André,

Retirando o RoundTo na impressão ficou corretamente, porém ao gerar o PDF a partir do xml não dá certo.

O problema é que o desconto já esta arredondado, assim como o valor total, ainda não descobri uma solução para isso.

Ex: 49.90 - 15% = 42.415, mando esse valor para o componente (7.485 de desconto), ele imprime os 15% na nota. blz

Porém no xml ele salva o valor do desconto com 2 casas (7.49) e o valor total (42.42), quando é calculado novamente

100-(((49.90-7.49)/(49.90))*100) = 15.01%

Se alguém souber de algo ficarei grato.

Wilson.

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Leia o manual de integração - http://www.nfe.fazenda.gov.br/portal/ex ... lLdxB/oYA=

O campo desconto só permite 2 casas decimais.

djsystem-logo.png
 youtube.png facebook.png instagram.png linkedin.png
André Ferreira de Moraes | Analista de Sistemas
www.djsystem.com.br | www.djpdv.com.br
www.tefhouse.com.br | www.lambretinha.com.br
Link para o comentário
Compartilhar em outros sites

Sim, exato.

Porém com esses campos salvos no XML não consegui fazer os calculos, pois eles já ficam arredondados e as vezes a porcentagem ficava maior ou menor do que o esperado.

Consegui resolver da seguinte maneira:

troquei a linha : PrintTab(NotaUtil.FormatFloat(RoundTo(100-((((Prod.VUnCom*Prod.QCom)-Prod.vDesc)/(Prod.VUnCom*Prod.QCom))*100),-1))+'%')

por: PrintTab(NotaUtil.FormatFloat(100-(((Prod.VUnTrib)/(Prod.VUnCom))*100))+'%')

Antes estava mandando o VUnTrib = VUnCom, agora no campo VUnTrib estou salvando sempre o valor unitário exato, como no manual fala que é um "campo meramente informativo", faço assim:

vUnCom= 49.9000000000

vProd = 42.42

vUnTrib = 42.4150000000

vDesc = 7.485

(100-(((42.415)/(49.9))*100)) = 15

Na conta antiga daria 15.01

Foi a unica forma que encontrei para fazer bater os calculos.

att,

Wilson.

Link para o comentário
Compartilhar em outros sites

  • 10 meses depois ...

Bom dia colegas,

Gostaria de saber se é possivel, incluir mais uma variavel para ser utilizada na impressão do danfe enviando o percentual de desconto, por exemplo vDescPerc, assim na impressão do danfe caso este campo esteja preenchido envia para o danfe este valor, em vez de usar o calculo atual.

É claro que isso funcionaria somente na impressão, pois na re-impressão, este campo estaria vazio e assim utilizaria o calculo normal.

Caso os moderadores do projeto aceitem, posso fazer isso, e mandar para que vocês avaliem e se aceitar atualizar o projeto.

Aguardo considerações.

Grato.

Att,

Wilson.

Link para o comentário
Compartilhar em outros sites

Porque o percentual de desconto que aparece no danfe não é o mesmo que foi dado, como já foi mencionado anteriormente no exemplo que dei do valor de 33.16% depois dos calculos sai 33.15 ou 33.17 dependendo do valor, pois utilizamos valores arredondados.

Já tinha solucionado isso fazendo um ajuste no componente, mas ai toda vez que iria atualizar tinha que ficar mudando o fonte, não queria ter que fazer isso novamente.

Att,

Wilson.

Link para o comentário
Compartilhar em outros sites

  • 10 meses depois ...

Bom dia a todos.

 

Estou com o mesmo problema do Wlison, só que tem um agravante no meu caso.

Eu utilizo o AcbrNfeMonitor e nao consigo alterar nada.

Estou tentando tirar uma nota em que o desconto tem que ser de 49,94%.

Peguei no Log do monitor os dados que ele recebe, conforme abaixo:

 

Quantidade=12000.000

ValorUnitario=5.90000

ValorDesconto=35357.52

ValorTotal=70800.00

 

Se fizermos o seguinte calculo: Percentual de desconto = ValorDesconto / ValorTotal = 35357.52 / 70800 = 0.4994 = 49.94%

Porem, na danfe o desconto sai como 49,90% o que gerou um "chilique" no cliente.

Será que voces podem me ajudar?

 

atenciosamente,

 

Flávio

6391.pdf

35130354210430000167550010000063911000063910-nfe.xml

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Qual versão vc está utilizando?

Eu testei com a 0.7.6.0 que está disponível para download geral e não está com este problema.

Imprimi usando o teu XML.

 

 

 

 

 

 

 

Consegui reproduzir o erro. Imprimindo o DANFE no modo RaveCB acontece a situação relatada.

Ai tem que aguardar. Como vc é usuário SAC sugiro que abra um tópico no forum  ACBr SAC para relatar este problema.

 

 

Obs.: O primeiro anexo teste.pdf está modo RAVE e o testeemravecb.pdf está no modo RAVECB e apareceu o erro relatado.

teste.pdf

testeemravecb.pdf

Editado por Kiko Fernandes


logoacbr.pngConheça o Portal do Projeto ACBr

Ajude o Projeto ACBr crescer - Assine o SAC ACBr
Assine um dos planos de longa duração do SAC ACBr, obtenha Descontos Especiais, Parcele no Cartão e ainda ganhe Brindes Exclusivos. Saiba mais aqui

Conheça o ACBrLib, o ACBr de forma nativa para qualquer linguagem de programação. Saiba mais aqui

 

 

 

 

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Oi Flávio! Boa tarde!

Vc viu no comentário que no modelo RAVE não acontece este erro né?  Vc pode usar o modelo RAVE?

O arquivo que eu anexei com o nome teste.pdf foi feito com o teu xml.


logoacbr.pngConheça o Portal do Projeto ACBr

Ajude o Projeto ACBr crescer - Assine o SAC ACBr
Assine um dos planos de longa duração do SAC ACBr, obtenha Descontos Especiais, Parcele no Cartão e ainda ganhe Brindes Exclusivos. Saiba mais aqui

Conheça o ACBrLib, o ACBr de forma nativa para qualquer linguagem de programação. Saiba mais aqui

 

 

 

 

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Não precisa ter vergonha não :-P, a finalidade do fórum é exatamente auxiliar e tirar as dúvidas do que for possível.

Eu não percebi nenhuma diferença a não ser de layout (vc pode perceber no comprovante de entrega que é um pouquinho diferente, as linhas, maneira que aparecem a descrição dos campos, etc), há e me parece que algumas colunas a mais que constam nele, mas não observei a fundo. Eu sempre usei o modelo RAVE, na minha opinião acho mais bonito. Por isto que perguntei  :-P, pois na verdade queria descobrir se havia um motivo especifico para usar o modelo RAVECB. Se vc passar para RAVE mesmo no modo retrato, estará resolvido seu problema. Caso descubra algum motivo pelo qual vc não poderá usar o modelo RAVE ou algum colega aqui souber, por favor comentem que também estarei aprendendo um pouco mais sobre esta ferramenta!

Espero que resolva seu problema! Um abraço! té+


logoacbr.pngConheça o Portal do Projeto ACBr

Ajude o Projeto ACBr crescer - Assine o SAC ACBr
Assine um dos planos de longa duração do SAC ACBr, obtenha Descontos Especiais, Parcele no Cartão e ainda ganhe Brindes Exclusivos. Saiba mais aqui

Conheça o ACBrLib, o ACBr de forma nativa para qualquer linguagem de programação. Saiba mais aqui

 

 

 

 

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 4022 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.