소스 검색

Copiar líneas de facturas al campo description_completo de account.invoice

SEBAS 1 년 전
커밋
1c9aae070b

+ 2 - 0
__init__.py

@@ -0,0 +1,2 @@
+# -*- coding: utf-8 -*-
+import models

BIN
__init__.pyc


+ 18 - 0
__openerp__.py

@@ -0,0 +1,18 @@
+# -*- coding: utf-8 -*-
+{
+    'name': 'Copiar líneas de facturas al campo descrption_completo de account.invoice',
+    'author': 'Sebastian Penayo',
+    'category': 'Account',
+    'version': '0.1.1',
+    'depends': ['base', 'account', 'account_voucher_comment' ],
+    'data': [ 'views/views.xml',
+              'views/account_bank_statement_line_view.xml',
+              'views/account_voucher_view.xml',
+    ],
+    'qweb': [
+
+    ],
+}
+
+
+#

+ 4 - 0
models/__init__.py

@@ -0,0 +1,4 @@
+# -*- coding: utf-8 -*-
+
+import account_invoice
+import account_voucher

BIN
models/__init__.pyc


+ 38 - 0
models/account_invoice.py

@@ -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 ''

BIN
models/account_invoice.pyc


+ 14 - 0
models/account_voucher.py

@@ -0,0 +1,14 @@
+# -*- coding: utf-8 -*-
+from openerp import models, fields, api
+
+class AccountVoucher(models.Model):
+    _inherit = 'account.voucher'
+
+    description_completo = fields.Char(string='Descripción Completa', compute='_compute_description_completo_voucher', store=True)
+
+    @api.depends('reference')
+    def _compute_description_completo_voucher(self):
+        for line in self:
+            # Buscar la factura relacionada por el número (number)
+            invoice = self.env['account.invoice'].search([('number', '=', line.reference)], limit=1)
+            line.description_completo = invoice.description_completo if invoice else ''

BIN
models/account_voucher.pyc


BIN
static/description/icon.png


+ 31 - 0
views/account_bank_statement_line_view.xml

@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<openerp>
+    <data>
+
+              <record id="account_view_bank_statement_form_inherit" model="ir.ui.view">
+                  <field name="name">account.view.bank.statement.form.inherit</field>
+                  <field name="model">account.bank.statement</field>
+                  <field name="inherit_id" ref="account.view_bank_statement_form2"/>
+                  <field name="arch" type="xml">
+                        <xpath expr="//field[@name='ref']" position="before">
+                          <field name="description_completo"/>
+                        </xpath>
+                  </field>
+
+              </record>
+
+              <record id="view_bank_statement_form_inherit" model="ir.ui.view">
+                  <field name="name">view.bank.statement.form.inherit</field>
+                  <field name="model">account.bank.statement</field>
+                  <field name="inherit_id" ref="account.view_bank_statement_form"/>
+                  <field name="arch" type="xml">
+                        <xpath expr="//field[@name='bank_account_id']" position="before">
+                          <field name="description_completo"/>
+                        </xpath>
+                  </field>
+
+              </record>
+
+    </data>
+</openerp>

+ 28 - 0
views/account_voucher_view.xml

@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<openerp>
+    <data>
+      <record id="view_account_voucher_form_inherit" model="ir.ui.view">
+           <field name="name">account.voucher.form.inherit</field>
+           <field name="model">account.voucher</field>
+           <field name="inherit_id" ref="account_voucher.view_vendor_receipt_form"/>
+           <field name="arch" type="xml">
+               <field name="partner_id" position="after">
+
+                   <field name="description_completo"/>
+               </field>
+           </field>
+       </record>
+       <record id="view_account_voucher_tree_inherit" model="ir.ui.view">
+            <field name="name">account.voucher.tree.inherit</field>
+            <field name="model">account.voucher</field>
+            <field name="inherit_id" ref="account_voucher.view_voucher_tree"/>
+            <field name="arch" type="xml">
+                <field name="partner_id" position="after">
+
+                    <field name="description_completo"/>
+                </field>
+            </field>
+        </record>
+    </data>
+</openerp>

+ 17 - 0
views/views.xml

@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<openerp>
+    <data>
+
+        <record id="view_account_invoice_form" model="ir.ui.view">
+            <field name="name">account.invoice.form</field>
+            <field name="model">account.invoice</field>
+            <field name="inherit_id" ref="account.invoice_form"/>
+            <field name="arch" type="xml">
+                <field name="comment" position="after">
+                    <field string='Descripción Completa' name="description_completo"/>
+                </field>
+            </field>
+        </record>
+    </data>
+</openerp>