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

如何为Odoo销售订单表单操作菜单下的删除按钮配置用户组权限

Odoo销售订单删除按钮权限配置实现方案

以下是适配Odoo框架的两种常用实现方式,可根据你的开发场景选择:

方案1:XML视图继承修改(代码实现)

适合自定义模块开发场景,直接通过视图继承给按钮绑定权限组:

  • 首先在你的自定义模块中继承销售订单表单视图,定位到动作菜单下的删除按钮,新增groups属性,属性值替换为你提前创建好的权限组外部ID即可,示例代码如下:
<record id="sale_order_form_delete_permission_inherit" model="ir.ui.view">
    <field name="name">sale.order.form.delete.permission</field>
    <field name="model">sale.order</field>
    <field name="inherit_id" ref="sale.view_order_form"/>
    <field name="arch" type="xml">
        <!-- 定位删除按钮,新增权限组属性 -->
        <button name="unlink" position="attributes">
            <attribute name="groups">你的模块名.自定义销售订单删除权限组ID</attribute>
        </button>
    </field>
</record>
  • 如果该删除按钮是绑定的独立窗口动作/服务端动作,也可以直接给动作记录绑定权限组,示例代码如下:
<record id="sale.对应删除动作的外部ID" model="ir.actions.act_window">
    <field name="groups_id" eval="[(4, ref('你的模块名.自定义销售订单删除权限组ID'))]"/>
</record>

方案2:后台配置(无需修改代码)

适合不想改动代码的快速配置场景:

  • 开启Odoo调试模式,依次进入设置 > 技术 > 动作,选择删除按钮对应的动作类型(通常是窗口动作/服务端动作)
  • 搜索找到销售订单对应的删除动作记录,打开编辑页面
  • 找到权限组字段,添加你预设的仅允许删除订单的用户组,保存后刷新页面即可生效

验证注意事项

  • 分别使用属于权限组、不属于权限组的账号登录测试,确认删除按钮是否按预期显示/隐藏
  • 同步调整销售订单的模型访问权限,避免无权限用户通过列表批量删除、接口调用等其他入口绕过按钮限制

内容的提问来源于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 17:54:04