Ir para conteúdo
  • Cadastre-se

dev botao

Download XML da nfe


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

Recommended Posts

  • Consultores

Boa tarde,

 

O problema é que antes o componente removia os acentos das vogais e trocava o cedilha por C que conta-se nos retornos e ao ler os XML.

 

Se você abrir o XML que você postou com o bloco de notas e procurar por cedilha e vogais acentuadas e fazer as trocas, vai conseguir visualiza-lo sem nenhum problema com um navegador.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

Bom dia 

 

Download do xml da NFe de terceiro depois de manisfestado esta dando erro pcnRetDownloadNFe

 

          try
            try
              // XML da NF-e
              StrAux := RetornarConteudoEntre(Leitor.Grupo, '<NFeZip>', '</NFeZip');
              StrDecod := DecodeBase64(StrAux);
              StrStream.WriteString(StrDecod);
              FretNFe.Items.FNFeZip := UnZipMsg(StrStream);
 
              // XML do Protocolo da NF-e
              StrAux := RetornarConteudoEntre(Leitor.Grupo, '<protNFeZip>', '</protNFeZip');
              StrDecod := DecodeBase64(StrAux);
              StrStream.WriteString(StrDecod);
              FretNFe.Items.FProtNFeZip := UnZipMsg(StrStream);
            except
              on e : Exception do
              begin
                Raise Exception.Create(e.message);
              end;
            end;
          finally
            FreeAndNil(StrStream);
          end;
 
 
Comentando estas linhas desse try
 

              // XML do Protocolo da NF-e
//              StrAux := RetornarConteudoEntre(Leitor.Grupo, '<protNFeZip>', '</protNFeZip');
//              StrDecod := DecodeBase64(StrAux);
//              StrStream.WriteString(StrDecod);
//              FretNFe.Items.FProtNFeZip := UnZipMsg(StrStream);
 
funciona perfeitamente o download.
Editado por Lazaro Pavao
Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia Lazaro,

 

Erro de compilação ou execução?

 

Todos os fontes de todas as pastas estão atualizados?

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Bom dia Italo,

 

eu creio que estou com o mesmo problema do colega aí de cima. Não consigo abrir o xml no navegador. Também não encontrei nenhum "ç" ou caracter acentuado. Estou postando o arquivo aqui.

Poderias dar uma luz.

 

Desde já agradeço

 

Társis Francke Ferreira

18589-000-CLAUDIO ALVES & CIA LTDA ME-nfe.xml

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Olá Tiago,

 

realmente, tirando o "&" o arquivo passou a abrir normalmente.

Eu vi o Italo postando que antes o componente tirava as letras acentuadas e os caracteres inválidos do XML que ele baixava e, aparentemente, agora não faz mais.

Tu saberias como contornar isso?

 

Desde já agradeço muito, porque agora, pelo menos, já sei onde está pegando.

 

Abraço!

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

  • 1 mês depois ...

Olá amigos, estou retomando novamente esse tópico devido a problemas no arquivo XML que foi feito download após o manifesto, o problema havia sido resolvido e voltou a acontecer novamente, percebi que o XML está vindo malformado, com tags a mais desnecessárias, já atualizei meu acbr e não resolveu, em anexo estou colocando o XML com o problema. Vale ressaltar que esse problema não acontece com todos os downloads que meu cliente efetua, acontece apenas em alguns.

 

estou utilizando o seguinte comando para efetuar o download:

 

ACBRNFe.WebServices.DownloadNFe.Executar;

 

 

MASTER ATS SUPERMERCADOS LTDA - NF 12711 - 01-04.xml

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Rodrigo,

 

Quais são as TAGs desnecessárias no XML que você anexou?

 

Outra coisa, em vez de você utilizar o método Download, porque não utiliza o DistribuicaoDFe?

 

Ele também retorna o XML completo de uma nota quando esta já tenha sido manifestada, com uma vantagem, ser você manifestou 5 notas o DistribuicaoDFe retorna todas elas.

  • Curtir 1
Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • 1 mês depois ...

Olá,

   Ao efetuar o Download(ACBrNFe1.Download) da nota o XML que é extraído do ZIP contém o seguinte texto em algumas tags:  

<infAdProd>Resolu褯 do Senado Federal nڠ13/12,  No da FCI 9c895984-567d-4ef8-ba87-620da116c63b,  Contede Importa褯 50 %</infAdProd> 

  O XML tem caracteres especiais no texto.

 

  Desta forma ao tentar ler este XML em um outro momento(ACBrNFe1.NotasFiscais.LoadFromFile), a rotina não esta conseguindo ler o arquivo e carregar o "TStringList"(ArquivoXML):  

function TNotasFiscais.LoadFromFile(CaminhoArquivo: String; AGerarNFe: Boolean = True): Boolean;
...
ArquivoXML := TStringList.Create;
    try
      ArquivoXML.LoadFromFile(CaminhoArquivo {$IFDEF DELPHI2009_UP}, TEncoding.UTF8{$ENDIF});
