我正在使用Odoo 14电子商务模块进行商店工作,我正在定制电子邮件模板(销售:订单确认)。
我想显示已经插入到Accounting/bank Accounts中的银行信息节的公司联系方式如;银行名称、账户持有人名称、账号等
我在模板中像这样调用这些值:
${object.company_id.bank_ids.acc_holder_name}
${object.company_id.bank_ids.bank_name}
${object.company_id.bank_ids.acc_number}
当只定义了一个银行账户时,我得到正确的值没有问题,但是当我添加第二个银行账户时,我得到下面的错误:
Failed to render template : Expected singleton: res.partner.bank(2, 3)
我知道有银行账户的id
s,但是我不知道我想要获取值的银行账户的id应该用什么方式来表示。任何想法?
您应该循环遍历电子邮件模板中的银行记录,如下所示:
% for bank in object.company_id.bank_ids:
<li>${bank.acc_holder_name}</li>
<li>${bank.bank_name}</li>
<li>${bank.acc_number}</li>
% endfor
如果你想在循环中根据银行账户ID执行一些操作,你应该这样做:
% for bank in object.company_id.bank_ids:
% if bank.id == 2:
<li>${bank.acc_holder_name}</li>
<li>${bank.bank_name}</li>
<li>${bank.acc_number}</li>
% endif
% endfor
但是,不建议根据数据库ID执行操作,因为您的模块可能无法在任何数据库中工作。在这种特殊情况下,如果值得的话,你必须重视自己。