From dce08e0be2821ceff64c7d6ea756fc04dfbb8418 Mon Sep 17 00:00:00 2001 From: Charles-Henri Decultot Date: Fri, 19 Jan 2024 21:27:05 +0100 Subject: [PATCH] fix: margin calculation not working every time --- erpnext/public/js/utils/sales_common.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/erpnext/public/js/utils/sales_common.js b/erpnext/public/js/utils/sales_common.js index 0a4006ebe92..549bf310dc9 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; -- GitLab