Ir para conteúdo
  • Cadastre-se

dev botao

Mais De 4 Casas Decimais Nos Campos Vuncom E Vuntrib


Ver Solução Respondido por Jefferson Rodrigo Speck,
  • Este tópico foi criado há 3815 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado (editado)

Boa tarde caros colegas.

 

Estou com um problema relacionado a quantidade de casas decimais nos campos vUnTrib e vUnCom. Varri todos os tópicos que encontrei sobre o assunto, porém nada que pudesse ter me auxiliado, sendo assim explicarei como estou emitindo esse documento fiscal.

 

Quantidade: 27500,00

Valor Total: 77590,08

 

Valor unitário: 2,8214574545 (10 casas).

 

No XML ficou da seguinte forma (4 casas).

 

<vUnCom>2.8215000000</vUnCom>

<vProd>77590.08</vProd>

<cEANTrib/>

<uTrib>UN</uTrib>

<qTrib>27500.0000</qTrib>

<vUnTrib>2.8215000000</vUnTrib>

 

Porém: 2.8215 * 27500 = 77591,25

 

Lembrando que em meu caso eu tenho que emitir valor total de 77590,08 e quantidade de 27500 pois os documentos de importação foram emitidos nesse valor, sendo possível apenas variar o valor unitário.
Para esse meu cliente eu fui e modifiquei o XML na mão, e adicionei as demais casas decimais, conforme abaixo.

 

<qCom>27500.0000</qCom>
<vUnCom>2.8214574545</vUnCom>
<vProd>77590.08</vProd>
<cEANTrib/>
<uTrib>KG</uTrib>
<qTrib>27500.0000</qTrib>
<vUnTrib>2.8214574545</vUnTrib>
 
Dessa forma a nota fiscal foi aprovada. 
 
Minhas perguntas são: 
Existe como mudar isso, ou seja, configuração para mais casas decimais?
Alguém já encontrou esse problema e achou outra solução?
Editado por Jefferson Rodrigo Speck
  • Solution
Postado

Olá italojjr.

 

Obrigado pela prontidão em me responder.

Eu já havia conferido sobre ser double e estava correto, pois atualizo meus fontes com frequência.

 

Descobri o problema.

 

Eu calculava o valor unitário dividindo valor total pela quantidade, mas como eu buscava esse valores do banco, e lá estão numeric, o próprio Delphi estava arredondando o resultado.

 

Para resolver coloquei os valores em variáveis double, e fiz a divisão entre elas, dai ficou ok.

 

Obrigado novamente pela ajuda.

  • Este tópico foi criado há 3815 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.