diff --git a/erpnext/accounts/doctype/shipping_rule/shipping_rule.js b/erpnext/accounts/doctype/shipping_rule/shipping_rule.js index 1ece3e6c3dd..5c02fd2f127 100644 --- a/erpnext/accounts/doctype/shipping_rule/shipping_rule.js +++ b/erpnext/accounts/doctype/shipping_rule/shipping_rule.js @@ -25,6 +25,10 @@ frappe.ui.form.on("Shipping Rule", { }, calculate_based_on: function (frm) { frm.trigger("toggle_reqd"); + if (frm.doc.calculate_based_on === "Fixed") { + frm.clear_table("conditions"); + frm.refresh_field("conditions"); + } }, toggle_reqd: function (frm) { frm.toggle_reqd("shipping_amount", frm.doc.calculate_based_on === "Fixed"); diff --git a/erpnext/accounts/doctype/shipping_rule/shipping_rule.py b/erpnext/accounts/doctype/shipping_rule/shipping_rule.py index abbb6a58119..a2db95d03c9 100644 --- a/erpnext/accounts/doctype/shipping_rule/shipping_rule.py +++ b/erpnext/accounts/doctype/shipping_rule/shipping_rule.py @@ -58,6 +58,11 @@ class ShippingRule(Document): self.validate_overlapping_shipping_rule_conditions() def validate_from_to_values(self): + if self.calculate_based_on == "Fixed": + if self.conditions: + self.set("conditions", []) + return + zero_to_values = [] for d in self.get("conditions"):