İçereği Atla
Menü
Bu soru işaretlendi
3 Cevaplar
5954 Görünümler

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

Avatar
Vazgeç
En İyi Yanıt

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

Avatar
Vazgeç
Üretici

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)

En İyi Yanıt

Please refer this link. This may help you.

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

Avatar
Vazgeç
İlgili Gönderiler Cevaplar Görünümler Aktivite
1
Ağu 17
4117
3
Nis 17
8382
2
Kas 16
3366
0
Nis 15
4384
1
May 25
968