diff --git a/erpnext/accounts/report/asset_depreciation_ledger/asset_depreciation_ledger.py b/erpnext/accounts/report/asset_depreciation_ledger/asset_depreciation_ledger.py index ed132d942ba..79873bc6e12 100644 --- a/erpnext/accounts/report/asset_depreciation_ledger/asset_depreciation_ledger.py +++ b/erpnext/accounts/report/asset_depreciation_ledger/asset_depreciation_ledger.py @@ -15,10 +15,7 @@ def execute(filters=None): def get_data(filters): data = [] - depreciation_accounts = frappe.db.sql_list( - """ select name from tabAccount - where ifnull(account_type, '') = 'Depreciation' """ - ) + depreciation_accounts = frappe.get_all("Account", filters={"account_type": "Depreciation"}, pluck="name") filters_data = [ ["company", "=", filters.get("company")], @@ -33,10 +30,8 @@ def get_data(filters): filters_data.append(["against_voucher", "=", filters.get("asset")]) if filters.get("asset_category"): - assets = frappe.db.sql_list( - """select name from tabAsset - where asset_category = %s and docstatus=1""", - filters.get("asset_category"), + assets = frappe.get_all( + "Asset", filters={"asset_category": filters.get("asset_category"), "docstatus": 1}, pluck="name" ) filters_data.append(["against_voucher", "in", assets]) diff --git a/erpnext/accounts/report/asset_depreciation_ledger/test_asset_depreciation_ledger.py b/erpnext/accounts/report/asset_depreciation_ledger/test_asset_depreciation_ledger.py new file mode 100644 index 00000000000..a64c96a0174 --- /dev/null +++ b/erpnext/accounts/report/asset_depreciation_ledger/test_asset_depreciation_ledger.py @@ -0,0 +1,18 @@ +# Copyright (c) 2024, Frappe Technologies Pvt. Ltd. and contributors +# For license information, please see license.txt + +import frappe + +from erpnext.accounts.report.asset_depreciation_ledger.asset_depreciation_ledger import execute +from erpnext.tests.utils import ERPNextTestSuite + + +class TestAssetDepreciationLedger(ERPNextTestSuite): + def test_report_executes(self): + # Smoke-guards the raw-SQL -> query-builder port: the report query must compile and run on + # both MariaDB and postgres. + company = frappe.db.get_value("Company", {}, "name") + columns, *_rest = execute( + frappe._dict({"company": company, "from_date": "2020-01-01", "to_date": "2030-12-31"}) + ) + self.assertTrue(columns)