Skip to Content
Menu
Dette spørgsmål er blevet anmeldt
3956 Visninger

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?

Avatar
Kassér
Related Posts Besvarelser Visninger Aktivitet
1
aug. 25
217
1
jul. 25
601
1
jul. 25
956
2
maj 25
1539
1
jul. 25
1273