|
|
@ -6,6 +6,7 @@ |
|
|
|
|
|
|
|
from . import abstract_report_xlsx |
|
|
|
from openerp.report import report_sxw |
|
|
|
from openerp import _ |
|
|
|
|
|
|
|
|
|
|
|
class GeneralLedgerXslx(abstract_report_xlsx.AbstractReportXslx): |
|
|
@ -21,38 +22,40 @@ class GeneralLedgerXslx(abstract_report_xlsx.AbstractReportXslx): |
|
|
|
self.col_pos_final_balance_label = 5 |
|
|
|
|
|
|
|
def _get_report_name(self): |
|
|
|
return 'General Ledger' |
|
|
|
return _('General Ledger') |
|
|
|
|
|
|
|
def _get_report_columns(self): |
|
|
|
return { |
|
|
|
0: {'header': 'Date', 'field': 'date', 'width': 11}, |
|
|
|
1: {'header': 'Entry', 'field': 'entry', 'width': 18}, |
|
|
|
2: {'header': 'Journal', 'field': 'journal', 'width': 8}, |
|
|
|
3: {'header': 'Account', 'field': 'account', 'width': 9}, |
|
|
|
4: {'header': 'Partner', 'field': 'partner', 'width': 25}, |
|
|
|
5: {'header': 'Ref - Label', 'field': 'label', 'width': 40}, |
|
|
|
6: {'header': 'Cost center', 'field': 'cost_center', 'width': 15}, |
|
|
|
7: {'header': 'Rec.', 'field': 'matching_number', 'width': 5}, |
|
|
|
8: {'header': 'Debit', |
|
|
|
0: {'header': _('Date'), 'field': 'date', 'width': 11}, |
|
|
|
1: {'header': _('Entry'), 'field': 'entry', 'width': 18}, |
|
|
|
2: {'header': _('Journal'), 'field': 'journal', 'width': 8}, |
|
|
|
3: {'header': _('Account'), 'field': 'account', 'width': 9}, |
|
|
|
4: {'header': _('Partner'), 'field': 'partner', 'width': 25}, |
|
|
|
5: {'header': _('Ref - Label'), 'field': 'label', 'width': 40}, |
|
|
|
6: {'header': _('Cost center'), |
|
|
|
'field': 'cost_center', |
|
|
|
'width': 15}, |
|
|
|
7: {'header': _('Rec.'), 'field': 'matching_number', 'width': 5}, |
|
|
|
8: {'header': _('Debit'), |
|
|
|
'field': 'debit', |
|
|
|
'field_initial_balance': 'initial_debit', |
|
|
|
'field_final_balance': 'final_debit', |
|
|
|
'type': 'amount', |
|
|
|
'width': 14}, |
|
|
|
9: {'header': 'Credit', |
|
|
|
9: {'header': _('Credit'), |
|
|
|
'field': 'credit', |
|
|
|
'field_initial_balance': 'initial_credit', |
|
|
|
'field_final_balance': 'final_credit', |
|
|
|
'type': 'amount', |
|
|
|
'width': 14}, |
|
|
|
10: {'header': 'Cumul. Bal.', |
|
|
|
10: {'header': _('Cumul. Bal.'), |
|
|
|
'field': 'cumul_balance', |
|
|
|
'field_initial_balance': 'initial_balance', |
|
|
|
'field_final_balance': 'final_balance', |
|
|
|
'type': 'amount', |
|
|
|
'width': 14}, |
|
|
|
11: {'header': 'Cur.', 'field': 'currency_name', 'width': 7}, |
|
|
|
12: {'header': 'Amount cur.', |
|
|
|
11: {'header': _('Cur.'), 'field': 'currency_name', 'width': 7}, |
|
|
|
12: {'header': _('Amount cur.'), |
|
|
|
'field': 'amount_currency', |
|
|
|
'type': 'amount', |
|
|
|
'width': 14}, |
|
|
@ -60,15 +63,15 @@ class GeneralLedgerXslx(abstract_report_xlsx.AbstractReportXslx): |
|
|
|
|
|
|
|
def _get_report_filters(self, report): |
|
|
|
return [ |
|
|
|
['Date range filter', |
|
|
|
'From: '+report.date_from+' To: '+report.date_to], |
|
|
|
['Target moves filter', |
|
|
|
'All posted entries' if report.only_posted_moves |
|
|
|
else 'All entries'], |
|
|
|
['Account balance at 0 filter', |
|
|
|
'Hide' if report.hide_account_balance_at_0 else 'Show'], |
|
|
|
['Centralize filter', |
|
|
|
'Yes' if report.centralize else 'No'], |
|
|
|
[_('Date range filter'), |
|
|
|
_('From: %s To: %s') % (report.date_from, report.date_to)], |
|
|
|
[_('Target moves filter'), |
|
|
|
_('All posted entries') if report.only_posted_moves |
|
|
|
else _('All entries')], |
|
|
|
[_('Account balance at 0 filter'), |
|
|
|
_('Hide') if report.hide_account_balance_at_0 else _('Show')], |
|
|
|
[_('Centralize filter'), |
|
|
|
_('Yes') if report.centralize else _('No')], |
|
|
|
] |
|
|
|
|
|
|
|
def _get_col_count_filter_name(self): |
|
|
@ -83,7 +86,7 @@ class GeneralLedgerXslx(abstract_report_xlsx.AbstractReportXslx): |
|
|
|
# Write account title |
|
|
|
self.write_array_title(account.code + ' - ' + account.name) |
|
|
|
|
|
|
|
if account.move_line_ids: |
|
|
|
if not account.partner_ids: |
|
|
|
# Display array header for move lines |
|
|
|
self.write_array_header() |
|
|
|
|
|
|
@ -94,7 +97,7 @@ class GeneralLedgerXslx(abstract_report_xlsx.AbstractReportXslx): |
|
|
|
for line in account.move_line_ids: |
|
|
|
self.write_line(line) |
|
|
|
|
|
|
|
elif account.is_partner_account: |
|
|
|
else: |
|
|
|
# For each partner |
|
|
|
for partner in account.partner_ids: |
|
|
|
# Write partner title |
|
|
@ -125,7 +128,7 @@ class GeneralLedgerXslx(abstract_report_xlsx.AbstractReportXslx): |
|
|
|
def write_initial_balance(self, my_object): |
|
|
|
"""Specific function to write initial balance for General Ledger""" |
|
|
|
col_pos_label = self.col_pos_initial_balance_label |
|
|
|
self.sheet.write(self.row_pos, col_pos_label, 'Initial balance', |
|
|
|
self.sheet.write(self.row_pos, col_pos_label, _('Initial balance'), |
|
|
|
self.format_right) |
|
|
|
for col_pos, column in self.columns.iteritems(): |
|
|
|
if column.get('field_initial_balance'): |
|
|
@ -143,10 +146,10 @@ class GeneralLedgerXslx(abstract_report_xlsx.AbstractReportXslx): |
|
|
|
"""Specific function to write ending balance for General Ledger""" |
|
|
|
if type_object == 'partner': |
|
|
|
name = my_object.name |
|
|
|
label = 'Partner ending balance' |
|
|
|
label = _('Partner ending balance') |
|
|
|
elif type_object == 'account': |
|
|
|
name = my_object.code + ' - ' + my_object.name |
|
|
|
label = 'Ending balance' |
|
|
|
label = _('Ending balance') |
|
|
|
for i in range(0, len(self.columns)): |
|
|
|
self.sheet.write(self.row_pos, i, '', self.format_header_right) |
|
|
|
row_count_name = self.col_count_final_balance_name |
|
|
@ -173,5 +176,8 @@ class GeneralLedgerXslx(abstract_report_xlsx.AbstractReportXslx): |
|
|
|
self.row_pos += 1 |
|
|
|
|
|
|
|
|
|
|
|
GeneralLedgerXslx('report.ledger.report.wizard.xlsx', |
|
|
|
'report_general_ledger_qweb', parser=report_sxw.rml_parse) |
|
|
|
GeneralLedgerXslx( |
|
|
|
'report.account_financial_report_qweb.report_general_ledger_xlsx', |
|
|
|
'report_general_ledger_qweb', |
|
|
|
parser=report_sxw.rml_parse |
|
|
|
) |