Login Registre-se
Obter XMLs de retorno de evento na Consulta de Situação de NF-e  XML
Índice dos Fóruns » NF-e / NFS-e / CT-e / CF-e / Certificados Digitais
Autor Mensagem
tiagoberga

Moderador
[Avatar]

Membro desde: 11/03/2014 10:10:20
Mensagens: 449
Offline

Comunidade, tudo joia?

Ja sabemos que existe o serviço Método: nfeConsultaNF2, este retorna a situação de uma NF-e no Sefaz e os eventos vinculados à ela caso existam, pois bem,
através do retConsSitNFe, torna-se possível acessar uma lista de procEventoNFe, que por sua vez cada iteração torna-se um TProcEvento, então de forma
resumida seria isso:

Ai até tudo lindo, então tenho o TEvento, TRetEvento e TProcEvento, todos em uma paulada só, consigo abrir os objetos e mostrar qualquer informação na tela que eu quiser e etc e etc .
A questão é: PRECISO realizar o marshall dos objetos em xml para salvar na base de dados, só que uma forma correta a se fazer isso é utilizar os métodos Factory do respetivo
pacote, sendo

...mas porque usar desta forma? Pois os objetos TEvento, TRetEvento e TProcEvento não são @XmlRootElement, então não é possível (pelo que eu sei) realizar o parse direto com o JAXB,
a não ser fazendo dessa forma.

Qualquer coisa, qualquer conteúdo que tiverem/souberem sobre este assunto, me informe aqui... realmente é um implementação muito importante para meu projeto e pode ser aplicado
aos demais que adotarem à ideia

Abraço a todos!

Esta mensagem foi editada 2 vezes. Última atualização foi em 25/04/2016 16:20:17


Tiago Bergamasco, 25 anos

Computer Scientist pela Centro Universitário Anhanguera
MBA Service-Oriented Architeture (SOA) pela Metrocamp - Ibmec
AngularJS Developer pela Caelum Ensino e Inovação- SP

Ao entrar em contato, por favor identifique-se antes
Site: Arara Tecnologia da Informação



Comercial: 19 996050532

"Uma imagem vale mil palavras. Uma interface vale mil imagens." - Ben Shneiderman
[Email] [WWW]
rfumiot

JavaC Membro
[Avatar]

Membro desde: 23/06/2015 17:19:55
Mensagens: 217
Offline

eu procurei pelo fim do xml e inclui o protocolo de cancelamento, porém não valida o xml, rsrs...
tentei montar um xml na mão também incluindo o protocolo de cancelamento
mas também não consegui validar.

você conseguiu validar no sefaz do RS xml com cancelamento?
tiagoberga

Moderador
[Avatar]

Membro desde: 11/03/2014 10:10:20
Mensagens: 449
Offline

rfumiot, nao entendi muito do que voce quiser dizer.. poderia explicar melhor por favor?

referente a sua pergunta você conseguiu validar no sefaz do RS xml com cancelamento?
se voce diz ao processo normal de cancelamento, sim eu consegui sem problemas realizar a operação, validar o xml etc etc,
mas nao se se é isso que quis dizer... rsrs então por favor explique caso nao for

abrs vlw!

Tiago Bergamasco, 25 anos

Computer Scientist pela Centro Universitário Anhanguera
MBA Service-Oriented Architeture (SOA) pela Metrocamp - Ibmec
AngularJS Developer pela Caelum Ensino e Inovação- SP

Ao entrar em contato, por favor identifique-se antes
Site: Arara Tecnologia da Informação



Comercial: 19 996050532

"Uma imagem vale mil palavras. Uma interface vale mil imagens." - Ben Shneiderman
[Email] [WWW]
rfumiot

JavaC Membro
[Avatar]

Membro desde: 23/06/2015 17:19:55
Mensagens: 217
Offline

Bom dia,

Pelo que entendi o que você quer fazer é incluir o protocolo de cancelamento no xml da nfe,
da mesma forma como é incluído o protocolo de autorização ao final do xml após a assinatura digital,
eu tentei incluir o retorno do cancelamento porém não consegui validar o xml dentro do validador de xml.
[url]
https://www.sefaz.rs.gov.br/nfe/NFE-VAL.aspx
[/url]
tiagoberga

