2017-10-06 17 views
1

employee_idフィールドonchange関数のhr.holidaysモデルでは、「employee_id」フィールドからそのonchange関数を削除しました。その関数の主な目的は、同じモデルの 'department_id'フィールドの自動塗りつぶしですときに 'employee_id'フィールドの変更。2つの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」のオブジェクトを取得していますが、私はそれのために「DEPARTMENT_ID」欄にそのオブジェクトを塗りつぶすことができません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「」

関連する問題