微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Odoo 货币换算

如何解决Odoo 货币换算

这些是我的 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 的新手。任何帮助将不胜感激

解决方法

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

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

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

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)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。