You need to enable JavaScript to run this app. 如何在Qweb中仅为非服务类产品的行项目打印序号
优惠活动
大模型
产品
解决方案
定价
更多

如何在Qweb中仅为非服务类产品的行项目打印序号

Qweb跳过服务产品行输出序号实现方法

实现核心逻辑是自定义计数变量,仅在非服务产品行累加计数,不要使用循环自带的index属性(会统计所有行导致序号不连续)。

操作步骤

  • 第一步:在遍历行项目的循环外初始化序号计数器
<t t-set="serial_num" t-value="1"/>
  • 第二步:遍历行时判断产品类型,仅非服务产品行输出序号并更新计数器
<t t-foreach="doc.order_line" t-as="line">
<tr>
    <td>
        <t t-if="line.product_id.type != 'service'">
            <span t-esc="serial_num"/>
            <t t-set="serial_num" t-value="serial_num + 1"/>
        </t>
    </td>
    <!-- 其他行字段正常输出即可,示例如下 -->
    <td t-esc="line.product_id.name"/>
    <td t-esc="line.product_uom_qty"/>
    <td t-esc="line.price_subtotal"/>
</tr>
</t>

注意事项

  • Odoo原生产品类型中服务产品的type字段值为service,如果你自定义了产品类型的取值,替换判断条件里的对应值即可。
  • 如果服务产品行需要展示特殊占位符,可以在t-if对应的t-else分支里添加你需要展示的内容,比如/或者-。

内容的提问来源于stack exchange,提问作者Sakthi Priya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.12 05:54:01