2016-03-27 8 views
0

Я пытаюсь создать модуль, который дает сотрудникам визовый баланс. Что я пытаюсь сделать, так это то, что, когда номер визы присваивается сотруднику, он меняет счетчик used_visa, который должен быть увеличен на 1. , поэтому мой вопрос заключается в том, как обновить счетчик, который находится в 'visa.balance.line' модель, когда номер визы выбран в модели «» hr.employeeOdoo 8 - Как обновить значение поля Many2one?

Вот мой код:

class hr_visa_balance(models.Model): 
_name = "hr.visa.balance" 
_rec_name = "visa_no" 

visa_no = fields.Char("Visa Number") 
approval_date = fields.Date('Approval Date') 
visa_line_ids = fields.One2many('visa.balance.line', 'visa_line_id', 'Visa Balance Details') 


class visa_balance_line(models.Model): 
_name = 'visa.balance.line' 
_rec_name = "visa_line_id" 

profession = fields.Char() 
gender = fields.Selection([('m','Male'),('f','Female')], 'Gender') 
country_id = fields.Many2one('res.country', 'Nationality') 
available_visa = fields.Integer('Available') 
used_visa = fields.Integer('Used') 
visa_line_id = fields.Many2one('hr.visa.balance', 'Visa Balance Details') 


class hr_employee(models.Model): 
_inherit = 'hr.employee', 

visa_line = fields.Many2one('visa.balance.line', 'Visa Balance Details') 


@api.onchange('visa_line') 
def onchange_visa_no(self): 
    ~ code here ~ 

ответ

0

Прежде всего я не получаю структуру, я думаю, что в сотрудника вы должны выбрать many2one из Объект «hr.visa.balance», , и вы выбираете «visa.balance.line»

теперь, что вы должны сделать:

дают один many2one из hr.visa.balance»в hr.employee и on_change из visa_no вы должны написать логику,

Примечание: Вы сразу можете рассчитывать визовый баланс в "hr.visa.balance" этот объект.

не нужно снимать это поле в visa.balance.line.

Смежные вопросы