fix(ux): make `basic_rate` field read-only based on purpose
diff --git a/erpnext/stock/doctype/stock_entry/stock_entry.js b/erpnext/stock/doctype/stock_entry/stock_entry.js
index d37e8ee..7334b35 100644
--- a/erpnext/stock/doctype/stock_entry/stock_entry.js
+++ b/erpnext/stock/doctype/stock_entry/stock_entry.js
@@ -258,7 +258,7 @@
}
}
- if (frm.doc.docstatus===0) {
+ if (frm.doc.docstatus === 0) {
frm.add_custom_button(__('Purchase Invoice'), function() {
erpnext.utils.map_current_doc({
method: "erpnext.accounts.doctype.purchase_invoice.purchase_invoice.make_stock_entry",
@@ -311,7 +311,8 @@
})
}, __("Get Items From"));
}
- if (frm.doc.docstatus===0 && frm.doc.purpose == "Material Issue") {
+
+ if (frm.doc.docstatus === 0 && frm.doc.purpose == "Material Issue") {
frm.add_custom_button(__('Expired Batches'), function() {
frappe.call({
method: "erpnext.stock.doctype.stock_entry.stock_entry.get_expired_batch_items",
@@ -397,6 +398,10 @@
frm.remove_custom_button('Bill of Materials', "Get Items From");
frm.events.show_bom_custom_button(frm);
frm.trigger('add_to_transit');
+
+ frm.fields_dict.items.grid.update_docfield_property(
+ 'basic_rate', 'read_only', frm.doc.purpose == "Material Receipt" ? 0 : 1
+ );
},
purpose: function(frm) {