如何在Odoo Online中限制用户仅查看和编辑自身日记账分录
在Odoo Online中限制用户仅能查看/编辑自己的日记账分录方案
由于Odoo Online无法直接修改源码,我们可以通过后台内置的记录规则和权限组配置实现需求,无需开发代码,步骤如下:
1. 配置记录规则
记录规则是Odoo控制数据访问权限的核心工具,直接在后台配置即可生效:
- 进入「设置」→ 搜索「记录规则」(或通过「技术」菜单找到)
- 点击「创建」,填写以下信息:
- 名称:限制仅查看自己的日记账分录
- 模型:选择「日记账分录 (account.move)」
- 应用于组:选择需要限制的用户组(比如「会计/普通会计」,或自定义的用户组)
- 权限:勾选「读取」「写入」「创建」「删除」(根据实际需求调整)
- 域:输入以下表达式(确保用户只能访问自己创建的分录):
[('create_uid', '=', user.id)] - 保存规则
说明:如果存在需要例外的用户(如财务经理需查看所有分录),可以为该用户组创建一条优先级更高的记录规则,域设为
[(1,'=',1)](允许访问所有记录)
2. 调整用户组权限
确保目标用户所在的组仅拥有必要的日记账分录权限,避免冲突:
- 进入「设置」→ 「用户与公司」→ 「用户组」
- 找到目标用户组,进入编辑模式:
- 在「应用」标签下,确保仅勾选「会计」相关的必要权限,不要勾选「完整会计」等拥有全局访问权限的选项
- 在「权限」标签下,确认对「日记账分录」模型的权限仅为「读取」「写入」「创建」「删除」(与记录规则匹配)
3. 特殊场景处理(可选)
如果存在批量生成、自动创建的日记账分录(如导入、自动化动作生成),可能导致create_uid不是实际操作用户,可通过以下方式优化:
- 为「日记账分录」模型添加自定义字段:进入「设置」→ 「技术」→ 「模型」→ 找到「account.move」,添加一个
many2one字段关联「用户 (res.users)」,命名为「负责人」 - 创建自动化动作:进入「设置」→ 搜索「自动化动作」,创建一个触发条件为「创建时」的动作,将「负责人」字段赋值为
user.id - 修改记录规则的域为:
[('负责人字段名', '=', user.id)]
内容的提问来源于stack exchange,提问作者Omar Bamuhriz
相关产品推荐
相关产品推荐

