GithubHelp home page GithubHelp logo

Dúvida sobre consulta_nfe about pynfe HOT 8 CLOSED

HiagoCardos avatar HiagoCardos commented on August 31, 2024
Dúvida sobre consulta_nfe

from pynfe.

Comments (8)

leogregianin avatar leogregianin commented on August 31, 2024 1

Só um comentário: porque não esse exemplo de fluxo para descompactar?

from pynfe.

juniortada avatar juniortada commented on August 31, 2024 1

@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.

juniortada avatar juniortada commented on August 31, 2024

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.

HiagoCardos avatar HiagoCardos commented on August 31, 2024

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.

juniortada avatar juniortada commented on August 31, 2024

@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.

HiagoCardos avatar HiagoCardos commented on August 31, 2024

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.

image

from pynfe.

HiagoCardos avatar HiagoCardos commented on August 31, 2024

@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.

HiagoCardos avatar HiagoCardos commented on August 31, 2024

@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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.