Skip to Content
เมนู
คุณต้องลงทะเบียนเพื่อโต้ตอบกับคอมมูนิตี้
คำถามนี้ถูกตั้งค่าสถานะ
3 ตอบกลับ
6259 มุมมอง

Hi,

I am trying to extend the sale.order class, but I do not know how to use the new field discount_rate in _amount_all.

Could someone help and clarify how to add this field?


This is the code to inherit the sale.order class adding the two new fields:
# -*- coding: utf-8 -*-
from openerp import models, fields, api
class SaleOrderDiscount(models.Model):
_inherit = 'sale.order'
discount_rate = fields.Float(
string='Discount Rate (%)',
readonly=False
)
amount_discount = fields.Float(
string='Amount Discount'
)
@api.onchange('discount_rate', 'amount_untaxed')
def calculate_discount(self):
self.amount_discount = self.amount_untaxed * (self.discount_rate / 100)
def _amount_all(self, cr, uid, ids, field_name, arg, context=None):
cur_obj = self.pool.get('res.currency')
res = {}
for order in self.browse(cr, uid, ids, context=context):
res[order.id] = {
'amount_untaxed': 0.0,
'amount_discount': 0.0,
'amount_tax': 0.0,
'amount_total': 0.0,
}
val = val1 = 0.0
cur = order.pricelist_id.currency_id
for line in order.order_line:
val1 += line.price_subtotal
val += self._amount_line_tax(cr, uid, line, context=context)
val2 = val1 * (self.discount_rate / 100)
res[order.id]['amount_tax'] = cur_obj.round(cr, uid, cur, val)
res[order.id]['amount_untaxed'] = cur_obj.round(cr, uid, cur, val1)
res[order.id]['amount_discount'] = cur_obj.round(cr, uid, cur, val2)
res[order.id]['amount_total'] = res[order.id]['amount_untaxed'] + res[order.id]['amount_tax'] - res[order.id]['amount_discount']
return res

อวตาร
ละทิ้ง
คำตอบที่ดีที่สุด

Have you seen "Global Discount on Sales Orders" at https://apps.openerp.com/apps/modules/8.0/global_discount/

อวตาร
ละทิ้ง
ผู้เขียน

Thanks Ray, I checked it out and it is great and easy. However I would like to be able to add a true global discount Ialso for the shake of trying to finally understand how Odoo works, (which is being quite challenging)

คำตอบที่ดีที่สุด

Please refer this link. This may help you.

Visit: https://www.odoo.com/apps/modules/11.0/tis_sales_purchase_global_discount/

อวตาร
ละทิ้ง
Related Posts ตอบกลับ มุมมอง กิจกรรม
1
ส.ค. 17
4451
3
เม.ย. 17
8802
2
พ.ย. 16
3586
0
เม.ย. 15
4647
1
พ.ค. 25
1272