浏览代码

Módulo para la carga de orden de servicio, tipo obra.

SEBAS 1 年之前
父节点
当前提交
f9e1ede0b7
共有 3 个文件被更改,包括 35 次插入11 次删除
  1. 24 9
      models/orden_servicio.py
  2. 二进制
      models/orden_servicio.pyc
  3. 11 2
      views/orden_servicio.xml

+ 24 - 9
models/orden_servicio.py

@@ -114,10 +114,22 @@ class OrdenServicio(models.Model):
         inverse_name='servicio_id',
         string='Recepción en fábrica'
         )
-    invoice_ids = fields.One2many('account.invoice', 'servicio_invoice_id')
+    # invoice_ids = fields.One2many('account.invoice', 'servicio_invoice_id')
+    # invoice_ids = fields.Many2many(
+    #     comodel_name='account.invoice',
+    #     relation='orden_servicio_invoice_rel',
+    #     column1='orden_servicio_id',
+    #     column2='invoice_id',
+    #     string='Facturas relacionadas'
+    #     )
+    invoice_ids = fields.One2many(
+        comodel_name='account.invoice',
+        inverse_name='servicio_invoice_id',
+        string='Facturas'
+    )
     invoice_count = fields.Integer(
         string='Facturas',
-        compute='_get_invoice_count',
+        compute='_get_invoice_count'
         )
     state = fields.Selection([
         ('draft', 'Pendiente'),
@@ -162,12 +174,12 @@ class OrdenServicio(models.Model):
         for record in self:
             record.total_obra = record.total_producto + record.total_insumo + record.total_logistica
 
-    total_producto = fields.Float(compute='_compute_total_producto', string='Total Producto', store=True)
-    total_insumo = fields.Float(compute='_compute_total_insumo', string='Total Insumo', store=True)
-    total_logistica = fields.Float(compute='_compute_total_logistica', string='Total Logística', store=True)
-    total_devolucion = fields.Float(compute='_compute_total_devolucion', string='Total Devolución', store=True)
-    total_fabrica = fields.Float(compute='_compute_total_fabrica', string='Total Recepción', store=True)
-    total_obra = fields.Float(compute='_compute_total_obra', string='Total Obra', store=True)
+    total_producto = fields.Float(compute='_compute_total_producto', string='Total Producto', store=True, digits=(10, 0))
+    total_insumo = fields.Float(compute='_compute_total_insumo', string='Total Insumo', store=True, digits=(10, 0))
+    total_logistica = fields.Float(compute='_compute_total_logistica', string='Total Logística', store=True, digits=(10, 0))
+    total_devolucion = fields.Float(compute='_compute_total_devolucion', string='Total Devolución', store=True, digits=(10, 0))
+    total_fabrica = fields.Float(compute='_compute_total_fabrica', string='Total Recepción', store=True, digits=(10, 0))
+    total_obra = fields.Float(compute='_compute_total_obra', string='Total Obra', store=True, digits=(10, 0))
 
 
     @api.model
@@ -437,4 +449,7 @@ class RecepcionFabrica(models.Model):
 class AccountInvoice(models.Model):
     _inherit = 'account.invoice'
 
-    servicio_invoice_id = fields.Many2one('orden.servicio')
+    servicio_invoice_id = fields.Many2one(
+        comodel_name='orden.servicio',
+        string='Orden de Servicio'
+    )

二进制
models/orden_servicio.pyc


+ 11 - 2
views/orden_servicio.xml

@@ -178,8 +178,17 @@
                         </notebook>
                         <notebook>
                             <page>
-                                <span style="font-weight:bold;">Facturas relacionadas a esta Orden de Servicio</span>
-                                <field name="invoice_ids"/>
+                              <span style="font-weight:bold;">Facturas relacionadas a esta Orden de Servicio</span>
+
+                              <field name="invoice_ids" widget="many2many" options="{'no_create': False}">
+                                 <tree editable="top">
+                                     <field name="number" string="Número de factura" />
+                                    <field name="date_invoice" string="Fecha de factura" />
+                                      <field name="residual" string="Saldo" sum="Saldo" />
+                                      <field name="amount_total" string="Total factura" sum="Total" />
+                                      <field name="state" string="Estado" />
+                                  </tree>
+                              </field>
                             </page>
                         </notebook>
                         <group>