1
0
forked from Mapan/odoo17e
odoo17e-kedaikipas58/addons/l10n_in_asset/wizard/asset_modify.py
2024-12-10 09:04:09 +07:00

44 lines
1.8 KiB
Python

from odoo import fields, models, api
class AssetModify(models.TransientModel):
_inherit = 'asset.modify'
l10n_in_value_residual = fields.Monetary(
string='Depreciable Value',
help="New residual amount for the asset",
compute="_compute_l10n_in_value_residual",
store=True,
readonly=False,
)
l10n_in_fiscal_code = fields.Char(related='company_id.account_fiscal_country_id.code')
@api.depends('date')
def _compute_l10n_in_value_residual(self):
for record in self:
if record.asset_id._check_degressive_special_asset():
record.l10n_in_value_residual = record.asset_id._get_residual_value_at_date(record.date) - record.salvage_value
record.value_residual = record.asset_id._get_residual_value_at_date(record.date)
def _get_own_book_value(self):
if not self.asset_id._check_degressive_special_asset():
return super()._get_own_book_value()
return self.l10n_in_value_residual + self.salvage_value
def _get_new_asset_values(self, current_asset_book):
self.ensure_one()
if not self.asset_id._check_degressive_special_asset():
return super()._get_new_asset_values(current_asset_book)
old_l10n_in_value_residual = self.asset_id.l10n_in_value_residual
return current_asset_book, min(current_asset_book - old_l10n_in_value_residual, self.salvage_value)
def _get_increase_original_value(self, residual_increase, salvage_increase):
if not self.asset_id._check_degressive_special_asset():
return super()._get_increase_original_value(residual_increase, salvage_increase)
return residual_increase
def modify(self):
if self.asset_id._check_degressive_special_asset():
self.value_residual = self._get_own_book_value()
return super().modify()