From 90eec635cedfde7376aa360c6f1f4f083ea6f76c Mon Sep 17 00:00:00 2001 From: Mauricio Baeza Date: Thu, 31 Dec 2020 21:00:00 -0600 Subject: [PATCH] Cancel cfdi of pay with xml signed --- source/app/controllers/utils.py | 2 +- source/app/models/main.py | 17 ++++++++--------- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/source/app/controllers/utils.py b/source/app/controllers/utils.py index b73feb9..274635c 100644 --- a/source/app/controllers/utils.py +++ b/source/app/controllers/utils.py @@ -669,6 +669,6 @@ def cancel_xml_sign(invoice, auth, certificado): date_cancel = tree.xpath('string(//Acuse/@Fecha)')[:19] msg = 'Factura cancelada correctamente' - result = {'ok': True, 'msg': '', 'row': {'estatus': 'Cancelada'}, + result = {'ok': True, 'msg': msg, 'row': {'estatus': 'Cancelada'}, 'Fecha': date_cancel, 'Acuse': result} return result diff --git a/source/app/models/main.py b/source/app/models/main.py index f4eb719..6b5bcc2 100644 --- a/source/app/models/main.py +++ b/source/app/models/main.py @@ -6526,21 +6526,21 @@ class CfdiPagos(BaseModel): data = {'ok': False, 'msg': msg} return data - auth = Emisor.get_auth() - cert = Certificado.get_cert() - - data, result = util.cancel_xml(auth, last.uuid, cert) - if data['ok']: + auth = Configuracion.get_({'fields': 'pac_auth'}) + certificado = Certificado.get(Certificado.es_fiel==False) + result = utils.cancel_xml_sign(last, auth, certificado) + # ~ data, result = util.cancel_xml(auth, last.uuid, cert) + if result['ok']: last.estatus = 'Cancelada' last.error = '' last.cancelada = True last.fecha_cancelacion = result['Fecha'] - msg = 'Factura cancelada correctamente' + # ~ msg = 'Factura cancelada correctamente' else: - last.error = msg = data['msg'] + last.error = result['msg'] last.save() - return {'ok': data['ok'], 'msg': msg, 'id': last.id} + return {'ok': result['ok'], 'msg': result['msg'], 'id': last.id} def _get_folio(self, serie): folio = int(Configuracion.get_('txt_config_cfdipay_folio') or '0') @@ -8587,7 +8587,6 @@ class CfdiNomina(BaseModel): def _make_xml(self, cfdi): emisor = Emisor.select()[0] empleado = cfdi.empleado - # ~ certificado = Certificado.select()[0] certificado = Certificado.get(Certificado.es_fiel==False) totals = CfdiNominaTotales.select().where(CfdiNominaTotales.cfdi==cfdi)[0]