[FIX] account_anglo_saxon: Enabled the multi-currency support for price diff calculation. (Maintenance Case: 606408)

bzr revid: rgo@tinyerp.com-20140415091428-az1rx5ngz79j4fh6
This commit is contained in:
Ravi Gohil (OpenERP) 2014-04-15 14:44:28 +05:30
parent a701934ac7
commit 4a8168a7dc
1 changed files with 8 additions and 3 deletions

View File

@ -117,9 +117,14 @@ class account_invoice_line(osv.osv):
for line in res:
if a == line['account_id'] and i_line.product_id.id == line['product_id']:
uom = i_line.product_id.uos_id or i_line.product_id.uom_id
standard_price = self.pool.get('product.uom')._compute_price(cr, uid, uom.id, i_line.product_id.standard_price, i_line.uos_id.id)
if standard_price != i_line.price_unit and line['price_unit'] == i_line.price_unit and acc:
price_diff = i_line.price_unit - standard_price
converted_standard_price = self.pool.get('product.uom')._compute_price(cr, uid, uom.id, i_line.product_id.standard_price, i_line.uos_id.id)
if inv.currency_id.id != company_currency:
standard_price = self.pool.get('res.currency').compute(cr, uid, company_currency, inv.currency_id.id, converted_standard_price, context={'date': inv.date_invoice})
else:
standard_price = converted_standard_price
price_unit = self.pool.get('product.uom')._compute_price(cr, uid, uom.id, i_line.price_unit, i_line.uos_id.id)
if standard_price != price_unit and line['price_unit'] == i_line.price_unit and acc:
price_diff = price_unit - standard_price
line.update({'price':standard_price * line['quantity']})
diff_res.append({
'type':'src',