Reputation: 11
Hey I'm new to openerp and I need help to create a function field called Total that calculates the sum of all the fields of the same object... eg.
_name = 'hr.performanzze'
_columns = {
'p':fields.selection(((1,'Outstanding'), (2,'Well Above Expectations'), (3,'As Expected'), (4,'Below Expectations'), (5,'VeryPoor'), 0,'N/A')),'title.'),
'b':fields.selection(((1,'Outstanding'), (2,'Well Above Expectations'), (3,'As Expected'), (4,'Below Expectations'), (5,'Very Poor'), (0,'N/A')),'title'),
'total' : fields.function(get_total, method=True, string='Total Mark'),
}
def get_total(self, cr, uid, field_name, arg, context):
#want to calculate the sum of p and b
return the answer
Upvotes: 1
Views: 4373
Reputation: 143
def get_total(self, cr, uid, field_name, arg, context):
for obj in self.browse(cr, uid, ids, context=context):
return obj.p + obj.b
One can directly use browse method and access list of data attached with that record.
Upvotes: -1
Reputation: 103
def get_total(self, cr, uid, ids, field_name, arg, context):
res = []
perfos = self.browse(cr, uid, ids, context)
for perfo in perfos:
res[perfo.id] = perfo.p + perfo.b
return res
Upvotes: 5