Ir para conteúdo
  • Cadastre-se

dev botao

Correção da Função TACBrTXTClass.LFill


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

Recommended Posts

Postado

Amigos,

Ao gerar o EFD ICMS/IPI (Sped Fiscal) a propriedade TrimString não estava cortando os espaços no início dos campos. Verifiquei que a função Trim do Delphi estava sendo chamada após a inclusão do delimitador e fiz a inversão como mostro abaixo. Estou anexando a unit corrigida para as devidas verificações.

image.thumb.png.8c2e61e345f5ed490a3320a44544b548.png

ACBrTXTClass.pas

  • Moderadores
Postado

Em que campo do layout percebeu isso?

Me parece contraditório que o método preencha os caracteres à esquerda e depois remova...

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

Projeto ACBr

 

 

Postado

Aconteceu no registro 0150 nos campos de Nome e endereço. Na verdade foi erro do meu cliente que ao digitar o cadastro colocou espaços no primeiro caracter. Erro de digitação mesmo.

Porém como vi que o componente tem o recurso de dar um TRIM achei que deveria ser feito assim, afinal não existe nenhum campo dos SPEDs que aceitam espaços no início do campo.

 

  • Moderadores
Postado

O método TACBrTXTClass.LFill é genérico, não se deve levar apenas o Sped Fiscal em consideração, e essa alteração pode causar efeito colateral em algum lugar. Rodando os testes unitários não detectou nenhum problema, mas nunca se sabe.

Acho que o mais correto é mover o Trim acima do IF que preenche os caracteres à esquerda, assim mantém-se a finalidade do método, que é preencher os caracteres à esquerda e corrige possíveis erros de input.

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

Projeto ACBr

 

 

Postado
22 horas atrás, BigWings disse:

O método TACBrTXTClass.LFill é genérico, não se deve levar apenas o Sped Fiscal em consideração, e essa alteração pode causar efeito colateral em algum lugar. Rodando os testes unitários não detectou nenhum problema, mas nunca se sabe.

Acho que o mais correto é mover o Trim acima do IF que preenche os caracteres à esquerda, assim mantém-se a finalidade do método, que é preencher os caracteres à esquerda e corrige possíveis erros de input.

De fato você está certo. Eu não havia prestado atenção no IF acima. Fiz a modificação e estou anexando a unit.

ACBrTXTClass.pas

  • Curtir 1
  • Este tópico foi criado há 1584 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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.