fix: Item Price using batch selector

This commit is contained in:
Deepesh Garg
2020-12-28 20:59:58 +05:30
parent 2466c3214a
commit a679d43722
4 changed files with 11 additions and 17 deletions

View File

@@ -195,10 +195,6 @@ erpnext.buying.BuyingController = erpnext.TransactionController.extend({
this._super(doc, cdt, cdn);
},
batch_no: function(doc, cdt, cdn) {
this._super(doc, cdt, cdn);
},
received_qty: function(doc, cdt, cdn) {
this.calculate_accepted_qty(doc, cdt, cdn)
},

View File

@@ -1106,11 +1106,6 @@ erpnext.TransactionController = erpnext.taxes_and_totals.extend({
}
},
batch_no: function(doc, cdt, cdn) {
let item = frappe.get_doc(cdt, cdn);
this.apply_price_list(item, true);
},
toggle_conversion_factor: function(item) {
// toggle read only property for conversion factor field if the uom and stock uom are same
if(this.frm.get_field('items').grid.fields_map.conversion_factor) {
@@ -1527,7 +1522,9 @@ erpnext.TransactionController = erpnext.taxes_and_totals.extend({
return;
}
if (me.in_apply_price_list == true) return;
let for_batch = (item && item.batch_no) ? true : false;
if (me.in_apply_price_list == true && (!for_batch)) return;
me.in_apply_price_list = true;
return this.frm.call({

View File

@@ -154,7 +154,7 @@ erpnext.SerialNoBatchSelector = Class.extend({
if (this.item.serial_no) {
this.dialog.fields_dict.serial_no.set_value(this.item.serial_no);
}
if (this.has_batch && !this.has_serial_no && d.batch_no) {
this.frm.doc.items.forEach(data => {
if(data.item_code == d.item_code) {
@@ -220,6 +220,7 @@ erpnext.SerialNoBatchSelector = Class.extend({
if (i !== 0 && !this.batch_exists(batch_no)) {
row = this.frm.add_child("items", { ...this.item });
frappe.model.set_value(row.doctype, row.name, 'batch_no', batch_no);
} else {
row = this.frm.doc.items.find(i => i.batch_no === batch_no);
}
@@ -231,7 +232,7 @@ erpnext.SerialNoBatchSelector = Class.extend({
this.map_row_values(row, batch, 'batch_no',
'selected_qty', this.values.warehouse);
});
}
}
},
update_serial_no_item() {
@@ -250,7 +251,7 @@ erpnext.SerialNoBatchSelector = Class.extend({
filters: { 'name': ["in", selected_serial_nos]},
fields: ["batch_no", "name"]
}).then((data) => {
// data = [{batch_no: 'batch-1', name: "SR-001"},
// data = [{batch_no: 'batch-1', name: "SR-001"},
// {batch_no: 'batch-2', name: "SR-003"}, {batch_no: 'batch-2', name: "SR-004"}]
const batch_serial_map = data.reduce((acc, d) => {
if (!acc[d['batch_no']]) acc[d['batch_no']] = [];
@@ -336,6 +337,8 @@ erpnext.SerialNoBatchSelector = Class.extend({
},
change: function () {
const batch_no = this.get_value();
let val = this.get_value();
if (!batch_no) {
this.grid_row.on_grid_fields_dict
.available_qty.set_value(0);

View File

@@ -326,6 +326,8 @@ erpnext.selling.SellingController = erpnext.TransactionController.extend({
});
}
})
me.apply_price_list(item, true);
},
set_dynamic_labels: function() {
@@ -399,10 +401,6 @@ erpnext.selling.SellingController = erpnext.TransactionController.extend({
}
},
batch_no: function(doc, cdt, cdn) {
this._super(doc, cdt, cdn);
},
qty: function(doc, cdt, cdn) {
this._super(doc, cdt, cdn);