跳至內容
選單
此問題已被標幟
1 回覆
4996 瀏覽次數

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
頭像
捨棄
最佳答案

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
頭像
捨棄
相關帖文 回覆 瀏覽次數 活動
2
7月 20
11305
0
8月 16
3118
4
8月 24
1203
1
4月 24
3627
0
1月 24
69