fix: fetch fieldname in accounting dimension filter

(cherry picked from commit 42f9d27d79)
This commit is contained in:
l0gesh29
2025-08-08 14:21:00 +05:30
committed by Mergify
parent ac4a5bfe6d
commit d494d8c299

View File

@@ -17,17 +17,16 @@ class AccountingDimensionFilter(Document):
from frappe.types import DF from frappe.types import DF
from erpnext.accounts.doctype.allowed_dimension.allowed_dimension import AllowedDimension from erpnext.accounts.doctype.allowed_dimension.allowed_dimension import AllowedDimension
from erpnext.accounts.doctype.applicable_on_account.applicable_on_account import ( from erpnext.accounts.doctype.applicable_on_account.applicable_on_account import ApplicableOnAccount
ApplicableOnAccount,
)
accounting_dimension: DF.Literal accounting_dimension: DF.Literal[None]
accounts: DF.Table[ApplicableOnAccount] accounts: DF.Table[ApplicableOnAccount]
allow_or_restrict: DF.Literal["Allow", "Restrict"] allow_or_restrict: DF.Literal["Allow", "Restrict"]
apply_restriction_on_values: DF.Check apply_restriction_on_values: DF.Check
company: DF.Link company: DF.Link
dimensions: DF.Table[AllowedDimension] dimensions: DF.Table[AllowedDimension]
disabled: DF.Check disabled: DF.Check
fieldname: DF.Data | None
# end: auto-generated types # end: auto-generated types
def before_save(self): def before_save(self):
@@ -37,6 +36,9 @@ class AccountingDimensionFilter(Document):
self.set("dimensions", []) self.set("dimensions", [])
def validate(self): def validate(self):
self.fieldname = frappe.db.get_value(
"Accounting Dimension", {"document_type": self.accounting_dimension}, "fieldname"
)
self.validate_applicable_accounts() self.validate_applicable_accounts()
def validate_applicable_accounts(self): def validate_applicable_accounts(self):
@@ -72,7 +74,7 @@ def get_dimension_filter_map():
""" """
SELECT SELECT
a.applicable_on_account, d.dimension_value, p.accounting_dimension, a.applicable_on_account, d.dimension_value, p.accounting_dimension,
p.allow_or_restrict, a.is_mandatory p.allow_or_restrict, p.fieldname, a.is_mandatory
FROM FROM
`tabApplicable On Account` a, `tabApplicable On Account` a,
`tabAccounting Dimension Filter` p `tabAccounting Dimension Filter` p
@@ -87,8 +89,6 @@ def get_dimension_filter_map():
dimension_filter_map = {} dimension_filter_map = {}
for f in filters: for f in filters:
f.fieldname = scrub(f.accounting_dimension)
build_map( build_map(
dimension_filter_map, dimension_filter_map,
f.fieldname, f.fieldname,