[fix] values update in items in invoices
This commit is contained in:
@@ -5,6 +5,10 @@ erpnext.SerialNoBatchSelector = Class.extend({
|
||||
// frm, item, warehouse_details, has_batch, oldest
|
||||
let d = this.item;
|
||||
|
||||
if(frappe.flags.autofill_item_code) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Don't show dialog if batch no or serial no already set
|
||||
if(d && d.has_batch_no && !d.batch_no) {
|
||||
this.has_batch = 1;
|
||||
@@ -110,29 +114,29 @@ erpnext.SerialNoBatchSelector = Class.extend({
|
||||
set_items: function() {
|
||||
var me = this;
|
||||
|
||||
function get_row_fields(index) {
|
||||
index += me.item.idx - 1;
|
||||
console.log(index, me.frm.fields_dict.items.grid.grid_rows);
|
||||
return me.frm.fields_dict.items.grid
|
||||
.grid_rows[index].on_grid_fields_dict;
|
||||
}
|
||||
|
||||
if(this.has_batch) {
|
||||
this.values.batches.map((batch, i) => {
|
||||
let row = (i !== 0) ? this.frm.add_child("items") : this.item;
|
||||
refresh_field("items");
|
||||
let fields = (i !== 0) ? get_row_fields(i) : null;
|
||||
this.map_row_values(fields, row, batch, 'batch_no',
|
||||
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);
|
||||
row.item_code = this.item_code;
|
||||
}
|
||||
this.map_row_values(row, batch, 'batch_no',
|
||||
'selected_qty', this.values.warehouse);
|
||||
});
|
||||
} else {
|
||||
this.map_row_values(null, this.item, this.values, 'serial_no', 'qty');
|
||||
this.map_row_values(this.item, this.values, 'serial_no', 'qty');
|
||||
}
|
||||
refresh_field("items");
|
||||
},
|
||||
|
||||
map_row_values: function(row_fields, row, values, number, qty_field, warehouse) {
|
||||
map_row_values: function(row, values, number, qty_field, warehouse) {
|
||||
row.qty = values[qty_field];
|
||||
|
||||
row[number] = values[number];
|
||||
if(this.warehouse_details.type === 'Source Warehouse') {
|
||||
row.s_warehouse = values.warehouse || warehouse;
|
||||
} else if(this.warehouse_details.type === 'Target Warehouse') {
|
||||
@@ -141,14 +145,6 @@ erpnext.SerialNoBatchSelector = Class.extend({
|
||||
row.warehouse = values.warehouse || warehouse;
|
||||
}
|
||||
|
||||
row[number] = values[number];
|
||||
refresh_field("items");
|
||||
|
||||
// Set item_code after setting batch
|
||||
// so that dialog does not fire for inserted rows
|
||||
if(row_fields) {
|
||||
row_fields.item_code.set_value(this.item_code);
|
||||
}
|
||||
},
|
||||
|
||||
bind_qty: function() {
|
||||
@@ -230,7 +226,6 @@ erpnext.SerialNoBatchSelector = Class.extend({
|
||||
return {filters: {item: me.item_code }};
|
||||
},
|
||||
onchange: function(e) {
|
||||
console.log(this);
|
||||
if(this.get_value().length === 0) {
|
||||
this.grid_row.on_grid_fields_dict
|
||||
.available_qty.set_value(0);
|
||||
|
||||
Reference in New Issue
Block a user