For postgresql-8.4, here is what you can do :
1. launch psql -U <youropenerpusername>
2.
DROP VIEW report_account_invoice_product;
ALTER TABLE account_invoice_line ALTER COLUMN discount TYPE numeric(16,6);
CREATE VIEW report_account_invoice_product AS SELECT min(l.id) AS id, i.create_date AS date, to_char(date_trunc('day'::text, (i.date_invoice)::timestamp with time zone), 'YYYY'::text) AS year, to_char(date_trunc('day'::text, (i.date_invoice)::timestamp with time zone), 'MM'::text) AS month, to_char(date_trunc('day'::text, (i.date_invoice)::timestamp with time zone), 'YYYY-MM-DD'::text) AS day, i.type, i.state, l.product_id, t.categ_id, i.partner_id, sum(((l.quantity * (l.price_unit)::double precision) * ((1.0 - (l.discount / 100.0)))::double precision)) AS amount, sum((l.quantity * (l.cost_price)::double precision)) AS cost_price, sum((((l.quantity * (l.price_unit)::double precision) * ((1.0 - (l.discount / 100.0)))::double precision) - (l.quantity * (l.cost_price)::double precision))) AS margin, sum(l.quantity) AS quantity FROM (((account_invoice i LEFT JOIN account_invoice_line l ON ((i.id = l.invoice_id))) LEFT JOIN product_product p ON ((p.id = l.product_id))) LEFT JOIN product_template t ON ((t.id = p.product_tmpl_id))) GROUP BY t.categ_id, i.partner_id, l.product_id, i.date_invoice, i.type, i.state, i.create_date;
\q
sudo vim /usr/local/lib/python2.6/dist-packages/openerp-server/addons/openerp6-module/sale.py
/ALTER
dd for the line containing ALTER TABLE account_invoice_line ALTER COLUMN discount TYPE numeric(16,6);
:wq
For postgresql-8.4, here is what you can do : rname> account_ invoice_ product;
1. launch psql -U <youropenerpuse
2.
DROP VIEW report_
ALTER TABLE account_ invoice_ line ALTER COLUMN discount TYPE numeric(16,6);
CREATE VIEW report_ account_ invoice_ product AS SELECT min(l.id) AS id, i.create_date AS date, to_char( date_trunc( 'day':: text, (i.date_ invoice) ::timestamp with time zone), 'YYYY'::text) AS year, to_char( date_trunc( 'day':: text, (i.date_ invoice) ::timestamp with time zone), 'MM'::text) AS month, to_char( date_trunc( 'day':: text, (i.date_ invoice) ::timestamp with time zone), 'YYYY-MM-DD'::text) AS day, i.type, i.state, l.product_id, t.categ_id, i.partner_id, sum(((l.quantity * (l.price_ unit):: double precision) * ((1.0 - (l.discount / 100.0)))::double precision)) AS amount, sum((l.quantity * (l.cost_ price): :double precision)) AS cost_price, sum((((l.quantity * (l.price_ unit):: double precision) * ((1.0 - (l.discount / 100.0)))::double precision) - (l.quantity * (l.cost_ price): :double precision))) AS margin, sum(l.quantity) AS quantity FROM (((account_invoice i LEFT JOIN account_ invoice_ line l ON ((i.id = l.invoice_id))) LEFT JOIN product_product p ON ((p.id = l.product_id))) LEFT JOIN product_template t ON ((t.id = p.product_ tmpl_id) )) GROUP BY t.categ_id, i.partner_id, l.product_id, i.date_invoice, i.type, i.state, i.create_date;
\q
sudo vim /usr/local/ lib/python2. 6/dist- packages/ openerp- server/ addons/ openerp6- module/ sale.py
/ALTER invoice_ line ALTER COLUMN discount TYPE numeric(16,6);
dd for the line containing ALTER TABLE account_
:wq