[FIX] account_anglo_saxon: Price calculation

lp bug: https://launchpad.net/bugs/438717 fixed

bzr revid: pso@tinyerp.com-20101221123202-vegmmg2aoh97j3rv
This commit is contained in:
hda(Open ERP) 2010-12-21 18:02:02 +05:30 committed by pso
parent 2afb6b4fb9
commit 01152d4123
1 changed files with 11 additions and 2 deletions

View File

@ -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,