Clipper On Line • Ver Tópico - Ler XML sem a TAG nNF

Ler XML sem a TAG nNF

Discussão sobre desenvolvimento de software para atender as exigências da legislação fiscal e tributária (ECF, TEF, SINTEGRA, NF-e, ECD, EFD, etc.)

Moderador: Moderadores

 

Ler XML sem a TAG nNF

Mensagempor Itamar M. Lins Jr. » 17 Abr 2018 16:39

Ola!
Alguém já pegou um XML assim ?

Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 3183
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 87 vezes
Mens.Curtidas: 131 vezes

Ler XML sem a TAG nNF

Mensagempor JoséQuintas » 17 Abr 2018 18:16

Já sim, mas não era de NFE.... rs
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 9420
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 6 vezes
Mens.Curtidas: 548 vezes

Ler XML sem a TAG nNF

Mensagempor rubens » 18 Abr 2018 07:55

Vixe !!! mais uma verificação então... O estado eu já pego da chave... Vou aproveitar e pegar o número, o cnj também...

Rubens
"Eu e minha casa servimos ao Senhor e você ???"
Avatar de usuário

rubens
Colaborador

Colaborador
 
Mensagens: 1244
Data de registro: 16 Ago 2003 09:05
Cidade/Estado: Nova Xavantina - MT
Curtiu: 55 vezes
Mens.Curtidas: 70 vezes

Ler XML sem a TAG nNF

Mensagempor JoséQuintas » 18 Abr 2018 09:25

Eu já pego tudo que a chave tem disponível.

Mas a tag é obrigatória, se não existir no XML, então o XML é inválido, ou não é de NFE.
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 9420
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 6 vezes
Mens.Curtidas: 548 vezes

Ler XML sem a TAG nNF

Mensagempor hazael » 18 Abr 2018 12:50

Como poderíamos definir o que é um XML válido?
O que tem que ter para dizer que é válido?
Harbour | GTWVT | MingW | Visual Studio Code
Avatar de usuário

hazael
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 253
Data de registro: 27 Nov 2016 12:59
Curtiu: 2 vezes
Mens.Curtidas: 15 vezes

Ler XML sem a TAG nNF

Mensagempor JoséQuintas » 18 Abr 2018 13:24

Se for assinado, conferir a assinatura.

Também daria pra validar com o schemma, mas isso exige também detectar qual o tipo de XML, qual a versão do XML, até mesmo a data do XML pra comparar com o schemma correto.
A validação é simples, o difícil é justamente decidir qual o conjunto de schemmas, e mantê-los atualizados.
Já faz parte do Windows a rotina de validação

No aplicativo seria algo do tipo: Validar( arquivo, schemma )

Mas como exemplo de schemmas:

Pasta de d:\cdrom\FONTES\INTEGRA\schemmas

12/02/2018 17:21 <DIR> .
12/02/2018 17:21 <DIR> ..
09/10/2017 10:36 <DIR> Evento_Canc_PL_v1.01
09/10/2017 10:35 <DIR> Evento_CCe_PL_v1.01
09/10/2017 18:21 <DIR> PL_008i2_CFOP_EXTERNO
09/10/2017 10:33 <DIR> PL_009_V4
09/10/2017 10:31 <DIR> PL_CTe_300
18/11/2017 02:50 <DIR> PL_CTe_300_NT2017.002
12/02/2018 17:21 <DIR> PL_CTe_300_NT2017.003
25/05/2017 22:57 <DIR> PL_MDFeDistDFe_100
09/10/2017 18:13 <DIR> PL_MDFe_300_NT022017
02/10/2017 12:40 <DIR> PL_MDFe_300_NT032017
25/05/2017 22:57 <DIR> PL_NFeDistDFe_102


Pasta de d:\cdrom\FONTES\INTEGRA\schemmas\PL_MDFe_300_NT032017

