Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NFeDistribuicaoDFe retornando resNFe #56

Closed
thumsl opened this issue Feb 5, 2019 · 6 comments
Closed

NFeDistribuicaoDFe retornando resNFe #56

thumsl opened this issue Feb 5, 2019 · 6 comments

Comments

@thumsl
Copy link

thumsl commented Feb 5, 2019

Estou usando os exemplos da wiki para realizar as operacoes de ciencia da emissao e confirmacao da emissao (executei ambas para uma NFe teste) e para entao consultar a distribuicao, mas estou recebendo apenas a "resNFe" (resumo) no XML retornado da consulta_distribuicao() (mesmo apos a confirmacao)

Como faco para baixar o XML completo?

Nao acho que exista um problema com o codigo o PyNFe em si, mas estou abrindo o issue aqui com esperanca que alguem possa me ajudar.

Obrigado!

@juniortada
Copy link
Member

Só é possível baixar a NF-e completa se você for o destinatário. Exemplo:
Empresa A (emitente) emite nota para empresa B (destinatário).
Empresa B (destinatário) confirma o aceita da operação (ciencia da emissão), assim ela pode consultar e baixar o nota completa, mesmo que Empresa A não envie.
Para a SEFAZ, se você é a empresa A (emitente), você tem o XML completo, inclusive por lei é preciso manter o xml armazenado por até 5 anos.
Fora isso acho que o transportador pode baixar também, mas não sei se é só resumo.

@thumsl
Copy link
Author

thumsl commented Feb 6, 2019

Desculpa se nao expliquei direito, mas eu sou o destinatario, por isso a duvida.

Aceitei a operacao (com sucesso, se eu tento novamente recebo a mensagem de "Rejeicao: Duplicidade de evento") e mesmo assim recebo apenas o resumo.

O que eu fiz:

manif_dest = EventoManifestacaoDest(
		cnpj=meu_cnpj,  # MEU cnpj (destinatario), na wiki informa que deve ser informado o cnpj do emissor, acho que esta incorreto
		chave=key, 
		data_emissao=datetime.datetime.now(),
		uf=uf,
		operacao=1)
	serializador = SerializacaoXML(_fonte_dados, homologacao=False)
	nfe_manif = serializador.serializar_evento(manif_dest)
	xml = a1.assinar(nfe_manif)
	con.evento(modelo='nfe', evento=xml)

	res = con.consulta_distribuicao('meu_cnpj', 'key')
        ... + codigo para descompactar a resposta

@juniortada
Copy link
Member

Qual UF?

@thumsl
Copy link
Author

thumsl commented Feb 6, 2019

Qual UF?

PR

@thumsl
Copy link
Author

thumsl commented Feb 6, 2019

Deu certo!

Eu editei as areas da wiki que considerei problematicas, por favor revise minhas alteracoes mas acho que estao corretas.

O problema foi que eu copiei o codigo da wiki:

con.consulta_distribuicao('meu_cnpj', 'key')

mas a definicao da funcao de consulta eh

consulta_distribuicao(cnpj=None, cpf=None, chave=None [...])

Entao na verdade eu estava atribuindo apenas cnpj e o cpf, deixando a chave em branco. O que acontecia era que estava sendo executado o webservice que retorna os ultimos 50 NSU (sem uma chave especifica), o resumo que eu estava imprimindo apos a consulta era o primeiro docZip da lista de 50 (eu descompactava a posicao [0] da lista de docZip, assumindo so existia um). Esse resumo obviamente nao era da chave que eu estava requisitando, nao percebi isso.

Muito obrigado pelo seu codigo, o PyNFe vai ser muito util p/ minha empresa

@thumsl thumsl closed this as completed Feb 6, 2019
@juniortada
Copy link
Member

Muito obrigado pela contribuição.
Consulta distribuição é complicado, tem várias formas de comportamento, depende muito do autor do evento.
Por favor, sinta-se a vontade para editar a wiki e colocar o máximo de informações.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants