Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado (editado)

Olá amigos,

 

estou fazendo uma rotina de gerar o TXT da NFe utilizando o ACBr.

 

Posteriomente vou utilizar o ACBr para importar este mesmo txt gerado.

 

Ao fazer a importação do TXT não estava carregando os dados da nota. Ao fazer um Debug observei que na unit PCNLayoutTXT.PAS,

 

na linha 272 estava :

LoadLayout('<B01>     A|versao|^id^');

Tive que fazer a alteração para

LoadLayout('<B01>     A|3.10|^id^');

Tirei como base as instruções referentes as versões anteriores, linha 73 e 64:

LoadLayout('<B01>     A|1.10|^id^');

LoadLayout('<B01>     A|2.00|^id^'); //ok

Com estas alterações passou a funcionar.

 

Observando que na importação do txt a rotina verifica isto ai.

 

PCNNFERTXT.PAS linha 127:

const
  VERSOES_VALIDAS_LAYOUT_TXT = '|1.10|2.00|3.10|';

versao := copy(FconteudoArquivo[1], 3, 4);
if pos('|' + Versao + '|', VERSOES_VALIDAS_LAYOUT_TXT) = 0 then 
  exit;

é possível atualizar esta alteração no repositório uma vez que a unit faz parte do projeto PCN ? 

Editado por joseadolfojr
  • Curtir 1
Postado

Olá essa alteração já foi proposta por um colega chamado Gabriel, na pesquisa vc deve encontrar o tópico dele, de qualquer maneira não me recordo se os moderadores/administradores deram um feedback se essa alteração seria incorporada ao svn, o jeito é aguardar um deles nos avisar se vai ou nõa incorporar no svn.

 

Abraço

  • 2 semanas depois ...
Postado

Essa alteração quebra a leitura do arquivo TXT, que depende dessa linha para identificar a versão do arquivo importado.

 

Para resolver, sugiro alterar em pcnNFeRTXT.pas:

 

Remover este bloco (essa parte depende do versao¨ que estava no pcnLayoutTXT):

  if ID = 'A' then
  begin
     NFe.infNFe.Versao := LerCampo(tcDe2, 'versao');
  end;

E colocar essas linhas para ler a versão (as duas últimas. As duas primeiras são só pra localizar no código):

  // Ler chave da NFe
  NFe.infNFe.ID := copy(FconteudoArquivo[1], 8, maxInt);
  //Preenche número da versão
  NFe.infNFe.Versao := StrToFloat(StringReplace('0' + versao, '.', DecimalSeparator, [])); 
  • 4 meses depois ...
  • Este tópico foi criado há 3338 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.