From 22d36c0b6997e4111ac6d9f0b018f1281f3fc0ea Mon Sep 17 00:00:00 2001 From: pso Date: Fri, 24 Dec 2010 15:55:07 +0530 Subject: [PATCH] [IMP] account_voucher: Improved sales receipt analysis report bzr revid: pso@tinyerp.com-20101224102507-u1szniii1ba4eg7q --- .../report/report_sale_receipt.py | 27 ++++++++++++++----- .../report/report_sale_receipt_view.xml | 14 ++++------ 2 files changed, 26 insertions(+), 15 deletions(-) diff --git a/addons/account_voucher/report/report_sale_receipt.py b/addons/account_voucher/report/report_sale_receipt.py index 20fcf71d659..c488dd67180 100644 --- a/addons/account_voucher/report/report_sale_receipt.py +++ b/addons/account_voucher/report/report_sale_receipt.py @@ -36,7 +36,6 @@ class sale_receipt_report(osv.osv): 'month': fields.selection([('01','January'), ('02','February'), ('03','March'), ('04','April'), ('05','May'), ('06','June'), ('07','July'), ('08','August'), ('09','September'), ('10','October'), ('11','November'), ('12','December')], 'Month', readonly=True), - 'period_id': fields.many2one('account.period', 'Force Period', domain=[('state','<>','done')], 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), @@ -57,21 +56,26 @@ class sale_receipt_report(osv.osv): ('posted','Posted'), ('cancel','Cancelled') ], 'Voucher State', readonly=True), + 'pay_now':fields.selection([ + ('pay_now','Pay Directly'), + ('pay_later','Pay Later or Group Funds'), + ],'Payment', readonly=True), 'date_due': fields.date('Due Date', readonly=True), 'account_id': fields.many2one('account.account', 'Account',readonly=True), + 'delay_to_pay': fields.float('Avg. Delay To Pay', readonly=True, group_operator="avg"), + 'due_delay': fields.float('Avg. Due Delay', readonly=True, group_operator="avg") } _order = 'date desc' def init(self, cr): tools.drop_view_if_exists(cr, 'sale_receipt_report') cr.execute(""" create or replace view sale_receipt_report as ( - select min(avl.id) as id, + select min(avl.id) as id, av.date as date, to_char(av.date, 'YYYY') as year, to_char(av.date, 'MM') as month, to_char(av.date, 'YYYY-MM-DD') as day, av.partner_id as partner_id, - av.period_id as period_id, av.currency_id as currency_id, av.journal_id as journal_id, rp.user_id as user_id, @@ -79,6 +83,7 @@ class sale_receipt_report(osv.osv): count(avl.*) as nbr, av.type as type, av.state, + av.pay_now, av.date_due as date_due, av.account_id as account_id, sum(av.amount-av.tax_amount)/(select count(l.id) from account_voucher_line as l @@ -86,7 +91,17 @@ class sale_receipt_report(osv.osv): where a.id=av.id) as price_total, sum(av.amount)/(select count(l.id) from account_voucher_line as l left join account_voucher as a ON (a.id=l.voucher_id) - where a.id=av.id) as price_total_tax + where a.id=av.id) as price_total_tax, + sum((select extract(epoch from avg(date_trunc('day',aml.date_created)-date_trunc('day',l.create_date)))/(24*60*60)::decimal(16,2) + from account_move_line as aml + left join account_voucher as a ON (a.move_id=aml.move_id) + left join account_voucher_line as l ON (a.id=l.voucher_id) + where a.id=av.id)) as delay_to_pay, + sum((select extract(epoch from avg(date_trunc('day',a.date_due)-date_trunc('day',a.date)))/(24*60*60)::decimal(16,2) + from account_move_line as aml + left join account_voucher as a ON (a.move_id=aml.move_id) + left join account_voucher_line as l ON (a.id=l.voucher_id) + where a.id=av.id)) as due_delay from account_voucher_line as avl left join account_voucher as av on (av.id=avl.voucher_id) left join res_partner as rp ON (rp.id=av.partner_id) @@ -99,7 +114,6 @@ class sale_receipt_report(osv.osv): to_char(av.date, 'MM'), to_char(av.date, 'YYYY-MM-DD'), av.partner_id, - av.period_id, av.currency_id, av.journal_id, rp.user_id, @@ -110,7 +124,8 @@ class sale_receipt_report(osv.osv): av.account_id, av.tax_amount, av.amount, - av.tax_amount + av.tax_amount, + av.pay_now ) """) diff --git a/addons/account_voucher/report/report_sale_receipt_view.xml b/addons/account_voucher/report/report_sale_receipt_view.xml index 42efa74f910..15455743364 100644 --- a/addons/account_voucher/report/report_sale_receipt_view.xml +++ b/addons/account_voucher/report/report_sale_receipt_view.xml @@ -17,7 +17,6 @@ - @@ -25,6 +24,8 @@ + + @@ -66,11 +67,6 @@ name="sale" domain="[('type','=','sale')]" help="Sale Type Vouchers"/> - @@ -78,6 +74,7 @@ + @@ -86,7 +83,7 @@ - + @@ -95,7 +92,6 @@ - @@ -118,7 +114,7 @@ - + \ No newline at end of file