fix: fb issue in asset chart, asset split and reverse_depreciation_entry_made_after_disposal
This commit is contained in:
@@ -206,6 +206,10 @@ frappe.ui.form.on('Asset', {
|
|||||||
},
|
},
|
||||||
|
|
||||||
setup_chart: function(frm) {
|
setup_chart: function(frm) {
|
||||||
|
if(frm.doc.finance_books.length > 1) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
var x_intervals = [frm.doc.purchase_date];
|
var x_intervals = [frm.doc.purchase_date];
|
||||||
var asset_values = [frm.doc.gross_purchase_amount];
|
var asset_values = [frm.doc.gross_purchase_amount];
|
||||||
var last_depreciation_date = frm.doc.purchase_date;
|
var last_depreciation_date = frm.doc.purchase_date;
|
||||||
|
|||||||
@@ -1149,9 +1149,13 @@ def update_existing_asset(asset, remaining_qty):
|
|||||||
expected_value_after_useful_life,
|
expected_value_after_useful_life,
|
||||||
)
|
)
|
||||||
|
|
||||||
accumulated_depreciation = 0
|
processed_finance_books = []
|
||||||
|
|
||||||
for term in asset.get("schedules"):
|
for term in asset.get("schedules"):
|
||||||
|
if int(term.finance_book_id) not in processed_finance_books:
|
||||||
|
accumulated_depreciation = 0
|
||||||
|
processed_finance_books.append(int(term.finance_book_id))
|
||||||
|
|
||||||
depreciation_amount = flt((term.depreciation_amount * remaining_qty) / asset.asset_quantity)
|
depreciation_amount = flt((term.depreciation_amount * remaining_qty) / asset.asset_quantity)
|
||||||
frappe.db.set_value(
|
frappe.db.set_value(
|
||||||
"Depreciation Schedule", term.name, "depreciation_amount", depreciation_amount
|
"Depreciation Schedule", term.name, "depreciation_amount", depreciation_amount
|
||||||
@@ -1173,7 +1177,6 @@ def create_new_asset_after_split(asset, split_qty):
|
|||||||
new_asset.opening_accumulated_depreciation = opening_accumulated_depreciation
|
new_asset.opening_accumulated_depreciation = opening_accumulated_depreciation
|
||||||
new_asset.asset_quantity = split_qty
|
new_asset.asset_quantity = split_qty
|
||||||
new_asset.split_from = asset.name
|
new_asset.split_from = asset.name
|
||||||
accumulated_depreciation = 0
|
|
||||||
|
|
||||||
for finance_book in new_asset.get("finance_books"):
|
for finance_book in new_asset.get("finance_books"):
|
||||||
finance_book.value_after_depreciation = flt(
|
finance_book.value_after_depreciation = flt(
|
||||||
@@ -1183,7 +1186,13 @@ def create_new_asset_after_split(asset, split_qty):
|
|||||||
(finance_book.expected_value_after_useful_life * split_qty) / asset.asset_quantity
|
(finance_book.expected_value_after_useful_life * split_qty) / asset.asset_quantity
|
||||||
)
|
)
|
||||||
|
|
||||||
|
processed_finance_books = []
|
||||||
|
|
||||||
for term in new_asset.get("schedules"):
|
for term in new_asset.get("schedules"):
|
||||||
|
if int(term.finance_book_id) not in processed_finance_books:
|
||||||
|
accumulated_depreciation = 0
|
||||||
|
processed_finance_books.append(int(term.finance_book_id))
|
||||||
|
|
||||||
depreciation_amount = flt((term.depreciation_amount * split_qty) / asset.asset_quantity)
|
depreciation_amount = flt((term.depreciation_amount * split_qty) / asset.asset_quantity)
|
||||||
term.depreciation_amount = depreciation_amount
|
term.depreciation_amount = depreciation_amount
|
||||||
accumulated_depreciation += depreciation_amount
|
accumulated_depreciation += depreciation_amount
|
||||||
|
|||||||
@@ -350,7 +350,10 @@ def reverse_depreciation_entry_made_after_disposal(asset, date):
|
|||||||
asset.flags.ignore_validate_update_after_submit = True
|
asset.flags.ignore_validate_update_after_submit = True
|
||||||
schedule.journal_entry = None
|
schedule.journal_entry = None
|
||||||
depreciation_amount = get_depreciation_amount_in_je(reverse_journal_entry)
|
depreciation_amount = get_depreciation_amount_in_je(reverse_journal_entry)
|
||||||
asset.finance_books[0].value_after_depreciation += depreciation_amount
|
|
||||||
|
idx = cint(schedule.finance_book_id)
|
||||||
|
asset.finance_books[idx - 1].value_after_depreciation += depreciation_amount
|
||||||
|
|
||||||
asset.save()
|
asset.save()
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user