Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado (editado)

Pessoal, tenho no banco de dados MySQL campos double com 4 casas decimais.

eles são armazenados assim:

99.8085
0.1904
0.0011
Mas, de forma aleatória, ao gerar o XML, ficam assim:
<pGLP>99.8086</pGLP>
<pGNn>0.1905</pGNn>
<pGNi>0.0012</pGNi>
 
Seria o delphi ou o a ACBr quem modifica esses valores? Sendo que eu só passo pro ACBR dessa forma:
 Prod.comb.pGLP := MyQrItensNFepGLP_anp.AsCurrency;            
 Prod.comb.pGNn := MyQrItensNFepGNn_anp.AsCurrency;
 Prod.comb.pGNi := MyQrItensNFepGNi_anp.AsCurrency; 
 
Obs.: Tentei AsFloat sem sucesso. Duas ou tres notas ficam certas e outra gera com problema e o sefaz devolve.
De que forma devo usar o RoundABNT para que o valor 99.8084 fique sendo sempre 99.8084? ele está no banco de dados dessa forma.
Editado por Ademir P. Voigt
Postado
14 horas atrás, Ademir P. Voigt disse:
Obs.: Tentei AsFloat sem sucesso. Duas ou tres notas ficam certas e outra gera com problema e o sefaz devolve.
De que forma devo usar o RoundABNT para que o valor 99.8084 fique sendo sempre 99.8084? ele está no banco de dados dessa forma.

Provavelmente sua consulta está retornando os valores incorretos, ACBr e o Delphi, mantêm o valor informado.

image.png.dd7f0553795f614ff3a68aab55e33292.png

_____________

Prates, Agnaldo

Postado

Bom dia!

Obrigado pelo retorno Agnaldo!

A Consulta traz sempre certo. Debuguei e Coloquei um showmessage na tela e nunca retornou a consulta com alterações, isso só é visto no XML.

Vc poderia, por gentileza, me ceder esse projeto de calculos?

Postado
46 minutos atrás, Agnaldo Prates disse:

Provavelmente sua consulta está retornando os valores incorretos, ACBr e o Delphi, mantêm o valor informado.

image.png.dd7f0553795f614ff3a68aab55e33292.png

Realmente é a consulta

image.png.595fbd13b4857ee7b11306283cd85d03.png

Alguma ideia de como resolver?

Postado
14 minutos atrás, Ademir P. Voigt disse:

Agora a consulta traz sempre correto, mas depois da passagem do pro ACBR o campo do ACBr adicinar um valor na 4ª casa decimal

image.png.0710409c86716269c3bbf5b58bd5f1a3.png

Tente desta forma:

 Prod.comb.pGLP := RoundABNT(MyQrItensNFepGLP_anp.AsCurrency,4);
 Prod.comb.pGNn := RoundABNT(MyQrItensNFepGNn_anp.AsCurrency,4);
 Prod.comb.pGNi := RoundABNT(MyQrItensNFepGNi_anp.AsCurrency,4);

_____________

Prates, Agnaldo

  • Solution
Postado
4 horas atrás, Agnaldo Prates disse:

Tente desta forma:

 Prod.comb.pGLP := RoundABNT(MyQrItensNFepGLP_anp.AsCurrency,4);
 Prod.comb.pGNn := RoundABNT(MyQrItensNFepGNn_anp.AsCurrency,4);
 Prod.comb.pGNi := RoundABNT(MyQrItensNFepGNi_anp.AsCurrency,4);

Gato pela ajuda. Na verdade com alguns ajustes inetrnos no fonte conseguimos contornar. Mas não estou arredondando, devia ser coisa do delphi.

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