refactor: handle dimension filters
diff --git a/erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.py b/erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.py
index ed0921b..092cf45 100644
--- a/erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.py
+++ b/erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.py
@@ -10,6 +10,7 @@
from frappe.utils import flt, fmt_money, get_link_to_form, getdate, nowdate, today
import erpnext
+from erpnext.accounts.doctype.accounting_dimension.accounting_dimension import get_dimensions
from erpnext.accounts.doctype.process_payment_reconciliation.process_payment_reconciliation import (
is_any_doc_running,
)
@@ -648,6 +649,14 @@
if not invoices_to_reconcile:
frappe.throw(_("No records found in Allocation table"))
+ def build_dimensions_filter_conditions(self):
+ ple = qb.DocType("Payment Ledger Entry")
+ dimensions_and_defaults = get_dimensions()
+ for x in dimensions_and_defaults[0]:
+ dimension = x.fieldname
+ if self.get(dimension):
+ self.accounting_dimension_filter_conditions.append(ple[dimension] == self.get(dimension))
+
def build_qb_filter_conditions(self, get_invoices=False, get_return_invoices=False):
self.common_filter_conditions.clear()
self.accounting_dimension_filter_conditions.clear()
@@ -671,6 +680,8 @@
if self.to_payment_date:
self.ple_posting_date_filter.append(ple.posting_date.lte(self.to_payment_date))
+ self.build_dimensions_filter_conditions()
+
def get_conditions(self, get_payments=False):
condition = " and company = '{0}' ".format(self.company)