[Add]: Add SQL view report for Accounts.
bzr revid: rch_open_erp-20100427123023-npkej0o1ed0viscq
This commit is contained in:
@@ -100,6 +100,7 @@ module named account_voucherss
|
||||
'report/account_invoice_report_view.xml',
|
||||
'report/account_report_view.xml',
|
||||
'report/account_analytic_report_view.xml',
|
||||
'report/account_account_report_view.xml'
|
||||
],
|
||||
'demo_xml': [
|
||||
#'demo/price_accuracy00.yml',
|
||||
|
||||
@@ -37,6 +37,6 @@ import compare_account_balance
|
||||
import account_invoice_report
|
||||
import account_report
|
||||
import account_analytic_report
|
||||
|
||||
import account_account_report
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
|
||||
@@ -0,0 +1,77 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
import tools
|
||||
from osv import fields,osv
|
||||
|
||||
class account_account_report(osv.osv):
|
||||
_name = "account.account.report"
|
||||
_description = "Account Report"
|
||||
_auto = False
|
||||
_columns = {
|
||||
'name': fields.char('Name', size=128, readonly=True),
|
||||
'code': fields.char('Code', size=64, readonly=True),
|
||||
'type': fields.selection([
|
||||
('receivable', 'Receivable'),
|
||||
('payable', 'Payable'),
|
||||
('view', 'View'),
|
||||
('consolidation', 'Consolidation'),
|
||||
('other', 'Others'),
|
||||
('closed', 'Closed'),
|
||||
], 'Internal Type', readonly=True),
|
||||
'company_id': fields.many2one('res.company', 'Company', required=True),
|
||||
'currency_mode': fields.selection([('current', 'At Date'), ('average', 'Average Rate')], 'Outgoing Currencies Rate',readonly=True),
|
||||
'user_type': fields.many2one('account.account.type', 'Account Type',readonly=True),
|
||||
'credit': fields.float('Credit', readonly=True),
|
||||
'debit': fields.float('Debit', readonly=True),
|
||||
'balance': fields.float('Balance', readonly=True)
|
||||
}
|
||||
def init(self, cr):
|
||||
tools.drop_view_if_exists(cr, 'account_account_report')
|
||||
cr.execute("""
|
||||
create or replace view account_account_report as (
|
||||
select
|
||||
min(a.id) as id,
|
||||
a.name,
|
||||
a.code,
|
||||
a.type as type,
|
||||
a.company_id as company_id,
|
||||
a.currency_mode as currency_mode,
|
||||
a.user_type as user_type,
|
||||
sum(m.credit) as credit,
|
||||
sum(m.debit) as debit,
|
||||
(sum(m.credit)-sum(m.debit)) as balance
|
||||
from
|
||||
account_account as a
|
||||
left join
|
||||
account_move_line as m
|
||||
on m.account_id=a.id
|
||||
group by
|
||||
a.name,
|
||||
a.code,
|
||||
a.type,
|
||||
a.company_id,
|
||||
a.currency_mode,
|
||||
a.user_type,
|
||||
m.account_id
|
||||
)
|
||||
""")
|
||||
account_account_report()
|
||||
@@ -0,0 +1,83 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<record id="view_account_account_report_tree" model="ir.ui.view">
|
||||
<field name="name">account.account.report.tree</field>
|
||||
<field name="model">account.account.report</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Account Report">
|
||||
<field name="name" invisible="1"/>
|
||||
<field name="code" invisible="1"/>
|
||||
<field name="type" invisible="1"/>
|
||||
<field name="company_id" invisible="1"/>
|
||||
<field name="currency_mode" invisible="1"/>
|
||||
<field name="user_type" invisible="1"/>
|
||||
<field name="credit" sum="Credit"/>
|
||||
<field name="debit" sum="Debit"/>
|
||||
<field name="balance" sum="Balance"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_account_account_report_graph" model="ir.ui.view">
|
||||
<field name="name">account.account.report.graph</field>
|
||||
<field name="model">account.account.report</field>
|
||||
<field name="type">graph</field>
|
||||
<field name="arch" type="xml">
|
||||
<graph string="Accounts" type="bar">
|
||||
<field name="name"/>
|
||||
<field name="credit" operator="+"/>
|
||||
<field name="debit" operator="+"/>
|
||||
<field name="balance" operator="+"/>
|
||||
</graph>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_account_account_report_search" model="ir.ui.view">
|
||||
<field name="name">account.account.report.search</field>
|
||||
<field name="model">account.account.report</field>
|
||||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Accounts">
|
||||
<group>
|
||||
<filter icon="terp-account"
|
||||
string="At Date"
|
||||
domain="[('currency_mode','=', 'current')]"/>
|
||||
<filter icon="terp-account"
|
||||
string="Average Rate"
|
||||
domain="[('currency_mode','=','average')]"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="code"/>
|
||||
<field name="name"/>
|
||||
<field name="company_id" widget="selection"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Extended options..." colspan="10" col="12">
|
||||
<field name="type"/>
|
||||
<field name="user_type" />
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="1" string="Group By..." colspan="10" col="12">
|
||||
<filter string="Company" name="Company" icon="terp-account" context="{'group_by':'company_id'}"/>
|
||||
<filter string="Outgoing Currencies Rate" icon="terp-account" context="{'group_by':'currency_mode'}"/>
|
||||
<filter string="Internal Type" icon="terp-account" context="{'group_by':'type'}"/>
|
||||
<filter string="Account Type" icon="terp-account" context="{'group_by':'user_type'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_account_account_report" model="ir.actions.act_window">
|
||||
<field name="name">Accounts</field>
|
||||
<field name="res_model">account.account.report</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,graph</field>
|
||||
<field name="context">{"search_default_Company":1,"search_default_At Date":1,'group_by_no_leaf':1,'group_by':[]}</field>
|
||||
<field name="search_view_id" ref="view_account_account_report_search"/>
|
||||
</record>
|
||||
|
||||
<menuitem action="action_account_account_report" id="menu_action_account_account_report" parent="account.menu_finance_reporting" sequence="1"/>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
@@ -47,7 +47,7 @@
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,graph</field>
|
||||
</record>
|
||||
<menuitem action="action_account_receivable_graph" id="menu_account_receivable_graph" parent="account.menu_finance_reporting"/>
|
||||
<!-- <menuitem action="action_account_receivable_graph" id="menu_account_receivable_graph" parent="account.menu_finance_reporting"/> -->
|
||||
|
||||
<!-- Report for Aged Receivable -->
|
||||
|
||||
@@ -116,7 +116,7 @@
|
||||
</record>
|
||||
|
||||
<!-- <menuitem id="menu_report_this_month" name="This Month" parent="account.menu_finance_reporting"/>-->
|
||||
<menuitem id="menu_report_all_months" name="Sales by Account" parent="account.menu_finance_reporting"/>
|
||||
<!-- <menuitem id="menu_report_all_months" name="Sales by Account" parent="account.menu_finance_reporting"/> -->
|
||||
<!-- Report of the sales by product and account -->
|
||||
<record id="view_report_account_sales_tree" model="ir.ui.view">
|
||||
<field name="name">report.account.sales.tree</field>
|
||||
@@ -169,7 +169,7 @@
|
||||
<field name="view_mode">graph,tree</field>
|
||||
<field name="search_view_id" ref="view_report_account_sales_search"/>
|
||||
</record>
|
||||
<menuitem action="action_report_account_sales_tree_all" id="menu_report_account_sales_all" parent="menu_report_all_months"/>
|
||||
<!-- <menuitem action="action_report_account_sales_tree_all" id="menu_report_account_sales_all" parent="menu_report_all_months"/> -->
|
||||
|
||||
<!-- Report of the sales by product and account type -->
|
||||
<record id="view_report_account_type_sales_tree" model="ir.ui.view">
|
||||
@@ -237,7 +237,7 @@
|
||||
<field name="view_mode">graph,tree</field>
|
||||
<field name="search_view_id" ref="view_report_account_type_sales_search"/>
|
||||
</record>
|
||||
<menuitem action="action_report_account_type_sales_tree_all" id="menu_report_account_type_sales_all" parent="menu_report_all_months"/>
|
||||
<!-- <menuitem action="action_report_account_type_sales_tree_all" id="menu_report_account_type_sales_all" parent="menu_report_all_months"/> -->
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
Reference in New Issue
Block a user