[FIX] purchase: keep PO currency on picking

The delivery of a purchase order was not keeping the currency and cost price
from the purchase order for the reception. This was problematic for orders where
the invoice was generated from the picking (Invoicing Control: Based on incoming
shipments). The currency of the purchase order was kept while the cost was the
one in the company's currency.
It's better to keep the currency of the purchase order to make the invoice as
it's usually the one expected (and not convert everything to the currency of the
company). opw 615555
This commit is contained in:
Martin Trigaux 2014-11-14 16:51:13 +01:00
parent da15c9d27b
commit 0a7633c11e
1 changed files with 10 additions and 0 deletions

View File

@ -147,6 +147,16 @@ class stock_partial_picking(osv.osv_memory):
return {'cost': cost, 'currency': company_currency}
return super(stock_partial_picking, self)._product_cost_for_average_update(cr, uid, move)
def _partial_move_for(self, cr, uid, move, context=None):
partial_move = super(stock_partial_picking, self)._partial_move_for(cr, uid, move, context=context)
if move.picking_id.purchase_id and move.purchase_line_id:
pur_currency = move.purchase_line_id.order_id.currency_id.id
partial_move.update({
'currency': pur_currency,
'cost': move.purchase_line_id.price_unit
})
return partial_move
def __get_help_text(self, cursor, user, picking_id, context=None):
picking = self.pool.get('stock.picking').browse(cursor, user, picking_id, context=context)
if picking.purchase_id: