From 5a2d226c03995b6abe7315a8a9ca070775d0ea61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Bidoul?= Date: Wed, 27 Apr 2016 16:24:08 +0200 Subject: [PATCH] [WIP] domain for initial balance depending on account type --- mis_builder/models/aep.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/mis_builder/models/aep.py b/mis_builder/models/aep.py index 9503a3e8..726a812c 100644 --- a/mis_builder/models/aep.py +++ b/mis_builder/models/aep.py @@ -180,10 +180,19 @@ class AccountingExpressionProcessor(object): target_move): if mode == MODE_VARIATION: domain = [('date', '>=', date_from), ('date', '<=', date_to)] - elif mode == MODE_INITIAL: - domain = [('date', '<', date_from)] - elif mode == MODE_END: - domain = [('date', '<=', date_to)] + else: + # for income and expense account, get balance from the beginning + # of the current fiscal year + fy_date_from = \ + self.company.compute_fiscalyear_dates(date_from)['date_from'] + domain = ['|', + ('date', '>=', fy_date_from), + ('account_id.user_type_id.include_initial_balance', '=', + True)] + if mode == MODE_INITIAL: + domain.append(('date', '<', date_from)) + elif mode == MODE_END: + domain.append(('date', '<=', date_to)) if target_move == 'posted': domain.append(('move_id.state', '=', 'posted')) return expression.normalize_domain(domain)