Ir para conteúdo
  • Cadastre-se

dev botao

Alíquota com 4 casas decimais no Bloco A170


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

Recommended Posts

Postado (editado)

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

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
Postado

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

 

 

Postado

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

  • Curtir 1
  • Consultores
  • Solution
Postado
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.
Postado
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
  • Este tópico foi criado há 336 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.