Jump to content

dev botao

Alíquota com 4 casas decimais no Bloco A170


Go to solution Solved by EMBarbosa,
  • Este tópico foi criado há 420 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Posted (edited)

Olá bom dia a todos !

Tenho uma situação em que um cliente usa uma alíquota de 1,2375 para gerar o bloco A170, analisando o fonte percebi que o mesmo sempre arredonda esse conteúdo para duas casas gerando assim diversos erro no validador porque o cálculos dos valores foram feitos com o valor acima. Para resolver meu problema adotei o mesmo critério feito para o bloco D do mesmo sped.

Segue abaixo o arquivo do fonte para análise.

Alterações feitas nas linhas 505 e 509.

Grato a todos e um excelente final de ano.

ACBrEPCBloco_A_Class.pas

Edited by Enderson
  • Consultores
Posted

Boa tarde,

Você teria uma documentação que justifique essa alteração?

A documentação que consultei especifica 2 casas decimais para esses campos.

http://sped.rfb.gov.br/arquivo/show/5836

 

Consultor SAC ACBr

Alexandre de Paula
Ajude o Projeto ACBr crescer - Assine o SAC                    

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  ícone Discórdia Discord   

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

 

 

  • Consultores
Posted

Criada a TK-4874 para avaliação.

Obrigado pela contribuição!

Consultor SAC ACBr

Alexandre de Paula
Ajude o Projeto ACBr crescer - Assine o SAC                    

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  ícone Discórdia Discord   

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

 

 

Posted

Olá senhores bom dia a todos,

Referente ao post original no bloco A também foi identificado no bloco M os registros 100 e 500 com a mesma situação.

Foi modificado as linhas: Bloco M100 linhas: 564 e 566;  M500 linhas: 1149 e 1151; 

Grato.

ACBrEPCBloco_M_Class.pas

  • Like 1
  • Consultores
  • Solution
Posted
Em 18/12/2023 at 11:52, Enderson disse:

Olá bom dia a todos !

Tenho uma situação em que um cliente usa uma alíquota de 1,2375 para gerar o bloco A170, analisando o fonte percebi que o mesmo sempre arredonda esse conteúdo para duas casas gerando assim diversos erro no validador porque o cálculos dos valores foram feitos com o valor acima. Para resolver meu problema adotei o mesmo critério feito para o bloco D do mesmo sped.

Segue abaixo o arquivo do fonte para análise.

Alterações feitas nas linhas 505 e 509.

Grato a todos e um excelente final de ano.

ACBrEPCBloco_A_Class.pas 19.62 kB · 3 downloads

Muito obrigado pela contribuição.
Fiz a implementação baseada nela.
Subi essas alterações para o SVN na Revisão  31699.

Em 20/12/2023 at 08:37, Enderson disse:

Referente ao post original no bloco A também foi identificado no bloco M os registros 100 e 500 com a mesma situação.

Foi modificado as linhas: Bloco M100 linhas: 564 e 566;  M500 linhas: 1149 e 1151; 

Essas alterações não enviei ao SVN. Porque esses campos nos registros M100 e M500 podem ser nulos e podem ser zero.

Então precisamos das funções VDFILL ou VLFILL para tratar o caso dos campos nulos mas não são zero.

Você pode até reparar que o tratamento da função VDFILL e DFILL para máscara de decimais é o mesmo e só muda o tratamento para campo "nulo".

Além disso, eu fiz um teste aqui usando o exemplo do ACBrSpedPisCofins e o código funcionou normalmente. Veja na imagem:

image.png

 

  • Like 1

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Posted
1 minuto atrás, EMBarbosa disse:

Muito obrigado pela contribuição.
Fiz a implementação baseada nela.
Subi essas alterações para o SVN na Revisão  31699.

Essas alterações não enviei ao SVN. Porque esses campos nos registros M100 e M500 podem ser nulos e podem ser zero.

Então precisamos das funções VDFILL ou VLFILL para tratar o caso dos campos nulos mas não são zero.

Você pode até reparar que o tratamento da função VDFILL e DFILL para máscara de decimais é o mesmo e só muda o tratamento para campo "nulo".

Além disso, eu fiz um teste aqui usando o exemplo do ACBrSpedPisCofins e o código funcionou normalmente. Veja na imagem:

image.png

 

Muito obrigado pelo retorno !

Boas festas !

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

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.