feat: uom in update items for SO & PO (#22869)
* feat: uom in update items for SO & PO
* fix: supplied items doesn't updates on uom change
* chore: add uom and conv factor change test
* fix: test
* fix: purchase order updates are not tracked
* fix: fetch conversion factor on uom change
* fix: codacy
Co-authored-by: Marica <maricadsouza221197@gmail.com>
diff --git a/erpnext/public/js/utils.js b/erpnext/public/js/utils.js
index bcab0d8..87982f1 100755
--- a/erpnext/public/js/utils.js
+++ b/erpnext/public/js/utils.js
@@ -467,6 +467,33 @@
disabled: 0,
label: __('Item Code')
}, {
+ fieldtype:'Link',
+ fieldname:'uom',
+ options: 'UOM',
+ read_only: 0,
+ label: __('UOM'),
+ reqd: 1,
+ onchange: function () {
+ frappe.call({
+ method: "erpnext.stock.get_item_details.get_conversion_factor",
+ args: { item_code: this.doc.item_code, uom: this.value },
+ callback: r => {
+ if(!r.exc) {
+ if (this.doc.conversion_factor == r.message.conversion_factor) return;
+
+ const docname = this.doc.docname;
+ dialog.fields_dict.trans_items.df.data.some(doc => {
+ if (doc.docname == docname) {
+ doc.conversion_factor = r.message.conversion_factor;
+ dialog.fields_dict.trans_items.grid.refresh();
+ return true;
+ }
+ })
+ }
+ }
+ });
+ }
+ }, {
fieldtype:'Float',
fieldname:"qty",
default: 0,
@@ -546,6 +573,7 @@
"conversion_factor": d.conversion_factor,
"qty": d.qty,
"rate": d.rate,
+ "uom": d.uom
});
this.data = dialog.fields_dict.trans_items.df.data;
dialog.fields_dict.trans_items.grid.refresh();