Moderador
[Avatar]

Membro desde: 11/03/2014 10:10:20
Mensagens: 449
Offline

"Pelo que entendi o que você quer fazer é incluir o protocolo de cancelamento no xml da nfe..."

não não rfumiot, a questão é outra. Suponhamos que seu fornecedor te envie uma NF-e, e no meio do processo ele cancele esta NF-e porém ele te envie somente o xml da Nota Fiscal Processada,
e ai, como você fará sem o xml Cancelado? ...que atualmente é um evento, então através do serviço de Consulta Situação de NF-e vi que é possível obter uma lista de eventos, e nesta lista está o
cancelamento efetuado pelo fornecedor.

...após isso volta o primeiro post que coloquei no tópico sobre como obter os resultados e efetuar os parses


obs* sei que é possível obter o mesmo xml de evento processado através da Distribuição de Documentos Fiscal Eletrônicos - DF-e desde que eu manifeste uma NF-e, mas estou desconsiderando este processo por enquanto.

Esta mensagem foi editada 2 vezes. Última atualização foi em 26/04/2016 08:46:54


Tiago Bergamasco, 25 anos

Computer Scientist pela Centro Universitário Anhanguera
MBA Service-Oriented Architeture (SOA) pela Metrocamp - Ibmec
AngularJS Developer pela Caelum Ensino e Inovação- SP

Ao entrar em contato, por favor identifique-se antes
Site: Arara Tecnologia da Informação



Comercial: 19 996050532

"Uma imagem vale mil palavras. Uma interface vale mil imagens." - Ben Shneiderman
[Email] [WWW]
tiagoberga

Moderador
[Avatar]

Membro desde: 11/03/2014 10:10:20
Mensagens: 449
Offline

26/04/2016 - Corrigindo minha ultima mensagem: "obs* sei que é possível obter o mesmo xml de evento processado através da Distribuição de Documentos Fiscal Eletrônicos - DF-e desde que eu manifeste uma NF-e, mas estou desconsiderando este processo por enquanto."

09/12/2016 - Na verdade eu não encontrei o evento de cancelamento de NF-e através do serviço NFeDistribuicaoDFe, me desculpem pelo erro... ainda estou à procura da solução.

Voltando ao tópico... fiquei um bom tempo resolvendo e criando outras soluções para o sistema e novamente volto à esta questão ainda insolúvel para mim.
Estou procurando pela solução adequada ao caso, tentando evitar workaroud(ainda não encontrei um rs), porém algum mestre das NF-es ai passou por esta
questão, não deixe de contribuir com este tópico, pois é o único do gênero aqui no fórum.. além de contribuir comigo COM CERTEZA ajudará muitos..

vlw gentens! []'s

Esta mensagem foi editada 1 vez. Última atualização foi em 09/12/2016 09:16:03


Tiago Bergamasco, 25 anos

Computer Scientist pela Centro Universitário Anhanguera
MBA Service-Oriented Architeture (SOA) pela Metrocamp - Ibmec
AngularJS Developer pela Caelum Ensino e Inovação- SP

Ao entrar em contato, por favor identifique-se antes
Site: Arara Tecnologia da Informação



Comercial: 19 996050532

"Uma imagem vale mil palavras. Uma interface vale mil imagens." - Ben Shneiderman
[Email] [WWW]
samuk.exe@hotmail.com

Moderador
[Avatar]

Membro desde: 31/08/2012 18:04:03
Mensagens: 1313
Localização: Goiás
Offline

Tiago, sobre sua primeira pergunta.
Em Relação ao Marshal que não existe, eu a algum tempo aprendi a fazer o marshal na mão.
Podendo assim transformar qualquer objeto em xml, alterando o XSD.

Caso não tenha resolvido me aviso que te ensino.

Samuel Oliveira
Gerente de Projetos - SW Software e Consultoria
Moderador (JavaC - Java Community)
samuel@swconsultoria.com.br

