From 0f70f78093eee326746ed63eea4084180bac8b06 Mon Sep 17 00:00:00 2001 From: pinky <> Date: Mon, 18 Dec 2006 20:00:53 +0000 Subject: [PATCH] Accounting board bzr revid: pinky-3012f9f7496ad67e41980d4d7e7b9014b4a79ec3 --- addons/board_account/__terp__.py | 2 +- addons/board_account/board_account_view.xml | 113 ++++++++---------- addons/report_account/__init__.py | 2 +- addons/report_account/__terp__.py | 2 +- addons/report_account/report_receivable.py | 57 +++++---- .../report_account/report_receivable_view.xml | 69 +++++------ addons/report_analytic/report_analytic.py | 4 +- .../report_analytic/report_analytic_view.xml | 3 + .../report_analytic_line.py | 67 ++++++----- .../report_analytic_line_view.xml | 20 +++- 10 files changed, 174 insertions(+), 165 deletions(-) diff --git a/addons/board_account/__terp__.py b/addons/board_account/__terp__.py index 8a475cf9905..32f934579ee 100644 --- a/addons/board_account/__terp__.py +++ b/addons/board_account/__terp__.py @@ -3,7 +3,7 @@ "version":"1.0", "author":"Tiny", "category":"Board", - "depends":["account","hr_timesheet_invoice","board"], + "depends":["account","hr_timesheet_invoice","board","report_account","report_analytic","report_analytic_line"], "demo_xml":[], "update_xml":["board_account_view.xml"], "active":False, diff --git a/addons/board_account/board_account_view.xml b/addons/board_account/board_account_view.xml index 598da523bc0..b419a45ade7 100644 --- a/addons/board_account/board_account_view.xml +++ b/addons/board_account/board_account_view.xml @@ -6,82 +6,58 @@ Accountants - - project.task.tree - project.task - tree - - - - - - - - - - - - - - My open tasks - project.task + + + report.account.analytic.line.tree + report.account.analytic.line.to.invoice form - tree,graph - [('user_id','=',uid),('state','=','open')] - - - - My task's deadlines - project.task - form - tree,graph - [('user_id','=',uid),('state','=','open'),('date_deadline','<>',False)] - + graph,tree - - Public notes - board.note + + report.account.receivable.graph + report.account.receivable form - tree - [('type','=','Project')] + graph,tree + [('type','=','receivable')] + + + report.account.income.graph + report.account.receivable + form + graph,tree + [('type','=','income')] - - board.project.form + + + board.account.form board.board form -
+ - - - + string="Draft invoices" + name="%(account.action_invoice_tree5)d" + colspan="4" + height="160"/> @@ -93,15 +69,22 @@ colspan="4"/> + @@ -109,19 +92,19 @@ - - Dashboard project member + + Dashboard accountant board.board form form menu - + + id="menu_board_account"/> diff --git a/addons/report_account/__init__.py b/addons/report_account/__init__.py index c7670e6ab32..7e7281fbe07 100644 --- a/addons/report_account/__init__.py +++ b/addons/report_account/__init__.py @@ -27,4 +27,4 @@ # ############################################################################## -import report_account +import report_receivable diff --git a/addons/report_account/__terp__.py b/addons/report_account/__terp__.py index c3177df9855..433ce87b489 100644 --- a/addons/report_account/__terp__.py +++ b/addons/report_account/__terp__.py @@ -8,7 +8,7 @@ "description": "A module that adds new reports based on the account module.", "init_xml" : [], "demo_xml" : [], - "update_xml" : ["report_account_view.xml"], + "update_xml" : ["report_receivable_view.xml"], "active": False, "installable": True } diff --git a/addons/report_account/report_receivable.py b/addons/report_account/report_receivable.py index a81688ba741..c81d10653ef 100644 --- a/addons/report_account/report_receivable.py +++ b/addons/report_account/report_receivable.py @@ -29,40 +29,45 @@ from osv import fields,osv +def _code_get(self, cr, uid, context={}): + acc_type_obj = self.pool.get('account.account.type') + ids = acc_type_obj.search(cr, uid, []) + res = acc_type_obj.read(cr, uid, ids, ['code', 'name'], context) + return [(r['code'], r['name']) for r in res] + + class report_account_receivable(osv.osv): _name = "report.account.receivable" _description = "Receivable accounts" _auto = False _columns = { - 'name': fields.date('Month', readonly=True), - 'user_id':fields.many2one('res.users', 'User', readonly=True, relate=True), - 'section_id':fields.many2one('crm.case.section', 'Section', readonly=True, relate=True), - 'amount_revenue': fields.float('Est.Revenue', readonly=True), - 'amount_costs': fields.float('Est.Cost', readonly=True), - 'amount_revenue_prob': fields.float('Est. Rev*Prob.', readonly=True), - 'nbr': fields.integer('# of Cases', readonly=True), - 'probability': fields.float('Avg. Probability', readonly=True), - 'state': fields.selection(AVAILABLE_STATES, 'State', size=16, readonly=True), - 'delay_close': fields.integer('Delay to close', readonly=True), + 'name': fields.char('Week of Year', size=7, readonly=True), + 'type': fields.selection(_code_get, 'Account Type', required=True), + 'balance':fields.float('Balance', readonly=True), + 'debit':fields.float('Debit', readonly=True), + 'credit':fields.float('Credit', readonly=True), } - _order = 'name desc, user_id, section_id' + _order = 'name desc' def init(self, cr): cr.execute(""" - create or replace view report_crm_case_user as ( + create or replace view report_account_receivable as ( select - min(c.id) as id, - substring(c.create_date for 7)||'-01' as name, - c.state, - c.user_id, - c.section_id, - count(*) as nbr, - sum(planned_revenue) as amount_revenue, - sum(planned_cost) as amount_costs, - sum(planned_revenue*probability)::decimal(16,2) as amount_revenue_prob, - avg(probability)::decimal(16,2) as probability, - to_char(avg(date_closed-c.create_date), 'DD"d" HH12:MI:SS') as delay_close + min(l.id) as id, + to_char(date,'YYYY:IW') as name, + sum(l.debit-l.credit) as balance, + sum(l.debit) as debit, + sum(l.credit) as credit, + a.type from - crm_case c - group by substring(c.create_date for 7), c.state, c.user_id, c.section_id + account_move_line l + left join + account_account a on (l.account_id=a.id) + where + l.state <> 'draft' + group by + to_char(date,'YYYY:IW'), a.type )""") -report_crm_case_user() +report_account_receivable() + + #a.type in ('receivable','payable') + diff --git a/addons/report_account/report_receivable_view.xml b/addons/report_account/report_receivable_view.xml index 11f02fbb9f3..202ed5cb4c2 100644 --- a/addons/report_account/report_receivable_view.xml +++ b/addons/report_account/report_receivable_view.xml @@ -3,64 +3,57 @@ # - # Cases by user and section + # Balance by account type # + + report.account.receivable.graph + report.account.receivable + graph + + + + + + + - report.crm.case.user.tree - report.crm.case.user + report.account.receivable.tree + report.account.receivable tree - + - - - - - - - - - + + + + - report.crm.case.user.form - report.crm.case.user + report.account.receivable.form + report.account.receivable form - + - - - - + - - report.crm.case.user.graph - report.crm.case.user - graph - - - - - - - - - - - report.crm.case.user.tree - report.crm.case.user + + report.account.receivable.graph + report.account.receivable form tree,graph - [('name','=',time.strftime('%Y-%m-01'))] + - + diff --git a/addons/report_analytic/report_analytic.py b/addons/report_analytic/report_analytic.py index f4ff0a418fb..9cb9d983a88 100644 --- a/addons/report_analytic/report_analytic.py +++ b/addons/report_analytic/report_analytic.py @@ -35,6 +35,7 @@ class report_analytic_account_close(osv.osv): _auto = False _columns = { 'name': fields.many2one('account.analytic.account', 'Analytic account', readonly=True), + 'state': fields.char('State', size=32, readonly=True), 'partner_id': fields.many2one('res.partner', 'Partner', readonly=True), 'quantity': fields.float('Quantity', readonly=True), 'quantity_max': fields.float('Max. Quantity', readonly=True), @@ -47,6 +48,7 @@ class report_analytic_account_close(osv.osv): select a.id as id, a.id as name, + a.state as state, sum(l.unit_amount) as quantity, sum(l.amount) as balance, a.partner_id as partner_id, @@ -57,7 +59,7 @@ class report_analytic_account_close(osv.osv): right join account_analytic_account a on (l.account_id=a.id) group by - a.id,a.quantity_max,a.date,a.partner_id + a.id,a.state, a.quantity_max,a.date,a.partner_id having (a.quantity_max>0 and (sum(l.unit_amount)>=a.quantity_max)) or a.date <= current_date diff --git a/addons/report_analytic/report_analytic_view.xml b/addons/report_analytic/report_analytic_view.xml index 7c45d0ed756..cb67573b16e 100644 --- a/addons/report_analytic/report_analytic_view.xml +++ b/addons/report_analytic/report_analytic_view.xml @@ -15,6 +15,7 @@ + @@ -31,6 +32,7 @@ + @@ -57,6 +59,7 @@ report.analytic.account.close form tree,graph + [('state','=','open')]
report.account.analytic.line.to.invoice
form - + @@ -25,22 +25,36 @@ report.account.analytic.line.to.invoice tree - + +
+ + report.account.analytic.line.to.invoice.graph + report.account.analytic.line.to.invoice + graph + + + + + + + + + report.account.analytic.line.tree report.account.analytic.line.to.invoice form - tree + tree,graph