如果已经存在就不用重复添加了。sequence主要用于记录级的权限管理中定义[(‘sequence’,’=’,0),(‘sequence’,’=’,1)]这样的表达方式,表示都不允许。
sequence = fields.Integer(string='Sequence', default=10)
company_id = fields.Many2one('res.company', 'Company', index=True, default=lambda self: self.env.user.company_id.id)
首先需要激活开发者模式
参数设置-技术-记录规则
主要分两个数据的权限进行设置
一、是配置数据(一般定义为同一个company_id的,允许“读写删建”,超级用户“系统管理 / 参数设置”都允许,其余不允许)
规则1、超级权限 规则定义 [(1, “=”, 1)] 群组 系统管理 / 参数设置 允许“读写删建”
规则2、都不允许 规则定义 [(‘active’,’=’,True),(‘active’,’=’,False)] 群组 用户类型 / 内部用户 勾选允许“读写删建”
规则3、同一个公司
规则定义
[ ‘|’, (‘company_id.child_ids’,’child_of’,[user.company_id.id]), (‘company_id’,’child_of’,[user.company_id.id]), ]
群组 用户类型 / 内部用户 允许“读写删建”
二、单据数据(一般定义为草稿时同一个company_id的允许“读写删建”,其他状态并且是同一个company_id的允许读写和建,但不允许删除,超级用户“系统管理 / 参数设置”都允许)
规则1、超级权限 规则定义 [(1, “=”, 1)] 群组 系统管理 / 参数设置 允许“读写删建”
规则2、都不允许 规则定义 [(‘sequence’,’=’,0),(‘sequence’,’=’,1)] 群组 用户类型 / 内部用户 允许“读写删建”
规则3、草稿
规则定义
[ ‘&’, (‘state’, ‘=’, ‘draft’), ‘|’, ‘|’, (‘company_id.child_ids’,’child_of’,[user.company_id.id]), (‘company_id’,’child_of’,user.company_ids and user.company_ids.ids or [user.company_id.id]), (‘company_id’,’=’,False), ]
群组 用户类型 / 内部用户 允许“读写删建”
规则4、其他状态
规则定义
[ ‘|’, ‘|’, (‘company_id.child_ids’,’child_of’,[user.company_id.id]), (‘company_id’,’child_of’,user.company_ids and user.company_ids.ids or [user.company_id.id]), (‘company_id’,’=’,False), ]
群组 用户类型 / 内部用户 允许“读写建”