From dae6adfe13a07061ee89a772fa5e04903ea0d63c Mon Sep 17 00:00:00 2001 From: Navin-S-R Date: Sun, 11 Jan 2026 19:20:01 +0530 Subject: [PATCH] fix(asset value adjustment): skip cancelling revaluation journal entry if already cancelled (cherry picked from commit b1704ccef15c4f36cf41197f781f571cec8f0f11) # Conflicts: # erpnext/assets/doctype/asset_value_adjustment/asset_value_adjustment.py --- .../asset_value_adjustment.py | 30 ++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/erpnext/assets/doctype/asset_value_adjustment/asset_value_adjustment.py b/erpnext/assets/doctype/asset_value_adjustment/asset_value_adjustment.py index 31fd62095df..2f6326628d8 100644 --- a/erpnext/assets/doctype/asset_value_adjustment/asset_value_adjustment.py +++ b/erpnext/assets/doctype/asset_value_adjustment/asset_value_adjustment.py @@ -57,7 +57,7 @@ class AssetValueAdjustment(Document): ) def on_cancel(self): - frappe.get_doc("Journal Entry", self.journal_entry).cancel() + self.cancel_asset_revaluation_entry() self.update_asset() add_asset_activity( self.asset, @@ -180,6 +180,7 @@ class AssetValueAdjustment(Document): get_link_to_form(self.get("doctype"), self.get("name")), ) +<<<<<<< HEAD make_new_active_asset_depr_schedules_and_cancel_current_ones( asset, notes, @@ -189,6 +190,33 @@ class AssetValueAdjustment(Document): ) asset.flags.ignore_validate_update_after_submit = True asset.save() +======= + return credit_entry, debit_entry + + def update_accounting_dimensions(self, credit_entry, debit_entry): + accounting_dimensions = get_checks_for_pl_and_bs_accounts() + + for dimension in accounting_dimensions: + dimension_value = self.get(dimension["fieldname"]) or dimension.get("default_dimension") + if dimension.get("mandatory_for_bs"): + credit_entry.update({dimension["fieldname"]: dimension_value}) + + if dimension.get("mandatory_for_pl"): + debit_entry.update({dimension["fieldname"]: dimension_value}) + + def cancel_asset_revaluation_entry(self): + if not self.journal_entry: + return + + revaluation_entry = frappe.get_doc("Journal Entry", self.journal_entry) + if revaluation_entry.docstatus == 1: + revaluation_entry.cancel() + + def update_asset(self): + asset = self.update_asset_value_after_depreciation() + note = self.get_adjustment_note() + reschedule_depreciation(asset, note) +>>>>>>> b1704ccef1 (fix(asset value adjustment): skip cancelling revaluation journal entry if already cancelled) asset.set_status() def update_asset_value_after_depreciation(self, difference_amount):