diff --git a/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.py b/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.py index 0fb1e342be..c907339766 100644 --- a/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.py +++ b/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.py @@ -247,8 +247,8 @@ class ProductionPlanningTool(Document): fb.description, fb.stock_uom, it.min_order_qty from `tabBOM Explosion Item` fb, `tabBOM` bom, `tabItem` it where bom.name = fb.parent and it.name = fb.item_code - and is_pro_applicable = 0 - and is_sub_contracted_item = 0 + and (is_pro_applicable = 0 or ifnull(default_bom, "")="") + and (is_sub_contracted_item = 0 or ifnull(default_bom, "")="") and is_stock_item = 1 and fb.docstatus<2 and bom.name=%s group by item_code, stock_uom""", bom, as_dict=1): diff --git a/erpnext/stock/doctype/item/item.js b/erpnext/stock/doctype/item/item.js index 739f934e18..d712cc91a3 100644 --- a/erpnext/stock/doctype/item/item.js +++ b/erpnext/stock/doctype/item/item.js @@ -14,12 +14,24 @@ frappe.ui.form.on("Item", { refresh: function(frm) { if(frm.doc.is_stock_item) { - frm.add_custom_button(__("Show Balance"), function() { + frm.add_custom_button(__("Balance"), function() { frappe.route_options = { "item_code": frm.doc.name } frappe.set_route("query-report", "Stock Balance"); }); + frm.add_custom_button(__("Ledger"), function() { + frappe.route_options = { + "item_code": frm.doc.name + } + frappe.set_route("query-report", "Stock Ledger"); + }); + frm.add_custom_button(__("Projected"), function() { + frappe.route_options = { + "item_code": frm.doc.name + } + frappe.set_route("query-report", "Stock Projected Qty"); + }); } // make sensitive fields(has_serial_no, is_stock_item, valuation_method)