Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Boa noite,

Já vi alguns tópicos no assunto e até onde entendi há um número máximo de casas decimais para o preço unitário - que é 2 exceto no caso de combustíveis que se pode usar 3.

Com base nisso gostaria de entender por que a tag vUnCom e a tag vUnTrib sempre saem com 10 casas decimais na xml. 

Como só estou utilizando o acbr para gerar o xml - o cliente utiliza um sistema terceirizado para ingerir a xml assinar gerar a danfe e manter o backup de todos arquivos - o que acaba acontecendo é que a danfe é gerada exatamente como consta na tag do xml ou seja com 10 casas decimais no valor unitário, a largura da coluna não é suficiente e então cada produto fica com o preço em 2 linhas com um truncamento dos zeros depois da vírgula.

O procedimento que estou fazendo depois de fazer atualizações com o repositório do projeto é alterar o arquivo pcnNFeW.pas no método TNFeW.GerarDetProd a linha

 Gerador.wCampo(IIf(NFe.infNFe.Versao >= 2,tcDe10,tcDe4),'I10a', 'vUnCom  ', 00, 21, 1, nfe.Det.Prod.vUnCom, DSC_VUNCOM);

estou alterando para 

Gerador.wCampo(IIf(NFe.infNFe.Versao >= 2,tcDe6,tcDe4),'I10a', 'vUnCom  ', 00, 21, 1, nfe.Det.Prod.vUnCom, DSC_VUNCOM); 

Entretanto o ideal seria manter exatamente como está no repositório uma vez que é muito mais certo de estar atualizado com a legislação vigente. 

Com base nisso pergunto a xml é correto ficar com 10 casas decimais? Se for correto mesmo assim a danfe obrigatoriamente tem de apresentar apenas 2 casas? Se for isso eu irei solicitar o cliente a entrar em contato com a empresa que faz a geração da danfe. 

Agradeço antecipadamente.

 

 

Postado
13 horas atrás, Maps disse:

Já vi alguns tópicos no assunto e até onde entendi há um número máximo de casas decimais para o preço unitário - que é 2 exceto no caso de combustíveis que se pode usar 3.

 

Na realidade seu entendimento foi equivocado. Nas NFe o limite de 2 casas decimais não se aplica ao valor unitario dos itens, apenas ao valor total do item. E inclusive para combustiveis também seria 2 casas apenas no total do item.

Portanto vc pode sim trabalhar até com 10 casas decimais se assim desejar

  • Curtir 1
Postado

Eu estava então com uma ideia errada do numero de casas decimais.

Mas de qualquer maneira, o meu cliente não quer ter 10 casas decimais no valor unitário não, até por que como expliquei a largura do campo na danfe não suporta o valor antes da virgula e mais 10 casas de zeros, truncando a linha desta maneira. 

Se então é viável se utilizar até 10 casas decimais, pergunto se há uma maneira de se configurar no componente que se deseja apenas 2 ou 4 casas decimais? Acredito que eu tenha visto um comando para isso ou similar mas para a danfe não para se configurar o xml. A minha visão é sempre de interferir o menos possível com o código do repositório caso contrário sempre se fica no dilema atualizar ou não o repositório, logo se for possível se manter o sistema atualizado sem que se tenha de alterar os fontes após cada atualização do repositório isto seria o ideal.

Agradeço antecipadamente.

 

Postado

Mesmo o XML tendo 10 casas decimais, o DANFe não precisa obrigatoriamente ter as 10 casas. E o numero de casas decimais do Danfe vc configura facilmente em uma propriedade do Componente.

Quanto a ter 10 casas dentro do XML, não vejo em que isso atrapalharia.

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