account_asset_update_asset.diff - use currency_digits to eval total decimals

#044767
This commit is contained in:
Raimon Esteve 2021-05-24 15:13:00 +02:00
parent a21593b903
commit 4da8c423fe
1 changed files with 55 additions and 10 deletions

View File

@ -1,13 +1,58 @@
diff --git a/trytond/trytond/modules/account_asset/asset.py b/trytond/trytond/modules/account_asset/asset.py
index cf5191f..385cbf1 100644
index cf5191f..b6cd41f 100644
--- a/trytond/trytond/modules/account_asset/asset.py
+++ b/trytond/trytond/modules/account_asset/asset.py
@@ -823,7 +823,7 @@ class UpdateAsset(Wizard):
Asset = Pool().get('account.asset')
asset = Asset(Transaction().context['active_id'])
return {
- 'amount': self.start.value - asset.value,
+ 'amount': Decimal(self.start.value) - asset.value,
'date': datetime.date.today(),
'depreciation_account': asset.product.account_depreciation_used.id,
'counterpart_account': asset.product.account_expense_used.id,
@@ -745,15 +745,32 @@ class CreateMoves(Wizard):
class UpdateAssetStart(ModelView):
'Update Asset Start'
__name__ = 'account.asset.update.start'
- value = fields.Numeric('Asset Value', required=True)
- residual_value = fields.Numeric('Residual Value', required=True)
+ value = fields.Numeric('Asset Value',
+ digits=(16, Eval('currency_digits', 2)),
+ depends=['currency_digits'], required=True)
+ residual_value = fields.Numeric('Residual Value',
+ digits=(16, Eval('currency_digits', 2)),
+ depends=['currency_digits'], required=True)
end_date = fields.Date('End Date', required=True)
+ currency_digits = fields.Integer('Currency Digits', required=True)
+
+ @staticmethod
+ def default_currency_digits():
+ Company = Pool().get('company.company')
+
+ context = Transaction().context
+ company_id = context.get('company')
+ if company_id:
+ return Company(company_id).currency.digits
+ return 2
class UpdateAssetShowDepreciation(ModelView):
'Update Asset Show Depreciation'
__name__ = 'account.asset.update.show_depreciation'
- amount = fields.Numeric('Amount', readonly=True)
+ amount = fields.Numeric('Amount',
+ digits=(16, Eval('currency_digits', 2)),
+ depends=['currency_digits'], readonly=True)
date = fields.Date('Date', required=True,
domain=[
('date', '>', Eval('latest_move_date')),
@@ -769,6 +786,17 @@ class UpdateAssetShowDepreciation(ModelView):
'Depreciation Account', readonly=True)
counterpart_account = fields.Many2One('account.account',
'Counterpart Account')
+ currency_digits = fields.Integer('Currency Digits', required=True)
+
+ @staticmethod
+ def default_currency_digits():
+ Company = Pool().get('company.company')
+
+ context = Transaction().context
+ company_id = context.get('company')
+ if company_id:
+ return Company(company_id).currency.digits
+ return 2
class UpdateAsset(Wizard):