From dccdef7712448c0ec1174aff18be00bd5c135b72 Mon Sep 17 00:00:00 2001 From: Suherdy Yacob Date: Tue, 5 May 2026 21:05:16 +0700 Subject: [PATCH] feat: sync account move line and analytic line dates during inventory backdating --- models/stock_inventory_backdate.py | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/models/stock_inventory_backdate.py b/models/stock_inventory_backdate.py index 400415a..d23f9e2 100755 --- a/models/stock_inventory_backdate.py +++ b/models/stock_inventory_backdate.py @@ -298,7 +298,27 @@ class StockInventoryBackdate(models.Model): ) """, (backdate.date(), move_ids)) - # 5. Clear cache to reflect changes + # 5. Update account move line dates + self.env.cr.execute(""" + UPDATE account_move_line + SET date = %s + WHERE move_id IN ( + SELECT account_move_id FROM stock_valuation_layer WHERE stock_move_id IN %s + ) + """, (backdate.date(), move_ids)) + + # 6. Update account analytic line dates + self.env.cr.execute(""" + UPDATE account_analytic_line + SET date = %s + WHERE move_line_id IN ( + SELECT id FROM account_move_line WHERE move_id IN ( + SELECT account_move_id FROM stock_valuation_layer WHERE stock_move_id IN %s + ) + ) + """, (backdate.date(), move_ids)) + + # 7. Clear cache to reflect changes self.env.invalidate_all() def action_cancel(self):