Don't show disabled items in the stock balance report (#14851)
diff --git a/erpnext/stock/report/stock_balance/stock_balance.py b/erpnext/stock/report/stock_balance/stock_balance.py
index 3e05716..e51ab0b 100644
--- a/erpnext/stock/report/stock_balance/stock_balance.py
+++ b/erpnext/stock/report/stock_balance/stock_balance.py
@@ -21,32 +21,33 @@
data = []
for (company, item, warehouse) in sorted(iwb_map):
- qty_dict = iwb_map[(company, item, warehouse)]
- item_reorder_level = 0
- item_reorder_qty = 0
- if item + warehouse in item_reorder_detail_map:
- item_reorder_level = item_reorder_detail_map[item + warehouse]["warehouse_reorder_level"]
- item_reorder_qty = item_reorder_detail_map[item + warehouse]["warehouse_reorder_qty"]
+ if item_map.get(item):
+ qty_dict = iwb_map[(company, item, warehouse)]
+ item_reorder_level = 0
+ item_reorder_qty = 0
+ if item + warehouse in item_reorder_detail_map:
+ item_reorder_level = item_reorder_detail_map[item + warehouse]["warehouse_reorder_level"]
+ item_reorder_qty = item_reorder_detail_map[item + warehouse]["warehouse_reorder_qty"]
- report_data = [item, item_map[item]["item_name"],
- item_map[item]["item_group"],
- item_map[item]["brand"],
- item_map[item]["description"], warehouse,
- item_map[item]["stock_uom"], qty_dict.opening_qty,
- qty_dict.opening_val, qty_dict.in_qty,
- qty_dict.in_val, qty_dict.out_qty,
- qty_dict.out_val, qty_dict.bal_qty,
- qty_dict.bal_val, qty_dict.val_rate,
- item_reorder_level,
- item_reorder_qty,
- company
- ]
+ report_data = [item, item_map[item]["item_name"],
+ item_map[item]["item_group"],
+ item_map[item]["brand"],
+ item_map[item]["description"], warehouse,
+ item_map[item]["stock_uom"], qty_dict.opening_qty,
+ qty_dict.opening_val, qty_dict.in_qty,
+ qty_dict.in_val, qty_dict.out_qty,
+ qty_dict.out_val, qty_dict.bal_qty,
+ qty_dict.bal_val, qty_dict.val_rate,
+ item_reorder_level,
+ item_reorder_qty,
+ company
+ ]
- if filters.get('show_variant_attributes', 0) == 1:
- variants_attributes = get_variants_attributes()
- report_data += [item_map[item].get(i) for i in variants_attributes]
+ if filters.get('show_variant_attributes', 0) == 1:
+ variants_attributes = get_variants_attributes()
+ report_data += [item_map[item].get(i) for i in variants_attributes]
- data.append(report_data)
+ data.append(report_data)
if filters.get('show_variant_attributes', 0) == 1:
columns += ["{}:Data:100".format(i) for i in get_variants_attributes()]
@@ -200,12 +201,12 @@
item_details = {}
if not items:
items = list(set([d.item_code for d in sle]))
-
+
if items:
for item in frappe.db.sql("""
select name, item_name, description, item_group, brand, stock_uom
from `tabItem`
- where name in ({0})
+ where name in ({0}) and ifnull(disabled, 0) = 0
""".format(', '.join(['"' + frappe.db.escape(i, percent=False) + '"' for i in items])), as_dict=1):
item_details.setdefault(item.name, item)