fix(sales-order): update items (#18536)

* fix(sales-order): update items

* fix: minor changes
diff --git a/erpnext/controllers/accounts_controller.py b/erpnext/controllers/accounts_controller.py
index 288aa08..4a89c5b 100644
--- a/erpnext/controllers/accounts_controller.py
+++ b/erpnext/controllers/accounts_controller.py
@@ -1192,6 +1192,10 @@
 						 .format(child_item.idx, child_item.item_code))
 		else:
 			child_item.rate = flt(d.get("rate"))
+		if child_item.price_list_rate:
+			child_item.discount_percentage = flt((1 - flt(child_item.rate) / flt(child_item.price_list_rate)) * 100.0, \
+				child_item.precision("discount_percentage"))
+
 		child_item.flags.ignore_validate_update_after_submit = True
 		if new_child_flag:
 			child_item.idx = len(parent.items) + 1