You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ODOO 10:如何在POS订单报表视图按自定义字段Commission分组?

解决方案:在POS订单报表中按Commission字段分组并跨视图访问

嘿,我来帮你理清楚这个问题~你在产品表单(product.product)里加的x_commission字段是属于产品的,而POS订单是通过订单行(pos.order.line)关联到产品的,所以要实现报表分组和跨视图访问,得从关联关系入手:

一、给POS订单报表加Commission分组

方式1:直接通过开发者模式修改视图

  1. 开启开发者模式,进到「设置>技术>视图>视图」,搜索和POS订单报表相关的视图(比如名称包含“POS Orders Analysis”的透视视图)。
  2. 编辑这个视图的架构,找到<groupby>节点,往里添加这段代码:
    <groupby string="Commission" context="{'group_by': 'order_line.product_id.x_commission'}">order_line.product_id.x_commission</groupby>
    
    保存后回到POS订单报表,就能看到“Commission”的分组选项,选择它就能按产品佣金字段分组统计订单数据了。

方式2:用自定义模块继承视图(更稳妥,避免系统升级丢失修改)

如果是做二次开发,推荐用视图继承的方式,不会改动系统原生视图:

<record id="view_pos_order_report_commission_inherit" model="ir.ui.view">
    <field name="name">pos.order.report.commission.inherit</field>
    <field name="model">pos.order</field>
    <field name="inherit_id" ref="point_of_sale.view_pos_order_report"/>
    <field name="arch" type="xml">
        <xpath expr="//groupby" position="inside">
            <groupby string="Commission" context="{'group_by': 'order_line.product_id.x_commission'}">order_line.product_id.x_commission</groupby>
        </xpath>
    </field>
</record>

二、从其他视图访问这个Commission字段

完全可以!只要视图对应的模型能关联到product.product,就能通过关联字段拿到x_commission:

  • POS订单行视图:在pos.order.line的列表/表单视图里,直接添加<field name="product_id.x_commission"/>,就能显示对应产品的佣金数值。
  • POS订单表单视图:要是想在订单层面展示(比如汇总所有订单行的佣金,或者展示明细),可以添加一个计算字段做汇总,或者在订单行的子视图里直接展示佣金字段。
  • 其他关联报表:像销售订单报表、库存报表这类和产品有关联的报表,都能通过product_id.x_commission调用这个字段,不管是添加到视图里展示,还是用来做筛选、分组都没问题。

小提醒:如果是在报表里做聚合统计(比如按佣金分组计算订单总金额),要注意视图的聚合逻辑,避免出现重复统计的情况哦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 07:40:59