From cfbee92a61041257ae8b2befdeba4f559e3b8195 Mon Sep 17 00:00:00 2001 From: Josse Colpaert Date: Mon, 3 Jun 2013 17:15:21 +0200 Subject: [PATCH] [IMP] Change product view for updating price, uom in product margin bzr revid: jco@openerp.com-20130603151521-88glofqgcnu3u53o --- addons/product/product_view.xml | 2 +- addons/product_margin/product_margin.py | 10 ++++++---- addons/purchase/test/fifo_price.yml | 14 +++++++------- addons/stock/product_view.xml | 4 ++-- 4 files changed, 16 insertions(+), 14 deletions(-) diff --git a/addons/product/product_view.xml b/addons/product/product_view.xml index bcc0ae838ae..8fb6615feda 100644 --- a/addons/product/product_view.xml +++ b/addons/product/product_view.xml @@ -97,7 +97,7 @@ - + diff --git a/addons/product_margin/product_margin.py b/addons/product_margin/product_margin.py index d6ca9d98c0b..ce669bf4841 100644 --- a/addons/product_margin/product_margin.py +++ b/addons/product_margin/product_margin.py @@ -56,16 +56,18 @@ class product_product(osv.osv): else: company_id = self.pool.get("res.users").browse(cr, uid, uid, context=context).company_id.id - #TODO: here we keep the property + #Cost price is calculated afterwards as it is a property sqlstr="""select - sum(l.price_unit * l.quantity)/sum(l.quantity) as avg_unit_price, - sum(l.quantity) as num_qty, + sum(l.price_unit * l.quantity)/sum(l.quantity * pu.factor / pu2.factor) as avg_unit_price, + sum(l.quantity * pu.factor / pu2.factor) as num_qty, sum(l.quantity * (l.price_subtotal/l.quantity)) as total, - sum(l.quantity * pt.list_price) as sale_expected + sum(l.quantity * pu.factor * pt.list_price / pu2.factor) as sale_expected from account_invoice_line l left join account_invoice i on (l.invoice_id = i.id) left join product_product product on (product.id=l.product_id) left join product_template pt on (pt.id = l.product_id) + left join product_uom pu on (pt.uom_id = pu.id) + left join product_uom pu2 on (i.uos_id = pu2.id) where l.product_id = %s and i.state in %s and i.type IN %s and (i.date_invoice IS NULL or (i.date_invoice>=%s and i.date_invoice<=%s and i.company_id=%s)) """ invoice_types = ('out_invoice', 'in_refund') diff --git a/addons/purchase/test/fifo_price.yml b/addons/purchase/test/fifo_price.yml index d6bb16cff8f..00f36bea6fb 100644 --- a/addons/purchase/test/fifo_price.yml +++ b/addons/purchase/test/fifo_price.yml @@ -180,7 +180,7 @@ - Purchase order in usd - - I create a draft Purchase Order for 30 kg at 0.150 USD/g and 10 kg at 150 USD/kg + I create a draft Purchase Order for 30000 g at 0.150 USD/g and 10 kg at 150 USD/kg - !record {model: purchase.order, id: purchase_order_fifo_usd}: partner_id: base.res_partner_3 @@ -188,9 +188,9 @@ pricelist_id: supplier_pricelist_usd order_line: - product_id: product_fifo_icecream - product_qty: 30.0 - product_uom: product.product_uom_kgm - price_unit: 150.0 + product_qty: 30000 + product_uom: product.product_uom_gram + price_unit: 0.150 name: 'FIFO Ice Cream' - product_id: product_fifo_icecream product_qty: 10.0 @@ -208,7 +208,7 @@ partial_id = self.create(cr, uid, {}, context={'active_model': 'stock.picking','active_ids': [pick_ids[0].id]}) self.do_partial(cr, uid, [partial_id]) - - We create delivery order of 49.500 kg + We create delivery order of 49.5 kg - !record {model: stock.picking, id: outgoing_fifo_shipment_cur}: type: out @@ -219,7 +219,7 @@ picking_id: outgoing_fifo_shipment_cur product_id: product_fifo_icecream product_uom: product.product_uom_kgm - product_qty: 49.500 + product_qty: 49.5 type: out - Process the delivery of the outgoing shipment @@ -228,7 +228,7 @@ partial_id = self.create(cr, uid, {}, context={'active_model': 'stock.picking','active_ids': [ref("outgoing_fifo_shipment_cur")], 'default_type':'out'}) self.do_partial(cr, uid, [partial_id]) - - Check rounded price is 102 euro = (30 kg * ) + Check rounded price is 102 euro - !python {model: product.product}: | assert round(self.browse(cr, uid, ref("product_fifo_icecream")).standard_price) == 102 diff --git a/addons/stock/product_view.xml b/addons/stock/product_view.xml index e52a0181206..6355bc04244 100644 --- a/addons/stock/product_view.xml +++ b/addons/stock/product_view.xml @@ -134,9 +134,9 @@