Browse Source

[FEAT][10.0]Cancelado no DANFE

# Conflicts:
#	setup.py
pull/115/head
carcaroff 8 years ago
parent
commit
21fb2e1156
  1. 12
      pytrustnfe/nfe/danfe.py
  2. 13
      pytrustnfe/utils.py

12
pytrustnfe/nfe/danfe.py

@ -191,6 +191,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(
@ -318,6 +320,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):

13
pytrustnfe/utils.py

@ -96,3 +96,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)
Loading…
Cancel
Save