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