# -*- 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 ''