From db74169367f212bd7423a26d9fcbb39343c89719 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Tue, 9 Apr 2024 11:26:03 +0530 Subject: [PATCH] fix: check if there is any existing depreciation schedule --- .../asset_depreciation_schedule.py | 33 +++++++++++-------- 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.py b/erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.py index 6738bef4a6f..9db16bac047 100644 --- a/erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.py +++ b/erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.py @@ -849,32 +849,37 @@ def get_depr_schedule(asset_name, status, finance_book=None): def get_asset_depr_schedule_doc(asset_name, status, finance_book=None): - asset_depr_schedule_name = get_asset_depr_schedule_name(asset_name, status, finance_book) + asset_depr_schedule = get_asset_depr_schedule_name(asset_name, status, finance_book) - if not asset_depr_schedule_name: + if not asset_depr_schedule: return - asset_depr_schedule_doc = frappe.get_doc("Asset Depreciation Schedule", asset_depr_schedule_name) + asset_depr_schedule_doc = frappe.get_doc( + "Asset Depreciation Schedule", asset_depr_schedule[0].name + ) return asset_depr_schedule_doc def get_asset_depr_schedule_name(asset_name, status, finance_book=None): - if finance_book is None: - finance_book_filter = ["finance_book", "is", "not set"] - else: - finance_book_filter = ["finance_book", "=", finance_book] - if isinstance(status, str): status = [status] - return frappe.db.get_value( + filters = [ + ["asset", "=", asset_name], + ["status", "in", status], + ["docstatus", "<", 2], + ] + + if finance_book: + filters.append(["finance_book", "=", finance_book]) + else: + filters.append(["finance_book", "is", "not set"]) + + return frappe.get_all( doctype="Asset Depreciation Schedule", - filters=[ - ["asset", "=", asset_name], - finance_book_filter, - ["status", "in", status], - ], + filters=filters, + limit=1, ) -- GitLab