API NFe/NFC-e -> http://www.javac.com.br/jc/posts/list/3160-biblioteca-javanfe-com-jaxb-nfenfce-simples-v-4001.page
API CTe -> http://www.javac.com.br/jc/posts/list/2765-projeto-api-javacte-com-jaxb-cte-simples-v-3001.page
API Certificado Digital -> http://www.javac.com.br/jc/posts/list/0/2869.page#14592
API Efd Icms -> http://www.javac.com.br/jc/posts/list/2812-projeto-biblioteca-javaefdicms-sped-simples-v-20200.page

Github - > https://github.com/Samuel-Oliveira
Github Java-NFe -> https://github.com/Samuel-Oliveira/Java_NFe
Github Java-CTe -> https://github.com/Samuel-Oliveira/Java_CTe
Github Java-MDFe -> https://github.com/Samuel-Oliveira/Java_MDFe
Github Java-Certificado -> https://github.com/Samuel-Oliveira/Java_Certificado
Github Java-Efd-Icms -> https://github.com/Samuel-Oliveira/Java-Efd-Icms
Github Java-Efd-Contribuicoes -> https://github.com/Samuel-Oliveira/Java-Efd-Contribuicoes
Github Java-Efd-Reinf -> https://github.com/Samuel-Oliveira/Java-Efd-Reinf
Github Java-eSocial -> https://github.com/Samuel-Oliveira/Java-eSocial
Github Java-SPC -> https://github.com/Samuel-Oliveira/Java-SPC

http://www.swconsultoria.com.br/

Membros do fórum,

Usem a tag [code] e [/code] quando postarem Códigos Java e ou exemplos de XMLs.
Evitem tópicos duplicados.
Tópico solucionado? Edite o primeiro post e coloque [RESOLVIDO] no final do título.
Evitem reviver tópicos antigos.

O tópico resolveu seu problema? Seja gentil, comente e ou agradeça quem contribuiu com a solução.

Obrigado!
[Email] [WWW]
tiagoberga

Moderador
[Avatar]

Membro desde: 11/03/2014 10:10:20
Mensagens: 449
Offline

samuk.exe@hotmail.com tudo joia?

O que voce diz sobre realizar o marshal na mão também conheco esta possibilidade, seria criar um novo método dentro do ObjectFactory do pacote com a nova necessidade de objeto?
Essa é uma solução porém não é correta uma vez que o Sefaz não da o retorno na forma que deveria ser rsrs

O que ficou como solução "por hora" foi a possibilidade do usuário entrar com o xml processado de evento, assim identificando pela chave e vinculando dentro do sistema, assim disponibilizado
como um xml de distribuição e etc etc que ja sabemos...

caso tenha algum complemento, estou a ouvidos

o/

Esta mensagem foi editada 1 vez. Última atualização foi em 20/12/2016 13:22:48


Tiago Bergamasco, 25 anos

Computer Scientist pela Centro Universitário Anhanguera
MBA Service-Oriented Architeture (SOA) pela Metrocamp - Ibmec
AngularJS Developer pela Caelum Ensino e Inovação- SP

Ao entrar em contato, por favor identifique-se antes
Site: Arara Tecnologia da Informação



Comercial: 19 996050532

"Uma imagem vale mil palavras. Uma interface vale mil imagens." - Ben Shneiderman
[Email] [WWW]
samuk.exe@hotmail.com

Moderador
[Avatar]

Membro desde: 31/08/2012 18:04:03
Mensagens: 1313
Localização: Goiás
Offline

Olá Thiago, Pode me explicar isso: "Essa é uma solução porém não é correta uma vez que o Sefaz não da o retorno na forma que deveria ser rsrs"

Faço exatamente isso, no object factory eu crio um novo método referenciando o objeto que preciso.
Tenho vários clientes com isso em operação e todos tem salvado o NfeProc Perfeitamente, gerando impressao de xml e tudo mais.

Se puder me explicar agradeço, talvez seja algo que eu tenha deixado passar e quero corrigir nos meus clientes ou achar uma solução melhor para todos nos!

