From 25e49f9a4f1ffed5c7d9bd5e3ca89dadbea28c11 Mon Sep 17 00:00:00 2001 From: sergiocorato Date: Fri, 6 Jan 2023 18:53:08 +0100 Subject: [PATCH] [14.0][FIX] do not create depreciation lines with zero amount --- assets_management/models/asset_depreciation.py | 6 +++++- assets_management/wizard/asset_generate_depreciation.py | 3 ++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/assets_management/models/asset_depreciation.py b/assets_management/models/asset_depreciation.py index 5c3a2d2cc704..92c58deebbf5 100644 --- a/assets_management/models/asset_depreciation.py +++ b/assets_management/models/asset_depreciation.py @@ -310,7 +310,9 @@ def generate_depreciation_lines(self, dep_date): new_lines = self.env["asset.depreciation.line"] for dep in self: - new_lines |= dep.generate_depreciation_lines_single(dep_date) + new_line = dep.generate_depreciation_lines_single(dep_date) + if new_line: + new_lines |= new_line return new_lines @@ -320,6 +322,8 @@ def generate_depreciation_lines_single(self, dep_date): dep_nr = self.get_max_depreciation_nr() + 1 dep = self.with_context(dep_nr=dep_nr, used_asset=self.asset_id.used) dep_amount = dep.get_depreciation_amount(dep_date) + if not dep_amount: + return False dep = dep.with_context(dep_amount=dep_amount) vals = dep.prepare_depreciation_line_vals(dep_date) diff --git a/assets_management/wizard/asset_generate_depreciation.py b/assets_management/wizard/asset_generate_depreciation.py index 38cefa414953..add099f9d840 100644 --- a/assets_management/wizard/asset_generate_depreciation.py +++ b/assets_management/wizard/asset_generate_depreciation.py @@ -65,7 +65,8 @@ def do_generate(self): # Add depreciation date in context just in case deps = self.get_depreciations().with_context(dep_date=self.date_dep) dep_lines = deps.generate_depreciation_lines(self.date_dep) - deps.post_generate_depreciation_lines(dep_lines) + if dep_lines: + deps.post_generate_depreciation_lines(dep_lines) if self._context.get("reload_window"): return {"type": "ir.actions.client", "tag": "reload"}