02/10/2017 12:40 <DIR> .
02/10/2017 12:40 <DIR> ..
02/10/2017 12:07 3.629 consMDFeNaoEncTiposBasico_v3.00.xsd
02/10/2017 12:07 571 consMDFeNaoEnc_v3.00.xsd
02/10/2017 12:07 6.271 consReciMDFeTiposBasico_v3.00.xsd
02/10/2017 12:07 597 consReciMDFe_v3.00.xsd
02/10/2017 12:07 4.559 consSitMDFeTiposBasico_v3.00.xsd
02/10/2017 12:07 569 consSitMDFe_v3.00.xsd
02/10/2017 12:07 620 consStatServMDFe_v3.00.xsd
02/10/2017 12:07 4.033 consStatServTiposBasico_v3.00.xsd
02/10/2017 12:07 592 distMDFe_v3.00.xsd
02/10/2017 12:07 711 enviMDFe_v3.00.xsd
02/10/2017 12:07 1.564 evCancMDFe_v3.00.xsd
02/10/2017 12:07 1.967 evEncMDFe_v3.00.xsd
02/10/2017 12:07 8.535 eventoMDFeTiposBasico_v3.00.xsd
02/10/2017 12:07 597 eventoMDFe_v3.00.xsd
02/10/2017 12:07 1.935 evIncCondutorMDFe_v3.00.xsd
02/10/2017 12:07 5.554 leiauteDistMDFe_v3.00.xsd
02/10/2017 12:07 3.958 mdfeConsultaDFeTiposBasico_v3.00.xsd
02/10/2017 12:07 561 mdfeConsultaDFe_v3.00.xsd
02/10/2017 12:07 3.479 mdfeModalAereo_v3.00.xsd
02/10/2017 12:07 10.365 mdfeModalAquaviario_v3.00.xsd
02/10/2017 12:07 5.333 mdfeModalFerroviario_v3.00.xsd
02/10/2017 12:07 24.201 mdfeModalRodoviario_v3.00.xsd
02/10/2017 12:07 81.778 mdfeTiposBasico_v3.00.xsd
02/10/2017 12:07 561 mdfe_v3.00.xsd
02/10/2017 12:07 587 procEventoMDFe_v3.00.xsd
02/10/2017 12:07 899 procMDFe_v3.00.xsd
02/10/2017 12:07 623 retConsMDFeNaoEnc_v1.00.xsd
02/10/2017 12:07 623 retConsMDFeNaoEnc_v3.00.xsd
02/10/2017 12:07 614 retConsReciMDFe_v3.00.xsd
02/10/2017 12:07 622 retConsSitMDFe_v3.00.xsd
02/10/2017 12:07 632 retConsStatServMDFe_v3.00.xsd
02/10/2017 12:07 574 retDistMDFe_v3.00.xsd
02/10/2017 12:07 603 retEnviMDFe_v3.00.xsd
02/10/2017 12:07 605 retEventoMDFe_v3.00.xsd
02/10/2017 12:07 614 retMDFeConsultaDFe_v3.00.xsd
09/10/2017 13:44 1.084 Sample.xml
02/10/2017 12:07 24.217 tiposGeralMDFe_v3.00.xsd
02/10/2017 12:07 3.749 xmldsig-core-schema_v1.01.xsd
38 arquivo(s) 208.586 bytes
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 9420
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 6 vezes
Mens.Curtidas: 548 vezes

Ler XML sem a TAG nNF

Mensagempor JoséQuintas » 18 Abr 2018 13:28

É mais complicado do que parece...

Pode ser que saiu um pacote novo, que vale a partir de determinada data.
Não tem a ver com versão de nota fiscal, versão do XML, data do XML, mas sim da data que começar a ser usado.

Como escolher?
Nunca pensei nisso.

No momento da emissão... você vai saber que pacote está usando no aplicativo.
Mas depois disso.... complicou... só se testar contra cada schemma pra ver se algum bate.

Teoricamente... se a assinatura bate, é o XML original que foi assinado.
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 9420
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 6 vezes
Mens.Curtidas: 548 vezes

Ler XML sem a TAG nNF

Mensagempor JoséQuintas » 18 Abr 2018 13:36

E complementando:

Por isso eu digo que o projeto é um lixo.
Você tem um XML que nem sabe se é verdadeiro.

Se conferir a chave na Sefaz... vai bater, mas não significa que é válido/verdadeiro.
Se conferir a assinatura... vai bater, mas não significa que é válido/verdadeiro.
Se conferir schemma... vai bater, mas não significa que é válido/verdadeiro.

Talvez... se baixar protocolo + digest value, e conferir digest value + assinatura... neste caso vai ser exatamente igual, mas nem lembro se o digest value é baixado.

