diff --git a/erpnext/public/js/utils/sales_common.js b/erpnext/public/js/utils/sales_common.js index 0a4006ebe92846e5bd4025a190c6a7eaaacde9e2..549bf310dc971578ddcbe1d62c5f60f32bba7cdb 100644 --- a/erpnext/public/js/utils/sales_common.js +++ b/erpnext/public/js/utils/sales_common.js @@ -471,7 +471,9 @@ erpnext.sales_common = { if (flt(item.rate, precision("rate", item)) != flt(rate, precision("rate", item))) { erpnext.selling.do_not_update_rate = true - frappe.model.set_value(cdt, cdn, "rate", flt(rate)); + frappe.model.set_value(cdt, cdn, "rate", flt(rate)).then(() => { + erpnext.selling.do_not_update_rate = false; + }) } } else { erpnext.selling.do_not_update_rate = false; @@ -488,10 +490,11 @@ erpnext.sales_common = { const item = locals[cdt][cdn]; if (item.unit_cost_price && item.markup_percentage > 0 && item.markup_percentage < 100 && item.gross_profit_calculation_rule && !erpnext.selling.do_not_update_rate) { const rate = item.unit_cost_price / (100 - item.markup_percentage) * 100 - if (flt(item.rate, precision("rate", item)) != flt(rate, precision("rate", item))) { erpnext.selling.do_not_update_rate = true - frappe.model.set_value(cdt, cdn, "rate", flt(rate)); + frappe.model.set_value(cdt, cdn, "rate", flt(rate)).then(() => { + erpnext.selling.do_not_update_rate = false; + }) } } else { erpnext.selling.do_not_update_rate = false;