2017-10-06 105 views
1

hr.holidays model_for employee_id字段onchange函數存在,但我從'employee_id'字段中刪除了onchange函數。該函數的主要目的是自動填充同一模型的'department_id'字段當'employee_id'字段發生變化時。自動填充兩個many2one字段

問題:

我的要求是下面的代碼中存在odoo V7,但我需要在odoo V8。 我嘗試了不同的方式,但我沒有得到任何結果,所以請幫助我。

def onchange_employee(self, cr, uid, ids, employee_id): 
    result = {'value': {'department_id': False}} 
    if employee_id: 
     employee = self.pool.get('hr.employee').browse(cr, uid, employee_id) 
     result['value'] = {'department_id': employee.department_id.id} 
    return result 

我odoo V8代碼:

我得到的「hr.employee」對象,但我無法填補對象「部門標識」字段,因爲它是many2one field.Below是我的代碼。

@api.onchange('employee_id') 
@api.constrains('employee_id') 
def joining_date(self): 
    if self.employee_id: 
     self.department_id ='' 
     depart_obj = self.env['hr.employee'].search([('name', '=' , self.employee_id.name)]) 
     if depart_obj: 
      for departments in depart_obj: 
       depart_new_obj = self.env['hr.employee'].browse([departments.id]) 

       for tax in depart_new_obj.department_id: 
        self.department_id = [tax.id] 

回答

1

你爲什麼搜索和瀏覽對象,如果你已經self.employee_id

的對象

只是設置

self.department_id = self.employee_id.department_id.id 
1

在最後我得到了答案除去[]。「」 self.department_id = tax.id「」