Odoo 货币换算

时间:2021-03-10 08:03:01

标签: currency odoo-13

这些是我的 import_payment.py 中的字段

transaction_date = fields.Date(string="Transaction Date",
                               required=True)
facts_id = fields.Char(string="Student ID",
                       required=True)
paid_in_lei = fields.Float(string="Amount Paid in LEI")
paid_in_euro = fields.Float(string="Amount Paid in EURO")
amount = fields.Float(string="Amount")
error_msg = fields.Char(string="Error Msg")
invoice_number = fields.Char(string="Invoice No")
invoice_id = fields.Many2one(string="Invoice",
                             comodel_name="account.move")
payment_id = fields.Many2one(string="Payment",
                             comodel_name="account.payment")
company_id = fields.Many2one('res.company', default=lambda self: self.env.company.id)
currency_id = fields.Many2one('res.currency', related='company_id.currency_id', readonly=True, store=True)

有人可以帮我根据“transaction_date”的“汇率”转换“paid_in_euro”字段并将其插入到“RON(基础货币)

中的“金额”字段

抱歉,我是 Odoo 的新手。任何帮助将不胜感激

2 个答案:

答案 0 :(得分:0)

可以使用odoo的货币换算功能

from_currency._convert(from_amount, to_currency, company, date)

答案 1 :(得分:0)

首先将您的 amount 字段转换为 compute 字段,并使其依赖于 paid_in_euro< /strong>

amount = fields.Float(string="Amount", compute='_amount_in_base')

@api.depends('paid_in_euro')
def _amount_in_base(self):
    if self.paid_in_euro:
        amount_convert = company_currency.with_context(date=self.date).compute(self.paid_in_euro, convert_currency)