[FIX]account_anglo_saxon: price unit of a move

The price unit of a move must be computed with the product_uom of
this move.

opw:640454
This commit is contained in:
Goffin Simon 2015-06-02 17:00:52 +02:00
parent 4a281754db
commit fb57514cf0
2 changed files with 10 additions and 4 deletions

View File

@ -91,7 +91,13 @@ class account_invoice_line(osv.osv):
if not cacc:
cacc = i_line.product_id.categ_id.property_account_expense_categ and i_line.product_id.categ_id.property_account_expense_categ.id
if dacc and cacc:
price_unit = i_line.move_id and i_line.move_id.price_unit or i_line.product_id.standard_price
if i_line.move_id:
price = i_line.move_id.product_id.standard_price
from_unit = i_line.move_id.product_tmpl_id.uom_id.id
to_unit = i_line.move_id.product_uom.id
price_unit = self.pool['product.uom']._compute_price(cr, uid, from_unit, price, to_uom_id=to_unit)
else:
price_unit = i_line.product_id.standard_price
return [
{
'type':'src',

View File

@ -319,9 +319,9 @@ class stock_picking(osv.osv):
invoice_line_vals['invoice_id'] = invoices[key]
invoice_line_vals['origin'] = origin
if not is_extra_move[move.id]:
product_price_unit[invoice_line_vals['product_id']] = invoice_line_vals['price_unit']
if is_extra_move[move.id] and invoice_line_vals['product_id'] in product_price_unit:
invoice_line_vals['price_unit'] = product_price_unit[invoice_line_vals['product_id']]
product_price_unit[invoice_line_vals['product_id'], invoice_line_vals['uos_id']] = invoice_line_vals['price_unit']
if is_extra_move[move.id] and (invoice_line_vals['product_id'], invoice_line_vals['uos_id']) in product_price_unit:
invoice_line_vals['price_unit'] = product_price_unit[invoice_line_vals['product_id'], invoice_line_vals['uos_id']]
if is_extra_move[move.id]:
desc = (inv_type == 'out_invoice' and move.product_id.product_tmpl_id.description_sale) or \
(inv_type == 'in_invoice' and move.product_id.product_tmpl_id.description_purchase)