diff --git a/addons/account/report/__init__.py b/addons/account/report/__init__.py index eb6695264de..88b9a274710 100644 --- a/addons/account/report/__init__.py +++ b/addons/account/report/__init__.py @@ -28,7 +28,7 @@ import account_general_ledger import account_partner_ledger import invoice import overdue -import aged_trial_balance +import account_aged_partner_balance import tax_report #import account_tax_code import account_balance_landscape diff --git a/addons/account/report/aged_trial_balance.py b/addons/account/report/account_aged_partner_balance.py similarity index 57% rename from addons/account/report/aged_trial_balance.py rename to addons/account/report/account_aged_partner_balance.py index 43db65f25c9..515c9edf8c0 100644 --- a/addons/account/report/aged_trial_balance.py +++ b/addons/account/report/account_aged_partner_balance.py @@ -18,20 +18,20 @@ # along with this program. If not, see . # ############################################################################## + import time import pooler import rml_parse from report import report_sxw +from common_report_header import common_report_header -class aged_trial_report(rml_parse.rml_parse): +class aged_trial_report(rml_parse.rml_parse, common_report_header): def __init__(self, cr, uid, name, context): super(aged_trial_report, self).__init__(cr, uid, name, context=context) - self.line_query = '' + self.query_line = '' self.total_account = [] - - self.localcontext.update({ 'time': time, 'get_lines': self._get_lines, @@ -40,11 +40,20 @@ class aged_trial_report(rml_parse.rml_parse): 'get_for_period': self._get_for_period, 'get_company': self._get_company, 'get_currency': self._get_currency, - + 'get_partners':self._get_partners, + 'get_account': self._get_account, + 'get_fiscalyear': self._get_fiscalyear, }) + def set_context(self, objects, data, ids, report_type=None): + self.query = data['form'].get('query_line', '') + self.direction_selection = data['form'].get('direction_selection', 'past') + self.date_from = data['form'].get('date_from', time.strftime('%Y-%m-%d')) + return super(aged_trial_report, self).set_context(objects, data, ids, report_type=report_type) def _get_lines(self, form): + res = [] + account_move_line_obj = pooler.get_pool(self.cr.dbname).get('account.move.line') if (form['result_selection'] == 'customer' ): self.ACCOUNT_TYPE = ['receivable'] elif (form['result_selection'] == 'supplier'): @@ -52,74 +61,68 @@ class aged_trial_report(rml_parse.rml_parse): else: self.ACCOUNT_TYPE = ['payable','receivable'] - - res = [] - account_move_line_obj = pooler.get_pool(self.cr.dbname).get('account.move.line') - self.line_query = account_move_line_obj._query_get(self.cr, self.uid, obj='line', - context={'fiscalyear': form['fiscalyear']}) - self.cr.execute("""SELECT DISTINCT res_partner.id AS id, - res_partner.name AS name - FROM res_partner,account_move_line AS line, account_account - WHERE (line.account_id=account_account.id) - AND ((reconcile_id IS NULL) - OR (reconcile_id IN (SELECT recon.id FROM account_move_reconcile AS recon WHERE recon.create_date > %s ))) - AND (line.partner_id=res_partner.id) - AND (account_account.company_id = %s) - ORDER BY res_partner.name""" , (form['date1'],form['company_id'])) + self.cr.execute('SELECT DISTINCT res_partner.id AS id,\ + res_partner.name AS name \ + FROM res_partner,account_move_line AS l, account_account\ + WHERE (l.account_id=account_account.id)\ + AND ((reconcile_id IS NULL)\ + OR (reconcile_id IN (SELECT recon.id FROM account_move_reconcile AS recon WHERE recon.create_date > %s )))\ + AND (l.partner_id=res_partner.id)\ + AND ' + self.query + ' \ + ORDER BY res_partner.name' , (self.date_from,)) partners = self.cr.dictfetchall() ## mise a 0 du total for i in range(7): self.total_account.append(0) # - # Build a string like (1,2,3) for easy use in SQL query partner_ids = [x['id'] for x in partners] # This dictionary will store the debit-credit for all partners, using partner_id as key. totals = {} - self.cr.execute("""SELECT partner_id, SUM(debit-credit) - FROM account_move_line AS line, account_account - WHERE (line.account_id = account_account.id) - AND (account_account.type IN %s) - AND (partner_id IN %s) - AND ((reconcile_id IS NULL) - OR (reconcile_id IN (SELECT recon.id FROM account_move_reconcile AS recon WHERE recon.create_date > %s ))) - AND (account_account.company_id = %s) - AND account_account.active - GROUP BY partner_id""" , (tuple(self.ACCOUNT_TYPE), tuple(partner_ids),form['date1'],form['company_id'],)) + self.cr.execute('SELECT partner_id, SUM(debit-credit) \ + FROM account_move_line AS l, account_account\ + WHERE (l.account_id = account_account.id)\ + AND (account_account.type IN %s)\ + AND (partner_id IN %s)\ + AND ((reconcile_id IS NULL)\ + OR (reconcile_id IN (SELECT recon.id FROM account_move_reconcile AS recon WHERE recon.create_date > %s )))\ + AND ' + self.query + '\ + AND account_account.active\ + GROUP BY partner_id ' , (tuple(self.ACCOUNT_TYPE), tuple(partner_ids), self.date_from,)) t = self.cr.fetchall() for i in t: totals[i[0]] = i[1] # This dictionary will store the future or past of all partners future_past = {} - if form['direction_selection'] == 'future': - self.cr.execute("""SELECT partner_id, SUM(debit-credit) - FROM account_move_line AS line, account_account - WHERE (line.account_id=account_account.id) - AND (account_account.type IN %s) - AND (COALESCE(date_maturity,date) < %s) - AND (partner_id IN %s) - AND ((reconcile_id IS NULL) - OR (reconcile_id IN (SELECT recon.id FROM account_move_reconcile AS recon WHERE recon.create_date > %s ))) - AND (account_account.company_id = %s) - AND account_account.active - GROUP BY partner_id""", (tuple(self.ACCOUNT_TYPE), form['date1'], tuple(partner_ids),form['date1'], form['company_id'],)) + if self.direction_selection == 'future': + self.cr.execute('SELECT partner_id, SUM(debit-credit) \ + FROM account_move_line AS l, account_account\ + WHERE (l.account_id=account_account.id)\ + AND (account_account.type IN %s)\ + AND (COALESCE(date_maturity, date) < %s)\ + AND (partner_id IN %s)\ + AND ((reconcile_id IS NULL)\ + OR (reconcile_id IN (SELECT recon.id FROM account_move_reconcile AS recon WHERE recon.create_date > %s )))\ + AND '+ self.query + '\ + AND account_account.active\ + GROUP BY partner_id', (tuple(self.ACCOUNT_TYPE), self.date_from, tuple(partner_ids),self.date_from,)) t = self.cr.fetchall() for i in t: future_past[i[0]] = i[1] - elif form['direction_selection'] == 'past': # Using elif so people could extend without this breaking - self.cr.execute("""SELECT partner_id, SUM(debit-credit) - FROM account_move_line AS line, account_account - WHERE (line.account_id=account_account.id) - AND (account_account.type IN %s) - AND (COALESCE(date_maturity,date) > %s) - AND (partner_id IN %s) - AND ((reconcile_id IS NULL) - OR (reconcile_id IN (SELECT recon.id FROM account_move_reconcile AS recon WHERE recon.create_date > %s ))) - AND (account_account.company_id = %s) - AND account_account.active - GROUP BY partner_id""" , (tuple(self.ACCOUNT_TYPE), form['date1'], tuple(partner_ids), form['date1'], form['company_id'],)) + elif self.direction_selection == 'past': # Using elif so people could extend without this breaking + self.cr.execute('SELECT partner_id, SUM(debit-credit) \ + FROM account_move_line AS l, account_account\ + WHERE (l.account_id=account_account.id)\ + AND (account_account.type IN %s)\ + AND (COALESCE(date_maturity,date) > %s)\ + AND (partner_id IN %s)\ + AND ((reconcile_id IS NULL)\ + OR (reconcile_id IN (SELECT recon.id FROM account_move_reconcile AS recon WHERE recon.create_date > %s )))\ + AND '+ self.query + '\ + AND account_account.active\ + GROUP BY partner_id' , (tuple(self.ACCOUNT_TYPE), self.date_from, tuple(partner_ids), self.date_from,)) t = self.cr.fetchall() for i in t: future_past[i[0]] = i[1] @@ -128,18 +131,17 @@ class aged_trial_report(rml_parse.rml_parse): # Each history will contain : history[1] = {'': } history = [] for i in range(5): - self.cr.execute("""SELECT partner_id, SUM(debit-credit) - FROM account_move_line AS line, account_account - WHERE (line.account_id=account_account.id) - AND (account_account.type IN %s) - AND (COALESCE(date_maturity,date) BETWEEN %s AND %s) - AND (partner_id IN %s) - AND ((reconcile_id IS NULL) - OR (reconcile_id IN (SELECT recon.id FROM account_move_reconcile AS recon WHERE recon.create_date > %s ))) - AND (account_account.company_id = %s) - AND account_account.active - GROUP BY partner_id""" , (tuple(self.ACCOUNT_TYPE), form[str(i)]['start'], form[str(i)]['stop'], tuple(partner_ids) ,form['date1'] ,form['company_id'],)) - + self.cr.execute('SELECT partner_id, SUM(debit-credit)\ + FROM account_move_line AS l, account_account\ + WHERE (l.account_id = account_account.id)\ + AND (account_account.type IN %s)\ + AND (COALESCE(date_maturity,date) BETWEEN %s AND %s)\ + AND (partner_id IN %s)\ + AND ((reconcile_id IS NULL)\ + OR (reconcile_id IN (SELECT recon.id FROM account_move_reconcile AS recon WHERE recon.create_date > %s )))\ + AND '+ self.query + '\ + AND account_account.active\ + GROUP BY partner_id' , (tuple(self.ACCOUNT_TYPE), form[str(i)]['start'], form[str(i)]['stop'], tuple(partner_ids) ,self.date_from,)) t = self.cr.fetchall() d = {} for i in t: @@ -149,16 +151,14 @@ class aged_trial_report(rml_parse.rml_parse): for partner in partners: values = {} ## If choise selection is in the future - if form['direction_selection'] == 'future': + if self.direction_selection == 'future': # Query here is replaced by one query which gets the all the partners their 'before' value before = False if future_past.has_key(partner['id']): before = [ future_past[partner['id']] ] - self.total_account[6] = self.total_account[6] + (before and before[0] or 0.0) - values['direction'] = before and before[0] or 0.0 - elif form['direction_selection'] == 'past': # Changed this so people could in the future create new direction_selections + elif self.direction_selection == 'past': # Changed this so people could in the future create new direction_selections # Query here is replaced by one query which gets the all the partners their 'after' value after = False if future_past.has_key(partner['id']): # Making sure this partner actually was found by the query @@ -211,15 +211,17 @@ class aged_trial_report(rml_parse.rml_parse): period = self.total_account[int(pos)] return period - def _get_company(self, form): - return pooler.get_pool(self.cr.dbname).get('res.company').browse(self.cr, self.uid, form['company_id']).name - - def _get_currency(self, form): - return pooler.get_pool(self.cr.dbname).get('res.company').browse(self.cr, self.uid, form['company_id']).currency_id.name - + def _get_partners(self,data): + if data['form']['result_selection'] == 'customer': + return 'Receivable Accounts' + elif data['form']['result_selection'] == 'supplier': + return 'Payable Accounts' + elif data['form']['result_selection'] == 'customer_supplier': + return 'Receivable and Payable Accounts' + return '' report_sxw.report_sxw('report.account.aged_trial_balance', 'res.partner', - 'addons/account/report/aged_trial_balance.rml',parser=aged_trial_report,header=False) + 'addons/account/report/account_aged_partner_balance.rml',parser=aged_trial_report, header=False) -# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: \ No newline at end of file diff --git a/addons/account/report/aged_trial_balance.rml b/addons/account/report/account_aged_partner_balance.rml similarity index 63% rename from addons/account/report/aged_trial_balance.rml rename to addons/account/report/account_aged_partner_balance.rml index e566cb4a26d..78c7af3b2af 100644 --- a/addons/account/report/aged_trial_balance.rml +++ b/addons/account/report/account_aged_partner_balance.rml @@ -3,33 +3,6 @@ @@ -47,6 +20,10 @@ + + + + @@ -60,6 +37,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -95,8 +104,64 @@ + + + + + + + + + + + + Aged Trial balance + + + + + + + Chart of Account + + + Fiscal Year + + + Start Date + + + Partner's + + + Printing Date + + + + + [[ get_account(data) or '' ]] + + + [[ get_fiscalyear(data) or '' ]] + + + [[ data['form']['date_from'] ]] + + + [[ get_partners(data) ]] + + + [[ formatLang(time.strftime('%Y-%m-%d %H:%M:%S'), date_time = True)]] + + + + + + + + diff --git a/addons/account/report/account_balance.rml b/addons/account/report/account_balance.rml index a5b4e211b33..e11a0d7b44c 100644 --- a/addons/account/report/account_balance.rml +++ b/addons/account/report/account_balance.rml @@ -209,9 +209,9 @@ - + - Company [[ data['model']=='account.account' or removeParentNode('para') ]] + [[ data['model']=='account.account' and 'Company'or removeParentNode('para') ]] [[ data['model']=='ir.ui.menu' and 'Chart of Account' or removeParentNode('para') ]] Fiscal Year diff --git a/addons/account/report/account_central_journal.rml b/addons/account/report/account_central_journal.rml index 816afa59cb8..f31ae1d50ab 100644 --- a/addons/account/report/account_central_journal.rml +++ b/addons/account/report/account_central_journal.rml @@ -244,8 +244,8 @@ - Company [[ data['model']=='account.journal.period' or removeParentNode('para') ]] - Chart of Account [[ data['model']=='ir.ui.menu' or removeParentNode('para') ]] + [[ data['model']=='account.journal.period' and 'Company' or removeParentNode('para') ]] + [[ data['model']=='ir.ui.menu' and 'Chart of Account' or removeParentNode('para') ]] Fiscal Year Journal Filter By [[get_filter(data)!='No Filter' and get_filter(data) ]] diff --git a/addons/account/report/account_general_journal.rml b/addons/account/report/account_general_journal.rml index 77f750196d4..c8f23e7631f 100644 --- a/addons/account/report/account_general_journal.rml +++ b/addons/account/report/account_general_journal.rml @@ -224,8 +224,8 @@ - Company [[ data['model']=='account.journal.period' or removeParentNode('para') ]] - Chart of Account [[ data['model']=='ir.ui.menu' or removeParentNode('para') ]] + [[ data['model']=='account.journal.period' and 'Company' or removeParentNode('para') ]] + [[ data['model']=='ir.ui.menu' and 'Chart of Account' or removeParentNode('para') ]] Fiscal Year Journals Filter By [[ get_filter(data)!='No Filter' and get_filter(data) ]] diff --git a/addons/account/report/account_general_ledger.rml b/addons/account/report/account_general_ledger.rml index 212c8bfc819..2a99b643bff 100644 --- a/addons/account/report/account_general_ledger.rml +++ b/addons/account/report/account_general_ledger.rml @@ -9,10 +9,8 @@ - - @@ -20,12 +18,9 @@ - - - @@ -194,12 +189,10 @@ - [[ repeatIn(objects, 'a') ]] - - + - Chat Account + Chart of Account Fiscal Year Journals Display Account diff --git a/addons/account/report/account_general_ledger_landscape.rml b/addons/account/report/account_general_ledger_landscape.rml index 07b16bb11ce..fe090650d40 100644 --- a/addons/account/report/account_general_ledger_landscape.rml +++ b/addons/account/report/account_general_ledger_landscape.rml @@ -204,10 +204,10 @@ - + - Company [[ data['model']=='account.account' or removeParentNode('para') ]] - Chart of Account [[ data['model']=='ir.ui.menu' or removeParentNode('para') ]] + [[ data['model']=='account.account' and 'Company' or removeParentNode('para') ]] + [[ data['model']=='ir.ui.menu' and 'Chart of Account' or removeParentNode('para') ]] Fiscal Year Journals Display Account diff --git a/addons/account/report/account_journal.rml b/addons/account/report/account_journal.rml index a308331a8fd..75d2fa2070b 100644 --- a/addons/account/report/account_journal.rml +++ b/addons/account/report/account_journal.rml @@ -205,8 +205,8 @@ - Company [[ data['model']=='account.journal.period' or removeParentNode('para') ]] - Chart of Account [[ data['model']=='ir.ui.menu' or removeParentNode('para') ]] + [[ data['model']=='account.journal.period'and 'Company' or removeParentNode('para') ]] + [[ data['model']=='ir.ui.menu' and 'Chart of Account' or removeParentNode('para') ]] Fiscal Year Journal Filters By diff --git a/addons/account/report/account_partner_balance.rml b/addons/account/report/account_partner_balance.rml index fba666fe319..7ee04a79e2b 100644 --- a/addons/account/report/account_partner_balance.rml +++ b/addons/account/report/account_partner_balance.rml @@ -189,7 +189,7 @@ - + Chart of Account Fiscal Year diff --git a/addons/account/report/account_partner_ledger.rml b/addons/account/report/account_partner_ledger.rml index 206b5f3052d..b6e564d26d0 100644 --- a/addons/account/report/account_partner_ledger.rml +++ b/addons/account/report/account_partner_ledger.rml @@ -178,6 +178,9 @@ + + + @@ -227,7 +230,18 @@ - + + + + + + + + + + + + [[ display_currency(data) == False or removeParentNode('blockTable') ]] diff --git a/addons/account/report/wizard_account_journal.rml b/addons/account/report/wizard_account_journal.rml deleted file mode 100644 index 28c6df89a9a..00000000000 --- a/addons/account/report/wizard_account_journal.rml +++ /dev/null @@ -1,194 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- [[ repeatIn(objects, 'o') ]] - - [[repeatIn(lines(data['form']['periods'],data['form']['journal_ids'],data['form']['sort_selection']), 'line') ]] - - - Date - - - Voucher No - - - A/c No. - - - Third party - - - Entry label - - - Debit - - - Credit - - - - - [[ line[0].period_id.name ]] - - - [[line[0].journal_id.code ]] - - - - - [[ formatLang(sum_debit(line[0].period_id.id, line[0].journal_id.id)) ]] - - - [[ formatLang(sum_credit(line[0].period_id.id, line[0].journal_id.id)) ]] - - - - [[repeatIn(line,'l')]] - - [[ formatLang(l.date,date=True) ]] - - - [[ l.ref ]] - - - [[ l.account_id.code ]] - - - [[ l.partner_id and l.partner_id.name ]] - - - [[ l.name ]] - - - [[ formatLang(l.debit) ]] - - - [[ formatLang(l.credit) ]] - - - - - - - -
-
-
\ No newline at end of file diff --git a/addons/account/report/wizard_central_journal.rml b/addons/account/report/wizard_central_journal.rml deleted file mode 100644 index 1a8d9b62187..00000000000 --- a/addons/account/report/wizard_central_journal.rml +++ /dev/null @@ -1,277 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [[ repeatIn(objects, 'o') ]] - - - - - - - - Central Journal - - - - - - - - [[ repeatIn(lines(data['form']['periods'],data['form']['journal_ids']), 'line') ]] - - - Start Period - End Period - - Journal Code - - - Journal Name - - - Printing Date - - - - - - [[ get_start_date(data['form']) ]] - [[ get_end_date(data['form']) ]] - - [[ line[0]['journal'].code or '' ]] - - - [[ line[0]['journal'].name ]] - - - [[ formatLang(time.strftime('%Y-%m-%d %H:%M:%S'),date_time = True) ]] - - - - - - - - - - - - - Account Num. - - - Account Name - - - Debit - - - Credit - - - - - - - - - Total: - - - - - - - - [[ formatLang(sum_debit(line[0]['period'].id, line[0]['journal'].id)) ]] - - - [[ formatLang(sum_credit(line[0]['period'].id, line[0]['journal'].id)) ]] - - - - - - - [[repeatIn(line,'l')]] - - d[[ l['code'] ]] - - - [[ l['name'] ]] - - - [[ formatLang(l['debit']) ]] - - - [[ formatLang(l['credit']) ]] - - - - - - - - - - - - - - - diff --git a/addons/account/report/wizard_general_journal.rml b/addons/account/report/wizard_general_journal.rml deleted file mode 100644 index d436ae87bed..00000000000 --- a/addons/account/report/wizard_general_journal.rml +++ /dev/null @@ -1,298 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - General Journal - - - - - - - - - - - - Start Period - End Period - Printing Date - - - - - [[ get_start_date(data['form']) ]] - [[ get_end_date(data['form']) ]] - [[ formatLang(time.strftime('%Y-%m-%d %H:%M:%S'),date_time = True) ]] - - - - - -
- - - - - - - Jrl Code - - - Journal Name - - - Period - - - Debit Trans. - - - Credit Trans. - - - - - - - - Total: - - - - - - - - - - - - - [[ formatLang(sum_debit(data['form']['periods'],data['form']['journal_ids'])) ]] - - - [[ formatLang(sum_credit(data['form']['periods'],data['form']['journal_ids'])) ]] - - - - - - - - - - [[ repeatIn( lines( data['form']['periods'], data['form']['journal_ids'] ),'line')]] - - - - [[ line[0]['period_name'] ]] : - - - - - - - - - - - - - [[ formatLang(sum_debit_period( line[0]['pid'],data['form']['journal_ids'])) ]] - - - [[ formatLang(sum_credit_period(line[0]['pid'],data['form']['journal_ids'])) ]] - - - - - - - - [[ repeatIn(line,'l') ]] - [[ l['code'] ]] - - - [[ l['name'] ]] - - - [[ line[0]['period_name'] ]] - - - [[ formatLang(l['debit'])]] - - - [[ formatLang(l['credit']) ]] - - - - - - - - - -
- - - -
-
diff --git a/addons/account/wizard/account_general_ledger_report_view.xml b/addons/account/wizard/account_general_ledger_report_view.xml deleted file mode 100644 index f98e80fb81f..00000000000 --- a/addons/account/wizard/account_general_ledger_report_view.xml +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - General Ledger - account.general.ledger.report - form - -
- - - -