From 2f789031a9181e041bd5e23f6a10bf5f22269234 Mon Sep 17 00:00:00 2001 From: Junior Tada Date: Wed, 5 Aug 2015 00:27:59 -0300 Subject: [PATCH] =?UTF-8?q?Retorno=20para=20autoriza=C3=A7=C3=A3o=20de=20n?= =?UTF-8?q?ota=20em=20modo=20ass=C3=ADncrono?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AUTHORS | 2 ++ pynfe/processamento/comunicacao.py | 14 +++++++++++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/AUTHORS b/AUTHORS index 33c8bd0..4952707 100644 --- a/AUTHORS +++ b/AUTHORS @@ -22,4 +22,6 @@ know-how e debates, seja através de código enviado para colaborar: - Diogo Daniel (Prosig Sistemas) - Antonio Prado (Antonio Prado Sistemas) - Italo Maia + - Junior Tada (juniortada@gmail.com) + - Leonardo Tada diff --git a/pynfe/processamento/comunicacao.py b/pynfe/processamento/comunicacao.py index e8de7ec..20bdb78 100644 --- a/pynfe/processamento/comunicacao.py +++ b/pynfe/processamento/comunicacao.py @@ -45,8 +45,6 @@ class ComunicacaoSefaz(Comunicacao): # Em caso de sucesso, retorna xml com nfe e protocolo de autorização. # Caso contrário, envia todo o soap de resposta da Sefaz para decisão do usuário. - import ipdb - ipdb.set_trace() if retorno.status_code == 200: if indSinc == 1: # Procuta status no xml @@ -59,7 +57,17 @@ class ComunicacaoSefaz(Comunicacao): raiz.append(nota_fiscal) raiz.append(prot) return 0, raiz - return 1, retorno + else: + # Retorna id do protocolo para posterior consulta em caso de sucesso. + ns = {'ns':'http://www.portalfiscal.inf.br/nfe'} # namespace + rec = etree.fromstring(retorno.text) + rec = rec[1][0][0] + status = rec.xpath("ns:cStat", namespaces=ns)[0].text + # Lote Recebido com Sucesso! + if status == '103': + nrec = rec.xpath("ns:infRec/ns:nRec", namespaces=ns)[0].text + return 0, nrec, nota_fiscal + return 1, retorno, nota_fiscal def consulta_recibo(self, modelo, numero): """