[IMP]:sale,purchase,account:Improved SQL reports.

bzr revid: apa@tinyerp.com-20100407090716-t2mf8cd54peqs4pp
This commit is contained in:
apa-tiny 2010-04-07 14:37:16 +05:30
parent 3681d53a91
commit c5c66ed258
4 changed files with 57 additions and 10 deletions

View File

@ -35,6 +35,11 @@ class account_invoice_report(osv.osv):
('10','October'), ('11','November'), ('12','December')], 'Month',readonly=True),
'product_id':fields.many2one('product.product', 'Product', readonly=True),
'product_qty':fields.float('Qty', readonly=True),
'payment_term': fields.many2one('account.payment.term', 'Payment Term',readonly=True),
'period_id': fields.many2one('account.period', 'Force Period', domain=[('state','<>','done')],readonly=True),
'fiscal_position': fields.many2one('account.fiscal.position', 'Fiscal Position',readonly=True),
'currency_id': fields.many2one('res.currency', 'Currency', readonly=True),
'journal_id': fields.many2one('account.journal', 'Journal',readonly=True),
'partner_id':fields.many2one('res.partner', 'Partner', readonly=True),
'company_id':fields.many2one('res.company', 'Company', readonly=True),
'user_id':fields.many2one('res.users', 'Salesman', readonly=True),
@ -69,6 +74,11 @@ class account_invoice_report(osv.osv):
l.product_id as product_id,
sum(l.quantity * u.factor) as product_qty,
s.partner_id as partner_id,
s.payment_term as payment_term,
s.period_id as period_id,
s.currency_id as currency_id,
s.journal_id as journal_id,
s.fiscal_position as fiscal_position,
s.user_id as user_id,
s.company_id as company_id,
sum(l.quantity*l.price_unit) as price_total,
@ -82,9 +92,19 @@ class account_invoice_report(osv.osv):
account_invoice s on (s.id=l.invoice_id)
left join product_uom u on (u.id=l.uos_id)
group by
s.type,s.date_invoice, s.partner_id, l.product_id,
l.uos_id, s.user_id, s.state,
s.company_id
s.type,
s.date_invoice,
s.partner_id,
l.product_id,
l.uos_id,
s.user_id,
s.state,
s.company_id,
s.payment_term,
s.period_id,
s.fiscal_position,
s.currency_id,
s.journal_id
)
""")
account_invoice_report()

View File

@ -21,6 +21,11 @@
<field name="price_average" avg="Average Price"/>
<field name="price_total" sum="Total Price"/>
<field name="state" invisible="1"/>
<field name="payment_term" invisible="1"/>
<field name="period_id" invisible="1"/>
<field name="fiscal_position" invisible="1"/>
<field name="currency_id" invisible="1"/>
<field name="journal_id" invisible="1"/>
</tree>
</field>
</record>
@ -88,11 +93,17 @@
<group expand="1" string="Group By..." colspan="10" col="12">
<filter string="Company" icon="terp-account" context="{'group_by':'company_id'}"/>
<filter string="Salesman" icon="terp-account" context="{'group_by':'user_id'}" default="1"/>
<filter string="Type" icon="terp-account" context="{'group_by':'type'}"/>
<filter string="Payment Term" icon="terp-account" context="{'group_by':'payment_term'}"/>
<separator orientation="vertical"/>
<filter string="Currency" icon="terp-account" context="{'group_by':'currency_id'}"/>
<filter string="Journal" icon="terp-account" context="{'group_by':'journal_id'}"/>
<filter string="Product" icon="terp-account" context="{'group_by':'product_id'}"/>
<filter string="Partner" icon="terp-account" context="{'group_by':'partner_id'}"/>
<filter string="State" icon="terp-account" context="{'group_by':'state'}"/>
<separator orientation="vertical"/>
<filter string="Force Period" icon="terp-account" context="{'group_by':'period_id'}"/>
<filter string="Fiscal Position" icon="terp-account" context="{'group_by':'fiscal_position'}"/>
<filter string="Month" icon="terp-account" context="{'group_by':'date'}"/>
<filter string="Year" icon="terp-account" context="{'group_by':'year'}"/>
</group>

View File

@ -90,10 +90,19 @@ class report_purchase_order(osv.osv):
left join purchase_order_line l on (s.id=l.order_id)
left join product_uom u on (u.id=l.product_uom)
where l.product_id is not null
group by s.company_id,s.create_uid,s.partner_id,
s.location_id,l.product_id,s.date_order,
to_char(s.date_order, 'YYYY'),to_char(s.date_order, 'MM'),s.state,
s.warehouse_id,s.fiscal_position,s.invoice_method
group by
s.company_id,
s.create_uid,
s.partner_id,
s.location_id,
l.product_id,
s.date_order,
to_char(s.date_order, 'YYYY'),
to_char(s.date_order, 'MM'),
s.state,
s.warehouse_id,
s.fiscal_position,
s.invoice_method
)
""")
report_purchase_order()

View File

@ -86,9 +86,16 @@ class sale_report(osv.osv):
sale_order s on (s.id=l.order_id)
left join product_uom u on (u.id=l.product_uom)
group by
s.date_order, s.partner_id, l.product_id,
l.product_uom, s.user_id, s.state, s.shop_id,
s.company_id,s.fiscal_position,s.payment_term
s.date_order,
s.partner_id,
l.product_id,
l.product_uom,
s.user_id,
s.state,
s.shop_id,
s.company_id,
s.fiscal_position,
s.payment_term
)
""")
sale_report()