openerp-india team mailing list archive
-
openerp-india team
-
Mailing list archive
-
Message #10398
[Bug 980967] Re: [6.1] [account_voucher] exchange rate calculation is not working if company currency isn't rate 1
Hello Carlos,
I have checked your issue. But It's just a misconfiguration.
Let me explain
After creating a DB, you just have to configure company Header and
Footer wizard , then try to install module. Because
When you first install a module ,then default company currency 's rate
will be decided base on your company currency also all currency rates
will applied base on which currency you have set on your company .
Let's take one example
I have created my DB ans set company as EURO and then install account
module,so currency rate will be load based on conversion of EURO .Now i
have change my currency as CHF then you didn't see correct currency rate
will apply .
So after creating , new DB ,run company header/footer wizard ,set your
company currency then install account module .
Please try with above stated configuration and reply back to us .
Thanks!!!
** Changed in: openobject-addons
Status: New => Incomplete
--
You received this bug notification because you are a member of OpenERP
Indian Team, which is subscribed to OpenERP Addons.
https://bugs.launchpad.net/bugs/980967
Title:
[6.1] [account_voucher] exchange rate calculation is not working if
company currency isn't rate 1
Status in OpenERP Addons (modules):
Incomplete
Bug description:
In the account_voucher module, the currency rate is not well
calculated. The method that write the account move line is not
correct. It starts at line 227 in account_voucher.py:
def _paid_amount_in_company_currency(self, cr, uid, ids, name, args, context=None):
if not ids: return {}
res = {}
rate = 1.0
for voucher in self.browse(cr, uid, ids, context=context):
if voucher.currency_id:
if voucher.company_id.currency_id.id == voucher.payment_rate_currency_id.id:
rate = 1 / voucher.payment_rate
else:
ctx = context.copy()
ctx.update({'date': voucher.date})
voucher_rate = self.browse(cr, uid, voucher.id, context=ctx).currency_id.rate
company_currency_rate = voucher.company_id.currency_id.rate
rate = voucher_rate * company_currency_rate
res[voucher.id] = voucher.amount / rate
return res
This should be (diff output):
for voucher in self.browse(cr, uid, ids, context=context):
if voucher.currency_id:
if voucher.company_id.currency_id.id == voucher.payment_rate_currency_id.id:
- rate = 1 / voucher.payment_rate
+ rate = voucher.payment_rate
else:
ctx = context.copy()
ctx.update({'date': voucher.date})
voucher_rate = self.browse(cr, uid, voucher.id, context=ctx).currency_id.rate
company_currency_rate = voucher.company_id.currency_id.rate
- rate = voucher_rate * company_currency_rate
- res[voucher.id] = voucher.amount / rate
+ rate = company_currency_rate / voucher_rate
+ res[voucher.id] = voucher.amount * rate
return res
I am posting a merge proposal with this change in a couple of minutes.
There is also a wrong currency_amount value calculation even if you
apply the previous patch. This wrong calculation apply to only some
lines of the move. I will get back on this bug about this later.
To manage notifications about this bug go to:
https://bugs.launchpad.net/openobject-addons/+bug/980967/+subscriptions
References