Ir para conteúdo
  • Cadastre-se

dev botao

Problemas com casas decimais


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

Recommended Posts

  • Membros Pro

Oi Amigos,

Estou com um problema que no início achei que seria simples mas tornou-se uma dor de cabeça.

Trabalho com delphi 7 e firebird 2.01. Na minha tabela de itens da nota fiscal eu tenho o campo

VLRUNIT TIPO NUMERIC 12,4 E QUANT TIPO NUMERIC 12,4. No meu sistema só aceito até 4 casas

decimais para esses campos. Até aí tudo bem, eu gravo os valores com 4 casas e tudo certinho.

Porém, quando vou gerar o xml da nfe o valor gravado na tabela que era 9,8721 passa a ser 9,87

e com isso a nota é rejeitada pois o valor unitário e quantidade não conferem com o valor total.

Já tentei converter para string e devolver como float e nada.

Alguém já passou por isso e pode me ajudar?

Grato desde já,

Rodrigo Cardilo

Card System Info

[email protected]

Rodrigo Cardilo

Card System Info

[email protected]

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Rodrigo, eu uso somente o modo Monitor, porem na configuração dele possui opção de 2 a 4 decimais para quantidade e valor unitário tem opção para até 10 decimais. Como o modo monitor deve seguir e ser compatível com o componente, eu acredito que deve existir estas variaveis de configuração que faltam ser setadas por você.

Infelizmente não vou poder te informar aonde, pois não possuo um conhecimento aprofundado do componente.


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

Bastaria preencher os campos com o valor passando a quantidade de casas decimais corretas, o componente já gera no formato correto.

Você verificou se o valor que está passando para as propriedades está mesmo com as cadas decimais desejadas?

Equipe ACBr

Régys Borges da Silveira

http://www.regys.com.br

certificacao delphicertificacao delphi
Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Bastaria preencher os campos com o valor passando a quantidade de casas decimais corretas, o componente já gera no formato correto.

Você verificou se o valor que está passando para as propriedades está mesmo com as cadas decimais desejadas?

Oi Regys,

O problema é que o valor já sai do banco de dados errado. O componente que uso para impressão é o ACBrNFeDANFeRL.

Nele eu já configurei as Casas Decimais sendo _qCom = 4 e _vUnCom = 4 e _Mask_qCom = 0.0000 e _Mask_vUnCom = 0.0000.

No xml ele aparece assim:

115

PARTES DE SHORT SARJA DETONADO

62046200

6902

UN

490.0000

11.1600000000

5390.00

UN

490.0000

11.0000000000

1

O campo vUnCom no meu banco de dados é 11,1631. Esse é o grande problema.

O comando que eu uso pra jogar esse valor é o:

Prod.vUnCom := DM1.TB08410VLRUNIT.asFloat ;

Se eu der um showmessage do campo da tabela (ShowMessage(DM1.TB08410VLRUNIT.AsString)) aparece

somente 11,16 também. Não sei porque não pega o restante dos campos. Já estou maluco com isso.

Se você tiver alguma idéia do que pode ser fico grato,

Abraço

Rodrigo Cardilo

Card System Info

[email protected]

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Então se já sai do banco de dados errado, então é coisa ai na tua aplicação.

Você teria que verificar no banco de dados como a sua seleção retorno, se retorna certo então verifique se o componente de acesso aos dados e os tfields estão corretos.

Equipe ACBr

Régys Borges da Silveira

http://www.regys.com.br

certificacao delphicertificacao delphi
Link para o comentário
Compartilhar em outros sites

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