跳至內容
選單
此問題已被標幟
3902 瀏覽次數

I want to calculate year between fields date_end and date_start on every contract of and employee and i to the following but i get typeError.

class hr_employee(osv.osv):
_inherit = 'hr.employee'

def seniority_computation(self, cr, uid, ids, field_name, timedelta, args, context=None):
    "Calculation of employee seniority"
    obj_contract = self.pool.get('hr.contract')
    contract_ids = obj_contract.search(cr, uid, [('employee_id','=',ids),], order='date_start', context=context)
    for contract in obj_contract.browse(cr, uid, contract_ids, context=context): 
        date_start = contract.date_start
        date_end = contract.date_end
        if not date_end :
            date_end = date.today()
        timedelta = date_end - date_start          
        age += int(str(timedelta/365)[:2])
        return age

_columns = {
    'seniority': fields.function(seniority_computation, type="float", string="Seniority")

}
_sql_constraints = [
    ('seniority', "CHECK(seniority=<30)", "The limit of seniority is 30 years")
]

Please can you help me to do this very simplily?

頭像
捨棄
相關帖文 回覆 瀏覽次數 活動
1
7月 25
513
1
7月 25
872
2
5月 25
1457
1
7月 25
1199
0
3月 25
38