From 01152d412373ef527cbc9fdfa88601c98d6c6e0f Mon Sep 17 00:00:00 2001 From: "hda(Open ERP)" <> Date: Tue, 21 Dec 2010 18:02:02 +0530 Subject: [PATCH] [FIX] account_anglo_saxon: Price calculation lp bug: https://launchpad.net/bugs/438717 fixed bzr revid: pso@tinyerp.com-20101221123202-vegmmg2aoh97j3rv --- addons/account_anglo_saxon/invoice.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/addons/account_anglo_saxon/invoice.py b/addons/account_anglo_saxon/invoice.py index a0aab8298dc..784dd9367c7 100644 --- a/addons/account_anglo_saxon/invoice.py +++ b/addons/account_anglo_saxon/invoice.py @@ -29,6 +29,15 @@ class account_invoice_line(osv.osv): def move_line_get(self, cr, uid, invoice_id, context=None): res = super(account_invoice_line,self).move_line_get(cr, uid, invoice_id, context=context) inv = self.pool.get('account.invoice').browse(cr, uid, invoice_id, context=context) + company_currency = inv.company_id.currency_id.id + def get_price(cr, uid, inv, company_currency,i_line): + cur_obj = self.pool.get('res.currency') + if inv.currency_id.id != company_currency: + price = cur_obj.compute(cr, uid, company_currency, inv.currency_id.id, i_line.product_id.product_tmpl_id.standard_price * i_line.quantity, context={'date': inv.date_invoice}) + else: + price = i_line.product_id.product_tmpl_id.standard_price * i_line.quantity + return price + if inv.type in ('out_invoice','out_refund'): for i_line in inv.invoice_line: if i_line.product_id: @@ -56,7 +65,7 @@ class account_invoice_line(osv.osv): 'name': i_line.name[:64], 'price_unit':i_line.product_id.product_tmpl_id.standard_price, 'quantity':i_line.quantity, - 'price':i_line.product_id.product_tmpl_id.standard_price * i_line.quantity, + 'price':get_price(cr, uid, inv, company_currency, i_line), 'account_id':dacc, 'product_id':i_line.product_id.id, 'uos_id':i_line.uos_id.id, @@ -69,7 +78,7 @@ class account_invoice_line(osv.osv): 'name': i_line.name[:64], 'price_unit':i_line.product_id.product_tmpl_id.standard_price, 'quantity':i_line.quantity, - 'price': -1 * i_line.product_id.product_tmpl_id.standard_price * i_line.quantity, + 'price': -1 * get_price(cr, uid, inv, company_currency, i_line), 'account_id':cacc, 'product_id':i_line.product_id.id, 'uos_id':i_line.uos_id.id,