Salesforce中实现特定用户切换角色且不影响案例共享的方案咨询
可行解决方案
核心思路:不切换主角色,通过权限+视图切换实现需求
直接修改用户角色会触发基于角色所有者的共享规则重新计算,导致案例共享范围错误,所以核心是保留Adam的主角色不变,通过额外权限让他能访问两个角色的案例,再通过视图切换实现“角色切换”的操作体验。
方案1:共享组+自定义视图切换(最推荐)
- 调整案例共享规则与共享组
- 创建两个共享组:
NA_Case_Users(包含所有NA角色用户)、Pacific_Case_Users(包含所有Pacific角色用户) - 修改现有案例共享规则:
- 规则1:当案例所有者角色为NA时,将案例共享给
NA_Case_Users(保持原NA用户的访问权限) - 规则2:当案例所有者角色为Pacific时,将案例共享给
Pacific_Case_Users(保持原Pacific用户的访问权限)
- 规则1:当案例所有者角色为NA时,将案例共享给
- 将Adam同时添加到
NA_Case_Users和Pacific_Case_Users两个共享组中,这样他能访问所有NA和Pacific角色的案例,而其他用户只能访问自己角色组内的案例。
- 创建两个共享组:
- 实现“角色切换”的视图过滤
- 创建两个案例列表视图:
我的NA案例(过滤条件:所有者角色=NA)、我的Pacific案例(过滤条件:所有者角色=Pacific) - 用LWC或Apex做一个自定义按钮/组件,放在案例列表页,让Adam一键切换这两个视图,模拟“切换角色”的操作体验。不需要修改用户角色,只是切换显示的案例范围。
- 创建两个案例列表视图:
方案2:自定义权限+共享规则扩展
- 创建自定义权限
- 新建两个自定义权限:
NA_Case_Access、Pacific_Case_Access - 给Adam同时分配这两个自定义权限,其他NA角色用户只分配
NA_Case_Access,Pacific角色用户只分配Pacific_Case_Access
- 新建两个自定义权限:
- 调整共享规则
- 修改现有共享规则,在原有的角色匹配条件外,添加额外条件:
- 规则1:案例所有者角色=NA,且用户拥有
NA_Case_Access权限时,共享案例 - 规则2:案例所有者角色=Pacific,且用户拥有
Pacific_Case_Access权限时,共享案例
- 规则1:案例所有者角色=NA,且用户拥有
- 同样通过自定义列表视图或组件,让Adam切换查看不同角色的案例。
- 修改现有共享规则,在原有的角色匹配条件外,添加额外条件:
为什么之前的切换角色方案不可行
Salesforce中,用户的主角色变更会触发所有该用户拥有的记录的共享规则重新计算——因为共享规则是基于“所有者角色”的,角色变更后,案例的所有者角色属性改变,原有的NA角色共享会被取消,自动应用Pacific角色的共享规则,这就导致了案例123被错误共享的问题。所以绝对不能通过修改主角色来实现需求。
内容的提问来源于stack exchange,提问作者Amit Dhakre
相关产品推荐
相关产品推荐

