From 6a8c389b788272eff35c366637ddd90057d4f02c Mon Sep 17 00:00:00 2001 From: Saran440 Date: Thu, 20 Jan 2022 16:26:01 +0700 Subject: [PATCH] [FIX] calculate day mistake, remove asset --- .../tests/test_account_asset_management.py | 4 ++-- account_asset_management/wizard/account_asset_remove.py | 9 +++++++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/account_asset_management/tests/test_account_asset_management.py b/account_asset_management/tests/test_account_asset_management.py index 00eb73f9..e4ec031b 100644 --- a/account_asset_management/tests/test_account_asset_management.py +++ b/account_asset_management/tests/test_account_asset_management.py @@ -524,8 +524,8 @@ class TestAssetManagement(AccountTestInvoicingCommon): wiz.remove() asset.refresh() self.assertEqual(len(asset.depreciation_line_ids), 3) - self.assertAlmostEqual(asset.depreciation_line_ids[1].amount, 83.33, places=2) - self.assertAlmostEqual(asset.depreciation_line_ids[2].amount, 4916.67, places=2) + self.assertAlmostEqual(asset.depreciation_line_ids[1].amount, 81.46, places=2) + self.assertAlmostEqual(asset.depreciation_line_ids[2].amount, 4918.54, places=2) def test_09_asset_from_invoice(self): all_asset = self.env["account.asset"].search([]) diff --git a/account_asset_management/wizard/account_asset_remove.py b/account_asset_management/wizard/account_asset_remove.py index 47503270..60a91de9 100644 --- a/account_asset_management/wizard/account_asset_remove.py +++ b/account_asset_management/wizard/account_asset_remove.py @@ -273,9 +273,14 @@ class AccountAssetRemove(models.TransientModel): ) last_depr_date = create_dl.line_date - period_number_days = (first_date - last_depr_date).days + 1 + # Never create move. + same_month = ( + last_depr_date.month == first_to_depreciate_dl.line_date.month and 1 or 0 + ) + + period_number_days = (first_date - last_depr_date).days + same_month new_line_date = date_remove + relativedelta(days=-1) - to_depreciate_days = (new_line_date - last_depr_date).days + 1 + to_depreciate_days = (new_line_date - last_depr_date).days + same_month to_depreciate_amount = round( float(to_depreciate_days) / float(period_number_days)