From b21a1bfcfd60122cc6a4b86e9128d10e6d7068cc Mon Sep 17 00:00:00 2001 From: "Ujjvala Collins (OpenERP)" Date: Thu, 9 Jun 2011 15:55:52 +0530 Subject: [PATCH] [IMP] account_asset: Improved calcultion of depreciation lines. bzr revid: uco@tinyerp.com-20110609102552-z3hdmf8gp3j57f33 --- addons/account_asset/account_asset.py | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py index 9862cd5c48b..bf92467def5 100644 --- a/addons/account_asset/account_asset.py +++ b/addons/account_asset/account_asset.py @@ -108,14 +108,16 @@ class account_asset_asset(osv.osv): old_depreciation_line_ids = depreciation_lin_obj.search(cr, uid, [('asset_id', '=', asset.id), ('move_id', '=', False)]) if old_depreciation_line_ids: depreciation_lin_obj.unlink(cr, uid, old_depreciation_line_ids, context=context) - # For all cases: amount to depreciate is (Purchase Value - Salvage Value) - amount_to_depr = residual_amount = asset.purchase_value - asset.salvage_value + + amount_to_depr = residual_amount = asset.value_residual + depreciation_date = datetime.strptime(self._get_last_depreciation_date(cr, uid, [asset.id], context)[asset.id], '%Y-%m-%d') day = depreciation_date.day month = depreciation_date.month year = depreciation_date.year total_days = (year % 4) and 365 or 366 - undone_dotation_number = asset.method_delay + + undone_dotation_number = asset.method_delay - len(asset.account_move_line_ids) if asset.method_time == 'end': end_date = datetime.strptime(asset.method_end, '%Y-%m-%d') undone_dotation_number = (end_date - depreciation_date).days / total_days @@ -138,10 +140,6 @@ class account_asset_asset(osv.osv): amount = residual_amount * asset.method_progress_factor residual_amount -= amount - # To skip already created lines - if i <= len(asset.account_move_line_ids): - continue - vals = { 'amount': amount, 'asset_id': asset.id,