Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

  • Membros Pro
Postado

Bom dia amigos,

Quando tento carregar o xml para importar para meu sistema, em alguns casos, está me retornando o seguinte erro:

Não encontrei o atributo: versão

Esse erro acontece quando utilizo da seguinte forma:  ACBrNFe1.NotasFiscais.LoadFromFile

Percebi que isso acontece em alguns xml's enviados por alguns fornecedores.

Abri o arquivo enviado por esses fornecedores e notei a seguinte diferença no início do arquivo:

<?xml version="1.0" encoding="UTF-8"?><nfeProc xmlns='http://www.portalfiscal.inf.br/nfe' xmlns:ds='http://www.w3.org/2000/09/xmldsig#' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.portalfiscal.inf.br/nfe procNFe_v3.10.xsd' versao='3.10'>
<NFe xmlns="http://www.portalfiscal.inf.br/nfe">

Esse é o início dos arquivos baixados pelo site do portal nfe.

<?xml version="1.0" encoding="utf-8"?><nfeProc versao="3.10" xmlns="http://www.portalfiscal.inf.br/nfe"><NFe xmlns="http://www.portalfiscal.inf.br/nfe">

Estou enviando o arquivo anexo com problema.

Grato pela ajuda

31151107420928000255550010002934571152934576-nfe Autorizado.xml

Rodrigo Cardilo

Card System Info

[email protected]

  • Consultores
Postado

Bom dia Cardilo,

O problema é que a TAG nfeProc gerada pela SEFAZ quando baixamos o XML pelo Site, não segue o padrão, logo ocorre esse problema.

Ela tem ter apenas dois atributos: versao e xmlns conforme exemplo abaixo: <nfeProc versao="3.10" xmlns="http://www.portalfiscal.inf.br/nfe">

e não isso: <nfeProc xmlns="http://www.portalfiscal.inf.br/nfe" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.portalfiscal.inf.br/nfe procNFe_v3.10.xsd" versao="3.10">

Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

  • Membros Pro
Postado
Agora, Italo Jurisato Junior disse:

Bom dia Cardilo,

O problema é que a TAG nfeProc gerada pela SEFAZ quando baixamos o XML pelo Site, não segue o padrão, logo ocorre esse problema.

Ela tem ter apenas dois atributos: versao e xmlns conforme exemplo abaixo: <nfeProc versao="3.10" xmlns="http://www.portalfiscal.inf.br/nfe">

e não isso: <nfeProc xmlns="http://www.portalfiscal.inf.br/nfe" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.portalfiscal.inf.br/nfe procNFe_v3.10.xsd" versao="3.10">

Boa dia Ítalo,

O problema é que a tag nfeProc que está dando problema é exatamente a segunda do seu comentário, ou seja, a tag vinda do fornecedor  <nfeProc xmlns="http://www.portalfiscal.inf.br/nfe" xmlns:ds="http://www.w3.org/2000/09/xmldsig#"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.portalfiscal.inf.br/nfe procNFe_v3.10.xsd"versao="3.10">  é que está retornando o erro que mencionei.

 

Não seria uma falha do componente ACBRNFe na leitura?

 

Grato

Rodrigo Cardilo

Card System Info

[email protected]

  • Membros Pro
Postado
1 minuto atrás, Italo Jurisato Junior disse:

Cardilo,

Pode até ser, mas faça um teste, edit esse XML removendo o que tem a mais e tenta ler ele novamente.

Italo,

Já fiz esse teste e deu certo.. substituí:

<nfeProc xmlns='http://www.portalfiscal.inf.br/nfe' xmlns:ds='http://www.w3.org/2000/09/xmldsig#' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.portalfiscal.inf.br/nfe procNFe_v3.10.xsd' versao='3.10'>
<NFe xmlns="http://www.portalfiscal.inf.br/nfe">

por

><nfeProc versao="3.10" xmlns="http://www.portalfiscal.inf.br/nfe"><NFe xmlns="http://www.portalfiscal.inf.br/nfe">

e deu certinho. 

Também fiz o seguinte. Baixei o Visualizador de DF-e no portal e testei. Lá não erro algum. Fiz isso pois liguei para o fornecedor que está enviando esses arquivos e me pediram pra testar do visualizador. 

 

Grato

Rodrigo Cardilo

Card System Info

[email protected]

  • Consultores
Postado

Boa tarde Cadilo,

Note que no XML que ocorre o erro ao tentar ler o seu conteúdo da versão esta entre apostrofe e não entre apas conforme é orientado pelos manuais e notas técnicas.

Consta: versao='3.10' em vez de versao="3.10"

Bem como os conteúdos dos atributos xmlns (namespace).

Segundo o Manual versão 5.0 da NF-e página 13 o item 3.2.1.2 trata sobre a declaração de namespace:

O documento XML deverá ter uma única declaração de namespace no elemento raiz do documento com o seguinte padrão:

<enviNFe xmlns=”http://www.portalfiscal.inf.br/nfe”>
(exemplo para o XML de envio de Lote de NF-e)

E o arquivo que ocorre o erro tem 3 namespace portanto esta fora do padrão.

  • Curtir 1
Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

  • Membros Pro
Postado

Boa tarde Italo,

Sobre a questão da apostrofe provavelmente foi um erro ao copiar pois dentro do arquivo (anexo) está ok.

Já quanto aos namespace concordo contigo, porém, a empresa responsável pelo desenvolvimento do arquivo não aceitou

meu argumento alegando que o visualizador de DF-e lê normalmente ( nada a comentar).

Eu estava analisando a fonte do ACBRNFe e pensei: Se ignoramos a namespace e considerar somente a versão (que no arquivo está escrita corretamente)?

Pelo que vi tem vários amigos aqui com o mesmo problema devido à auto-sapiência de algumas empresas de software que acham que seu sistema

está sempre certo.

Bem, é só uma sugestão.

Grato.

31151107420928000255550010002934571152934576-nfe Autorizado.xml

31151107420928000255550010002954641152954643-nfe Autorizado.xml

Rodrigo Cardilo

Card System Info

[email protected]

  • Consultores
Postado

Boa tarde Cadilo,

Nos dois XML que você acabou de postar se você abrir com o bloco de notas vai notar que os valores dos namespace ( xmlns ) estão entre apostrofe e não entre aspas e o valor do atributo versao também, estou me referindo a TAG nfeProc e no final temos: versao='3.10'> em seguida vem uma quebra de linha e no final do arquivo também existem quebras de linha e outros caracteres.

Desculpe mas esse XML esta uma zorra, agora que culpa temos nós que procuramos seguir a risca o que consta nos manuais e notas técnicas.

Pode ser que o pessoal que desenvolver programa gratuito do governo sabia que poderia aparecer algumas porcarias como esses XMLs e fizeram alguns filtros para remover as tranqueiras.

No meu entendimento não cabe a nós ficar adicionando linhas e mais linhas de código para poder remover toda porcaria que essas empresas colocam em seus XMLs.

Mas você pode através de uma pequena rotina ler esse XML como uma string ou lista de string fazer as correções salvar novamente como manda o figurino e depois ler o mesmo através do método LoadFromFile sem nenhum problema.

  • Curtir 1
Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

  • Membros Pro
Postado

Oi Ítalo,

Vou resumir o que venho recebendo nos arquivos de muitas empresas com duas palavras que você postou: ZORRA e PORCARIA.

Eu já tinha feito a alternativa que você me passou. Agradeço a atenção dispensada de qualquer forma.

Abraço

  • Curtir 1

Rodrigo Cardilo

Card System Info

[email protected]

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