diff options
| author | qdp-launchpad@tinyerp.com <> | 2010-09-02 16:01:19 +0200 |
|---|---|---|
| committer | qdp-launchpad@tinyerp.com <> | 2010-09-02 16:01:19 +0200 |
| commit | 53cb85f2cfad0ec039a92872d331ed04d71fa9da (patch) | |
| tree | 9830d4743e2e1a3ecf56d1fadf68301a28939da7 | |
| parent | c6f8df3a8399f5e4ee3f5856da66cd2879b13960 (diff) | |
[FIX] account: aged partner balance report
bzr revid: qdp-launchpad@tinyerp.com-20100902140119-wq9s7q2kg3bh9tgp
3 files changed, 19 insertions, 8 deletions
diff --git a/addons/account/report/account_aged_partner_balance.py b/addons/account/report/account_aged_partner_balance.py index b58c712d3a2..37b5064bf60 100644 --- a/addons/account/report/account_aged_partner_balance.py +++ b/addons/account/report/account_aged_partner_balance.py @@ -130,17 +130,28 @@ class aged_trial_report(rml_parse.rml_parse, common_report_header): # Each history will contain : history[1] = {'<partner_id>': <partner_debit-credit>} history = [] for i in range(5): + args_list = (tuple(self.ACCOUNT_TYPE), tuple(partner_ids) ,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 partner_id, SUM(debit-credit)\ FROM account_move_line AS l, account_account\ WHERE (l.account_id = account_account.id)\ AND (account_account.type IN %s)\ - AND (COALESCE(date_maturity,date) BETWEEN %s AND %s)\ AND (partner_id IN %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\ - GROUP BY partner_id' , (tuple(self.ACCOUNT_TYPE), form[str(i)]['start'], form[str(i)]['stop'], tuple(partner_ids) ,self.date_from,)) + AND ' + dates_query + '\ + GROUP BY partner_id' , args_list) t = self.cr.fetchall() d = {} for i in t: diff --git a/addons/account/report/account_aged_partner_balance.rml b/addons/account/report/account_aged_partner_balance.rml index bd52f9be4f5..3bc159d8288 100644 --- a/addons/account/report/account_aged_partner_balance.rml +++ b/addons/account/report/account_aged_partner_balance.rml @@ -168,7 +168,7 @@ <para style="P2">Partners</para> </td> <td> - <para style="P8">[[ data['form']['direction_selection'] == 'future' and 'Due' or 'Not due' ]] [[ formatLang(data['form']['date1'],date=True) ]]</para> + <para style="P8">[[ data['form']['direction_selection'] == 'future' and 'Due' or 'Not due' ]]</para> </td> <td> <para style="P8">[[ data['form']['4']['name'] ]]</para> diff --git a/addons/account/wizard/account_report_aged_partner_balance.py b/addons/account/wizard/account_report_aged_partner_balance.py index 29867f04d5b..fb0e404401a 100644 --- a/addons/account/wizard/account_report_aged_partner_balance.py +++ b/addons/account/wizard/account_report_aged_partner_balance.py @@ -75,18 +75,18 @@ class account_aged_trial_balance(osv.osv_memory): for i in range(5)[::-1]: stop = start - RelativeDateTime(days=period_length) res[str(i)] = { - 'name' : str((5-(i+1)) * period_length) + '-' + str((5-i) * period_length), + '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' : stop.strftime('%Y-%m-%d'), + 'start': (i!=0 and stop.strftime('%Y-%m-%d') or None), } start = stop - RelativeDateTime(days=1) else: for i in range(5): stop = start + RelativeDateTime(days=period_length) res[str(5-(i+1))] = { - 'name' : str((i) * period_length)+'-' + str((i+1) * period_length), + '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': stop.strftime('%Y-%m-%d'), + 'stop': (i!=4 and stop.strftime('%Y-%m-%d') or None), } start = stop + RelativeDateTime(days=1) data['form'].update(res) @@ -99,4 +99,4 @@ class account_aged_trial_balance(osv.osv_memory): account_aged_trial_balance() -# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: |
