从发票报告中定义分隔符的字段中去除字符串

Strip string from a field with defined separator in invoice report

首先 - 我还是 Odoo 的新手,所以这可能解释有误,但我会尝试。

在继承的 invoice_report xml 文档中,我有需要显示的条件字段 - 如果数据库中的列(字段)等于另一列。更准确地说 - 如果 invoice_origin from account_move 等于 name in sale_order.

这是代码:

<t t-foreach="request.env['sale.order'].search([('name', '=', o.invoice_origin)])" t-as="obj">

例如在数据库中这个 invoice_origin 是 [{'invoice_origin': 'S00151-2022'}]

在根据多个销售订单创建的发票上是这样的 [{'invoice_origin': 'S00123-2022, S00066-2022'}]

我如何剥离此数据以在 foreach 中分别使用 [{'invoice_origin': 'S00123-2022'}] 部分和 [{'invoice_origin': 'S00066-2022'}]

谢谢。

您可以尝试拆分发票来源并将结果用于现有代码:

<t t-set="origin_list" t-value="o.invoice_origin and o.invoice_origin.split(', ') or []" />
<t t-foreach="request.env['sale.order'].search([('name', 'in', origin_list)])" t-as="obj">
    <!-- do something -->
</t>