|
@@ -0,0 +1,38 @@
|
|
|
+# -*- coding: utf-8 -*-
|
|
|
+from openerp import models, fields, api
|
|
|
+
|
|
|
+class AccountInvoice(models.Model):
|
|
|
+ _inherit = 'account.invoice'
|
|
|
+
|
|
|
+ description_completo = fields.Char(string='Descripción Completa', compute='_compute_description_completo_invoice', store=True)
|
|
|
+
|
|
|
+ @api.depends('invoice_line')
|
|
|
+ def _compute_description_completo_invoice(self):
|
|
|
+ for invoice in self:
|
|
|
+ descriptions = [line.name for line in invoice.invoice_line]
|
|
|
+ invoice.description_completo = ', '.join(descriptions)
|
|
|
+
|
|
|
+ @api.multi
|
|
|
+ def action_invoice_paid(self):
|
|
|
+ res = super(AccountInvoice, self).action_invoice_paid()
|
|
|
+
|
|
|
+ # Copiar el valor de description_completo de account.invoice a account.bank.statement.line
|
|
|
+ for invoice in self:
|
|
|
+ if invoice.state in ('open', 'paid'):
|
|
|
+ for statement in invoice.statement_ids:
|
|
|
+ for line in statement.line_ids:
|
|
|
+ line.write({'description_completo': invoice.description_completo}) # Usar el campo 'description_completo'
|
|
|
+
|
|
|
+ return res
|
|
|
+
|
|
|
+class AccountBankStatementLine(models.Model):
|
|
|
+ _inherit = 'account.bank.statement.line'
|
|
|
+
|
|
|
+ description_completo = fields.Char(string='Descripción Completa', compute='_compute_description_completo_statement', store=True)
|
|
|
+
|
|
|
+ @api.depends('name')
|
|
|
+ def _compute_description_completo_statement(self):
|
|
|
+ for line in self:
|
|
|
+ # Buscar la factura relacionada por el número (number)
|
|
|
+ invoice = self.env['account.invoice'].search([('number', '=', line.name)], limit=1)
|
|
|
+ line.description_completo = invoice.description_completo if invoice else ''
|