diff --git a/erpnext/stock/report/product_bundle_balance/product_bundle_balance.js b/erpnext/stock/report/product_bundle_balance/product_bundle_balance.js index 5cef5c703412..f8779c64e2de 100644 --- a/erpnext/stock/report/product_bundle_balance/product_bundle_balance.js +++ b/erpnext/stock/report/product_bundle_balance/product_bundle_balance.js @@ -3,6 +3,14 @@ frappe.query_reports["Product Bundle Balance"] = { filters: [ + { + fieldname: "company", + label: __("Company"), + fieldtype: "Link", + options: "Company", + default: frappe.defaults.get_user_default("Company"), + reqd: 1, + }, { fieldname: "date", label: __("Date"), diff --git a/erpnext/stock/report/product_bundle_balance/product_bundle_balance.py b/erpnext/stock/report/product_bundle_balance/product_bundle_balance.py index dd79e7fcaf58..10f8650b525c 100644 --- a/erpnext/stock/report/product_bundle_balance/product_bundle_balance.py +++ b/erpnext/stock/report/product_bundle_balance/product_bundle_balance.py @@ -224,6 +224,9 @@ def get_stock_ledger_entries(filters, items): .where((sle2.name.isnull()) & (sle.docstatus < 2) & (sle.item_code.isin(items))) ) + if filters.get("company"): + query = query.where(sle.company == filters.get("company")) + if date := filters.get("date"): query = query.where(sle.posting_date <= date) else: @@ -237,7 +240,7 @@ def get_stock_ledger_entries(filters, items): if warehouse_details: wh = frappe.qb.DocType("Warehouse") query = query.where( - ExistsCriterion( + sle.warehouse.isin( frappe.qb.from_(wh) .select(wh.name) .where((wh.lft >= warehouse_details.lft) & (wh.rgt <= warehouse_details.rgt))