diff --git a/public/js/stock_analytics.js b/public/js/stock_analytics.js index 5b58113046..f704a86b25 100644 --- a/public/js/stock_analytics.js +++ b/public/js/stock_analytics.js @@ -11,7 +11,7 @@ erpnext.StockAnalytics = erpnext.StockGridReport.extend({ parent: $(wrapper).find('.layout-main'), appframe: wrapper.appframe, doctypes: ["Item", "Item Group", "Warehouse", "Stock Ledger Entry", "Brand", - "Fiscal Year"], + "Fiscal Year", "Serial No"], tree_grid: { show: true, parent_field: "parent_item_group", diff --git a/public/js/stock_grid_report.js b/public/js/stock_grid_report.js index e87228fde7..bfe364bfab 100644 --- a/public/js/stock_grid_report.js +++ b/public/js/stock_grid_report.js @@ -14,7 +14,7 @@ erpnext.StockGridReport = wn.views.TreeGridReport.extend({ // value if(sl.qty > 0) { // incoming - rate is given - var rate = sl.incoming_rate; + var rate = sl.incoming_rate; var add_qty = sl.qty; if(wh.balance_qty < 0) { // negative valuation @@ -34,11 +34,14 @@ erpnext.StockGridReport = wn.views.TreeGridReport.extend({ if(add_qty) wh.fifo_stack.push([add_qty, sl.incoming_rate, sl.posting_date]); } else { + // called everytime for maintaining fifo stack + var fifo_value_diff = this.get_fifo_value_diff(wh, sl); + // outgoing if(sl.serial_no) { var value_diff = -1 * this.get_serialized_value_diff(sl); } else if(is_fifo) { - var value_diff = this.get_fifo_value_diff(wh, sl); + var value_diff = fifo_value_diff; } else { // average rate for weighted average var rate = (wh.balance_qty.toFixed(2) == 0.00 ? 0 : @@ -84,11 +87,6 @@ erpnext.StockGridReport = wn.views.TreeGridReport.extend({ qty = qty - batch[0]; } } - if(qty) { - // msgprint("Negative values not allowed for FIFO valuation!\ - // Item " + sl.item_code.bold() + " on " + dateutil.str_to_user(sl.posting_datetime).bold() + - // " becomes negative. Values computed will not be accurate."); - } // reset the updated stack wh.fifo_stack = fifo_stack.reverse(); @@ -112,9 +110,11 @@ erpnext.StockGridReport = wn.views.TreeGridReport.extend({ get_serialized_buying_rates: function() { var serialized_buying_rates = {}; - $.each(wn.report_dump.data["Serial No"], function(i, sn) { - serialized_buying_rates[sn.name.toLowerCase()] = flt(sn.incoming_rate); - }); + if (wn.report_dump.data["Serial No"]) { + $.each(wn.report_dump.data["Serial No"], function(i, sn) { + serialized_buying_rates[sn.name.toLowerCase()] = flt(sn.incoming_rate); + }); + } return serialized_buying_rates; }, diff --git a/stock/page/stock_ageing/stock_ageing.js b/stock/page/stock_ageing/stock_ageing.js index 920ac848d0..a83573ed8d 100644 --- a/stock/page/stock_ageing/stock_ageing.js +++ b/stock/page/stock_ageing/stock_ageing.js @@ -25,7 +25,7 @@ erpnext.StockAgeing = erpnext.StockGridReport.extend({ page: wrapper, parent: $(wrapper).find('.layout-main'), appframe: wrapper.appframe, - doctypes: ["Item", "Warehouse", "Stock Ledger Entry", "Item Group", "Brand"], + doctypes: ["Item", "Warehouse", "Stock Ledger Entry", "Item Group", "Brand", "Serial No"], }) }, setup_columns: function() { @@ -175,7 +175,7 @@ erpnext.StockAgeing = erpnext.StockGridReport.extend({ grid: { hoverable: true, clickable: true }, xaxis: { ticks: $.map(me.data, function(item, idx) { return [[idx+1, item.name]] }), - max: 20 + max: 15 }, series: { downsample: { threshold: 1000 } } } diff --git a/stock/page/stock_ledger/stock_ledger.js b/stock/page/stock_ledger/stock_ledger.js index c83fc0ec12..0aa8a1fe6a 100644 --- a/stock/page/stock_ledger/stock_ledger.js +++ b/stock/page/stock_ledger/stock_ledger.js @@ -21,7 +21,7 @@ erpnext.StockLedger = erpnext.StockGridReport.extend({ page: wrapper, parent: $(wrapper).find('.layout-main'), appframe: wrapper.appframe, - doctypes: ["Item", "Item Group", "Warehouse", "Stock Ledger Entry", "Brand"], + doctypes: ["Item", "Item Group", "Warehouse", "Stock Ledger Entry", "Brand", "Serial No"], }) }, diff --git a/stock/page/stock_level/stock_level.js b/stock/page/stock_level/stock_level.js index df7c8c5d4d..62ae6c75ae 100644 --- a/stock/page/stock_level/stock_level.js +++ b/stock/page/stock_level/stock_level.js @@ -27,7 +27,7 @@ erpnext.StockLevel = erpnext.StockGridReport.extend({ parent: $(wrapper).find('.layout-main'), appframe: wrapper.appframe, doctypes: ["Item", "Warehouse", "Stock Ledger Entry", "Production Order", - "Material Request Item", "Purchase Order Item", "Sales Order Item", "Brand"], + "Material Request Item", "Purchase Order Item", "Sales Order Item", "Brand", "Serial No"], }); this.wrapper.bind("make", function() {