summaryrefslogtreecommitdiff
path: root/addons
diff options
context:
space:
mode:
authorDenis Ledoux <dle@odoo.com>2014-12-12 19:29:45 +0100
committerDenis Ledoux <dle@odoo.com>2014-12-12 19:29:45 +0100
commit4e617069a34177292ea8f7d992e62b65c0450fab (patch)
treea1d1b94ef6109101dd93633126bb62b4b5ee4d99 /addons
parentb1adf3a95e94568e618d635ce575398e94c3967e (diff)
parent82109d9ba895254563b54fcf6437b16afa21a6f4 (diff)
[MERGE] forward port of branch saas-3 up to 82109d9
Diffstat (limited to 'addons')
-rw-r--r--addons/account/report/account_aged_partner_balance.py21
1 files changed, 13 insertions, 8 deletions
diff --git a/addons/account/report/account_aged_partner_balance.py b/addons/account/report/account_aged_partner_balance.py
index 12476f6ebfc..0f609bf9b4a 100644
--- a/addons/account/report/account_aged_partner_balance.py
+++ b/addons/account/report/account_aged_partner_balance.py
@@ -155,10 +155,10 @@ class aged_trial_report(report_sxw.rml_parse, common_report_header):
dates_query += ' BETWEEN %s AND %s)'
args_list += (form[str(i)]['start'], form[str(i)]['stop'])
elif form[str(i)]['start']:
- dates_query += ' > %s)'
+ dates_query += ' >= %s)'
args_list += (form[str(i)]['start'],)
else:
- dates_query += ' < %s)'
+ dates_query += ' <= %s)'
args_list += (form[str(i)]['stop'],)
args_list += (self.date_from,)
self.cr.execute('''SELECT l.partner_id, SUM(l.debit-l.credit), l.reconcile_partial_id
@@ -177,20 +177,25 @@ class aged_trial_report(report_sxw.rml_parse, common_report_header):
partners_partial = self.cr.fetchall()
partners_amount = dict((i[0],0) for i in partners_partial)
for partner_info in partners_partial:
- partial = False
if partner_info[2]:
# in case of partial reconciliation, we want to keep the left amount in the oldest period
self.cr.execute('''SELECT MIN(COALESCE(date_maturity,date)) FROM account_move_line WHERE reconcile_partial_id = %s''', (partner_info[2],))
date = self.cr.fetchall()
- if date and args_list[-3] <= date[0][0] <= args_list[-2]:
+ partial = False
+ if 'BETWEEN' in dates_query:
+ partial = date and args_list[-3] <= date[0][0] <= args_list[-2]
+ elif '>=' in dates_query:
+ partial = date and date[0][0] >= form[str(i)]['start']
+ else:
+ partial = date and date[0][0] <= form[str(i)]['stop']
+ if partial:
# partial reconcilation
- partial = True
self.cr.execute('''SELECT SUM(l.debit-l.credit)
- FROM account_move_line AS l
- WHERE l.reconcile_partial_id = %s''', (partner_info[2],))
+ FROM account_move_line AS l, account_move AS am
+ WHERE l.move_id = am.id AND am.state in %s AND l.reconcile_partial_id = %s''', (tuple(move_state), partner_info[2],))
unreconciled_amount = self.cr.fetchall()
partners_amount[partner_info[0]] += unreconciled_amount[0][0]
- if not partial:
+ else:
partners_amount[partner_info[0]] += partner_info[1]
history.append(partners_amount)