Merge pull request #39816 from s-aga-r/FIX-9595
fix(ux): set rate as price list rate on uom change in MR
diff --git a/erpnext/stock/doctype/material_request/material_request.js b/erpnext/stock/doctype/material_request/material_request.js
index e80218a..77a3d6d 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] || qty_fields.includes(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 {
diff --git a/erpnext/stock/doctype/material_request_item/material_request_item.json b/erpnext/stock/doctype/material_request_item/material_request_item.json
index 5dc07c9..c7239b5 100644
--- a/erpnext/stock/doctype/material_request_item/material_request_item.json
+++ b/erpnext/stock/doctype/material_request_item/material_request_item.json
@@ -35,6 +35,7 @@
"received_qty",
"rate_and_amount_section_break",
"rate",
+ "price_list_rate",
"col_break3",
"amount",
"accounting_details_section",
@@ -473,13 +474,22 @@
"fieldtype": "Link",
"label": "WIP Composite Asset",
"options": "Asset"
+ },
+ {
+ "fieldname": "price_list_rate",
+ "fieldtype": "Currency",
+ "hidden": 1,
+ "label": "Price List Rate",
+ "options": "currency",
+ "print_hide": 1,
+ "read_only": 1
}
],
"idx": 1,
"index_web_pages_for_search": 1,
"istable": 1,
"links": [],
- "modified": "2023-11-14 18:37:59.599115",
+ "modified": "2024-02-08 16:30:56.137858",
"modified_by": "Administrator",
"module": "Stock",
"name": "Material Request Item",
diff --git a/erpnext/stock/doctype/material_request_item/material_request_item.py b/erpnext/stock/doctype/material_request_item/material_request_item.py
index 2bed596..d23d041 100644
--- a/erpnext/stock/doctype/material_request_item/material_request_item.py
+++ b/erpnext/stock/doctype/material_request_item/material_request_item.py
@@ -41,6 +41,7 @@
parent: DF.Data
parentfield: DF.Data
parenttype: DF.Data
+ price_list_rate: DF.Currency
production_plan: DF.Link | None
project: DF.Link | None
projected_qty: DF.Float