Ir para conteúdo
  • Cadastre-se

dev botao

XML Corrompido usando AcbrMonitorPlus para Download


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

Recommended Posts

  • Membros Pro

ola, bom dia
estamos usando o acbrmonitorplus 0.3.8.3 com o comando NFe.DistribuicaoDFe para retornar as NFe do cliente
logo em seguida usamos o comando NFE.EnviarEvento para dar ciencia da emissao
depois usamos o comando NFE.DownLoadNFe para fazer o download do XML
depois pegamos o conteudo de "Arquivo" da chave NFE001 para saber em qual o caminho e nome do arquivo XML

que no meu caso é
Arquivo=C:\ACBrMonitorPLUS_Pharmain3\Logs\35160807815318000170550010004745471760426870-down-nfe.xml
Esse arquivo esta vindo corrompido

pesquisando a pasta do acbrmonitorplus, encontrei uma segunda versao do XML em :
C:\ACBrMonitorPLUS_Pharmain3\Logs\NFe\Down\35160807815318000170550010004745471760426870-nfe.xml
essa versão do XML nao esta corrompida

Fiz uma comparacao dos arquivos XML, e o que dá pra perceber, que na razão social do cliente tem um &
Branco & Andrade
E tambem falta a seguinte linha no começo do arquivo : <?xml version="1.0" encoding="UTF-8"?>

segue em anexo os arquivos XML que fiz testes, e o log do acbrmonitorplus, e as telas de comparacao dos XML
obrigado
Carlo
 

Tela1.jpg

Tela2.jpg

Tela3.jpg

XML Corrompido.rar

XML Normal.rar

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Fiquei um pouco confuso em relação ao post...

Qual é exatamente o comando que gera um XML corrompido ?

Como você observa que ele está corrompido ? Exemplo: Ele não consegue ser exibido no Internet Explorer

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

É que eu quis explicar todo o processo que estou fazendo e deve ter ficado confuso.

O comando é  NFE.DownLoadNFe

Ele gera XML em duas pastas

C:\ACBrMonitorPLUS_Pharmain3\Logs\35160807815318000170550010004745471760426870-down-nfe.xml    (corrompido) e é o caminho que o acbmonitorplus me retorna para eu subir para meu banco de dados
C:\ACBrMonitorPLUS_Pharmain3\Logs\NFe\Down\35160807815318000170550010004745471760426870-nfe.xml   (correto)
 

Exato, nao abre no internet explorer

Link para o comentário
Compartilhar em outros sites

Aparentemente você trocou a pasta padrão de 'WEBSERVICE_ENV-REC' para 'logs', correto? Isso não é problema, é só para alinhar o raciocínio.

Eu já tive esse tipo de problema causado durante as operações de cópia de arquivo. O arquivo 100% confiável é o da sua pasta 'logs', pois é o arquivo original recebido diretamente do Webserver da SEFAZ. Ele chega com '-down' acrescentado ao nome. Qualquer outro derivado dele pode ser vítima do efeito página de código, que parece ser o seu caso. Outra possíbilidade é estar trabalhando com cópia de arquivos em rede. Tive problemas em algumas máquinas que não aceitaram bem trabalhar com unidades de rede mapeadas, uma boa prática é utilizar sempre o endereço IP e o caminho, sem uso de DNA, seja ele local ou remoto.

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Olá Paulo,

Quando vc diz  WEBSERVICE_ENV-REC  seria essa essa pasta que mandei na tela em anexo ?

Quando eu uso o comando NFE.DownLoadNFe, ele me retorna uma variavel chamada "Arquivo", que contem o caminho e o nome do arquivo XML

Olha o log do comando

NFE.DownLoadNFe("06213622000184","35160807815318000170550010004745471760426870")
OK: Pedido de Download processado
[DOWNLOADNFE]
versao=1.00
tpAmb=1
verAplic=AN.DownNF_2.1.1
cStat=139
xMotivo=Pedido de Download processado
dhResp=16/09/2016 09:36:12

[NFE001]
ChNFe=35160807815318000170550010004745471760426870
cStat=140
xMotivo=Download disponibilizado
Arquivo=C:\ACBrMonitorPLUS_Pharmain3\Logs\35160807815318000170550010004745471760426870-down-nfe.xml

 

 é exatamente esse com extensão "-down" que esta corrompido.

C:\ACBrMonitorPLUS_Pharmain3\Logs\35160807815318000170550010004745471760426870-down-nfe.xml    (corrompido) e é o caminho que o acbmonitorplus me retorna para eu subir para meu banco de dados
C:\ACBrMonitorPLUS_Pharmain3\Logs\NFe\Down\35160807815318000170550010004745471760426870-nfe.xml   (correto)
 

Existem duas maneiras de arrumar temporariamente.

Uma é acrescentar \Nfe\Down\  ao caminho que o monitor me retorna, porque vai pegar o XML bom.

E a segunda maneira eu fiz uma função utilizando o proprio componente do Acbr.

Ele comente carrega o XML na memoria, e em seguida usa o metodo GerarXML que tambem resolveu o problema.

 

function FixStrToXML(AStr: String): String;
var
  NFe: TACBrNFe;
begin
  NFe := TACBrNFe.Create(Application);
  with NFe do
    begin
      NotasFiscais.Clear;
      NotasFiscais.LoadFromString(AStr);
      Result := NotasFiscais.Items[0].GerarXML;
    end;
  FreeAndNil(NFe);
end;
 

Sem título.jpg

Link para o comentário
Compartilhar em outros sites

  • Fundadores

enviei uma possível correção para o SVN... que deverá gravar corretamente o arquivo com a extensão: "down-nfe.xml"

Citar

-- DoACBrNFeUnit --
[-] Possível correção para correta gravação do XML gerado por NFe.DownloadNF  (por: DSA)

 

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

Antes da correção enviada pelo Daniel eu já usava o download pelo ACBrMonitorPlus e não tinha nenhum problema. Alguns terminais é que corrompiam o arquivo ao realizar uma cópia através do copyfile do Delphi ou do savetofile do ACBrMonitorPlus. Copiando pelo explorer, nunca corrompia. Removi o mapeamento da unidade de rede e passei a utilizar o caminho completo dos arquivos no servidor com o CopyFile e o problema acabou.

Link para o comentário
Compartilhar em outros sites

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