From 49c75feee78ae23fad12924fec92ee41d69a6e7e Mon Sep 17 00:00:00 2001 From: vra Date: Fri, 24 Sep 2010 18:43:57 +0530 Subject: [PATCH] [FIX] account: fixes analytic balance report problem. bzr revid: vra@tinyerp.com-20100924131357-v5sjt29lb0peebcm --- .../account/project/report/analytic_balance.py | 16 ++++++++-------- .../account/project/report/analytic_balance.rml | 5 +---- 2 files changed, 9 insertions(+), 12 deletions(-) diff --git a/addons/account/project/report/analytic_balance.py b/addons/account/project/report/analytic_balance.py index 780c519c1d4..3df4fd9584b 100644 --- a/addons/account/project/report/analytic_balance.py +++ b/addons/account/project/report/analytic_balance.py @@ -64,7 +64,6 @@ class account_analytic_balance(report_sxw.rml_parse): self.empty_acc = empty_acc self.read_data = [] self.get_children(self.ids) - return self.read_data def _lines_g(self, account_id, date1, date2): @@ -104,14 +103,14 @@ class account_analytic_balance(report_sxw.rml_parse): query_params = (tuple(ids), date1, date2) if option == "credit" : - self.cr.execute("SELECT -sum(amount) FROM account_analytic_line \ + self.cr.execute("SELECT COALESCE(-sum(amount),0.0) FROM account_analytic_line \ WHERE account_id IN %s AND date>=%s AND date<=%s AND amount<0",query_params) elif option == "debit" : - self.cr.execute("SELECT sum(amount) FROM account_analytic_line \ + self.cr.execute("SELECT COALESCE(sum(amount),0.0) FROM account_analytic_line \ WHERE account_id IN %s\ AND date>=%s AND date<=%s AND amount>0",query_params) elif option == "quantity" : - self.cr.execute("SELECT sum(unit_amount) FROM account_analytic_line \ + self.cr.execute("SELECT COALESCE(sum(unit_amount),0.0) FROM account_analytic_line \ WHERE account_id IN %s\ AND date>=%s AND date<=%s",query_params) return self.cr.fetchone()[0] or 0.0 @@ -132,15 +131,16 @@ class account_analytic_balance(report_sxw.rml_parse): self.acc_sum_list = ids2 else: ids2 = self.acc_sum_list - query_params = (tuple(ids2), date1, date2) + + query_params = (tuple(ids2), date1, date2) if option == "debit" : - self.cr.execute("SELECT sum(amount) FROM account_analytic_line \ + self.cr.execute("SELECT COALESCE(sum(amount),0.0) FROM account_analytic_line \ WHERE account_id IN %s AND date>=%s AND date<=%s AND amount>0",query_params) elif option == "credit" : - self.cr.execute("SELECT -sum(amount) FROM account_analytic_line \ + self.cr.execute("SELECT COALESCE(-sum(amount),0.0) FROM account_analytic_line \ WHERE account_id IN %s AND date>=%s AND date<=%s AND amount<0",query_params) elif option == "quantity" : - self.cr.execute("SELECT sum(unit_amount) FROM account_analytic_line \ + self.cr.execute("SELECT COALESCE(sum(unit_amount),0.0) FROM account_analytic_line \ WHERE account_id IN %s AND date>=%s AND date<=%s",query_params) return self.cr.fetchone()[0] or 0.0 diff --git a/addons/account/project/report/analytic_balance.rml b/addons/account/project/report/analytic_balance.rml index cdfd0869db3..bbd7e409dc0 100644 --- a/addons/account/project/report/analytic_balance.rml +++ b/addons/account/project/report/analytic_balance.rml @@ -130,7 +130,7 @@ - + @@ -147,9 +147,6 @@ - - -
[[ repeatIn(get_objects(data['form']['empty_acc']),'o') ]]