New reports design

issue4996
review15891002
This commit is contained in:
Cédric Krier
2016-03-15 18:56:51 +01:00
parent 01ef4a4f2c
commit 2184790bdb
18 changed files with 752 additions and 744 deletions
+1
View File
@@ -1,3 +1,4 @@
* New reports design: General Ledger, Trial Balance and Aged Balance
* Add Python3 support
* Merge Third Party Balance into Aged Balance
* Add date to Aged Balance
+9 -11
View File
@@ -24,16 +24,19 @@ def register():
Account,
AccountDeferral,
OpenChartAccountStart,
PrintGeneralLedgerStart,
PrintTrialBalanceStart,
OpenBalanceSheetStart,
OpenIncomeStatementStart,
GeneralLedgerAccount,
GeneralLedgerAccountContext,
GeneralLedgerLine,
GeneralLedgerLineContext,
BalanceSheetContext,
IncomeStatementContext,
CreateChartStart,
CreateChartAccount,
CreateChartProperties,
UpdateChartStart,
UpdateChartSucceed,
OpenAgedBalanceStart,
AgedBalanceContext,
AgedBalance,
Configuration,
Period,
JournalType,
@@ -80,13 +83,8 @@ def register():
BalanceNonDeferral,
CloseFiscalYear,
OpenChartAccount,
PrintGeneralLedger,
PrintTrialBalance,
OpenBalanceSheet,
OpenIncomeStatement,
CreateChart,
UpdateChart,
OpenAgedBalance,
ClosePeriod,
ReOpenPeriod,
OpenJournalCash,
@@ -106,6 +104,6 @@ def register():
Pool.register(
GeneralLedger,
TrialBalance,
AgedBalance,
AgedBalanceReport,
GeneralJournal,
module='account', type_='report')
+510 -629
View File
File diff suppressed because it is too large Load Diff
+141 -57
View File
@@ -417,50 +417,118 @@ this repository contains the full copyright notices and license terms. -->
<field name="name">open_chart_start_form</field>
</record>
<record model="ir.ui.view" id="print_general_ledger_start_view_form">
<field name="model">account.print_general_ledger.start</field>
<field name="type">form</field>
<field name="name">print_general_legder_start_form</field>
</record>
<record model="ir.action.wizard" id="wizard_print_general_ledger">
<field name="name">Print General Legder</field>
<field name="wiz_name">account.print_general_ledger</field>
</record>
<menuitem parent="menu_reporting" action="wizard_print_general_ledger"
id="menu_print_general_ledger" icon="tryton-print"/>
<record model="ir.action.report" id="report_general_ledger">
<field name="name">General Ledger</field>
<field name="model"></field>
<field name="model">account.general_ledger.account</field>
<field name="report_name">account.general_ledger</field>
<field name="report">account/general_ledger.odt</field>
</record>
<record model="ir.ui.view" id="print_trial_balance_start_view_form">
<field name="model">account.print_trial_balance.start</field>
<field name="type">form</field>
<field name="name">print_trial_balance_start_form</field>
<record model="ir.action.keyword" id="report_general_ledger_keyword">
<field name="keyword">form_print</field>
<field name="model">account.general_ledger.account,-1</field>
<field name="action" ref="report_general_ledger"/>
</record>
<record model="ir.action.wizard" id="wizard_print_trial_balance">
<field name="name">Print Trial Balance</field>
<field name="wiz_name">account.print_trial_balance</field>
</record>
<menuitem parent="menu_reporting" action="wizard_print_trial_balance"
id="menu_print_trial_balance" icon="tryton-print"/>
<record model="ir.action.report" id="report_trial_balance">
<field name="name">Trial Balance</field>
<field name="model"></field>
<field name="model">account.general_ledger.account</field>
<field name="report_name">account.trial_balance</field>
<field name="report">account/trial_balance.odt</field>
</record>
<record model="ir.action.keyword" id="report_trial_balance_keyword">
<field name="keyword">form_print</field>
<field name="model">account.general_ledger.account,-1</field>
<field name="action" ref="report_trial_balance"/>
</record>
<record model="ir.ui.view" id="open_balance_sheet_start_view_form">
<field name="model">account.open_balance_sheet.start</field>
<record model="ir.ui.view" id="general_ledger_account_view_list">
<field name="model">account.general_ledger.account</field>
<field name="type">tree</field>
<field name="name">general_ledger_account_list</field>
</record>
<record model="ir.action.act_window" id="act_general_ledger_account_form">
<field name="name">General Ledger - Accounts</field>
<field name="res_model">account.general_ledger.account</field>
<field name="context_model">account.general_ledger.account.context</field>
</record>
<record model="ir.action.act_window.view"
id="act_general_ledger_account_form_view1">
<field name="sequence" eval="10"/>
<field name="view" ref="general_ledger_account_view_list"/>
<field name="act_window" ref="act_general_ledger_account_form"/>
</record>
<menuitem parent="menu_reporting" action="act_general_ledger_account_form"
id="menu_general_ledger" name="General Ledger" sequence="10"/>
<record model="ir.model.access" id="access_general_ledger_account">
<field name="model" search="[('model', '=', 'account.general_ledger.account')]"/>
<field name="perm_read" eval="False"/>
<field name="perm_write" eval="False"/>
<field name="perm_create" eval="False"/>
<field name="perm_delete" eval="False"/>
</record>
<record model="ir.model.access" id="access_general_ledger_account_account">
<field name="model" search="[('model', '=', 'account.general_ledger.account')]"/>
<field name="group" ref="group_account"/>
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="False"/>
<field name="perm_create" eval="False"/>
<field name="perm_delete" eval="False"/>
</record>
<record model="ir.ui.view" id="general_ledger_line_view_list">
<field name="model">account.general_ledger.line</field>
<field name="type">tree</field>
<field name="name">general_ledger_line_list</field>
</record>
<record model="ir.action.act_window" id="act_general_ledger_line_form">
<field name="name">General Ledger - Lines</field>
<field name="res_model">account.general_ledger.line</field>
<field name="context_model">account.general_ledger.line.context</field>
<field name="domain" eval="[('account', 'in', Eval('active_ids', []))]"
pyson="1"/>
</record>
<record model="ir.action.act_window.view"
id="act_general_ledger_line_form_view1">
<field name="sequence" eval="10"/>
<field name="view" ref="general_ledger_line_view_list"/>
<field name="act_window" ref="act_general_ledger_line_form"/>
</record>
<record model="ir.action.keyword" id="act_general_ledger_line_form_keyword">
<field name="keyword">tree_open</field>
<field name="model">account.general_ledger.account,-1</field>
<field name="action" ref="act_general_ledger_line_form"/>
</record>
<!-- TODO relate from account -->
<record model="ir.model.access" id="access_general_ledger_line">
<field name="model" search="[('model', '=', 'account.general_ledger.line')]"/>
<field name="perm_read" eval="False"/>
<field name="perm_write" eval="False"/>
<field name="perm_create" eval="False"/>
<field name="perm_delete" eval="False"/>
</record>
<record model="ir.model.access" id="access_general_ledger_line_account">
<field name="model" search="[('model', '=', 'account.general_ledger.line')]"/>
<field name="group" ref="group_account"/>
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="False"/>
<field name="perm_create" eval="False"/>
<field name="perm_delete" eval="False"/>
</record>
<record model="ir.ui.view" id="general_ledger_account_context_view_form">
<field name="model">account.general_ledger.account.context</field>
<field name="type">form</field>
<field name="name">open_balance_sheet_start_form</field>
<field name="name">general_ledger_account_context_form</field>
</record>
<record model="ir.ui.view" id="general_ledger_line_context_view_form">
<field name="model">account.general_ledger.line.context</field>
<field name="inherit" ref="general_ledger_account_context_view_form"/>
<field name="name">general_ledger_line_context_form</field>
</record>
<record model="ir.ui.view" id="account_balance_sheet_view_tree">
@@ -472,9 +540,11 @@ this repository contains the full copyright notices and license terms. -->
<record model="ir.action.act_window" id="act_account_balance_sheet_tree">
<field name="name">Balance Sheet</field>
<field name="res_model">account.account.type</field>
<field name="context_model">account.balance_sheet.context</field>
<field name="domain"
eval="[('balance_sheet', '=', True), ['OR', ('parent', '=', None), ('parent.balance_sheet', '=', False)]]"
pyson="1"/>
<field name="context" eval="{'cumulate': True}" pyson="1"/>
</record>
<record model="ir.action.act_window.view" id="act_balance_sheet_view1">
<field name="sequence" eval="10"/>
@@ -482,18 +552,13 @@ this repository contains the full copyright notices and license terms. -->
<field name="act_window" ref="act_account_balance_sheet_tree"/>
</record>
<record model="ir.action.wizard" id="wizard_open_balance_sheet">
<field name="name">Open Balance Sheet</field>
<field name="wiz_name">account.open_balance_sheet</field>
</record>
<menuitem parent="menu_reporting" action="wizard_open_balance_sheet"
id="menu_open_balance_sheet" icon="tryton-tree"
name="Balance Sheet"/>
<menuitem parent="menu_reporting" action="act_account_balance_sheet_tree"
id="menu_open_balance_sheet"/>
<record model="ir.ui.view" id="open_income_statement_start_view_form">
<field name="model">account.open_income_statement.start</field>
<record model="ir.ui.view" id="balance_sheet_context_view_form">
<field name="model">account.balance_sheet.context</field>
<field name="type">form</field>
<field name="name">open_income_statement_start_form</field>
<field name="name">balance_sheet_context_form</field>
</record>
<record model="ir.ui.view" id="account_income_statement_view_tree">
@@ -505,6 +570,7 @@ this repository contains the full copyright notices and license terms. -->
<record model="ir.action.act_window" id="act_account_income_statement_tree">
<field name="name">Income Statement</field>
<field name="res_model">account.account.type</field>
<field name="context_model">account.income_statement.context</field>
<field name="domain"
eval="[('income_statement', '=', True), ['OR', ('parent', '=', None), ('parent.income_statement', '=', False)]]"
pyson="1"/>
@@ -515,31 +581,49 @@ this repository contains the full copyright notices and license terms. -->
<field name="act_window" ref="act_account_income_statement_tree"/>
</record>
<record model="ir.action.wizard" id="wizard_open_income_statement">
<field name="name">Open Income Statement</field>
<field name="wiz_name">account.open_income_statement</field>
</record>
<menuitem parent="menu_reporting" action="wizard_open_income_statement"
id="menu_open_income_statement" icon="tryton-tree"
name="Income Statement"/>
<menuitem parent="menu_reporting" action="act_account_income_statement_tree"
id="menu_open_income_statement"/>
<record model="ir.ui.view" id="open_aged_balance_start_view_form">
<field name="model">account.open_aged_balance.start</field>
<record model="ir.ui.view" id="income_statement_context_view_form">
<field name="model">account.income_statement.context</field>
<field name="type">form</field>
<field name="name">open_aged_balance_start_form</field>
<field name="name">income_statement_context_form</field>
</record>
<record model="ir.ui.view" id="aged_balance_view_list">
<field name="model">account.aged_balance</field>
<field name="type">tree</field>
<field name="name">aged_balance_list</field>
</record>
<record model="ir.action.act_window" id="act_aged_balance_list">
<field name="name">Aged Balance</field>
<field name="res_model">account.aged_balance</field>
<field name="context_model">account.aged_balance.context</field>
</record>
<record model="ir.action.act_window.view" id="act_aged_balance_list_view1">
<field name="sequence" eval="10"/>
<field name="view" ref="aged_balance_view_list"/>
<field name="act_window" ref="act_aged_balance_list"/>
</record>
<menuitem parent="menu_reporting" action="act_aged_balance_list"
id="menu_aged_balance"/>
<record model="ir.ui.view" id="aged_balance_context_view_form">
<field name="model">account.aged_balance.context</field>
<field name="type">form</field>
<field name="name">aged_balance_context_form</field>
</record>
<record model="ir.action.report" id="report_aged_balance">
<field name="name">Aged Balance</field>
<field name="model"></field>
<field name="model">account.aged_balance</field>
<field name="report_name">account.aged_balance</field>
<field name="report">account/aged_balance.odt</field>
</record>
<record model="ir.action.wizard" id="wizard_open_aged_balance">
<field name="name">Open Aged Balance</field>
<field name="wiz_name">account.open_aged_balance</field>
<record model="ir.action.keyword" id="report_aged_balance_keyword">
<field name="keyword">form_print</field>
<field name="model">account.aged_balance,-1</field>
<field name="action" ref="report_aged_balance"/>
</record>
<menuitem parent="menu_reporting" action="wizard_open_aged_balance"
id="menu_aged_balance" icon="tryton-print"
name="Aged Balance"/>
</data>
</tryton>
BIN
View File
Binary file not shown.
Binary file not shown.
+1
View File
@@ -300,6 +300,7 @@ this repository contains the full copyright notices and license terms. -->
<field name="model">account.move.line,-1</field>
<field name="action" ref="act_reconcile_lines"/>
</record>
<!-- TODO keyword general ledger -->
<record model="ir.action.wizard" id="act_unreconcile_lines">
<field name="name">Unreconcile Lines</field>
+28 -10
View File
@@ -79,18 +79,36 @@ Create a moves::
Print some reports::
>>> print_general_ledger = Wizard('account.print_general_ledger')
>>> print_general_ledger.form.start_period = None
>>> print_general_ledger.form.end_period = None
>>> print_general_ledger.execute('print_')
>>> GeneralLedgerAccount = Model.get('account.general_ledger.account')
>>> gl_accounts = GeneralLedgerAccount.find([])
>>> print_trial_balance = Wizard('account.print_trial_balance')
>>> print_trial_balance.form.start_period = None
>>> print_trial_balance.form.end_period = None
>>> print_trial_balance.execute('print_')
>>> general_ledger = Report('account.general_ledger', context={
... 'company': company.id,
... 'fiscalyear': fiscalyear.id,
... })
>>> _ = general_ledger.execute(gl_accounts)
>>> aged_balance = Wizard('account.open_aged_balance')
>>> aged_balance.execute('print_')
>>> trial_balance = Report('account.trial_balance', context={
... 'company': company.id,
... 'fiscalyear': fiscalyear.id,
... })
>>> _ = trial_balance.execute(gl_accounts)
>>> AgedBalance = Model.get('account.aged_balance')
>>> context = {
... 'company': company.id,
... 'type': 'customer',
... 'date': today,
... 'term1': 30,
... 'term2': 60,
... 'term3': 90,
... 'unit': 'day',
... }
>>> with config.set_context(context):
... aged_balances = AgedBalance.find([])
>>> aged_balance = Report('account.aged_balance', context=context)
>>> _ = aged_balance.execute(aged_balances)
>>> print_general_journal = Wizard('account.move.print_general_journal')
>>> print_general_journal.execute('print_')
BIN
View File
Binary file not shown.
@@ -1,25 +1,22 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<form string="Open Aged Balance" col="4">
<label name="balance_type"/>
<field name="balance_type"/>
<newline/>
<form string="Aged Balance" col="6">
<label name="date"/>
<field name="date"/>
<label name="company"/>
<field name="company"/>
<label name="posted"/>
<field name="posted"/>
<label name="date"/>
<field name="date"/>
<separator string="Terms" colspan="4" id="terms"/>
<label name="term1"/>
<field name="term1"/>
<label name="type"/>
<field name="type"/>
<label name="unit"/>
<field name="unit"/>
<newline/>
<separator string="Terms" colspan="6" id="terms"/>
<label name="term1"/>
<field name="term1"/>
<label name="term2"/>
<field name="term2"/>
<newline/>
<label name="term3"/>
<field name="term3"/>
</form>
+11
View File
@@ -0,0 +1,11 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<tree string="Aged Balance">
<field name="party"/>
<field name="term0" expand="1"/>
<field name="term1" expand="1"/>
<field name="term2" expand="1"/>
<field name="term3" expand="1"/>
<field name="balance" expand="1"/>
</tree>
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<form string="Open Balance Sheet" col="2">
<form string="Balance Sheet" col="6">
<label name="date"/>
<field name="date"/>
<label name="company"/>
@@ -1,17 +1,15 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<form string="Print Trial Balance">
<form string="General Ledger" col="6">
<label name="fiscalyear"/>
<field name="fiscalyear"/>
<label name="empty_account"/>
<field name="empty_account"/>
<label name="start_period"/>
<field name="start_period"/>
<label name="end_period"/>
<field name="end_period"/>
<label name="company"/>
<field name="company"/>
<label name="posted"/>
<field name="posted"/>
<label name="start_period"/>
<field name="start_period"/>
<label name="end_period"/>
<field name="end_period"/>
</form>
+11
View File
@@ -0,0 +1,11 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<tree string="General Ledger - Accounts" keyword_open="1">
<field name="code"/>
<field name="name" expand="1"/>
<field name="start_balance" sum="Start Balance"/>
<field name="debit" sum="Debit"/>
<field name="credit" sum="Credit"/>
<field name="end_balance" sum="End Balance"/>
</tree>
@@ -0,0 +1,9 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<data>
<xpath expr="/form/field[@name='end_period']" position="after">
<label name="party_cumulate"/>
<field name="party_cumulate"/>
</xpath>
</data>
+16
View File
@@ -0,0 +1,16 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<tree string="General Legder - Lines">
<field name="date"/>
<field name="account"/>
<field name="party"/>
<field name="move"/>
<field name="description" expand="1"/>
<field name="move_description" expand="1"/>
<field name="origin"/>
<field name="state"/>
<field name="debit" sum="Debit"/>
<field name="credit" sum="Credit"/>
<field name="balance"/>
</tree>
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<form string="Open Income Statement">
<form string="Income Statement">
<label name="fiscalyear"/>
<field name="fiscalyear"/>
<newline/>
-17
View File
@@ -1,17 +0,0 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<form string="Print General Ledger">
<label name="fiscalyear"/>
<field name="fiscalyear"/>
<label name="empty_account"/>
<field name="empty_account"/>
<label name="start_period"/>
<field name="start_period"/>
<label name="end_period"/>
<field name="end_period"/>
<label name="company"/>
<field name="company"/>
<label name="posted"/>
<field name="posted"/>
</form>