Ir para conteúdo
  • Cadastre-se

dev botao

Download XML - ACBr x Portal SEFAZ


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

Recommended Posts

Ao fazer o Download de um xml através do comando:

TACBrNFe.WebServices.DownloadNFe.Executar;

Costumo salvar este retorno:

String(ACBrNFeDownload.WebServices.DownloadNFe.retDownloadNFe.retNFe.Items[0].procNFe);

Quando algum Emitente possui os caracteres "&", e  o Download é feito pelo portal, esse carácter vem como "&"
Já pela ACBr vem normal.

Essa situação vai ocorrer com todos os caracteres especiais ? "Ç", "&", etc ?
Porque essa diferença ?
Tem alguma forma de retornar pela ACBr o mesmo "formato" trazido pelo portal ?

Link para o comentário
Compartilhar em outros sites

Bom como eu não entendi, vou postar o que eu identifiquei até agora.

Utilizamos o método GetDocBinding do XMLDoc do próprio Delphi, e esse cara não aceita um XML que contenha os caracteres "&", "<", ">" e mais alguns outros.

Segue em anexo os XML baixados pela ACBr e pelo Portal da Sefaz.

41160876745561000181550030002287071006222812_Sefaz.xml

Edit1.xml

 

PS.: Se precisar eu tenho um protótipo para simular esta situação.

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

  • Moderadores

Os dois arquivos são iguais.

comparacao_xml.png

Configure o componente para salvar todos os arquivos enviados e recebidos dos webservices, faça um download e anexe os arquivos que serão gerados.

djsystem-logo.png
 youtube.png facebook.png instagram.png linkedin.png
André Ferreira de Moraes | Analista de Sistemas
www.djsystem.com.br | www.djpdv.com.br
www.tefhouse.com.br | www.lambretinha.com.br
Link para o comentário
Compartilhar em outros sites

Bom, dando continuidade a duvida, agora surgiu mais um XML, só que com outro problema.
Note que quando baixado pela ACBr, temos os: "<" BR ">" e "<" Fonte IBPT ">".

 

 

 

43160889962781000109550010001020251762946811.xml

43160889962781000109550010001020251762946811_Sefax.xml

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

No primeiro caso, do '&', quem vai fazer a conversão é este trecho:

{ Resposta sempre é UTF8, ParseTXT chamará DecodetoString, que converterá
    de UTF8 para o formato nativo de  String usada pela IDE }
  FPRetornoWS := ParseText(FPRetornoWS, True, True);

Unit: ACBrDFeWebService

 

Vou iniciar uma analise, para ver qual impacto teria, uma alteração nesse trecho.
Gostaria,se possível, ir discutindo isso com vocês. 

Obrigado.

Link para o comentário
Compartilhar em outros sites

Bom, antes de fazer a alteração, resolvi dar um update no componente.
Haviam algumas alterações do dopi, mas não parece ter sido suficiente.

Apos a atualização, o meu problema passa a ser em outro lugar, agora na unit ACBrNFeWebServices

{ Processsa novamente, chamando ParseTXT, para converter de UTF8 para a String
    nativa e Decodificar caracteres HTML Entity }
  FRetDownloadNFe.Free;    // Limpa a lista
  FRetDownloadNFe := TRetDownloadNFe.Create;

  FRetDownloadNFe.Leitor.Arquivo := ParseText(FPRetWS);
  FRetDownloadNFe.LerXml;

Novamente no ParseText. O que acham dessa sugestão ?

 

ACBrNFeWebServices.pas

Link para o comentário
Compartilhar em outros sites

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

The popup will be closed in 10 segundos...