No final, guardamos o que PARECE ser o XML oficial, e só isso.
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 9420
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 6 vezes
Mens.Curtidas: 548 vezes

Ler XML sem a TAG nNF

Mensagempor JoséQuintas » 18 Abr 2018 13:42

Só lembrando....
Nas notas eletrônicas de 2008 nem existia o protocolo.
TODAS seriam consideradas não autorizadas atualmente.

Ou seja.... com o tempo, a nota válida se transforma em inválida.... rs

É do jeito que os políticos gostam... pras falcatruas deles....
FIcam 4 anos, falsificam tudo, e o próximo nem vai poder conferir nada, porque 5 anos depois não tem mais nem na Sefaz....
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 9420
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 6 vezes
Mens.Curtidas: 548 vezes

Ler XML sem a TAG nNF

Mensagempor hazael » 18 Abr 2018 16:27

Bem, talvez o mais prático é ver se tem alguns campos que deveriam ter e com base nisso dizer que "pode ser válido" ou que "parece ser XML de NFe".
Algo assim, pelo menos para saber se dá para tentar ler ou não.
Harbour | GTWVT | MingW | Visual Studio Code
Avatar de usuário

hazael
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 253
Data de registro: 27 Nov 2016 12:59
Curtiu: 2 vezes
Mens.Curtidas: 15 vezes

Ler XML sem a TAG nNF

Mensagempor Itamar M. Lins Jr. » 19 Abr 2018 10:20

Ola!
Só para constar, é um XML de CTe
Tem os campos iniciais iguais a NF-e, só que no lugar no nNF tem nCT, as outras tags iniciais iguais a uma NFe por isso deu erro... Já corrigir aqui para visar ao cliente.

Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 3183
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 87 vezes
Mens.Curtidas: 131 vezes

Ler XML sem a TAG nNF

Mensagempor JoséQuintas » 19 Abr 2018 11:31

Itamar M. Lins Jr. escreveu:Só para constar, é um XML de CTe


A identificação disso faz parte da chave de acesso.

NFE = 55
CTE = 57
MDFE = 58
NFCE = 65
CTE-OS = 67

Tenho algo sobre isso na SefazClass pra identificar o tipo de XML, baseado em algumas tags que um tem e outro não.
Identifico NFE por último, porque NFe pode ter dentro dos outros também.

https://github.com/JoseQuintas/sefazclass/blob/master/source/ze_sefazclass.prg#L1642-L1677
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 9420
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 6 vezes
Mens.Curtidas: 548 vezes

Ler XML sem a TAG nNF

Mensagempor hazael » 19 Abr 2018 11:35

Eu estava fazendo algo bem parecido para organizar os XML dentro de uma pasta, usando a chave e mais alguns campos para confirmar, deixando a NFe por último por ser a mais genérica e ter quase todos campos em comum com os outros (por exemplo com a NFCe)
Harbour | GTWVT | MingW | Visual Studio Code
Avatar de usuário

hazael
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 253
Data de registro: 27 Nov 2016 12:59
Curtiu: 2 vezes
Mens.Curtidas: 15 vezes

Ler XML sem a TAG nNF

Mensagempor JoséQuintas » 19 Abr 2018 11:39

Agora que vi... a rotina tá errada, estou usando XmlTag() ao invés de XmlNode() pra pegar o tipo de evento.
Nenhum problema grave. Retorna que é evento, mas a parte de identificar evento não funciona.
Para o uso que faço dela, não devo ter precisado disso e não percebi.
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 9420
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 6 vezes
Mens.Curtidas: 548 vezes

Ler XML sem a TAG nNF

Mensagempor JoséQuintas » 19 Abr 2018 11:41

hazael escreveu:Eu estava fazendo algo bem parecido para organizar os XML dentro de uma pasta, usando a chave e mais alguns campos para confirmar, deixando a NFe por último por ser a mais genérica e ter quase todos campos em comum com os outros (por exemplo com a NFCe)


Pra isso uso XmlToDoc()

oDoc := XmlToDoc( "arquivo.xml" )

a partir daí, as informações estão em oDoc.
Por exemplo oDoc:Chave
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 9420
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 6 vezes
Mens.Curtidas: 548 vezes

Próximo



Retornar para Legislação Fiscal e Tributária

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 3 visitantes


Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro