chore: renaming some functions and variables, and partially refactoring AssetValueAdjustment
This commit is contained in:
parent
76f28de7eb
commit
7db66b0916
@ -29,6 +29,7 @@ from erpnext.assets.doctype.asset.depreciation import (
|
|||||||
)
|
)
|
||||||
from erpnext.assets.doctype.asset_category.asset_category import get_asset_category_account
|
from erpnext.assets.doctype.asset_category.asset_category import get_asset_category_account
|
||||||
from erpnext.assets.doctype.asset_depreciation_schedule.asset_depreciation_schedule import (
|
from erpnext.assets.doctype.asset_depreciation_schedule.asset_depreciation_schedule import (
|
||||||
|
cancel_asset_depreciation_schedules,
|
||||||
convert_draft_asset_depreciation_schedules_into_active,
|
convert_draft_asset_depreciation_schedules_into_active,
|
||||||
get_asset_depreciation_schedule,
|
get_asset_depreciation_schedule,
|
||||||
make_draft_asset_depreciation_schedules,
|
make_draft_asset_depreciation_schedules,
|
||||||
@ -64,6 +65,7 @@ class Asset(AccountsController):
|
|||||||
self.validate_cancellation()
|
self.validate_cancellation()
|
||||||
self.cancel_movement_entries()
|
self.cancel_movement_entries()
|
||||||
self.delete_depreciation_entries()
|
self.delete_depreciation_entries()
|
||||||
|
cancel_asset_depreciation_schedules(self)
|
||||||
self.set_status()
|
self.set_status()
|
||||||
self.ignore_linked_doctypes = ("GL Entry", "Stock Ledger Entry")
|
self.ignore_linked_doctypes = ("GL Entry", "Stock Ledger Entry")
|
||||||
make_reverse_gl_entries(voucher_type="Asset", voucher_no=self.name)
|
make_reverse_gl_entries(voucher_type="Asset", voucher_no=self.name)
|
||||||
@ -244,14 +246,14 @@ class Asset(AccountsController):
|
|||||||
return value_after_depreciation
|
return value_after_depreciation
|
||||||
|
|
||||||
def get_from_date(self, finance_book):
|
def get_from_date(self, finance_book):
|
||||||
asset_depr_schedule_name = get_asset_depreciation_schedule(self.name, finance_book)
|
asset_depr_schedule = get_asset_depreciation_schedule(self.name, finance_book)
|
||||||
|
|
||||||
if not asset_depr_schedule_name:
|
if not asset_depr_schedule:
|
||||||
return self.available_for_use_date
|
return self.available_for_use_date
|
||||||
|
|
||||||
asset_depr_schedule = frappe.get_doc("Asset Depreciation Schedule", asset_depr_schedule_name)
|
asset_depr_schedule_doc = frappe.get_doc("Asset Depreciation Schedule", asset_depr_schedule)
|
||||||
|
|
||||||
return asset_depr_schedule.get("depreciation_schedule")[-1].schedule_date
|
return asset_depr_schedule_doc.get("depreciation_schedule")[-1].schedule_date
|
||||||
|
|
||||||
# if it returns True, depreciation_amount will not be equal for the first and last rows
|
# if it returns True, depreciation_amount will not be equal for the first and last rows
|
||||||
def check_is_pro_rata(self, row):
|
def check_is_pro_rata(self, row):
|
||||||
@ -355,26 +357,26 @@ class Asset(AccountsController):
|
|||||||
return depreciation_amount_for_last_row
|
return depreciation_amount_for_last_row
|
||||||
|
|
||||||
def get_depreciation_amount_for_first_row(self, finance_book):
|
def get_depreciation_amount_for_first_row(self, finance_book):
|
||||||
asset_depr_schedule_name = get_asset_depreciation_schedule(self.name, finance_book)
|
asset_depr_schedule = get_asset_depreciation_schedule(self.name, finance_book)
|
||||||
|
|
||||||
asset_depr_schedule = frappe.get_doc("Asset Depreciation Schedule", asset_depr_schedule_name)
|
asset_depr_schedule_doc = frappe.get_doc("Asset Depreciation Schedule", asset_depr_schedule)
|
||||||
|
|
||||||
return asset_depr_schedule.get("depreciation_schedule")[0].depreciation_amount
|
return asset_depr_schedule_doc.get("depreciation_schedule")[0].depreciation_amount
|
||||||
|
|
||||||
def get_value_after_depreciation(self, idx):
|
def get_value_after_depreciation(self, idx):
|
||||||
return flt(self.get("finance_books")[cint(idx) - 1].value_after_depreciation)
|
return flt(self.get("finance_books")[cint(idx) - 1].value_after_depreciation)
|
||||||
|
|
||||||
def validate_expected_value_after_useful_life(self):
|
def validate_expected_value_after_useful_life(self):
|
||||||
for row in self.get("finance_books"):
|
for row in self.get("finance_books"):
|
||||||
asset_depr_schedule_name = get_asset_depreciation_schedule(self.name, row.finance_book)
|
asset_depr_schedule = get_asset_depreciation_schedule(self.name, row.finance_book)
|
||||||
|
|
||||||
if not asset_depr_schedule_name:
|
if not asset_depr_schedule:
|
||||||
return
|
return
|
||||||
|
|
||||||
asset_depr_schedule = frappe.get_doc("Asset Depreciation Schedule", asset_depr_schedule_name)
|
asset_depr_schedule_doc = frappe.get_doc("Asset Depreciation Schedule", asset_depr_schedule)
|
||||||
|
|
||||||
accumulated_depreciation_after_full_schedule = [
|
accumulated_depreciation_after_full_schedule = [
|
||||||
d.accumulated_depreciation_amount for d in asset_depr_schedule.get("depreciation_schedule")
|
d.accumulated_depreciation_amount for d in asset_depr_schedule_doc.get("depreciation_schedule")
|
||||||
]
|
]
|
||||||
|
|
||||||
if accumulated_depreciation_after_full_schedule:
|
if accumulated_depreciation_after_full_schedule:
|
||||||
@ -424,14 +426,14 @@ class Asset(AccountsController):
|
|||||||
|
|
||||||
def delete_depreciation_entries(self):
|
def delete_depreciation_entries(self):
|
||||||
for row in self.get("finance_books"):
|
for row in self.get("finance_books"):
|
||||||
asset_depr_schedule_name = get_asset_depreciation_schedule(self.name, row.finance_book)
|
asset_depr_schedule = get_asset_depreciation_schedule(self.name, row.finance_book)
|
||||||
|
|
||||||
if not asset_depr_schedule_name:
|
if not asset_depr_schedule:
|
||||||
return
|
return
|
||||||
|
|
||||||
asset_depr_schedule = frappe.get_doc("Asset Depreciation Schedule", asset_depr_schedule_name)
|
asset_depr_schedule_doc = frappe.get_doc("Asset Depreciation Schedule", asset_depr_schedule)
|
||||||
|
|
||||||
for d in asset_depr_schedule.get("depreciation_schedule"):
|
for d in asset_depr_schedule_doc.get("depreciation_schedule"):
|
||||||
if d.journal_entry:
|
if d.journal_entry:
|
||||||
frappe.get_doc("Journal Entry", d.journal_entry).cancel()
|
frappe.get_doc("Journal Entry", d.journal_entry).cancel()
|
||||||
d.db_set("journal_entry", None)
|
d.db_set("journal_entry", None)
|
||||||
|
|||||||
@ -11,7 +11,7 @@ from erpnext.accounts.doctype.accounting_dimension.accounting_dimension import (
|
|||||||
)
|
)
|
||||||
from erpnext.accounts.doctype.journal_entry.journal_entry import make_reverse_journal_entry
|
from erpnext.accounts.doctype.journal_entry.journal_entry import make_reverse_journal_entry
|
||||||
from erpnext.assets.doctype.asset_depreciation_schedule.asset_depreciation_schedule import (
|
from erpnext.assets.doctype.asset_depreciation_schedule.asset_depreciation_schedule import (
|
||||||
make_temp_asset_depreciation_schedule,
|
get_temp_asset_depreciation_schedule_doc,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@ -514,7 +514,7 @@ def get_value_after_depreciation_on_disposal_date(asset, disposal_date, finance_
|
|||||||
|
|
||||||
row = asset_doc.finance_books[idx - 1]
|
row = asset_doc.finance_books[idx - 1]
|
||||||
|
|
||||||
temp_asset_depreciation_schedule = make_temp_asset_depreciation_schedule(
|
temp_asset_depreciation_schedule = get_temp_asset_depreciation_schedule_doc(
|
||||||
asset_doc, row, getdate(disposal_date)
|
asset_doc, row, getdate(disposal_date)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@ -22,52 +22,52 @@ class AssetDepreciationSchedule(Document):
|
|||||||
|
|
||||||
def make_draft_asset_depreciation_schedules(asset_doc, date_of_disposal=None, date_of_return=None):
|
def make_draft_asset_depreciation_schedules(asset_doc, date_of_disposal=None, date_of_return=None):
|
||||||
for row in asset_doc.get("finance_books"):
|
for row in asset_doc.get("finance_books"):
|
||||||
asset_depr_schedule = frappe.new_doc("Asset Depreciation Schedule")
|
asset_depr_schedule_doc = frappe.new_doc("Asset Depreciation Schedule")
|
||||||
|
|
||||||
prepare_draft_asset_depreciation_schedule_data(
|
prepare_draft_asset_depreciation_schedule_data(
|
||||||
asset_depr_schedule, asset_doc, row, date_of_disposal, date_of_return
|
asset_depr_schedule_doc, asset_doc, row, date_of_disposal, date_of_return
|
||||||
)
|
)
|
||||||
|
|
||||||
asset_depr_schedule.insert()
|
asset_depr_schedule_doc.insert()
|
||||||
|
|
||||||
|
|
||||||
def update_draft_asset_depreciation_schedules(
|
def update_draft_asset_depreciation_schedules(
|
||||||
asset_doc, date_of_disposal=None, date_of_return=None
|
asset_doc, date_of_disposal=None, date_of_return=None
|
||||||
):
|
):
|
||||||
for row in asset_doc.get("finance_books"):
|
for row in asset_doc.get("finance_books"):
|
||||||
asset_depr_schedule_name = get_asset_depreciation_schedule(asset_doc.name, row.finance_book)
|
asset_depr_schedule = get_asset_depreciation_schedule(asset_doc.name, row.finance_book)
|
||||||
|
|
||||||
if not asset_depr_schedule_name:
|
if not asset_depr_schedule:
|
||||||
return
|
return
|
||||||
|
|
||||||
asset_depr_schedule = frappe.get_doc("Asset Depreciation Schedule", asset_depr_schedule_name)
|
asset_depr_schedule_doc = frappe.get_doc("Asset Depreciation Schedule", asset_depr_schedule)
|
||||||
|
|
||||||
prepare_draft_asset_depreciation_schedule_data(
|
prepare_draft_asset_depreciation_schedule_data(
|
||||||
asset_depr_schedule, asset_doc, row, date_of_disposal, date_of_return
|
asset_depr_schedule_doc, asset_doc, row, date_of_disposal, date_of_return
|
||||||
)
|
)
|
||||||
|
|
||||||
asset_depr_schedule.save()
|
asset_depr_schedule_doc.save()
|
||||||
|
|
||||||
|
|
||||||
def prepare_draft_asset_depreciation_schedule_data(
|
def prepare_draft_asset_depreciation_schedule_data(
|
||||||
asset_depr_schedule, asset_doc, row, date_of_disposal, date_of_return
|
asset_depr_schedule_doc, asset_doc, row, date_of_disposal, date_of_return
|
||||||
):
|
):
|
||||||
set_draft_asset_depreciation_schedule_details(asset_depr_schedule, asset_doc.name, row)
|
set_draft_asset_depreciation_schedule_details(asset_depr_schedule_doc, asset_doc.name, row)
|
||||||
make_depreciation_schedule(asset_depr_schedule, asset_doc, row, date_of_disposal)
|
make_depreciation_schedule(asset_depr_schedule_doc, asset_doc, row, date_of_disposal)
|
||||||
set_accumulated_depreciation(
|
set_accumulated_depreciation(
|
||||||
asset_depr_schedule, asset_doc, row, date_of_disposal, date_of_return
|
asset_depr_schedule_doc, asset_doc, row, date_of_disposal, date_of_return
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
def set_draft_asset_depreciation_schedule_details(asset_depr_schedule, asset, row):
|
def set_draft_asset_depreciation_schedule_details(asset_depr_schedule_doc, asset, row):
|
||||||
asset_depr_schedule.asset = asset
|
asset_depr_schedule_doc.asset = asset
|
||||||
asset_depr_schedule.finance_book = row.finance_book
|
asset_depr_schedule_doc.finance_book = row.finance_book
|
||||||
asset_depr_schedule.depreciation_method = row.depreciation_method
|
asset_depr_schedule_doc.depreciation_method = row.depreciation_method
|
||||||
asset_depr_schedule.total_number_of_depreciations = row.total_number_of_depreciations
|
asset_depr_schedule_doc.total_number_of_depreciations = row.total_number_of_depreciations
|
||||||
asset_depr_schedule.frequency_of_depreciation = row.frequency_of_depreciation
|
asset_depr_schedule_doc.frequency_of_depreciation = row.frequency_of_depreciation
|
||||||
asset_depr_schedule.rate_of_depreciation = row.rate_of_depreciation
|
asset_depr_schedule_doc.rate_of_depreciation = row.rate_of_depreciation
|
||||||
asset_depr_schedule.expected_value_after_useful_life = row.expected_value_after_useful_life
|
asset_depr_schedule_doc.expected_value_after_useful_life = row.expected_value_after_useful_life
|
||||||
asset_depr_schedule.status = "Draft"
|
asset_depr_schedule_doc.status = "Draft"
|
||||||
|
|
||||||
|
|
||||||
def convert_draft_asset_depreciation_schedules_into_active(asset_doc):
|
def convert_draft_asset_depreciation_schedules_into_active(asset_doc):
|
||||||
@ -84,41 +84,55 @@ def convert_draft_asset_depreciation_schedules_into_active(asset_doc):
|
|||||||
asset_depr_schedule.submit()
|
asset_depr_schedule.submit()
|
||||||
|
|
||||||
|
|
||||||
def make_new_active_asset_depreciation_schedules_from_existing(
|
def make_new_active_asset_depreciation_schedules_and_cancel_old_ones(
|
||||||
asset_doc, date_of_disposal=None, date_of_return=None, notes=None
|
asset_doc, date_of_disposal=None, date_of_return=None, notes=None
|
||||||
):
|
):
|
||||||
for row in asset_doc.get("finance_books"):
|
for row in asset_doc.get("finance_books"):
|
||||||
old_asset_depr_schedule_name = get_asset_depreciation_schedule(asset_doc.name, row.finance_book)
|
old_asset_depr_schedule = get_asset_depreciation_schedule(asset_doc.name, row.finance_book)
|
||||||
|
|
||||||
if not old_asset_depr_schedule_name:
|
if not old_asset_depr_schedule:
|
||||||
return
|
return
|
||||||
|
|
||||||
old_asset_depr_schedule = frappe.get_doc(
|
old_asset_depr_schedule_doc = frappe.get_doc(
|
||||||
"Asset Depreciation Schedule", old_asset_depr_schedule_name
|
"Asset Depreciation Schedule", old_asset_depr_schedule
|
||||||
)
|
)
|
||||||
|
|
||||||
asset_depr_schedule = frappe.copy_doc(old_asset_depr_schedule, ignore_no_copy=False)
|
asset_depr_schedule_doc = frappe.copy_doc(old_asset_depr_schedule_doc, ignore_no_copy=False)
|
||||||
|
|
||||||
make_depreciation_schedule(asset_depr_schedule, asset_doc, row, date_of_disposal)
|
old_asset_depr_schedule.cancel()
|
||||||
|
|
||||||
|
make_depreciation_schedule(asset_depr_schedule_doc, asset_doc, row, date_of_disposal)
|
||||||
set_accumulated_depreciation(
|
set_accumulated_depreciation(
|
||||||
asset_depr_schedule, asset_doc, row, date_of_disposal, date_of_return
|
asset_depr_schedule_doc, asset_doc, row, date_of_disposal, date_of_return
|
||||||
)
|
)
|
||||||
|
|
||||||
asset_depr_schedule.notes = notes
|
asset_depr_schedule_doc.notes = notes
|
||||||
|
|
||||||
asset_depr_schedule.submit()
|
asset_depr_schedule_doc.submit()
|
||||||
|
|
||||||
|
|
||||||
def make_temp_asset_depreciation_schedule(
|
def get_temp_asset_depreciation_schedule_doc(
|
||||||
asset_doc, row, date_of_disposal=None, date_of_return=None
|
asset_doc, row, date_of_disposal=None, date_of_return=None
|
||||||
):
|
):
|
||||||
asset_depr_schedule = frappe.new_doc("Asset Depreciation Schedule")
|
asset_depr_schedule_doc = frappe.new_doc("Asset Depreciation Schedule")
|
||||||
|
|
||||||
prepare_draft_asset_depreciation_schedule_data(
|
prepare_draft_asset_depreciation_schedule_data(
|
||||||
asset_depr_schedule, asset_doc, row, date_of_disposal, date_of_return
|
asset_depr_schedule_doc, asset_doc, row, date_of_disposal, date_of_return
|
||||||
)
|
)
|
||||||
|
|
||||||
return asset_depr_schedule
|
return asset_depr_schedule_doc
|
||||||
|
|
||||||
|
|
||||||
|
def cancel_asset_depreciation_schedules(asset_doc):
|
||||||
|
for row in asset_doc.get("finance_books"):
|
||||||
|
asset_depr_schedule = get_asset_depreciation_schedule(asset_doc.name, row.finance_book)
|
||||||
|
|
||||||
|
if not asset_depr_schedule:
|
||||||
|
return
|
||||||
|
|
||||||
|
asset_depr_schedule_doc = frappe.get_doc("Asset Depreciation Schedule", asset_depr_schedule)
|
||||||
|
|
||||||
|
asset_depr_schedule_doc.cancel()
|
||||||
|
|
||||||
|
|
||||||
def get_asset_depreciation_schedule(asset, finance_book):
|
def get_asset_depreciation_schedule(asset, finance_book):
|
||||||
@ -132,24 +146,26 @@ def get_asset_depreciation_schedule(asset, finance_book):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
def make_depreciation_schedule(asset_depr_schedule, asset_doc, row, date_of_disposal):
|
def make_depreciation_schedule(asset_depr_schedule_doc, asset_doc, row, date_of_disposal):
|
||||||
if row.depreciation_method != "Manual" and not asset_depr_schedule.get("depreciation_schedule"):
|
if row.depreciation_method != "Manual" and not asset_depr_schedule_doc.get(
|
||||||
asset_depr_schedule.depreciation_schedule = []
|
"depreciation_schedule"
|
||||||
|
):
|
||||||
|
asset_depr_schedule_doc.depreciation_schedule = []
|
||||||
|
|
||||||
if not asset_doc.available_for_use_date:
|
if not asset_doc.available_for_use_date:
|
||||||
return
|
return
|
||||||
|
|
||||||
start = clear_depreciation_schedule(asset_depr_schedule)
|
start = clear_depreciation_schedule(asset_depr_schedule_doc)
|
||||||
|
|
||||||
_make_depreciation_schedule(asset_depr_schedule, asset_doc, row, start, date_of_disposal)
|
_make_depreciation_schedule(asset_depr_schedule_doc, asset_doc, row, start, date_of_disposal)
|
||||||
|
|
||||||
|
|
||||||
def clear_depreciation_schedule(asset_depr_schedule):
|
def clear_depreciation_schedule(asset_depr_schedule_doc):
|
||||||
start = []
|
start = []
|
||||||
num_of_depreciations_completed = 0
|
num_of_depreciations_completed = 0
|
||||||
depr_schedule = []
|
depr_schedule = []
|
||||||
|
|
||||||
for schedule in asset_depr_schedule.get("depreciation_schedule"):
|
for schedule in asset_depr_schedule_doc.get("depreciation_schedule"):
|
||||||
if len(start) != 0:
|
if len(start) != 0:
|
||||||
break
|
break
|
||||||
|
|
||||||
@ -168,12 +184,12 @@ def clear_depreciation_schedule(asset_depr_schedule):
|
|||||||
if start == []:
|
if start == []:
|
||||||
start = [0]
|
start = [0]
|
||||||
else:
|
else:
|
||||||
asset_depr_schedule.depreciation_schedule = depr_schedule
|
asset_depr_schedule_doc.depreciation_schedule = depr_schedule
|
||||||
|
|
||||||
return start
|
return start
|
||||||
|
|
||||||
|
|
||||||
def _make_depreciation_schedule(asset_depr_schedule, asset_doc, row, start, date_of_disposal):
|
def _make_depreciation_schedule(asset_depr_schedule_doc, asset_doc, row, start, date_of_disposal):
|
||||||
asset_doc.validate_asset_finance_books(row)
|
asset_doc.validate_asset_finance_books(row)
|
||||||
|
|
||||||
value_after_depreciation = asset_doc._get_value_after_depreciation(row)
|
value_after_depreciation = asset_doc._get_value_after_depreciation(row)
|
||||||
@ -216,7 +232,7 @@ def _make_depreciation_schedule(asset_depr_schedule, asset_doc, row, start, date
|
|||||||
|
|
||||||
if depreciation_amount > 0:
|
if depreciation_amount > 0:
|
||||||
add_depr_schedule_row(
|
add_depr_schedule_row(
|
||||||
asset_depr_schedule,
|
asset_depr_schedule_doc,
|
||||||
date_of_disposal,
|
date_of_disposal,
|
||||||
depreciation_amount,
|
depreciation_amount,
|
||||||
row.depreciation_method,
|
row.depreciation_method,
|
||||||
@ -282,7 +298,7 @@ def _make_depreciation_schedule(asset_depr_schedule, asset_doc, row, start, date
|
|||||||
|
|
||||||
if depreciation_amount > 0:
|
if depreciation_amount > 0:
|
||||||
add_depr_schedule_row(
|
add_depr_schedule_row(
|
||||||
asset_depr_schedule,
|
asset_depr_schedule_doc,
|
||||||
schedule_date,
|
schedule_date,
|
||||||
depreciation_amount,
|
depreciation_amount,
|
||||||
row.depreciation_method,
|
row.depreciation_method,
|
||||||
@ -312,14 +328,14 @@ def get_depreciation_amount(asset_doc, depreciable_value, row):
|
|||||||
|
|
||||||
|
|
||||||
def add_depr_schedule_row(
|
def add_depr_schedule_row(
|
||||||
asset_depr_schedule,
|
asset_depr_schedule_doc,
|
||||||
schedule_date,
|
schedule_date,
|
||||||
depreciation_amount,
|
depreciation_amount,
|
||||||
depreciation_method,
|
depreciation_method,
|
||||||
finance_book,
|
finance_book,
|
||||||
finance_book_id,
|
finance_book_id,
|
||||||
):
|
):
|
||||||
asset_depr_schedule.append(
|
asset_depr_schedule_doc.append(
|
||||||
"depreciation_schedule",
|
"depreciation_schedule",
|
||||||
{
|
{
|
||||||
"schedule_date": schedule_date,
|
"schedule_date": schedule_date,
|
||||||
@ -332,7 +348,7 @@ def add_depr_schedule_row(
|
|||||||
|
|
||||||
|
|
||||||
def set_accumulated_depreciation(
|
def set_accumulated_depreciation(
|
||||||
asset_depr_schedule,
|
asset_depr_schedule_doc,
|
||||||
asset_doc,
|
asset_doc,
|
||||||
row,
|
row,
|
||||||
date_of_disposal=None,
|
date_of_disposal=None,
|
||||||
@ -341,12 +357,12 @@ def set_accumulated_depreciation(
|
|||||||
):
|
):
|
||||||
straight_line_idx = [
|
straight_line_idx = [
|
||||||
d.idx
|
d.idx
|
||||||
for d in asset_depr_schedule.get("depreciation_schedule")
|
for d in asset_depr_schedule_doc.get("depreciation_schedule")
|
||||||
if d.depreciation_method == "Straight Line"
|
if d.depreciation_method == "Straight Line"
|
||||||
]
|
]
|
||||||
finance_books = []
|
finance_books = []
|
||||||
|
|
||||||
for i, d in enumerate(asset_depr_schedule.get("depreciation_schedule")):
|
for i, d in enumerate(asset_depr_schedule_doc.get("depreciation_schedule")):
|
||||||
if ignore_booked_entry and d.journal_entry:
|
if ignore_booked_entry and d.journal_entry:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
|
|||||||
@ -10,10 +10,11 @@ from frappe.utils import cint, date_diff, flt, formatdate, getdate
|
|||||||
from erpnext.accounts.doctype.accounting_dimension.accounting_dimension import (
|
from erpnext.accounts.doctype.accounting_dimension.accounting_dimension import (
|
||||||
get_checks_for_pl_and_bs_accounts,
|
get_checks_for_pl_and_bs_accounts,
|
||||||
)
|
)
|
||||||
from erpnext.assets.doctype.asset_depreciation_schedule.asset_depreciation_schedule import (
|
|
||||||
get_depreciation_amount
|
|
||||||
)
|
|
||||||
from erpnext.assets.doctype.asset.depreciation import get_depreciation_accounts
|
from erpnext.assets.doctype.asset.depreciation import get_depreciation_accounts
|
||||||
|
from erpnext.assets.doctype.asset_depreciation_schedule.asset_depreciation_schedule import (
|
||||||
|
get_asset_depreciation_schedule,
|
||||||
|
get_depreciation_amount,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class AssetValueAdjustment(Document):
|
class AssetValueAdjustment(Document):
|
||||||
@ -114,20 +115,19 @@ class AssetValueAdjustment(Document):
|
|||||||
for d in asset.finance_books:
|
for d in asset.finance_books:
|
||||||
d.value_after_depreciation = asset_value
|
d.value_after_depreciation = asset_value
|
||||||
|
|
||||||
|
asset_depr_schedule = get_asset_depreciation_schedule(asset.name, d.finance_book)
|
||||||
|
depr_schedule = asset_depr_schedule.get("depreciation_schedule")
|
||||||
|
|
||||||
if d.depreciation_method in ("Straight Line", "Manual"):
|
if d.depreciation_method in ("Straight Line", "Manual"):
|
||||||
end_date = max(s.schedule_date for s in asset.schedules if cint(s.finance_book_id) == d.idx)
|
end_date = max(s.schedule_date for s in depr_schedule)
|
||||||
total_days = date_diff(end_date, self.date)
|
total_days = date_diff(end_date, self.date)
|
||||||
rate_per_day = flt(d.value_after_depreciation) / flt(total_days)
|
rate_per_day = flt(d.value_after_depreciation) / flt(total_days)
|
||||||
from_date = self.date
|
from_date = self.date
|
||||||
else:
|
else:
|
||||||
no_of_depreciations = len(
|
no_of_depreciations = len([s.name for s in depr_schedule if not s.journal_entry])
|
||||||
[
|
|
||||||
s.name for s in asset.schedules if (cint(s.finance_book_id) == d.idx and not s.journal_entry)
|
|
||||||
]
|
|
||||||
)
|
|
||||||
|
|
||||||
value_after_depreciation = d.value_after_depreciation
|
value_after_depreciation = d.value_after_depreciation
|
||||||
for data in asset.schedules:
|
for data in depr_schedule:
|
||||||
if cint(data.finance_book_id) == d.idx and not data.journal_entry:
|
if cint(data.finance_book_id) == d.idx and not data.journal_entry:
|
||||||
if d.depreciation_method in ("Straight Line", "Manual"):
|
if d.depreciation_method in ("Straight Line", "Manual"):
|
||||||
days = date_diff(data.schedule_date, from_date)
|
days = date_diff(data.schedule_date, from_date)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user