From db083bfe59749df5b1846f9450fc9fbd3fe90dcc Mon Sep 17 00:00:00 2001 From: carcaroff Date: Thu, 29 Mar 2018 18:24:59 -0300 Subject: [PATCH] [FEAT][10.0]Cancelado no DANFE --- pytrustnfe/nfe/danfe.py | 12 ++++++++++++ pytrustnfe/utils.py | 13 +++++++++++++ setup.py | 2 +- 3 files changed, 26 insertions(+), 1 deletion(-) diff --git a/pytrustnfe/nfe/danfe.py b/pytrustnfe/nfe/danfe.py index c1fb83c..4cb1a83 100644 --- a/pytrustnfe/nfe/danfe.py +++ b/pytrustnfe/nfe/danfe.py @@ -181,6 +181,8 @@ class danfe(object): ".//{http://www.portalfiscal.inf.br/nfe}protNFe") elem_emit = oXML.find(".//{http://www.portalfiscal.inf.br/nfe}emit") elem_ide = oXML.find(".//{http://www.portalfiscal.inf.br/nfe}ide") + elem_evento = oXML.find( + ".//{http://www.portalfiscal.inf.br/nfe}infEvento") cChave = elem_infNFe.attrib.get('Id')[3:] barcode128 = code128.Code128( @@ -308,6 +310,16 @@ class danfe(object): self.string(self.nLeft + 65, 449, 'SEM VALOR FISCAL') self.canvas.restoreState() + # Cancelado + if tagtext(oNode=elem_evento, cTag='xEvento') == \ + 'Cancelamento registrado': + self.canvas.saveState() + self.canvas.rotate(45) + self.canvas.setFont('NimbusSanL-Bold', 60) + self.canvas.setFillColorRGB(1, 0.2, 0.2) + self.string(self.nLeft + 80, 275, 'CANCELADO') + self.canvas.restoreState() + self.nlin += 48 def destinatario(self, oXML=None): diff --git a/pytrustnfe/utils.py b/pytrustnfe/utils.py index b53ba37..b37080e 100644 --- a/pytrustnfe/utils.py +++ b/pytrustnfe/utils.py @@ -95,3 +95,16 @@ def gerar_nfeproc(envio, recibo): root.append(nfe) root.append(protocolo) return ET.tostring(root) + + +def gerar_nfeproc_cancel(nfe_proc, cancelamento): + import ipdb + ipdb.set_trace() + docEnvio = ET.fromstring(nfe_proc) + docCancel = ET.fromstring(cancelamento) + + ev_cancelamento = _find_node(docCancel, "retEvento") + if ev_cancelamento is None: + return '' + docEnvio.append(ev_cancelamento) + return ET.tostring(docEnvio) diff --git a/setup.py b/setup.py index d862966..514789b 100644 --- a/setup.py +++ b/setup.py @@ -1,7 +1,7 @@ # coding=utf-8 from setuptools import setup, find_packages -VERSION = "0.1.45" +VERSION = "0.1.46" setup( name="PyTrustNFe",