chore: refactor schedules in journal_entry
diff --git a/erpnext/accounts/doctype/journal_entry/journal_entry.py b/erpnext/accounts/doctype/journal_entry/journal_entry.py
index de012b2..90fbd55 100644
--- a/erpnext/accounts/doctype/journal_entry/journal_entry.py
+++ b/erpnext/accounts/doctype/journal_entry/journal_entry.py
@@ -6,7 +6,7 @@
import frappe
from frappe import _, msgprint, scrub
-from frappe.utils import cint, cstr, flt, fmt_money, formatdate, get_link_to_form, nowdate
+from frappe.utils import cstr, flt, fmt_money, formatdate, get_link_to_form, nowdate
import erpnext
from erpnext.accounts.deferred_revenue import get_deferred_booking_accounts
@@ -23,6 +23,9 @@
get_stock_accounts,
get_stock_and_account_balance,
)
+from erpnext.assets.doctype.asset_depreciation_schedule.asset_depreciation_schedule import (
+ get_depr_schedule_from_asset_depr_schedule_of_asset,
+)
from erpnext.controllers.accounts_controller import AccountsController
@@ -286,16 +289,18 @@
for d in self.get("accounts"):
if d.reference_type == "Asset" and d.reference_name:
asset = frappe.get_doc("Asset", d.reference_name)
- for s in asset.get("schedules"):
- if s.journal_entry == self.name:
- s.db_set("journal_entry", None)
+ for row in asset.get("finance_books"):
+ depr_schedule = get_depr_schedule_from_asset_depr_schedule_of_asset(
+ asset.name, row.finance_book
+ )
+ for s in depr_schedule:
+ if s.journal_entry == self.name:
+ s.db_set("journal_entry", None)
- idx = cint(s.finance_book_id) or 1
- finance_books = asset.get("finance_books")[idx - 1]
- finance_books.value_after_depreciation += s.depreciation_amount
- finance_books.db_update()
+ row.value_after_depreciation += s.depreciation_amount
+ row.db_update()
- asset.set_status()
+ asset.set_status()
def unlink_inter_company_jv(self):
if (