Comments (8)
Só um comentário: porque não esse exemplo de fluxo para descompactar?
from pynfe.
@HiagoCardos na imagem está vindo conteúdo compactado sim (conteúdo dentro da tag doczip).
Outra ponto importante se você reparar o schema é um procNFe e não um resNFe (sua dúvida se precisava ou não manifestação do destinatário).
Acho que o problema é só seguir corretamente esse fluxo para descompactar.
Exemplo:
zip_resposta = resposta.xpath('//ns:retDistDFeInt/ns:loteDistDFeInt/ns:docZip', namespaces=ns)[0].text
resposta_descompactado = DescompactaGzip.descompacta(zip_resposta)
texto_descompactado = etree.tostring(resposta_descompactado).decode('utf-8')
with open(f'{CHAVE}.xml', 'w+', encoding='UTF-8') as f:
f.write(texto_descompactado)
from pynfe.
Boa noite @HiagoCardos
O que você quer dizer com: "mas quando vou usar a função para gerar XML não tenho sucesso" ? Seria "deszipar" o conteúdo da resposta?
Quando você consulta uma DF-e pela chave o conteúdo não vem em formato .zip, somente em lotes de NSU.
Outra dúvida, você está consultado DF-e do CNPJ emissor ou destinatário?
O documento já teve manifestação do destinatário (ciência da operação)?
from pynfe.
Não sabia que pela chave não gerava o XML, quando fui testar pelo NSU não tinha no banco do SEFAZ, pela chave ele encontrava normalmente, mas não me repassava nenhum valor.
CNPJ que estou pesquisando é destinatário, se teve manifestação não sei confirmar, é de um cliente meu, mas acredito que sim, estava testando com notas de 3 meses atrás.
from pynfe.
@HiagoCardos eu falei que a resposta não vem compactada, mas pode variar de SEFAZ autorizador ou tamanho do xml. Como você sabe que consultando pela chave "pela chave ele encontrava normalmente, mas não me repassava nenhum valo."?
Posta a consulta pesquisando pela chave e pelo nsu com conteúdo anonimizado.
Como o seu CNPJ é o destinatário da DF-e você precisa manifestar "ciência da operação/confirmação da operação"
para o xml ficar disponível para download.
Exemplo:
https://portal.fazenda.sp.gov.br/servicos/nfe/Paginas/Aplicativo-de-Manifesta%C3%A7%C3%A3o-do-Destinat%C3%A1rio.aspx
from pynfe.
Mandei nessa imagem, parte da resposta que tenho, quando eu uso o descompactador que tem aqui, ele da um erro, mas ai provavelmente o motivo é o que você comentou, que não está compactado.
from pynfe.
@leogregianin Esse precisa do NSU, e pelo NSU por algum motivo não encontra a nota no SEFAZ, não sei dizer o porque.
Quando eu busco ele diz que o ultimo NSU é 000000000, e quando eu boto pra buscar o NSU 0, ele bloqueia por excesso de notas, mas quando eu mando buscar apenas 1 NSU, "1" mesmo sendo 1 ele não encontra, ou o correto "55789" salvo engano, ele diz que não encontra.
Quando eu busco a pela chave, e chega o NSU da chave, em sequencia busco o NSU dessa chave, não consigo encontrar nada.
E no caso do serviço que estou fazendo para o cliente, pela chave seria o modelo "ideal", pensei em buscar a chave, pegar o NSU dela e depois pesquisar novamente, mas como seria 2 pesquisas por vez, acabaria sendo inviavel, quando forem usadas muitas chaves.
from pynfe.
@juniortada Deu certo, eu estava usando o metodo que consta aqui, e por este dava esse erro que comentei, troquei para o que você enviou, só adicionei 2 linhas a mais e funcionou corretamente.
# Gerar XML
resposta = etree.fromstring(xml.text.encode('utf-8'))
ns = {'ns': NAMESPACE_NFE}
zip_resposta = resposta.xpath('//ns:retDistDFeInt/ns:loteDistDFeInt/ns:docZip', namespaces=ns)[0].text
resposta_descompactado = DescompactaGzip.descompacta(zip_resposta)
texto_descompactado = etree.tostring(resposta_descompactado).decode('utf-8')
with open(f'{CHAVE}.xml', 'w+', encoding='UTF-8') as f:
f.write(texto_descompactado)
Muito obrigado pela ajuda, @leogregianin Dentro do fluxo que você enviou, tinha a resposta, mas acabei nem vendo direito pois achei que era o mesmo modo de descompactação que eu estava utilizando, mas só quando o @juniortada enviou o código que vi corretamente, apesar da diferença ser minima, há diferença.
from pynfe.
Related Issues (20)
- Intervalo de datas HOT 2
- O tpEmis informado e incompativel HOT 3
- Abandonar suporte a versões antigas do Python (3.6) HOT 1
- load_pkcs12 depreciado no OpenSSL.crypto HOT 3
- NFSe Nacional HOT 7
- NFSE - AttributeError: module 'collections' has no attribute 'MutableSequence' HOT 2
- Dúvida certificado contador HOT 1
- Melhorar TAG detPag para permitir vários pagamentos (NT 2016.002) HOT 1
- ajuda HOT 2
- Qual endpoint eu pego a listagem das notas para manifestação de interesse? HOT 1
- Nâo consigo Consultar Notas HOT 2
- Rejeição 486 (Sefaz Bahia) - Implementar o grupo de Tags autXML HOT 1
- Multiplos certificados
- Eventos não retornados em consultas para uf de SP
- Erro consulta NFS HOT 1
- Erros na emissão de NFC-e (Espírito Santo) HOT 2
- Commit 81ea4a76e816ae74d201308c9fc5331f377a203e não publicado no PyPI
- Manifestação Destinatário - Rejeicao: Código do Orgao diverge do orgao autorizador
- DÚVIDAS SOBRE CONSULTA DE DISTRIBUIÇÃO DF-e
- Dúvida como Gerar o grupo de informações de Cobrança <cob></cobr>
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pynfe.