X-Git-Url: http://git.inspyration.org/?a=blobdiff_plain;f=addons%2Faccount%2Fproject%2Freport%2Finverted_analytic_balance.py;h=30703f7ec2c5831eabd57adf1f219db9e6801c5a;hb=4cf1362e3b98256d0d018f42acd913bc56b97a27;hp=37f469d4ef8d25809b4fb19b6307a1fdf209e6cf;hpb=a4d86b14fe06532324e3bb1556480d8703083e3c;p=odoo%2Fodoo.git diff --git a/addons/account/project/report/inverted_analytic_balance.py b/addons/account/project/report/inverted_analytic_balance.py index 37f469d..30703f7 100644 --- a/addons/account/project/report/inverted_analytic_balance.py +++ b/addons/account/project/report/inverted_analytic_balance.py @@ -38,12 +38,17 @@ class account_inverted_analytic_balance(report_sxw.rml_parse): def _lines_g(self, accounts, date1, date2): ids = map(lambda x: x.id, accounts) - self.cr.execute("SELECT aa.name AS name, aa.code AS code, sum(aal.amount) AS balance, sum(aal.unit_amount) AS quantity, aa.id AS id \ + self.cr.execute("SELECT aa.name AS name, aa.code AS code, " + "sum(aal.amount) AS balance, " + "sum(aal.unit_amount) AS quantity, aa.id AS id \ FROM account_analytic_line AS aal, account_account AS aa \ - WHERE (aal.general_account_id=aa.id) AND (aal.account_id =ANY(%s)) AND (date>=%s) AND (date<=%s) AND aa.active \ - GROUP BY aal.general_account_id, aa.name, aa.code, aal.code, aa.id ORDER BY aal.code", (ids,date1,date2,)) + WHERE (aal.general_account_id=aa.id) " + "AND (aal.account_id IN %s) " + "AND (date>=%s) AND (date<=%s) AND aa.active \ + GROUP BY aal.general_account_id, aa.name, aa.code, aal.code, aa.id " + "ORDER BY aal.code", + (tuple(ids), date1, date2)) res = self.cr.dictfetchall() - for r in res: if r['balance'] > 0: r['debit'] = r['balance'] @@ -58,10 +63,17 @@ class account_inverted_analytic_balance(report_sxw.rml_parse): def _lines_a(self, accounts, general_account_id, date1, date2): ids = map(lambda x: x.id, accounts) - self.cr.execute("SELECT sum(aal.amount) AS balance, sum(aal.unit_amount) AS quantity, aaa.code AS code, aaa.name AS name, account_id \ - FROM account_analytic_line AS aal, account_analytic_account AS aaa \ - WHERE aal.account_id=aaa.id AND aal.account_id =ANY(%s) AND aal.general_account_id=%s AND aal.date>=%s AND aal.date<=%s \ - GROUP BY aal.account_id, general_account_id, aaa.code, aaa.name ORDER BY aal.account_id", (ids,general_account_id, date1, date2,)) + self.cr.execute("SELECT sum(aal.amount) AS balance, " + "sum(aal.unit_amount) AS quantity, " + "aaa.code AS code, aaa.name AS name, account_id \ + FROM account_analytic_line AS aal, " + "account_analytic_account AS aaa \ + WHERE aal.account_id=aaa.id AND aal.account_id IN %s " + "AND aal.general_account_id=%s AND aal.date>=%s " + "AND aal.date<=%s \ + GROUP BY aal.account_id, general_account_id, aaa.code, aaa.name " + "ORDER BY aal.account_id", + (tuple(ids), general_account_id, date1, date2)) res = self.cr.dictfetchall() aaa_obj = self.pool.get('account.analytic.account') @@ -86,14 +98,14 @@ class account_inverted_analytic_balance(report_sxw.rml_parse): ids = map(lambda x: x.id, accounts) self.cr.execute("SELECT sum(amount) \ FROM account_analytic_line \ - WHERE account_id =ANY(%s) AND date>=%s AND date<=%s AND amount>0", (ids,date1, date2,)) + WHERE account_id in %s AND date>=%s AND date<=%s AND amount>0", (tuple(ids),date1, date2,)) return self.cr.fetchone()[0] or 0.0 def _sum_credit(self, accounts, date1, date2): ids = map(lambda x: x.id, accounts) self.cr.execute("SELECT -sum(amount) \ FROM account_analytic_line \ - WHERE account_id =ANY(%s) AND date>=%s AND date<=%s AND amount<0", (ids,date1, date2,)) + WHERE account_id in %s AND date>=%s AND date<=%s AND amount<0", (tuple(ids),date1, date2,)) return self.cr.fetchone()[0] or 0.0 def _sum_balance(self, accounts, date1, date2): @@ -105,7 +117,7 @@ class account_inverted_analytic_balance(report_sxw.rml_parse): ids = map(lambda x: x.id, accounts) self.cr.execute("SELECT sum(unit_amount) \ FROM account_analytic_line \ - WHERE account_id =ANY(%s) AND date>=%s AND date<=%s", (ids,date1, date2,)) + WHERE account_id in %s AND date>=%s AND date<=%s", (tuple(ids),date1, date2,)) return self.cr.fetchone()[0] or 0.0 report_sxw.report_sxw('report.account.analytic.account.inverted.balance', 'account.analytic.account', 'addons/account/project/report/inverted_analytic_balance.rml',parser=account_inverted_analytic_balance, header=False)