diff --git a/erpnext/patches/v15_0/update_fieldname_in_accounting_dimension_filter.py b/erpnext/patches/v15_0/update_fieldname_in_accounting_dimension_filter.py index 11d2cc91446..25a35bc87fc 100644 --- a/erpnext/patches/v15_0/update_fieldname_in_accounting_dimension_filter.py +++ b/erpnext/patches/v15_0/update_fieldname_in_accounting_dimension_filter.py @@ -11,25 +11,26 @@ def execute(): frappe.qb.from_(ADF) .join(AD) .on(AD.document_type == ADF.accounting_dimension) - .select(ADF.name, AD.fieldname) + .select(ADF.name, AD.fieldname, ADF.accounting_dimension) ).run(as_dict=True) for doc in accounting_dimension_filter: + value = doc.fieldname or frappe.scrub(doc.accounting_dimension) frappe.db.set_value( "Accounting Dimension Filter", doc.name, "fieldname", - doc.fieldname, + value, update_modified=False, ) def default_accounting_dimension(): - for accounting_dimension in ["Cost Center", "Project"]: - frappe.db.set_value( - "Accounting Dimension Filter", - {"accounting_dimension": accounting_dimension}, - "fieldname", - frappe.scrub(accounting_dimension), - update_modified=False, + ADF = DocType("Accounting Dimension Filter") + for dim in ("Cost Center", "Project"): + ( + frappe.qb.update(ADF) + .set(ADF.fieldname, frappe.scrub(dim)) + .where(ADF.accounting_dimension == dim) + .run() )