Abraços

Samuel Oliveira
Gerente de Projetos - SW Software e Consultoria
Moderador (JavaC - Java Community)
samuel@swconsultoria.com.br

API NFe/NFC-e -> http://www.javac.com.br/jc/posts/list/3160-biblioteca-javanfe-com-jaxb-nfenfce-simples-v-4001.page
API CTe -> http://www.javac.com.br/jc/posts/list/2765-projeto-api-javacte-com-jaxb-cte-simples-v-3001.page
API Certificado Digital -> http://www.javac.com.br/jc/posts/list/0/2869.page#14592
API Efd Icms -> http://www.javac.com.br/jc/posts/list/2812-projeto-biblioteca-javaefdicms-sped-simples-v-20200.page

Github - > https://github.com/Samuel-Oliveira
Github Java-NFe -> https://github.com/Samuel-Oliveira/Java_NFe
Github Java-CTe -> https://github.com/Samuel-Oliveira/Java_CTe
Github Java-MDFe -> https://github.com/Samuel-Oliveira/Java_MDFe
Github Java-Certificado -> https://github.com/Samuel-Oliveira/Java_Certificado
Github Java-Efd-Icms -> https://github.com/Samuel-Oliveira/Java-Efd-Icms
Github Java-Efd-Contribuicoes -> https://github.com/Samuel-Oliveira/Java-Efd-Contribuicoes
Github Java-Efd-Reinf -> https://github.com/Samuel-Oliveira/Java-Efd-Reinf
Github Java-eSocial -> https://github.com/Samuel-Oliveira/Java-eSocial
Github Java-SPC -> https://github.com/Samuel-Oliveira/Java-SPC

http://www.swconsultoria.com.br/

Membros do fórum,

Usem a tag [code] e [/code] quando postarem Códigos Java e ou exemplos de XMLs.
Evitem tópicos duplicados.
Tópico solucionado? Edite o primeiro post e coloque [RESOLVIDO] no final do título.
Evitem reviver tópicos antigos.

O tópico resolveu seu problema? Seja gentil, comente e ou agradeça quem contribuiu com a solução.

Obrigado!
[Email] [WWW]
tiagoberga

Moderador
[Avatar]

Membro desde: 11/03/2014 10:10:20
Mensagens: 449
Offline

Olá samuk, legal a possibilidade de modificar o ObjectFactory, de qualquer modo torna-se funcional criar um novo método la que se adapte à necessidade quando ela não existe,
um exemplo disso é o serviço para consultar NF-e NfeConsultaProtocolo, atualmente pelo método nfeConsultaNF2... o resultado disso é um retorno do pacote retConsSitNFe_v310.TRetConsSitNFe,
dentro do mesmo pacote voce conta com o ObjectFactory que por sua vez disponibiliza somente uma fabrica, que é do objeto TRetConsSitNFe anteriormente citado, ai entramos na possibilidade
da alteração deste ObjectFactory, "mas por que alterá-lo?" pois dentro do retorno obtido do objeto retConsSitNFe_v310.TRetConsSitNFe é possível obter uma lista de Eventos Processados: retConsSitNFe.getProcEventoNFe()
isso é muito util, afinal se um fornecedor não te enviar um evento processado de cancelamento por exemplo você pode saber por ai qual a situação de determinada NF-e, porééééééém para realizar a conversão
deste objeto para xml preciso utilizar o unmarshall do jaxb para tal, como esta classe TProcEvento do pacote retConsSitNFe_v310 não é @XmlRootElement não é possível realizar conversão direta com jaxb, torna-se
necessário criar antes o objeto, e seria ai que entra a modificação no ObjectFactory para utilização :



Com essa premissa daria continuidade em transformar o objeto em xml para salvar na base, e atribuir como um xml de distribuição, nfeProc e procEvento.. certcho?

Pois bem, ai confirma o que eu disse anteriormente: "Essa é uma solução porém não é correta uma vez que o Sefaz não da o retorno na forma que deveria ser rsrs"

Tiago Bergamasco, 25 anos

