2

由于某种原因,添加新值时剩余字段没有更新,为什么会这样?

yearly_pool = fields.Integer(string='Yearly pool')
working_days = fields.Integer(string='Wordkdays count', compute='_compute_working_days', store=True)
remaining = fields.Integer(string='Remaining', compute='_compute_remaining', store=True)
holidays_ids = fields.Many2many('hr.holidays', string='Freedoms allowed ', compute='_compute_holidays_ids')

现场方法:

其余的:

@api.multi
@api.depends('yearly_pool', 'working_days')
def _compute_remaining(self):
    for record in self:
        record.remaining = record.yearly_pool - record.working_days

工作日:

@api.multi
@api.depends('holidays_ids')
def _compute_working_days(self):
    for record in self:
        record.working_days = sum(record.holidays_ids.mapped('working_days'))

假期ID:

@api.multi
def _compute_holidays_ids(self):
    for record in self:
        record.holidays_ids = self.env['hr.holidays'].search([
            ('employee_id', '=', record.employee_id.id),
            ('year', '=', record.year),
            ('state', '=', 'validate'),
        ])
4

0 回答 0