diff --git a/erpnext/__init__.py b/erpnext/__init__.py index ad827e5b275..076baeaac7c 100644 --- a/erpnext/__init__.py +++ b/erpnext/__init__.py @@ -2,7 +2,7 @@ from __future__ import unicode_literals import frappe -__version__ = '8.0.36' +__version__ = '8.0.37' def get_default_company(user=None): diff --git a/erpnext/public/js/controllers/transaction.js b/erpnext/public/js/controllers/transaction.js index 44bf21da3ec..2d0d83b125b 100644 --- a/erpnext/public/js/controllers/transaction.js +++ b/erpnext/public/js/controllers/transaction.js @@ -15,10 +15,10 @@ erpnext.TransactionController = erpnext.taxes_and_totals.extend({ // if rate is greater than price_list_rate, set margin // or set discount item.discount_percentage = 0; - item.margin_type = 'Percentage'; - item.margin_rate_or_amount = flt(Math.abs(1 - item.rate / item.price_list_rate) * 100.0, - precision("discount_percentage", item)); - item.rate_with_margin = item.rate; + item.margin_type = 'Amount'; + item.margin_rate_or_amount = flt(item.rate - item.price_list_rate, + precision("margin_rate_or_amount", item)); + item.rate_with_margin = item.rate; } else { item.discount_percentage = flt((1 - item.rate / item.price_list_rate) * 100.0, precision("discount_percentage", item)); diff --git a/erpnext/selling/sales_common.js b/erpnext/selling/sales_common.js index 715434384be..1fcf334717b 100644 --- a/erpnext/selling/sales_common.js +++ b/erpnext/selling/sales_common.js @@ -348,9 +348,13 @@ erpnext.selling.SellingController = erpnext.TransactionController.extend({ margin_type: function(doc, cdt, cdn){ // calculate the revised total margin and rate on margin type changes item = locals[cdt][cdn]; - this.apply_pricing_rule_on_item(item, doc,cdt, cdn) - this.calculate_taxes_and_totals(); - cur_frm.refresh_fields(); + if(!item.margin_type) { + frappe.model.set_value(cdt, cdn, "margin_rate_or_amount", 0); + } else { + this.apply_pricing_rule_on_item(item, doc,cdt, cdn) + this.calculate_taxes_and_totals(); + cur_frm.refresh_fields(); + } } });