From baeea2bcb98fbc7cf9cfeca5f96d56f52a39feda Mon Sep 17 00:00:00 2001 From: "qdp-launchpad@tinyerp.com" <> Date: Wed, 15 Sep 2010 15:17:50 +0200 Subject: [PATCH] [FIX] account: aged partner balance fixed (complicany with xml-rpc + no partner defined lines bzr revid: qdp-launchpad@tinyerp.com-20100915131750-ids1w11dpknrbbmr --- .../report/account_aged_partner_balance.py | 19 ++++++++++++++++--- .../account_report_aged_partner_balance.py | 4 ++-- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/addons/account/report/account_aged_partner_balance.py b/addons/account/report/account_aged_partner_balance.py index 119c1edef1a..77c64176330 100644 --- a/addons/account/report/account_aged_partner_balance.py +++ b/addons/account/report/account_aged_partner_balance.py @@ -132,7 +132,7 @@ class aged_trial_report(rml_parse.rml_parse, common_report_header): history = [] for i in range(5): args_list = (tuple(self.ACCOUNT_TYPE), tuple(partner_ids) ,self.date_from,) - dates_query = '(COALESCE(date_maturity,date)' + dates_query = "(COALESCE(date_maturity,date)" if form[str(i)]['start'] and form[str(i)]['stop']: dates_query += ' BETWEEN %s AND %s)' args_list += (form[str(i)]['start'], form[str(i)]['stop']) @@ -255,17 +255,30 @@ class aged_trial_report(rml_parse.rml_parse, common_report_header): for i in t: future_past['No Partner Defined'] = i[0] history = [] + for i in range(5): + args_list = (tuple(self.ACCOUNT_TYPE), self.date_from) + dates_query = "(COALESCE(date_maturity,date)" + if form[str(i)]['start'] and form[str(i)]['stop']: + dates_query += ' BETWEEN %s AND %s)' + args_list += (form[str(i)]['start'], form[str(i)]['stop']) + elif form[str(i)]['start']: + dates_query += ' > %s)' + args_list += (form[str(i)]['start'],) + else: + dates_query += ' < %s)' + args_list += (form[str(i)]['stop'],) + self.cr.execute('SELECT SUM(debit-credit)\ FROM account_move_line AS l, account_account\ WHERE (l.account_id = account_account.id)\ AND (l.partner_id IS NULL)\ AND (account_account.type IN %s)\ - AND (COALESCE(date_maturity,date) BETWEEN %s AND %s)\ AND ((reconcile_id IS NULL)\ OR (reconcile_id IN (SELECT recon.id FROM account_move_reconcile AS recon WHERE recon.create_date > %s )))\ AND '+ self.query + '\ - AND account_account.active ' , (tuple(self.ACCOUNT_TYPE), form[str(i)]['start'], form[str(i)]['stop'], self.date_from,)) + AND '+ dates_query + '\ + AND account_account.active ' , args_list) t = self.cr.fetchall() d = {} for i in t: diff --git a/addons/account/wizard/account_report_aged_partner_balance.py b/addons/account/wizard/account_report_aged_partner_balance.py index fb0e404401a..b8b2a013d78 100644 --- a/addons/account/wizard/account_report_aged_partner_balance.py +++ b/addons/account/wizard/account_report_aged_partner_balance.py @@ -77,7 +77,7 @@ class account_aged_trial_balance(osv.osv_memory): res[str(i)] = { 'name': (i!=0 and (str((5-(i+1)) * period_length) + '-' + str((5-i) * period_length)) or ('+'+str(4 * period_length))), 'stop': start.strftime('%Y-%m-%d'), - 'start': (i!=0 and stop.strftime('%Y-%m-%d') or None), + 'start': (i!=0 and stop.strftime('%Y-%m-%d') or False), } start = stop - RelativeDateTime(days=1) else: @@ -86,7 +86,7 @@ class account_aged_trial_balance(osv.osv_memory): res[str(5-(i+1))] = { 'name' : (i!=4 and str((i) * period_length)+'-' + str((i+1) * period_length) or ('+'+str(4 * period_length))), 'start': start.strftime('%Y-%m-%d'), - 'stop': (i!=4 and stop.strftime('%Y-%m-%d') or None), + 'stop': (i!=4 and stop.strftime('%Y-%m-%d') or False), } start = stop + RelativeDateTime(days=1) data['form'].update(res)