This question has been flagged
1 Reply
3924 Views

I am trying to calculate comission for salesperson.
Calculation:
If current sales amount is greater than the previous sales amount for the same customer:
then comission=0.50*amount_total
else:
comission = 0.0

But i am missing something, not getting exact results. please guide.

def _calculate_comission(self, cr, uid, ids, field_names, args, context=None):
    res={}
    comission=0.00

    for order in self.browse(cr, uid, ids):
        for record in self.browse(cr, uid, self.search(cr, uid, [('user_id','=',order.user_id.id)], limit=1)):
            if order.amount_total > record.amount_total:
                comission = 0.50*order.amount_total
Avatar
Discard
Best Answer

Hi, Try this...

def _comission_calculate(self, cr, uid, ids, context=None):
        if ids[0]==1:
            return False
        else:
            comission=0.00
            result= cr.execute('select id from dbname where id<%s order by id desc limit 1', (ids[0],))
            result = cr.dictfetchall()
            previous_id = result[0]['id']
            previous = self.browse(cr, uid, previous_id)
            previous_amount = previous.total
            for current in self.browse(cr, uid, ids):
                current_amount = current.total
            if current_amount > previous_amount:
                comission = 0.50 * current_amount
        return comission
Avatar
Discard