[IMP]:hr_expense:Improved SQL report.(Expense).
bzr revid: apa@tinyerp.com-20100429085209-lwal4qdyci0eu92p
This commit is contained in:
@@ -45,7 +45,9 @@ class hr_expense_report(osv.osv):
|
||||
'department_id':fields.many2one('hr.department','Department',readonly=True),
|
||||
'company_id':fields.many2one('res.company', 'Company', readonly=True),
|
||||
'user_id':fields.many2one('res.users', 'User', readonly=True),
|
||||
'currency_id': fields.many2one('res.currency', 'Currency', readonly=True),
|
||||
'price_total':fields.float('Total Price', readonly=True),
|
||||
'analytic_account': fields.many2one('account.analytic.account','Analytic account',readonly=True),
|
||||
'price_average':fields.float('Average Price', readonly=True),
|
||||
'nbr':fields.integer('# of Lines', readonly=True),
|
||||
'state': fields.selection([
|
||||
@@ -67,6 +69,7 @@ class hr_expense_report(osv.osv):
|
||||
date_trunc('day',s.create_date) as date,
|
||||
s.employee_id,
|
||||
s.journal_id,
|
||||
s.currency_id,
|
||||
to_date(to_char(s.date_confirm, 'dd-MM-YYYY'),'dd-MM-YYYY') as date_confirm,
|
||||
to_date(to_char(s.date_valid, 'dd-MM-YYYY'),'dd-MM-YYYY') as date_valid,
|
||||
s.invoice_id,
|
||||
@@ -75,6 +78,7 @@ class hr_expense_report(osv.osv):
|
||||
to_char(date_trunc('day',s.create_date), 'MM') as month,
|
||||
to_char(date_trunc('day',s.create_date), 'YYYY-MM-DD') as day,
|
||||
l.product_id as product_id,
|
||||
l.analytic_account as analytic_account,
|
||||
sum(l.unit_quantity * u.factor) as product_qty,
|
||||
s.user_id as user_id,
|
||||
s.company_id as company_id,
|
||||
@@ -82,18 +86,20 @@ class hr_expense_report(osv.osv):
|
||||
(sum(l.unit_quantity*l.unit_amount)/sum(l.unit_quantity * u.factor))::decimal(16,2) as price_average,
|
||||
count(*) as nbr,
|
||||
s.state
|
||||
from
|
||||
hr_expense_line l
|
||||
left join
|
||||
hr_expense_expense s on (s.id=l.expense_id)
|
||||
left join product_uom u on (u.id=l.uom_id)
|
||||
from hr_expense_line l
|
||||
left join hr_expense_expense s on (s.id=l.expense_id)
|
||||
left join product_uom u on (u.id=l.uom_id)
|
||||
group by
|
||||
date_trunc('day',s.create_date),
|
||||
to_char(date_trunc('day',s.create_date), 'YYYY'),
|
||||
to_char(date_trunc('day',s.create_date), 'MM'),
|
||||
to_char(date_trunc('day',s.create_date), 'YYYY-MM-DD'),
|
||||
to_date(to_char(s.date_confirm, 'dd-MM-YYYY'),'dd-MM-YYYY'),
|
||||
to_date(to_char(s.date_valid, 'dd-MM-YYYY'),'dd-MM-YYYY'),
|
||||
l.product_id,
|
||||
l.analytic_account,
|
||||
s.invoice_id,
|
||||
s.currency_id,
|
||||
s.department_id,
|
||||
l.uom_id,
|
||||
s.user_id,
|
||||
|
||||
@@ -14,9 +14,11 @@
|
||||
<field name="month" invisible="1"/>
|
||||
<field name="day" invisible="1"/>
|
||||
<field name="invoice_id" invisible="1"/>
|
||||
<field name="analytic_account" invisible="1"/>
|
||||
<field name="department_id" invisible="1"/>
|
||||
<field name="company_id" invisible="1"/>
|
||||
<field name="journal_id" invisible="1"/>
|
||||
<field name="currency_id" invisible="1"/>
|
||||
<field name="product_id" invisible="1"/>
|
||||
<field name="product_qty" invisible="1"/>
|
||||
<field name="nbr" sum="# of Lines"/>
|
||||
@@ -115,7 +117,10 @@
|
||||
<filter string="Employee" icon="terp-hr" context="{'group_by':'employee_id'}"/>
|
||||
<filter string="Company" icon="terp-hr" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Analytic account" icon="terp-hr" context="{'group_by':'analytic_account'}"/>
|
||||
<filter string="Currency" icon="terp-hr" context="{'group_by':'currency_id'}"/>
|
||||
<filter string="Department" icon="terp-hr" context="{'group_by':'department_id'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Product" icon="terp-hr" context="{'group_by':'product_id'}"/>
|
||||
<filter string="State" icon="terp-hr" context="{'group_by':'state'}"/>
|
||||
<filter string="Force Journal" icon="terp-hr" context="{'group_by':'journal_id'}"/>
|
||||
|
||||
Reference in New Issue
Block a user