Merge pull request #13094 from rohitwaghchaure/pos_discount_v10_1

[Hotfix] POS discount issue
diff --git a/erpnext/selling/page/point_of_sale/point_of_sale.js b/erpnext/selling/page/point_of_sale/point_of_sale.js
index d1f6b7a..0fa082f 100644
--- a/erpnext/selling/page/point_of_sale/point_of_sale.js
+++ b/erpnext/selling/page/point_of_sale/point_of_sale.js
@@ -257,12 +257,16 @@
 			frappe.msgprint(__("Quantity must be positive"));
 			value = item.qty;
 		} else {
-			item[field] = value;
-			if (field == "serial_no" && value) {
-				let serial_nos = value.split("\n");
-				item["qty"] = serial_nos.filter(d => {
-					return d!=="";
-				}).length;
+			if (in_list(["qty", "serial_no", "batch"], field)) {
+				item[field] = value;
+				if (field == "serial_no" && value) {
+					let serial_nos = value.split("\n");
+					item["qty"] = serial_nos.filter(d => {
+						return d!=="";
+					}).length;
+				}
+			} else {
+				return frappe.model.set_value(item.doctype, item.name, field, value);
 			}
 		}
 
@@ -1475,7 +1479,7 @@
 				fieldname: p.mode_of_payment,
 				default: p.amount,
 				onchange: () => {
-					const value = this.dialog.get_value(this.fieldname);
+					const value = this.dialog.get_value(this.fieldname) || 0;
 					me.update_payment_value(this.fieldname, value);
 				}
 			};