es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para colocar un dominio en el campo “line_ids”, puedes probar el siguiente código:

    line_ids = fields.One2many(
        "hr.payslip.line",
        "slip_id",
        string="Líneas de Nómina",
        readonly=True,
        domain=lambda self: [("company_id", "=", self.company_id.id)],
    )
    

    El parámetro “domain” toma una lista de tuplas, donde cada tupla define una condición que debe ser satisfecha por los registros en el campo one2many. En este caso, deseas filtrar las líneas de nómina basadas en la empresa, por lo que estableces una condición en el campo “company_id”.

    Dado que deseas utilizar el objeto “self” para obtener el valor del campo “company_id”, necesitas utilizar una función lambda para el dominio. La función lambda toma el objeto “self” como parámetro y devuelve la lista de dominios.

    Ten en cuenta que el objeto “self” se refiere al registro actual que está siendo procesado, por lo que este código asume que estás definiendo el campo en un modelo que tiene un campo “company_id”. Si el modelo no tiene este campo, necesitarás ajustar el código en consecuencia.

Comments are closed.