Crear campo One2many en Odoo ERP

  • abril 20, 2017
  • Odoo
No Comments

En el siguiente artículo mostraremos como hacer un campo one2many en Odoo ERP

1- Creamos la Clase

class List_Cargas(models.Model):
    _name = 'l.cargas'
    list_run = fields.Char("RUN", size=12)
    list_name = fields.Char("Código", size=25)
    list_nacimiento = fields.Datetime('Fecha de Nacimiento')
    list_edad_limite = fields.Integer("Edad Limite")
    list_tipo = fields.Selection(
            [('1','Simple'),
            ('2','Maternal'),
            ('3','Inválida')],
            'Tipo', size=1 ,default='1')
    list_obs = fields.Char("Observación", size=25)
    employee_id = fields.Many2one('hr.employee', "Empleado")

2- Creamos el campo que toma la relación

rh_cargas_ids = fields.One2many('l.cargas', 'employee_id', string='Cargas')

3- En la vista lo mostraremos en forma de fila

                       <separator string="Asignaciones"/>
                            <field name="rh_asignaciones_ids">
                                <tree string="Asignaciones" editable="bottom">
                                    <field name="list_code"/>
                                    <field name="list_glosa"/>
                                    <field name="list_monto"/>
                                    <field name="rh_type_isapre_moneda"/>
                                    <field name="list_imponible"/>
                                    <field name="desde_date"/>
                                    <field name="hasta_date"/>
                                    <field name="list_obs"/>
                                </tree>
                            </field>

4- Por último cuando quieras sumar

def get_total_carga(self):
        self.total_carga = round(sum(line.list_monto for line in self.rh_cargas_ids))

total_carga = fields.Float("Total", compute='get_total_carga')

Marlon Falcón es Gerente general de Falcon Solutions.

Marlon Falcón Herández

Consultor SAP y Odoo

More from our blog

See all posts
 

Dejar un comentario