Falha na Validação do XML

4,129 views
Skip to first unread message

Crercio

unread,
Jun 22, 2011, 12:02:48 PM6/22/11
to NFePHP
Olá pessoal,

Após algum tempo adiando aqui estou novamente de volta ao NFEPHP
tentando colocar a versão 2.0 no ar. Já configurei tudo e testei boa
parte das funções. Entretanto quando tento validar os XML´s assinados
está dando um monte de erros. Veja abaixo um pequeno trecho:

22/06/2011 09:36 Iniciando JOB NFE ...

1) Convertendo arquivos textos disponíveis.. OK
2) Assinando arquivos XML... OK
3) Validando arquivos assinados... Falha
35180661104584000130550000002543480002543489-nfe.xml ... Erro 1839:
Element '{http://www.portalfiscal.inf.br/nfe}cNF': [facet 'pattern']
The value '000254348' is not accepted by the pattern '[0-9]{8}'. ;
Erro 1824: Element '{http://www.portalfiscal.inf.br/nfe}cNF':
'000254348' is not a valid value of the local atomic type. ; Erro
1839: Element '{http://www.portalfiscal.inf.br/nfe}hSaiEnt': [facet
'pattern'] The value '1' is not accepted by the pattern '(([0-1][0-9])|
([2][0-3])):([0-5][0-9]):([0-5][0-9])'. ; Erro 1824: Element '{http://
www.portalfiscal.inf.br/nfe}hSaiEnt': '1' is not a valid value of the
atomic type '{http://www.portalfiscal.inf.br/nfe}TTime'. ; Erro 1840:
Element '{http://www.portalfiscal.inf.br/nfe}tpNF': [facet
'enumeration'] The value '3513801' is not an element of the set {'0',
'1'}. ; Erro 1824: Element '{http://www.portalfiscal.inf.br/nfe}tpNF':
'3513801' is not a valid value of the local atomic type. ; Erro 1839:
Element '{http://www.portalfiscal.inf.br/nfe}cMunFG': [facet
'pattern'] The value '1' is not accepted by the pattern '[0-9]{7}'. ;
Erro 1824: Element '{http://www.portalfiscal.inf.br/nfe}cMunFG': '1'
is not a valid value of the atomic type '{http://
www.portalfiscal.inf.br/nfe}TCodMunIBGE'. ; Erro 1840: Element
'{http://www.portalfiscal.inf.br/nfe}tpEmis': [facet 'enumeration']
The value '9' is not an element of the set {'1', '2', '3', '4',
'5'}. ; Erro 1824: Element

E este é só um pedaço da mensagem completa. Isso me deixou na mão pois
até agora ainda não consegui realizar um teste completo com sucesso.
Estou enviando para o Sefaz de SP, se alguém puder me dar uma mãozinha
eu agradeceria muito.

Um abração à todos,

Crercio

Leandro C. Lopez

unread,
Jun 22, 2011, 12:29:15 PM6/22/11
to nfe...@googlegroups.com
Amigo !!!

Primeiro, o campo cNF tem tamanho maximo 8 e vc está passando com 9 caracteres.
Campo hSaiEnt não pode ter o conteudo "1".


Att.: Leandro C. Lopez



Roberto Leite Machado

unread,
Jun 23, 2011, 7:36:16 AM6/23/11
to nfe...@googlegroups.com

Crecio;

Seu txt contêm múltiplos erros :

The value '000254348' is not accepted by the pattern '[0-9]{8}'

cNF tem que ter 8 digitos e não 9 !!!


The value '1' is not accepted by the pattern '(([0-1][0-9])|
> ([2][0-3])):([0-5][0-9]):([0-5][0-9])'. ; Erro 1824: Element '{http://
> www.portalfiscal.inf.br/nfe}hSaiEnt': '1' is not a valid value of the
> atomic type '{http://www.portalfiscal.inf.br/nfe}TTime'.

A hora de saída não pode ser "1" tem que ser algo como "12:22"


E por ai vai ...

Para montar o txt use "OS MANUAIS" que estão disponíveis no assembla na
pasta docs/manuais ou procure no site da SEFAZ.

Roberto

Crercio

unread,
Jun 29, 2011, 10:39:52 AM6/29/11
to NFePHP
Oi pessoal,

Entendi a questão, mas não seria esse um erro do conversor do TXT para
XML?
A validação está sendo executada no XML e não no texto. Portanto não
seria correto pensar que o script que converte do TXT para o XML é que
está produzindo esse erro?
Inclusive eu olhei o manual de geração do arquivo texto ([Emissor_NF-
e]_Manual_de_layout_TXT-NF-e_v1.1.1.pdf página 14) e o campo cNF está
definido como número c/9 dígitos e não 8 como vocês mencionaram.
Isso significa que o manual do arquivo texto está incorreto?

Obrigado pessoal.

Sds,

Crercio

Roberto Leite Machado

unread,
Jun 29, 2011, 12:54:22 PM6/29/11
to nfe...@googlegroups.com
Sim !! este manual esta desatualizado em relação a versão 2.00 e
outras alterações posteriores

A SEFAZ também erra ;-)

Roberto

Eugênio - EcoDés

unread,
Jun 29, 2011, 3:00:50 PM6/29/11
to nfe...@googlegroups.com
Roberto
pesquisei no hist�rico de msgs do grupo e observei que algumas pessoas
que tiveram este problema estavam utilizando a codifica��o de caracteres
diferente de utf-8.

S� para adiantar, j� explico que estou fazendo o seguinte:

$conteudo = utf8_encode($conteudo); //converte todo o conteudo do
txt para utf-8
if(mb_check_encoding($conteudo, 'UTF-8')) //depois testo se a codf. de
caracteres � uft-8

no final gravo o arquivo assim.

$pathnotas = "/var/www/solus/nfe/".$ambientedir."/entradas/";
$arquivonota = $pathnotas.$chave.'-nfe.txt';
file_put_contents($arquivonota, $conteudo);

Escrevi para verificar se esta certo.

Em 29-06-2011 13:54, Roberto Leite Machado escreveu:
> Sim !! este manual esta desatualizado em rela��o a vers�o 2.00 e
> outras altera��es posteriores
>
> A SEFAZ tamb�m erra ;-)


>
> Roberto
>
> Em 29 de junho de 2011 11:39, Crercio<cre...@terra.com.br> escreveu:
>> Oi pessoal,
>>

>> Entendi a quest�o, mas n�o seria esse um erro do conversor do TXT para
>> XML?
>> A valida��o est� sendo executada no XML e n�o no texto. Portanto n�o
>> seria correto pensar que o script que converte do TXT para o XML � que
>> est� produzindo esse erro?
>> Inclusive eu olhei o manual de gera��o do arquivo texto ([Emissor_NF-
>> e]_Manual_de_layout_TXT-NF-e_v1.1.1.pdf p�gina 14) e o campo cNF est�
>> definido como n�mero c/9 d�gitos e n�o 8 como voc�s mencionaram.
>> Isso significa que o manual do arquivo texto est� incorreto?


>>
>> Obrigado pessoal.
>>
>> Sds,
>>
>> Crercio
>>
>> --

>> Voc� recebeu esta mensagem porque est� inscrito no Grupo "NFePHP".

Crercio

unread,
Jun 29, 2011, 3:48:40 PM6/29/11
to NFePHP
Ah tá. Agora sim.
Agora onde posso baixar o manual para exportação TXT para a NFe versão
2.0?
Eu tentei utilizar o link disponível no Assembla mas parece que tá
incorreto ou inválido?

Só respondendo a bola levantada pelo Engênio, eu to usando as
conversões para utf8 corretamente.
Meus testes na versão 1 funcionaram perfeitamente, mas antes de
conseguir por em produção tive que abortar por conta de outros
projetos, e somente agora pude retormar o projeto mas já com a versão
2.0 (que é obrigatória).

Valeu,

Crercio

On Jun 29, 1:54 pm, Roberto Leite Machado
<roberto.mach...@superig.com.br> wrote:
> Sim !! este manual esta desatualizado em relação a versão 2.00 e
> outras alterações posteriores
>
> A SEFAZ também erra ;-)
>
> Roberto
>
> Em 29 de junho de 2011 11:39, Crercio <crer...@terra.com.br> escreveu:
>
>
>
> > Oi pessoal,
>
> > Entendi a questão, mas não seria esse um erro do conversor do TXT para
> > XML?
> > A validação está sendo executada no XML e não no texto. Portanto não
> > seria correto pensar que o script que converte do TXT para o XML é que
> > está produzindo esse erro?
> > Inclusive eu olhei o manual de geração do arquivo texto ([Emissor_NF-
> > e]_Manual_de_layout_TXT-NF-e_v1.1.1.pdf página 14) e o campo cNF está
> > definido como número c/9 dígitos e não 8 como vocês mencionaram.
> > Isso significa que o manual do arquivo texto está incorreto?
>
> > Obrigado pessoal.
>
> > Sds,
>
> > Crercio
>
> > --
> > Você recebeu esta mensagem porque está inscrito no Grupo "NFePHP".
> > Para Postar: nfe...@googlegroups.com
> > Para Sair do Grupo: nfephp+un...@googlegroups.com
> > Link:http://groups.google.com.br/group/nfephp?hl=pt-BR
> > -------
> > FAQ:https://www.assembla.com/wiki/show/nfephp/FAQ
> > Como Participar:https://www.assembla.com/wiki/show/nfephp/Como_participar
> > Como Utilizar:http://www.assembla.com/wiki/show/nfephp/Como_utilizar- Hide quoted text -
>
> - Show quoted text -

Roberto Leite Machado

unread,
Jun 29, 2011, 5:47:15 PM6/29/11
to nfe...@googlegroups.com
Crecio;

Pode pegar no assembla use o subversion preferencialmente, tá na pasta
docs/manuais

veja
http://www.assembla.com/code/nfephp/subversion/nodes/docs/manuais?rev=341

Roberto

Crercio

unread,
Jul 1, 2011, 12:54:16 PM7/1/11
to NFePHP
Beleza Roberto,

Seguinte, baixei o manual. Mas não tá faltando páginas do mesmo?
Notei que neste manual não tem o detalhamento dos campos (Tamanho,
Tipo, etc).
Eu baixei também um outro de 01/01/2011 que parece mais atual mas
fiquei na dúvida se é válido ou não.

Sds,

Crercio

Roberto Leite Machado

unread,
Jul 1, 2011, 1:02:24 PM7/1/11
to nfe...@googlegroups.com
Olha ai já não sei .... o manual para montagem do txt que eu uso é
esse, mas é importante usa-lo junto com o manual da NFe, para ver
esses detalhes dos campo, inclusive se não me engano , há erros nesse
manual.

Outro caminho e usar a própria classe ConvertNFePHP.class.php, estou
usando essa classe sem problemas já a bastante tempo, e cada case no
select é uma linha em seu txt isso também pode ajudar.

Abraço
Roberto

Reply all
Reply to author
Forward
0 new messages