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();
 			}