Computer Scientist pela Centro Universitário Anhanguera
MBA Service-Oriented Architeture (SOA) pela Metrocamp - Ibmec
AngularJS Developer pela Caelum Ensino e Inovação- SP

Ao entrar em contato, por favor identifique-se antes
Site: Arara Tecnologia da Informação



Comercial: 19 996050532

"Uma imagem vale mil palavras. Uma interface vale mil imagens." - Ben Shneiderman
[Email] [WWW]
GGarcia

JavaC Membro
[Avatar]

Membro desde: 28/05/2013 17:12:21
Mensagens: 332
Offline

Cara, vocês vão me chamar de louco, mas aqui não usamos nenhum método desses.

Desenvolvemos aqui nosso parser de XML e temos alguns objetos específicos para guardar essas informações.

Então, se qualquer coisa for modificada em uma resposta do SEFAZ ou para a emissão de um XML novo, eu só mexo no parser, adiciono os campos novos e está feito.

Se é melhor ou pior, realmente não sei, mas pelo menos assim eu tenho controle total sobre o que é feito e meu downtime é muito baixo.

If you're here, who's running hell?
tiagoberga

Moderador
[Avatar]

Membro desde: 11/03/2014 10:10:20
Mensagens: 449
Offline

GGarcia, louco não.. é uma opção diferente de criar os objetos nfe.. eu ja trabalhei dessa forma e acho interessante, mas por conhecer as duas sei que ha vantagens em uma que não ha na outra e vice-versa,
o que me fez optar por trabalhar com schemas prontos ja do sefaz, precisando apenas baixar quando surge atualização... voce trabalha com o jaxb ou o xstream?

Tiago Bergamasco, 25 anos

Computer Scientist pela Centro Universitário Anhanguera
MBA Service-Oriented Architeture (SOA) pela Metrocamp - Ibmec
AngularJS Developer pela Caelum Ensino e Inovação- SP

Ao entrar em contato, por favor identifique-se antes
Site: Arara Tecnologia da Informação



Comercial: 19 996050532

"Uma imagem vale mil palavras. Uma interface vale mil imagens." - Ben Shneiderman
[Email] [WWW]
GGarcia

JavaC Membro
[Avatar]

Membro desde: 28/05/2013 17:12:21
Mensagens: 332
Offline

tiagoberga wrote:GGarcia, louco não.. é uma opção diferente de criar os objetos nfe.. eu ja trabalhei dessa forma e acho interessante, mas por conhecer as duas sei que ha vantagens em uma que não ha na outra e vice-versa,
o que me fez optar por trabalhar com schemas prontos ja do sefaz, precisando apenas baixar quando surge atualização... voce trabalha com o jaxb ou o xstream?


Nenhum dos dois

Desenvolvemos nosso próprio Parser para fazer leitura de XML. Esse parser lê qualquer tipo de XML, apenas temos que mapear os campos que queremos ler no loop (seja conteúdo, tag, parâmetros) e geramos os objetos a partir dessa leitura.

Para gerar o XML da NFe utilizamos o bom e velho StringBuilder e vou criando o XML ao fazer a leitura dos dados.

Como existem centenas de exceções tributárias para gerar uma NFe, no momento do parse analisamos o regime tributário do emitente, as restrições do destinatário, CFOP, CST/CSOSN do produto e assim o XML vai se desenhando.

E sobre a DANFE, eu faço tudo na mão com o Apache PDFBox. Criei uma mini-biblioteca para converter as unidades de medida do PDF, que é points e a sua margem zero inicia no canto inferior direito da página, para mm partindo do canto superior esquerdo da página. Assim consigo desenhar os elementos com precisão de mm.

Eu só uso os XSD no momento do envio para validar a estrutura do meu XML.

Esta mensagem foi editada 1 vez. Última atualização foi em 22/12/2016 16:13:00


If you're here, who's running hell?
 
Índice dos Fóruns » NF-e / NFS-e / CT-e / CF-e / Certificados Digitais
Ir para:   
Powered by JForum 2.1.9 © JForum Team