[Fix] Asset depreciations and balances report showing wrong accumulated depreciation amount if multiple asset against same asset category (#11848)

* [Fix] Asset depreciations and balances report showing wrong accumulated depreciation amount if multiple asset against same asset category

* Update asset_depreciations_and_balances.py
This commit is contained in:
rohitwaghchaure 2017-12-04 19:29:03 +05:30 committed by Nabin Hait
parent 148fccd45a
commit 3a5ca927e7

View File

@ -86,17 +86,20 @@ def get_accumulated_depreciations(assets, filters):
for d in assets: for d in assets:
asset = frappe.get_doc("Asset", d.name) asset = frappe.get_doc("Asset", d.name)
asset_depreciations.setdefault(d.asset_category, frappe._dict({ if d.asset_category in asset_depreciations:
"accumulated_depreciation_as_on_from_date": asset.opening_accumulated_depreciation, asset_depreciations[d.asset_category]['accumulated_depreciation_as_on_from_date'] += asset.opening_accumulated_depreciation
"depreciation_amount_during_the_period": 0, else:
"depreciation_eliminated_during_the_period": 0 asset_depreciations.setdefault(d.asset_category, frappe._dict({
})) "accumulated_depreciation_as_on_from_date": asset.opening_accumulated_depreciation,
"depreciation_amount_during_the_period": 0,
"depreciation_eliminated_during_the_period": 0
}))
depr = asset_depreciations[d.asset_category] depr = asset_depreciations[d.asset_category]
for schedule in asset.get("schedules"): for schedule in asset.get("schedules"):
if getdate(schedule.schedule_date) < getdate(filters.from_date): if getdate(schedule.schedule_date) < getdate(filters.from_date):
if not asset.disposal_date and getdate(asset.disposal_date) >= getdate(filters.from_date): if not asset.disposal_date or getdate(asset.disposal_date) >= getdate(filters.from_date):
depr.accumulated_depreciation_as_on_from_date += flt(schedule.depreciation_amount) depr.accumulated_depreciation_as_on_from_date += flt(schedule.depreciation_amount)
elif getdate(schedule.schedule_date) <= getdate(filters.to_date): elif getdate(schedule.schedule_date) <= getdate(filters.to_date):
depr.depreciation_amount_during_the_period += flt(schedule.depreciation_amount) depr.depreciation_amount_during_the_period += flt(schedule.depreciation_amount)