fix: add child item groups into the filters (#26997)
* fix: add child item groups into the filters
* fix: appending values to proper variable
* fix: refactor the loop
diff --git a/erpnext/selling/report/sales_partner_target_variance_based_on_item_group/item_group_wise_sales_target_variance.py b/erpnext/selling/report/sales_partner_target_variance_based_on_item_group/item_group_wise_sales_target_variance.py
index 89cfa16..24ca666 100644
--- a/erpnext/selling/report/sales_partner_target_variance_based_on_item_group/item_group_wise_sales_target_variance.py
+++ b/erpnext/selling/report/sales_partner_target_variance_based_on_item_group/item_group_wise_sales_target_variance.py
@@ -44,6 +44,18 @@
if d.item_group not in item_groups:
item_groups.append(d.item_group)
+ if item_groups:
+ child_items = []
+ for item_group in item_groups:
+ if frappe.db.get_value("Item Group", {"name":item_group}, "is_group"):
+ for child_item_group in frappe.get_all("Item Group", {"parent_item_group":item_group}):
+ if child_item_group['name'] not in child_items:
+ child_items.append(child_item_group['name'])
+
+ for item in child_items:
+ if item not in item_groups:
+ item_groups.append(item)
+
date_field = ("transaction_date"
if filters.get('doctype') == "Sales Order" else "posting_date")