...

  A variável "ArquivoXML.Text" esta vazia.

 

  Alguém já passou por um caso similar?

 

No aguardo.
Obrigado.

Carlos H. Marian

Analista de Sistemas

|/-\|

Link para o comentário
Compartilhar em outros sites

Encontrei uma forma de contornar meu problema relatado acima.

Passei a ler o arquivo xml por um "FileStream", que depois converto para String;

Desta forma estou usando o NotasFiscais.LoadFromString, passando com parâmetro o String convertido.

 

At+

Carlos H. Marian

Analista de Sistemas

|/-\|

Link para o comentário
Compartilhar em outros sites

Bom dia, 

 

  Também estou com o mesmo problema do colega rrodrigoffernandes. Estou utilizando o comando "ACBRNFe.WebServices.DownloadNFe.Executar;", e também estou recebendo XML's inválidos.

 

  Dei uma analisada, e descobri que no fim do arquivo, entre o fim da tag <NFe> e o início da tag <protNFe> o XML está com este valor : "<?xml version="1.0" encoding="utf-8"?>" (que geralmente está no início dos arquivos XML). Após remover este conteúdo, o XML passa a ser válido.

 

  A dúvida é, tenho que tratar isso no meu código, ou seria algum problema no método do Download?

Link para o comentário
Compartilhar em outros sites

Encontrei o possível problema. Dentro do arquivo "pcnRetDownloadNFe.pas", no método "LerXml", existem 3 linhas com um comentário indicando "(*JR12 *)". Alterei removendo o conteúdo " '<'+ENCODING_UTF8+'>' " que havia alimentando a variável, e o download começou a salvar o XML correto. 
 
Segue em anexo o arquivo, para quem quiser testar.
 

pcnRetDownloadNFe.pas

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

  • Consultores

Bom dia Guilherme,

 

Se possível post como anexo o XML salvo agora de forma correta, com as alterações que você fez.

  • Curtir 1
Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

Boa tarde,

 

  Fui gerar o XML e notei que o ocorreu o erro novamente, mesmo com a alteração. Então, após uma nova análise, descobri que no momento de buscar o conteúdo dentro da tag <protNFeZip>  e descompactar, ele acaba recebendo o valor "<?xml version="1.0" encoding="utf-8"?>" antes da tag <protNFe>. Em Anexo os 2 XML's, com o código original e o código alterado.

 

 Abaixo o código onde a operação é realizada.

 

Antes:

          // XML do Protocolo da NF-e
          StrStream := TStringStream.Create('');
          try
            try
              StrAux := RetornarConteudoEntre(Leitor.Grupo, '<protNFeZip>', '</protNFeZip');
              StrDecod := DecodeBase64(StrAux);
              StrStream.WriteString(StrDecod);
              FretNFe.Items[i].FProtNFeZip := UnZipMsg(StrStream);
            except
              on e : Exception do
              begin
                Raise Exception.Create(e.message);
              end;
            end;
          finally
            FreeAndNil(StrStream);
          end;

Depois (Apenas um modo de solucionar o problema. Talvez vocês saibam uma maneira melhor de fazer isso):

          // XML do Protocolo da NF-e
          StrStream := TStringStream.Create('');
          try
            try
              StrAux := RetornarConteudoEntre(Leitor.Grupo, '<protNFeZip>', '</protNFeZip');
              StrDecod := DecodeBase64(StrAux);
              StrStream.WriteString(StrDecod);
              FretNFe.Items[i].FProtNFeZip := UnZipMsg(StrStream);
              FretNFe.Items[i].FProtNFeZip := '<protNFe' + RetornarConteudoEntre(FretNFe.Items[i].FProtNFeZip, '<protNFe', '</protNFe>') + '</protNFe>';
            except
              on e : Exception do
              begin
                Raise Exception.Create(e.message);
              end;
            end;
          finally
            FreeAndNil(StrStream);
          end;

Antes_43150502656032000175550010000011931000011934-nfe.xml

Depois_43150502656032000175550010000011931000011934-nfe.xml

Antes_43150502656032000175550010000011931000011934-nfe.xml

Depois_43150502656032000175550010000011931000011934-nfe.xml

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Guilherme,

 

Por favor atualize os fontes e teste novamente.

  • Curtir 1
Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

Boa tarde,

 

  Atualizei os fontes, e está funcionando corretamente agora. Porém, notei que você também comentou onde era incluso a variável "ENCODING_UTF8", que foi o que indiquei como problema no primeiro comentário. Isso não causa problemas, mas você pode descomentar estas variáveis, pois só aquele tratamento para recortar o conteúdo dentro da tag <protNFe> já resolve tudo.

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

  • 6 meses depois ...
  • Este tópico foi criado há 2885 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.