2016-03-27 14 views
0

私は従業員のビザのバランスをとるモジュールを作ろうとしています。 私がやっていることは、ビザ番号が従業員に割り当てられたときに、used_visaを1だけ増やすように変更することです。 私の質問は「visa.balance.line」にあるカウンタを更新する方法ですモデルビザ番号が「HR.EMPLOYEE」モデルで選択されたときにここでOdoo 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"を選択しています

今、あなたは何をすべきか

HR.EMPLOYEEに、あなたはロジックを記述する必要がvisa_noのon_changeの「hr.visa.balanceの1 many2oneを与え、

注:あなたが直接ビザのバランスをカウントすることができますこのオブジェクト "hr.visa.balance"で

visa.balance.lineでこのフィールドを使用する必要はありません。

関連する問題