Ir para conteúdo
  • Cadastre-se

dev botao

Alíquota com 4 casas decimais no Bloco A170


Enderson
Ver Solução Respondido por EMBarbosa,
  • Este tópico foi criado há 128 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

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

Editado por Enderson
Link para o comentário
Compartilhar em outros sites

  • Consultores

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

 

 

Link para o comentário
Compartilhar em outros sites

  • Consultores

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

 

 

Link para o comentário
Compartilhar em outros sites

  • Consultores
  • Solution
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

 

  • Curtir 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.
Link para o comentário
Compartilhar em outros sites

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 !

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

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