Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Ola Boa Tarde, quando Gero uma NFe, no xml esta saindo 4 casas apos a virgula, conforme anexo 

 

como corrigir para 1.320,00

 

tanto na NFE como no MDFE esta com esse numeros apos a virgula a mais.

 

 

Obrigado

 

 

 

xml.png

  • Moderadores
Postado
3 horas atrás, Valtenci Santos disse:

Ola Boa Tarde, quando Gero uma NFe, no xml esta saindo 4 casas apos a virgula, conforme anexo 

como corrigir para 1.320,00

tanto na NFE como no MDFE esta com esse numeros apos a virgula a mais.

Não tem o que corrigir...

No XML o ACBr grava usando o máximo de casas decimais permitidas para o campo.

No caso do qCom são 4 casas.

No caso do vUnCom são 10 casas.

Pode dizer porque isso é um problema pra você?

Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

  • 1 mês depois ...
Postado
Em 09/12/2017 at 17:52, BigWings disse:

Não tem o que corrigir...

No XML o ACBr grava usando o máximo de casas decimais permitidas para o campo.

No caso do qCom são 4 casas.

No caso do vUnCom são 10 casas.

Pode dizer porque isso é um problema pra você?

Não vem a ser um problema as 4 casas, o problema é que gera a 4ª casa com 0,0001. Esse 1 no final que gera problemas nos cálculos e o sefaz não autoriza da NFe. Tem como não gerar esse 1 no final?

- <prod>
  <cProd>265177</cProd>
  <cEAN>4718390028110</cEAN>
  <xProd>DRIVE DVD-RW SATA</xProd>
  <NCM>16023230</NCM>
  <CFOP>5101</CFOP>
  <uCom>UND</uCom>
  <qCom>1.1201</qCom>  Valor que está no banco de dados é: 1.12 e o xml é gerado como 1.1201
  <vUnCom>96.7620000000</vUnCom>
  <vProd>108.37</vProd>
  <cEANTrib>4718390028110</cEANTrib>
  <uTrib>UND</uTrib>
  <qTrib>1.1201</qTrib>
  <vUnTrib>96.7620000000</vUnTrib>
  <indTot>1</indTot>
  </prod>
Postado
1 hora atrás, Cristiano Caritá disse:

Arredonde para duas casas decimais o valor que você pegou do banco de dados quando for associar à propriedade qCom no produto da NFe. Isso é um problema comum nas variáveis de ponto flutuante.

Vou testar Cristiano, o problema é o cliente necessita em alguns casos 3 casas.

eu achei na linha 309 do arquivo PCNCFeW.pas

Gerador.wCampo(tcDe2, 'I08 ', 'qCom    ', 05, 15, 1, CFe.Det.Prod.qCom, DSC_QCOM);

Que força a quantidade ter sempre 2 casas. Eu alterei para tcDe4  4 casas e deu certo. Se eu enviar 1.12 vai ficar 1.1200(correto) ou se enviar 1.1235 vai ficar 1.1235(correto)

Cabe aos moderadores opinar a respeito para ver como podemos resolver... ou subir essa alteração

Postado

Interessante é que eu uso rotineiramente 3 casas decimais (para itens vendidos por kg) e nunca tive esse tipo de problema. Por favor verifique se o arredondamento adequado está sendo feito ao salvar os dados no banco de dados. Preferencialmente, evite o uso de ponto flutuante nos campos que armazenam valores no banco de dados (use decimal, money, currency ou equivalente para evitar erros de arredondamento)

Postado
1 minuto atrás, Cristiano Caritá disse:

Interessante é que eu uso rotineiramente 3 casas decimais (para itens vendidos por kg) e nunca tive esse tipo de problema. Por favor verifique se o arredondamento adequado está sendo feito ao salvar os dados no banco de dados. Preferencialmente, evite o uso de ponto flutuante nos campos que armazenam valores no banco de dados (use decimal, money, currency ou equivalente para evitar erros de arredondamento)

No banco de Dados salva no campo qCom 1.12. O XML é gerado como 1.1201.

 

  • Moderadores
Postado
1 hora atrás, CertaSolucoes disse:

eu achei na linha 309 do arquivo PCNCFeW.pas

Gerador.wCampo(tcDe2, 'I08 ', 'qCom    ', 05, 15, 1, CFe.Det.Prod.qCom, DSC_QCOM);

Que força a quantidade ter sempre 2 casas. Eu alterei para tcDe4  4 casas e deu certo. Se eu enviar 1.12 vai ficar 1.1200(correto) ou se enviar 1.1235 vai ficar 1.1235(correto)

Você está falando de NFe ou SAT?

Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

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