fix: apply discount on item after applying price list (#36317)
diff --git a/erpnext/public/js/controllers/transaction.js b/erpnext/public/js/controllers/transaction.js
index 6410333..59d2b15 100644
--- a/erpnext/public/js/controllers/transaction.js
+++ b/erpnext/public/js/controllers/transaction.js
@@ -991,6 +991,16 @@
this.frm.set_df_property("conversion_rate", "read_only", erpnext.stale_rate_allowed() ? 0 : 1);
}
+ apply_discount_on_item(doc, cdt, cdn, field) {
+ var item = frappe.get_doc(cdt, cdn);
+ if(!item.price_list_rate) {
+ item[field] = 0.0;
+ } else {
+ this.price_list_rate(doc, cdt, cdn);
+ }
+ this.set_gross_profit(item);
+ }
+
shipping_rule() {
var me = this;
if(this.frm.doc.shipping_rule) {
@@ -1661,6 +1671,9 @@
() => {
if(args.items.length) {
me._set_values_for_item_list(r.message.children);
+ $.each(r.message.children || [], function(i, d) {
+ me.apply_discount_on_item(d, d.doctype, d.name, 'discount_percentage');
+ });
}
},
() => { me.in_apply_price_list = false; }
diff --git a/erpnext/public/js/utils/sales_common.js b/erpnext/public/js/utils/sales_common.js
index 517d871..89dcaa6 100644
--- a/erpnext/public/js/utils/sales_common.js
+++ b/erpnext/public/js/utils/sales_common.js
@@ -142,16 +142,6 @@
this.apply_discount_on_item(doc, cdt, cdn, 'discount_amount');
}
- apply_discount_on_item(doc, cdt, cdn, field) {
- var item = frappe.get_doc(cdt, cdn);
- if(!item.price_list_rate) {
- item[field] = 0.0;
- } else {
- this.price_list_rate(doc, cdt, cdn);
- }
- this.set_gross_profit(item);
- }
-
commission_rate() {
this.calculate_commission();
}