refactor: move ignore ERR filters from SOA to General Ledger
diff --git a/erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts.py b/erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts.py
index c03b18a..083c8fc 100644
--- a/erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts.py
+++ b/erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts.py
@@ -120,18 +120,6 @@
statement_dict = {}
ageing = ""
- err_journals = None
- if doc.report == "General Ledger" and doc.ignore_exchange_rate_revaluation_journals:
- err_journals = frappe.db.get_all(
- "Journal Entry",
- filters={
- "company": doc.company,
- "docstatus": 1,
- "voucher_type": ("in", ["Exchange Rate Revaluation", "Exchange Gain Or Loss"]),
- },
- as_list=True,
- )
-
for entry in doc.customers:
if doc.include_ageing:
ageing = set_ageing(doc, entry)
@@ -144,8 +132,8 @@
)
filters = get_common_filters(doc)
- if err_journals:
- filters.update({"voucher_no_not_in": [x[0] for x in err_journals]})
+ if doc.ignore_exchange_rate_revaluation_journals:
+ filters.update({"ignore_err": True})
if doc.report == "General Ledger":
filters.update(get_gl_filters(doc, entry, tax_id, presentation_currency))
diff --git a/erpnext/accounts/report/general_ledger/general_ledger.js b/erpnext/accounts/report/general_ledger/general_ledger.js
index 79b5e4d..b7b9d34 100644
--- a/erpnext/accounts/report/general_ledger/general_ledger.js
+++ b/erpnext/accounts/report/general_ledger/general_ledger.js
@@ -203,8 +203,14 @@
"fieldname": "show_remarks",
"label": __("Show Remarks"),
"fieldtype": "Check"
+ },
+ {
+ "fieldname": "ignore_err",
+ "label": __("Ignore Exchange Rate Revaluation Journals"),
+ "fieldtype": "Check"
}
+
]
}
diff --git a/erpnext/accounts/report/general_ledger/general_ledger.py b/erpnext/accounts/report/general_ledger/general_ledger.py
index 110ec75..cea3a7b 100644
--- a/erpnext/accounts/report/general_ledger/general_ledger.py
+++ b/erpnext/accounts/report/general_ledger/general_ledger.py
@@ -241,6 +241,19 @@
if filters.get("against_voucher_no"):
conditions.append("against_voucher=%(against_voucher_no)s")
+ if filters.get("ignore_err"):
+ err_journals = frappe.db.get_all(
+ "Journal Entry",
+ filters={
+ "company": filters.get("company"),
+ "docstatus": 1,
+ "voucher_type": ("in", ["Exchange Rate Revaluation", "Exchange Gain Or Loss"]),
+ },
+ as_list=True,
+ )
+ if err_journals:
+ filters.update({"voucher_no_not_in": [x[0] for x in err_journals]})
+
if filters.get("voucher_no_not_in"):
conditions.append("voucher_no not in %(voucher_no_not_in)s")