fix: set rate as price list rate on uom change
diff --git a/erpnext/stock/doctype/material_request/material_request.js b/erpnext/stock/doctype/material_request/material_request.js
index e80218a..3867d86 100644
--- a/erpnext/stock/doctype/material_request/material_request.js
+++ b/erpnext/stock/doctype/material_request/material_request.js
@@ -228,9 +228,17 @@
const qty_fields = ['actual_qty', 'projected_qty', 'min_order_qty'];
if(!r.exc) {
- $.each(r.message, function(k, v) {
- if(!d[k] || in_list(qty_fields, k)) d[k] = v;
+ $.each(r.message, function(key, value) {
+ if(!d[key] || in_list(qty_fields, key)) {
+ d[key] = value;
+ }
});
+
+ if (d.price_list_rate != r.message.price_list_rate) {
+ d.price_list_rate = r.message.price_list_rate;
+
+ frappe.model.set_value(d.doctype, d.name, "rate", d.price_list_rate);
+ }
}
}
});
@@ -432,7 +440,6 @@
item.amount = flt(item.qty) * flt(item.rate);
frappe.model.set_value(doctype, name, "amount", item.amount);
refresh_field("amount", item.name, item.parentfield);
- frm.events.get_item_data(frm, item, false);
},
item_code: function(frm, doctype, name) {
@@ -452,7 +459,12 @@
set_schedule_date(frm);
}
}
- }
+ },
+
+ conversion_factor: function(frm, doctype, name) {
+ const item = locals[doctype][name];
+ frm.events.get_item_data(frm, item, false);
+ },
});
erpnext.buying.MaterialRequestController = class MaterialRequestController extends erpnext.buying.BuyingController {