From c17288535dc99a972bea90b4ede4c7285130f4d8 Mon Sep 17 00:00:00 2001 From: Cuauhtemoc Diaz Minor <cuauhtemoc.diaz@openpyme.mx> Date: Thu, 18 Oct 2018 13:43:17 -0500 Subject: [PATCH] perf(base.cfdi): cambios necesarios para la integracion con account.invoice Se crea el campo `cfdi_folio_fiscal` y se relaciona con cfdi_id En la funcion de `cancel_cfdi()` se modifica la logica para la cancelacion de CFDi 3.3, de la cancelacion del CFDI con el pac se espera saber si la cancelacion se realiza o no --- .../models/base_cfdi_mixin.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/l10n_mx_ir_attachment_facturae/models/base_cfdi_mixin.py b/l10n_mx_ir_attachment_facturae/models/base_cfdi_mixin.py index 59351f00..5400d7b4 100644 --- a/l10n_mx_ir_attachment_facturae/models/base_cfdi_mixin.py +++ b/l10n_mx_ir_attachment_facturae/models/base_cfdi_mixin.py @@ -1,10 +1,14 @@ # -*- coding: utf-8 -*- +import logging + from datetime import datetime from pytz import timezone, UTC from openerp import api, fields, models +_logger = logging.getLogger(__name__) + def _sanitize(text): # Chars not allowed on CFDI @@ -67,6 +71,10 @@ class BaseCfdi(models.AbstractModel): 'ir.attachment.facturae.mx', 'CFDI', copy=False, help='CFDI realed to the selected record.', ) + cfdi_folio_fiscal = fields.Char( + 'CFD-I Folio Fiscal', related='cfdi_id.uuid', + help='Folio used in the electronic invoice', + ) cfdi_state = fields.Selection(related='cfdi_id.state') cfdi_relation_type = fields.Many2one( 'cfdi.relation.type', 'CFDI Relation type', copy=False, @@ -93,5 +101,8 @@ class BaseCfdi(models.AbstractModel): def cancel_cfdi(self): """Cancels the cfdi related with current record and delete relation""" if self.cfdi_id and self.cfdi_id.state in ['signed', 'done']: - self.cfdi_id.action_cancel() - self.cfdi_id = False + cancelacion = self.cfdi_id.action_cancel() + if cancelacion: + self.cfdi_id = False + return cancelacion + return cancelacion -- GitLab