use set_value() for setting rows
diff --git a/erpnext/public/js/utils/serial_no_batch_selector.js b/erpnext/public/js/utils/serial_no_batch_selector.js
index fce8da9..deabea0 100644
--- a/erpnext/public/js/utils/serial_no_batch_selector.js
+++ b/erpnext/public/js/utils/serial_no_batch_selector.js
@@ -124,20 +124,25 @@
},
set_items: function() {
+ var me = this;
if(this.has_batch) {
this.values.batches.map((batch, i) => {
+ let item_code_field = {};
let row = (i !== 0) ? this.frm.add_child("items") : this.item;
refresh_field("items");
if(i !== 0) {
- // let index = i + me.item.idx - 1;
- // let grid_row = me.frm.fields_dict.items.grid.grid_rows[index];
- // grid_row.toggle_editable_row();
- // grid_row.on_grid_fields_dict.item_code.set_value(this.item_code);
+ let index = i + me.item.idx - 1;
+ let grid_row = me.frm.fields_dict.items.grid.grid_rows[index];
+ grid_row.toggle_editable_row();
+ item_code_field = grid_row.on_grid_fields_dict.item_code;
row.item_code = this.item_code;
- }
- this.map_row_values(row, batch, 'batch_no',
+ this.map_row_values(row, batch, 'batch_no',
+ 'selected_qty', this.values.warehouse, item_code_field);
+ } else {
+ this.map_row_values(row, batch, 'batch_no',
'selected_qty', this.values.warehouse);
+ }
});
} else {
this.map_row_values(this.item, this.values, 'serial_no', 'qty');
@@ -145,7 +150,7 @@
refresh_field("items");
},
- map_row_values: function(row, values, number, qty_field, warehouse) {
+ map_row_values: function(row, values, number, qty_field, warehouse, item_code_field) {
row.qty = values[qty_field];
row[number] = values[number];
if(this.warehouse_details.type === 'Source Warehouse') {
@@ -156,6 +161,11 @@
row.warehouse = values.warehouse || warehouse;
}
+ if(item_code_field) {
+ item_code_field.set_value(this.item_code);
+ // frappe.model.set_value(row.doctype, row.name, 'item_code', this.item_code);
+ }
+
},
bind_qty: function() {
diff --git a/erpnext/stock/doctype/stock_entry/stock_entry.js b/erpnext/stock/doctype/stock_entry/stock_entry.js
index 96c7802..0b7c2a1 100644
--- a/erpnext/stock/doctype/stock_entry/stock_entry.js
+++ b/erpnext/stock/doctype/stock_entry/stock_entry.js
@@ -172,7 +172,12 @@
callback: function(r) {
if(r.message) {
var d = locals[cdt][cdn];
+ // Properties set possibly via batch modal
+ var presets = ["batch_no", "qty", "s_warehouse", "t_warehouse"];
$.each(r.message, function(k, v) {
+ if(presets.includes(k) && d[k]) {
+ return;
+ }
d[k] = v;
});
erpnext.stock.select_batch_and_serial_no(frm, d);