From aad1541244d04312c218b2e9bbeb4054204849e1 Mon Sep 17 00:00:00 2001 From: "Divyesh Makwana (Open ERP)" Date: Mon, 28 Nov 2011 18:31:57 +0530 Subject: [PATCH 1/5] [FIX] account : Cost Ledger Incorrect For View Accounts lp bug: https://launchpad.net/bugs/880844 fixed bzr revid: mdi@tinyerp.com-20111128130157-jo9e7g08gmro7zpp --- addons/account/project/report/cost_ledger.py | 46 +++++++++++++++----- 1 file changed, 36 insertions(+), 10 deletions(-) diff --git a/addons/account/project/report/cost_ledger.py b/addons/account/project/report/cost_ledger.py index 225a85d2ee1..f571c5328bf 100644 --- a/addons/account/project/report/cost_ledger.py +++ b/addons/account/project/report/cost_ledger.py @@ -38,11 +38,32 @@ class account_analytic_cost_ledger(report_sxw.rml_parse): 'sum_balance': self._sum_balance, }) + def _get_children(self, account_id): + result = [] + + def _get_rec(account_id): + analytic_obj = self.pool.get('account.analytic.account') + analytic_search_ids = analytic_obj.search(self.cr, self.uid, [('id', '=', account_id)]) + analytic_datas = analytic_obj.browse(self.cr, self.uid, analytic_search_ids) + + result.append(account_id) + for account in analytic_datas: + for child in account.child_ids: + result.append(child.id) + for child_id in child.child_ids: + _get_rec(child_id.id) + return result + + child_ids = _get_rec(account_id) + + return child_ids + def _lines_g(self, account_id, date1, date2): + chid_ids = self._get_children(account_id) self.cr.execute("SELECT sum(aal.amount) AS balance, aa.code AS code, aa.name AS name, aa.id AS id \ FROM account_account AS aa, account_analytic_line AS aal \ - WHERE (aal.account_id=%s) AND (aal.date>=%s) AND (aal.date<=%s) AND (aal.general_account_id=aa.id) AND aa.active \ - GROUP BY aa.code, aa.name, aa.id ORDER BY aa.code", (account_id, date1, date2)) + WHERE (aal.account_id IN %s) AND (aal.date>=%s) AND (aal.date<=%s) AND (aal.general_account_id=aa.id) AND aa.active \ + GROUP BY aa.code, aa.name, aa.id ORDER BY aa.code", (tuple(chid_ids), date1, date2)) res = self.cr.dictfetchall() for r in res: @@ -58,10 +79,11 @@ class account_analytic_cost_ledger(report_sxw.rml_parse): return res def _lines_a(self, general_account_id, account_id, date1, date2): + chid_ids = self._get_children(account_id) self.cr.execute("SELECT aal.name AS name, aal.code AS code, aal.amount AS balance, aal.date AS date, aaj.code AS cj FROM account_analytic_line AS aal, account_analytic_journal AS aaj \ - WHERE (aal.general_account_id=%s) AND (aal.account_id=%s) AND (aal.date>=%s) AND (aal.date<=%s) \ + WHERE (aal.general_account_id=%s) AND (aal.account_id IN %s) AND (aal.date>=%s) AND (aal.date<=%s) \ AND (aal.journal_id=aaj.id) \ - ORDER BY aal.date, aaj.code, aal.code", (general_account_id, account_id, date1, date2)) + ORDER BY aal.date, aaj.code, aal.code", (general_account_id, tuple(chid_ids), date1, date2)) res = self.cr.dictfetchall() for r in res: @@ -77,11 +99,13 @@ class account_analytic_cost_ledger(report_sxw.rml_parse): return res def _account_sum_debit(self, account_id, date1, date2): - self.cr.execute("SELECT sum(amount) FROM account_analytic_line WHERE account_id=%s AND date>=%s AND date<=%s AND amount>0", (account_id, date1, date2)) + chid_ids = self._get_children(account_id) + self.cr.execute("SELECT sum(amount) FROM account_analytic_line WHERE account_id IN %s AND date>=%s AND date<=%s AND amount>0", (tuple(chid_ids), date1, date2)) return self.cr.fetchone()[0] or 0.0 def _account_sum_credit(self, account_id, date1, date2): - self.cr.execute("SELECT -sum(amount) FROM account_analytic_line WHERE account_id=%s AND date>=%s AND date<=%s AND amount<0", (account_id, date1, date2)) + chid_ids = self._get_children(account_id) + self.cr.execute("SELECT -sum(amount) FROM account_analytic_line WHERE account_id IN %s AND date>=%s AND date<=%s AND amount<0", (tuple(chid_ids), date1, date2)) return self.cr.fetchone()[0] or 0.0 def _account_sum_balance(self, account_id, date1, date2): @@ -91,16 +115,18 @@ class account_analytic_cost_ledger(report_sxw.rml_parse): def _sum_debit(self, accounts, date1, date2): ids = map(lambda x: x.id, accounts) - if not ids: + chid_ids = self._get_children(ids[0]) + if not children: return 0.0 - self.cr.execute("SELECT sum(amount) FROM account_analytic_line WHERE account_id IN %s AND date>=%s AND date<=%s AND amount>0", (tuple(ids), date1, date2,)) + self.cr.execute("SELECT sum(amount) FROM account_analytic_line WHERE account_id IN %s AND date>=%s AND date<=%s AND amount>0", (tuple(chid_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) - if not ids: + chid_ids = self._get_children(ids[0]) + if not children: return 0.0 - self.cr.execute("SELECT -sum(amount) FROM account_analytic_line WHERE account_id IN %s AND date>=%s AND date<=%s AND amount<0", (tuple(ids),date1, date2,)) + self.cr.execute("SELECT -sum(amount) FROM account_analytic_line WHERE account_id IN %s AND date>=%s AND date<=%s AND amount<0", (tuple(chid_ids),date1, date2,)) return self.cr.fetchone()[0] or 0.0 def _sum_balance(self, accounts, date1, date2): From 1f3a05874455dfb9416abdde35786b59637d63a2 Mon Sep 17 00:00:00 2001 From: "Divyesh Makwana (Open ERP)" Date: Wed, 30 Nov 2011 11:45:27 +0530 Subject: [PATCH 2/5] [IMP] account : Improved the code bzr revid: mdi@tinyerp.com-20111130061527-6aklmw9ejnu23dh1 --- addons/account/project/report/cost_ledger.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/addons/account/project/report/cost_ledger.py b/addons/account/project/report/cost_ledger.py index f571c5328bf..88d5e6041f6 100644 --- a/addons/account/project/report/cost_ledger.py +++ b/addons/account/project/report/cost_ledger.py @@ -50,8 +50,7 @@ class account_analytic_cost_ledger(report_sxw.rml_parse): for account in analytic_datas: for child in account.child_ids: result.append(child.id) - for child_id in child.child_ids: - _get_rec(child_id.id) + _get_rec(child.id) return result child_ids = _get_rec(account_id) @@ -116,7 +115,7 @@ class account_analytic_cost_ledger(report_sxw.rml_parse): def _sum_debit(self, accounts, date1, date2): ids = map(lambda x: x.id, accounts) chid_ids = self._get_children(ids[0]) - if not children: + if not chid_ids: return 0.0 self.cr.execute("SELECT sum(amount) FROM account_analytic_line WHERE account_id IN %s AND date>=%s AND date<=%s AND amount>0", (tuple(chid_ids), date1, date2,)) return self.cr.fetchone()[0] or 0.0 @@ -124,7 +123,7 @@ class account_analytic_cost_ledger(report_sxw.rml_parse): def _sum_credit(self, accounts, date1, date2): ids = map(lambda x: x.id, accounts) chid_ids = self._get_children(ids[0]) - if not children: + if not chid_ids: return 0.0 self.cr.execute("SELECT -sum(amount) FROM account_analytic_line WHERE account_id IN %s AND date>=%s AND date<=%s AND amount<0", (tuple(chid_ids),date1, date2,)) return self.cr.fetchone()[0] or 0.0 From a01b90fa470afb4bbc3b3eb9b228fe55072ae293 Mon Sep 17 00:00:00 2001 From: "Divyesh Makwana (Open ERP)" Date: Wed, 30 Nov 2011 17:48:38 +0530 Subject: [PATCH 3/5] [IMP] account : Improved the code bzr revid: mdi@tinyerp.com-20111130121838-o6nlc4j64y3b3nca --- addons/account/project/report/cost_ledger.py | 30 ++++++++------------ 1 file changed, 12 insertions(+), 18 deletions(-) diff --git a/addons/account/project/report/cost_ledger.py b/addons/account/project/report/cost_ledger.py index 88d5e6041f6..9955d1ccffe 100644 --- a/addons/account/project/report/cost_ledger.py +++ b/addons/account/project/report/cost_ledger.py @@ -39,23 +39,17 @@ class account_analytic_cost_ledger(report_sxw.rml_parse): }) def _get_children(self, account_id): + analytic_obj = self.pool.get('account.analytic.account') + if not isinstance(account_id, list): + account_id = [account_id] + search_ids = analytic_obj.search(self.cr, self.uid, [('parent_id', 'child_of', account_id)]) result = [] - - def _get_rec(account_id): - analytic_obj = self.pool.get('account.analytic.account') - analytic_search_ids = analytic_obj.search(self.cr, self.uid, [('id', '=', account_id)]) - analytic_datas = analytic_obj.browse(self.cr, self.uid, analytic_search_ids) - - result.append(account_id) - for account in analytic_datas: - for child in account.child_ids: - result.append(child.id) - _get_rec(child.id) - return result - - child_ids = _get_rec(account_id) - - return child_ids + for rec in analytic_obj.browse(self.cr, self.uid, search_ids): + for child in rec.child_ids: + result.append(child.id) + if result: + result = self._get_children(result) + return search_ids + result def _lines_g(self, account_id, date1, date2): chid_ids = self._get_children(account_id) @@ -114,7 +108,7 @@ class account_analytic_cost_ledger(report_sxw.rml_parse): def _sum_debit(self, accounts, date1, date2): ids = map(lambda x: x.id, accounts) - chid_ids = self._get_children(ids[0]) + chid_ids = self._get_children(ids) if not chid_ids: return 0.0 self.cr.execute("SELECT sum(amount) FROM account_analytic_line WHERE account_id IN %s AND date>=%s AND date<=%s AND amount>0", (tuple(chid_ids), date1, date2,)) @@ -122,7 +116,7 @@ class account_analytic_cost_ledger(report_sxw.rml_parse): def _sum_credit(self, accounts, date1, date2): ids = map(lambda x: x.id, accounts) - chid_ids = self._get_children(ids[0]) + chid_ids = self._get_children(ids) if not chid_ids: return 0.0 self.cr.execute("SELECT -sum(amount) FROM account_analytic_line WHERE account_id IN %s AND date>=%s AND date<=%s AND amount<0", (tuple(chid_ids),date1, date2,)) From 888b061c27203e398190f137b08687bb0b5c0e48 Mon Sep 17 00:00:00 2001 From: "Divyesh Makwana (Open ERP)" Date: Fri, 2 Dec 2011 16:06:41 +0530 Subject: [PATCH 4/5] [IMP] account : Improved the code bzr revid: mdi@tinyerp.com-20111202103641-2lr29zvdhrbri8xs --- addons/account/project/report/cost_ledger.py | 28 +++++++++----------- 1 file changed, 12 insertions(+), 16 deletions(-) diff --git a/addons/account/project/report/cost_ledger.py b/addons/account/project/report/cost_ledger.py index 9955d1ccffe..2753b541f6b 100644 --- a/addons/account/project/report/cost_ledger.py +++ b/addons/account/project/report/cost_ledger.py @@ -26,6 +26,7 @@ from report import report_sxw class account_analytic_cost_ledger(report_sxw.rml_parse): def __init__(self, cr, uid, name, context): super(account_analytic_cost_ledger, self).__init__(cr, uid, name, context=context) + self.analytic_acc_ids = [], self.localcontext.update( { 'time': time, 'lines_g': self._lines_g, @@ -49,14 +50,14 @@ class account_analytic_cost_ledger(report_sxw.rml_parse): result.append(child.id) if result: result = self._get_children(result) - return search_ids + result + self.analytic_acc_ids = search_ids + result + return self.analytic_acc_ids def _lines_g(self, account_id, date1, date2): - chid_ids = self._get_children(account_id) self.cr.execute("SELECT sum(aal.amount) AS balance, aa.code AS code, aa.name AS name, aa.id AS id \ FROM account_account AS aa, account_analytic_line AS aal \ WHERE (aal.account_id IN %s) AND (aal.date>=%s) AND (aal.date<=%s) AND (aal.general_account_id=aa.id) AND aa.active \ - GROUP BY aa.code, aa.name, aa.id ORDER BY aa.code", (tuple(chid_ids), date1, date2)) + GROUP BY aa.code, aa.name, aa.id ORDER BY aa.code", (tuple(self.analytic_acc_ids), date1, date2)) res = self.cr.dictfetchall() for r in res: @@ -72,11 +73,10 @@ class account_analytic_cost_ledger(report_sxw.rml_parse): return res def _lines_a(self, general_account_id, account_id, date1, date2): - chid_ids = self._get_children(account_id) self.cr.execute("SELECT aal.name AS name, aal.code AS code, aal.amount AS balance, aal.date AS date, aaj.code AS cj FROM account_analytic_line AS aal, account_analytic_journal AS aaj \ WHERE (aal.general_account_id=%s) AND (aal.account_id IN %s) AND (aal.date>=%s) AND (aal.date<=%s) \ AND (aal.journal_id=aaj.id) \ - ORDER BY aal.date, aaj.code, aal.code", (general_account_id, tuple(chid_ids), date1, date2)) + ORDER BY aal.date, aaj.code, aal.code", (general_account_id, tuple(self.analytic_acc_ids), date1, date2)) res = self.cr.dictfetchall() for r in res: @@ -92,13 +92,11 @@ class account_analytic_cost_ledger(report_sxw.rml_parse): return res def _account_sum_debit(self, account_id, date1, date2): - chid_ids = self._get_children(account_id) - self.cr.execute("SELECT sum(amount) FROM account_analytic_line WHERE account_id IN %s AND date>=%s AND date<=%s AND amount>0", (tuple(chid_ids), date1, date2)) + self.cr.execute("SELECT sum(amount) FROM account_analytic_line WHERE account_id IN %s AND date>=%s AND date<=%s AND amount>0", (tuple(self.analytic_acc_ids), date1, date2)) return self.cr.fetchone()[0] or 0.0 def _account_sum_credit(self, account_id, date1, date2): - chid_ids = self._get_children(account_id) - self.cr.execute("SELECT -sum(amount) FROM account_analytic_line WHERE account_id IN %s AND date>=%s AND date<=%s AND amount<0", (tuple(chid_ids), date1, date2)) + self.cr.execute("SELECT -sum(amount) FROM account_analytic_line WHERE account_id IN %s AND date>=%s AND date<=%s AND amount<0", (tuple(self.analytic_acc_ids), date1, date2)) return self.cr.fetchone()[0] or 0.0 def _account_sum_balance(self, account_id, date1, date2): @@ -108,18 +106,16 @@ class account_analytic_cost_ledger(report_sxw.rml_parse): def _sum_debit(self, accounts, date1, date2): ids = map(lambda x: x.id, accounts) - chid_ids = self._get_children(ids) - if not chid_ids: + self.analytic_acc_ids = self._get_children(ids) + if not self.analytic_acc_ids: return 0.0 - self.cr.execute("SELECT sum(amount) FROM account_analytic_line WHERE account_id IN %s AND date>=%s AND date<=%s AND amount>0", (tuple(chid_ids), date1, date2,)) + self.cr.execute("SELECT sum(amount) FROM account_analytic_line WHERE account_id IN %s AND date>=%s AND date<=%s AND amount>0", (tuple(self.analytic_acc_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) - chid_ids = self._get_children(ids) - if not chid_ids: + if not self.analytic_acc_ids: return 0.0 - self.cr.execute("SELECT -sum(amount) FROM account_analytic_line WHERE account_id IN %s AND date>=%s AND date<=%s AND amount<0", (tuple(chid_ids),date1, date2,)) + self.cr.execute("SELECT -sum(amount) FROM account_analytic_line WHERE account_id IN %s AND date>=%s AND date<=%s AND amount<0", (tuple(self.analytic_acc_ids),date1, date2,)) return self.cr.fetchone()[0] or 0.0 def _sum_balance(self, accounts, date1, date2): From 3e1a36941cc144a03def51892457fc7683d60bc8 Mon Sep 17 00:00:00 2001 From: Raphael Collet Date: Fri, 3 Feb 2012 12:08:54 +0100 Subject: [PATCH 5/5] [IMP] account: fix, simplify and optimize Cost Ledger bzr revid: rco@openerp.com-20120203110854-2p0g4gwg01u538ao --- addons/account/project/report/cost_ledger.py | 89 +++++++------------ addons/account/project/report/cost_ledger.rml | 18 ++-- 2 files changed, 42 insertions(+), 65 deletions(-) diff --git a/addons/account/project/report/cost_ledger.py b/addons/account/project/report/cost_ledger.py index 2753b541f6b..c7423675c15 100644 --- a/addons/account/project/report/cost_ledger.py +++ b/addons/account/project/report/cost_ledger.py @@ -26,7 +26,6 @@ from report import report_sxw class account_analytic_cost_ledger(report_sxw.rml_parse): def __init__(self, cr, uid, name, context): super(account_analytic_cost_ledger, self).__init__(cr, uid, name, context=context) - self.analytic_acc_ids = [], self.localcontext.update( { 'time': time, 'lines_g': self._lines_g, @@ -38,89 +37,67 @@ class account_analytic_cost_ledger(report_sxw.rml_parse): 'sum_credit': self._sum_credit, 'sum_balance': self._sum_balance, }) + self.children = {} # a memo for the method _get_children - def _get_children(self, account_id): + def _get_children(self, accounts): + """ return all children accounts of the given accounts + :param accounts: list of browse records of 'account.analytic.account' + :return: tuple of account ids + """ analytic_obj = self.pool.get('account.analytic.account') - if not isinstance(account_id, list): - account_id = [account_id] - search_ids = analytic_obj.search(self.cr, self.uid, [('parent_id', 'child_of', account_id)]) - result = [] - for rec in analytic_obj.browse(self.cr, self.uid, search_ids): - for child in rec.child_ids: - result.append(child.id) - if result: - result = self._get_children(result) - self.analytic_acc_ids = search_ids + result - return self.analytic_acc_ids + res = set() + for account in accounts: + if account.id not in self.children: + self.children[account.id] = analytic_obj.search(self.cr, self.uid, [('parent_id', 'child_of', [account.id])]) + res.update(self.children[account.id]) + return tuple(res) - def _lines_g(self, account_id, date1, date2): + def _lines_g(self, account, date1, date2): self.cr.execute("SELECT sum(aal.amount) AS balance, aa.code AS code, aa.name AS name, aa.id AS id \ FROM account_account AS aa, account_analytic_line AS aal \ WHERE (aal.account_id IN %s) AND (aal.date>=%s) AND (aal.date<=%s) AND (aal.general_account_id=aa.id) AND aa.active \ - GROUP BY aa.code, aa.name, aa.id ORDER BY aa.code", (tuple(self.analytic_acc_ids), date1, date2)) + GROUP BY aa.code, aa.name, aa.id ORDER BY aa.code", (self._get_children([account]), date1, date2)) res = self.cr.dictfetchall() - for r in res: - if r['balance'] > 0: - r['debit'] = r['balance'] - r['credit'] = 0.0 - elif r['balance'] < 0: - r['debit'] = 0.0 - r['credit'] = -r['balance'] - else: - r['debit'] = 0.0 - r['credit'] = 0.0 + r['debit'] = r['balance'] if r['balance'] > 0 else 0.0 + r['credit'] = -r['balance'] if r['balance'] < 0 else 0.0 return res - def _lines_a(self, general_account_id, account_id, date1, date2): + def _lines_a(self, general_account, account, date1, date2): self.cr.execute("SELECT aal.name AS name, aal.code AS code, aal.amount AS balance, aal.date AS date, aaj.code AS cj FROM account_analytic_line AS aal, account_analytic_journal AS aaj \ WHERE (aal.general_account_id=%s) AND (aal.account_id IN %s) AND (aal.date>=%s) AND (aal.date<=%s) \ AND (aal.journal_id=aaj.id) \ - ORDER BY aal.date, aaj.code, aal.code", (general_account_id, tuple(self.analytic_acc_ids), date1, date2)) + ORDER BY aal.date, aaj.code, aal.code", (general_account['id'], self._get_children([account]), date1, date2)) res = self.cr.dictfetchall() - for r in res: - if r['balance'] > 0: - r['debit'] = r['balance'] - r['credit'] = 0.0 - elif r['balance'] < 0: - r['debit'] = 0.0 - r['credit'] = -r['balance'] - else: - r['debit'] = 0.0 - r['credit'] = 0.0 + r['debit'] = r['balance'] if r['balance'] > 0 else 0.0 + r['credit'] = -r['balance'] if r['balance'] < 0 else 0.0 return res - def _account_sum_debit(self, account_id, date1, date2): - self.cr.execute("SELECT sum(amount) FROM account_analytic_line WHERE account_id IN %s AND date>=%s AND date<=%s AND amount>0", (tuple(self.analytic_acc_ids), date1, date2)) - return self.cr.fetchone()[0] or 0.0 + def _account_sum_debit(self, account, date1, date2): + return self._sum_debit(self, [account], date1, date2) - def _account_sum_credit(self, account_id, date1, date2): - self.cr.execute("SELECT -sum(amount) FROM account_analytic_line WHERE account_id IN %s AND date>=%s AND date<=%s AND amount<0", (tuple(self.analytic_acc_ids), date1, date2)) - return self.cr.fetchone()[0] or 0.0 + def _account_sum_credit(self, account, date1, date2): + return self._sum_credit(self, [account], date1, date2) - def _account_sum_balance(self, account_id, date1, date2): - debit = self._account_sum_debit(account_id, date1, date2) - credit = self._account_sum_credit(account_id, date1, date2) + def _account_sum_balance(self, account, date1, date2): + debit = self._account_sum_debit(account, date1, date2) + credit = self._account_sum_credit(account, date1, date2) return (debit-credit) def _sum_debit(self, accounts, date1, date2): - ids = map(lambda x: x.id, accounts) - self.analytic_acc_ids = self._get_children(ids) - if not self.analytic_acc_ids: - return 0.0 - self.cr.execute("SELECT sum(amount) FROM account_analytic_line WHERE account_id IN %s AND date>=%s AND date<=%s AND amount>0", (tuple(self.analytic_acc_ids), date1, date2,)) + self.cr.execute("SELECT sum(amount) FROM account_analytic_line WHERE account_id IN %s AND date>=%s AND date<=%s AND amount>0", + (self._get_children(accounts), date1, date2,)) return self.cr.fetchone()[0] or 0.0 def _sum_credit(self, accounts, date1, date2): - if not self.analytic_acc_ids: - return 0.0 - self.cr.execute("SELECT -sum(amount) FROM account_analytic_line WHERE account_id IN %s AND date>=%s AND date<=%s AND amount<0", (tuple(self.analytic_acc_ids),date1, date2,)) + self.cr.execute("SELECT -sum(amount) FROM account_analytic_line WHERE account_id IN %s AND date>=%s AND date<=%s AND amount<0", + (self._get_children(accounts), date1, date2,)) return self.cr.fetchone()[0] or 0.0 def _sum_balance(self, accounts, date1, date2): - debit = self._sum_debit(accounts, date1, date2) or 0.0 - credit = self._sum_credit(accounts, date1, date2) or 0.0 + debit = self._sum_debit(accounts, date1, date2) + credit = self._sum_credit(accounts, date1, date2) return (debit-credit) report_sxw.report_sxw('report.account.analytic.account.cost_ledger', 'account.analytic.account', 'addons/account/project/report/cost_ledger.rml',parser=account_analytic_cost_ledger, header="internal") diff --git a/addons/account/project/report/cost_ledger.rml b/addons/account/project/report/cost_ledger.rml index d53467b4e93..7500b655ab3 100644 --- a/addons/account/project/report/cost_ledger.rml +++ b/addons/account/project/report/cost_ledger.rml @@ -229,28 +229,28 @@
- [[ repeatIn(objects,'o') ]] + [[ repeatIn(objects,'account') ]] - [[ o.code ]] + [[ account.code ]] - [[ o.complete_name ]] + [[ account.complete_name ]] - [[ formatLang (account_sum_debit(o.id,data['form']['date1'],data['form']['date2'])) ]] + [[ formatLang (account_sum_debit(account,data['form']['date1'],data['form']['date2'])) ]] - [[ formatLang (account_sum_credit(o.id,data['form']['date1'],data['form']['date2'])) ]] + [[ formatLang (account_sum_credit(account,data['form']['date1'],data['form']['date2'])) ]] - [[ formatLang (account_sum_balance(o.id,data['form']['date1'],data['form']['date2']))]] [[ company.currency_id.symbol ]] + [[ formatLang (account_sum_balance(account,data['form']['date1'],data['form']['date2']))]] [[ company.currency_id.symbol ]]
- [[ repeatIn(lines_g(o.id,data['form']['date1'],data['form']['date2']),'move_g') ]] + [[ repeatIn(lines_g(account,data['form']['date1'],data['form']['date2']),'move_g') ]] @@ -271,7 +271,7 @@
- [[ repeatIn(lines_a(move_g['id'],o.id,data['form']['date1'],data['form']['date2']),'move_a') ]] + [[ repeatIn(lines_a(move_g,account,data['form']['date1'],data['form']['date2']),'move_a') ]] @@ -302,4 +302,4 @@
- \ No newline at end of file +