跳至内容
菜单
此问题已终结
3959 查看

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
8月 25
220
1
7月 25
603
1
7月 25
959
2
5月 25
1544
1
7月 25
1275