From 872e94a316ac10ee2c8d47c5a052d98cc23da3a1 Mon Sep 17 00:00:00 2001 From: ljain112 Date: Thu, 17 Apr 2025 15:39:50 +0530 Subject: [PATCH] fix: `TypeError` in group field filter in supplier ledger summary --- .../customer_ledger_summary.py | 2 +- .../test_supplier_ledger_summary.py | 30 +++++++++++++++++++ 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/erpnext/accounts/report/customer_ledger_summary/customer_ledger_summary.py b/erpnext/accounts/report/customer_ledger_summary/customer_ledger_summary.py index 1eabad82064..f66093a4092 100644 --- a/erpnext/accounts/report/customer_ledger_summary/customer_ledger_summary.py +++ b/erpnext/accounts/report/customer_ledger_summary/customer_ledger_summary.py @@ -100,7 +100,7 @@ class PartyLedgerSummaryReport: conditions.append(doctype.territory.isin(self.filters.territory)) if self.filters.get(group_field): - conditions.append(doctype.get(group_field).isin(self.filters.get(group_field))) + conditions.append(doctype[group_field].isin(self.filters.get(group_field))) if self.filters.payment_terms_template: conditions.append(doctype.payment_terms == self.filters.payment_terms_template) diff --git a/erpnext/accounts/report/supplier_ledger_summary/test_supplier_ledger_summary.py b/erpnext/accounts/report/supplier_ledger_summary/test_supplier_ledger_summary.py index 913f64ab38f..376495b5cc9 100644 --- a/erpnext/accounts/report/supplier_ledger_summary/test_supplier_ledger_summary.py +++ b/erpnext/accounts/report/supplier_ledger_summary/test_supplier_ledger_summary.py @@ -59,3 +59,33 @@ class TestSupplierLedgerSummary(AccountsTestMixin, IntegrationTestCase): for field in expected: with self.subTest(field=field): self.assertEqual(report_output[0].get(field), expected.get(field)) + + def test_supplier_ledger_summary_with_filters(self): + self.create_purchase_invoice() + + supplier_group = frappe.db.get_value("Supplier", self.supplier, "supplier_group") + + filters = { + "company": self.company, + "from_date": today(), + "to_date": today(), + "supplier_group": supplier_group, + } + + expected = { + "party": "_Test Supplier", + "party_name": "_Test Supplier", + "opening_balance": 0, + "invoiced_amount": 300.0, + "paid_amount": 0, + "return_amount": 0, + "closing_balance": 300.0, + "currency": "INR", + "supplier_name": "_Test Supplier", + } + + report_output = execute(filters)[1] + self.assertEqual(len(report_output), 1) + for field in expected: + with self.subTest(field=field): + self.assertEqual(report_output[0].get(field), expected.get(field))