diff --git a/addons/account_analytic_analysis/account_analytic_analysis.py b/addons/account_analytic_analysis/account_analytic_analysis.py index 30c6f98d6a2..e93bea7fa58 100644 --- a/addons/account_analytic_analysis/account_analytic_analysis.py +++ b/addons/account_analytic_analysis/account_analytic_analysis.py @@ -371,10 +371,13 @@ class account_analytic_account(osv.osv): res = {} for id in ids: ids2 = self.search(cr, uid, [('parent_id', 'child_of', [id])]) - cr.execute('SELECT DISTINCT(month_id) FROM account_analytic_analysis_summary_month ' \ - 'WHERE account_id in (' + ','.join([str(x) for x in ids2]) + ') ' \ - 'AND unit_amount <> 0.0') - res[id] = [int(id * 1000000 + int(x[0])) for x in cr.fetchall()] + if ids2: + cr.execute('SELECT DISTINCT(month_id) FROM account_analytic_analysis_summary_month ' \ + 'WHERE account_id in (' + ','.join([str(x) for x in ids2]) + ') ' \ + 'AND unit_amount <> 0.0') + res[id] = [int(id * 1000000 + int(x[0])) for x in cr.fetchall()] + else: + res[id] = [] return res def _user(self, cr, uid, ids, name, arg, context=None): @@ -383,10 +386,13 @@ class account_analytic_account(osv.osv): max_user = cr.fetchone()[0] for id in ids: ids2 = self.search(cr, uid, [('parent_id', 'child_of', [id])]) - cr.execute('SELECT DISTINCT("user") FROM account_analytic_analysis_summary_user ' \ - 'WHERE account_id in (' + ','.join([str(x) for x in ids2]) + ') ' \ - 'AND unit_amount <> 0.0') - res[id] = [int((id * max_user) + x[0]) for x in cr.fetchall()] + if ids2: + cr.execute('SELECT DISTINCT("user") FROM account_analytic_analysis_summary_user ' \ + 'WHERE account_id in (' + ','.join([str(x) for x in ids2]) + ') ' \ + 'AND unit_amount <> 0.0') + res[id] = [int((id * max_user) + x[0]) for x in cr.fetchall()] + else: + res[id] = [] return res _columns ={