介绍
报表相关的权限和角色有很多,理清他们的作用和范围可以帮助我们更快的排查问题,
报表的相关的角色权限可以按照报表的生命周期进行划分,这篇对报表相关的角色权限做一些初步介绍。
1.关于报表应用入口的权限
要使用报表功能,首先要有进入报表应用的入口
这里有两点需要说明:
1.每朵云下面会有对应的默认报表应用,例如组织人事下会有人事报表应用;
2.应用的访问角色默认为“每朵云的角色.报表”,例如: 访问人事报表应用的角色默认为人事专员.报表, 角色编号为cm-org-em.report,即拥有角色人事专员或人事专员.报表的用户,才有访问人事报表应用的入口。
a.启用/停用默认报表应用
进入系统设置-应用管理-应用开通管理,在系统菜单中找到报表应用,点击启用即可,具体操作界面如下图所示:
b.自定义报表应用
目前不建议自定义应用! 一定要自定义应用, 请先通过在线反馈或直接联系基础服务部, 并且备案。
自定义应用的操作如下(只有超管才有权限自定义应用):
1.进入【系统设置】-【应用管理】-【自定义应用】-【新增】
2.点击新增后,按照图中的注意事项配置,即完成自定义报表应用(tips:新增应用完成后,记得去【应用开通管理】中启用应用)
另附现有的报表应用分类参数,供自定义报表应用填写参数时参考。
注意,除非特殊的情况,否则不能在自定义的报表类别中(e.g. category=10001),设置自定义报表应用指向标准的报表应用(e.g. category=3)
2.报表"查看范围"的权限
进入报表应用后,用户的报表角色和报表的发布范围与用户分管的业务范围是否重合,决定了用户可以查看哪些报表
a.用户的报表角色
用户的报表角色,即用户在新建报表时选择的角色,如下图所示:
这里要注意两点:
1.报表角色的选择范围可以是应用角色及应用角色的衍生角色,报表创建成功后,应用角色有权限查看其衍生角色创建的报表,反之则不行(如下图所示);
例如:在薪酬报表应用中,新建报表时,报表角色的选择范围有 薪酬专员 及薪酬专员的衍生角色 薪酬专员.报表、薪酬专员.业务专员等,薪酬专员可以查看薪酬专员.报表、薪酬专员.业务专员等报表角色创建的报表,但薪酬专员.报表等衍生角色无法查看由薪酬专员创建的报表。
2.切记选择报表角色前,报表角色的业务范围要在【权限设置】-【个人角色设置】中维护好,不要选择没有业务范围的角色,否则容易导致后续报表中的组织选择器内容和报表发布可见范围出问题;
例如:没有被分配业务范围的角色,在报表中无法使用组织选择器
(1).用户被分配了人事专员角色,但未分配业务范围,所以其报表中的组织选择器无法使用
(2).为用户的人事专员角色添加业务范围后,其组织选择器出现被分配的业务范围
b.报表默认的三个查看范围及其对应的含义
报表默认有三个查看范围,分别是:我负责的、有权限的、选择组织
- 我负责的——包含我创建的报表、别人在权限控制里将我添加为报表管理人员的报表(包括已发布和未发布的报表)
(1)关于我创建的报表,这里有一种特殊情况,如果用户的角色只有一个衍生角色,但创建报表时,报表角色选择了其他角色,那么创建报表的用户将看不见自己创建的报表。并且因为没有报表入口,报表无法添加管理人及进行发布,其他用户(包括系统管理员)也无法在“我负责的”和“有权限的”范围中查看该报表,唯一的解决方法是授予创建人创建报表时选择的报表角色,使创建人对该报表可见再进行操作。
例1:用户李西西只有薪酬专员.报表角色,而没有薪酬专员角色及其他衍生角色。当李西西新建报表时,报表角色如果选择了角色薪酬专员或另一个衍生角色薪酬专员.业务专员,那么李西西都将无法看见自己创建的这个报表。
(2)关于添加报表管理人使报表出现在“我负责的”范围中(前提是满足上述报表角色可见规则)操作如下:
例2:用户A、B都有薪酬专员角色,用户A创建了薪酬明细表05,报表角色选择薪酬专员,此时用户B在【我负责的】范围中见不到这张报表。用户A在权限控制中,将用户B添加为报表管理人后,则用户B在【我负责的】的范围中,可以查看到薪酬明细表05 - 有权限的—— 当前人的报表角色及其衍生角色符合规则,且报表的【发布范围】 在当前人的最高的分管业务范围内,新版报表发布目前没有强制选择发布范围,不选择发布范围则默认无发布范围;
发布范围的设置如下图所示: - 选定组织—— 对“有权限的”报表做获取下级的过滤
总结,对于影响报表三个查看范围显示哪些报表的因素可以归为:
3.关于报表计算界面选择器的权限
这个报表界面的选择器的角色,完全是前端选择器的角色配置
选择器的配置可以通过报表详情【设计】-【设置】-【过滤设置】/【高级设置】中配置,关于选择器的配置学习,可以参考→hc-standard-tree-selector 标准树型选择器
4.报表计算接口要求的角色
标准的薪酬,人事模型场景中一般都会对薪酬类,人事类角色做限制
做表时,调用标准接口时,要注意按照要求调用接口,否则重写场景等
云函数或者标准函数中使用了(模型)场景或者接口有角色限制。这种场景请联系二开老师处理,需要新建场景的新建场景、接口有限制的,用新接口或者找相应模块的老师处理接口问题。
这类角色问题,出问题时,表现形式为:
- 超级管理员不报错,有的专员计算报错
- 报错是直接抛出异常信息,信息是当前登录人不具备某某角色
5.报表界面按钮的权限
不同角色进入报表时可见的按钮不同,这里介绍两种方式对按钮的可见性进行控制
a.通过【权限控制】添加-报表管理人员或通过分配系统管理员角色控制:
在报表可见的前提下,目前控制了只有报表创建人和报表管理人员才可见"编辑,、删除、 发布、 取消发布、设置发布范围以及设计报表“这些操作按钮权限,除此之外,系统管理员也可见这些操作按钮。
报表管理人员可以通过权限控制进行添加,具体操作界面如下图所示:
例如:
用户赵东东可以在“有权限的”范围中看到报表薪酬明细表02,但选中薪酬明细表02时,没有“编辑、发布”等操作按钮出现,因为赵东东不是该报表的创建人/报表管理人员/系统管理员
为用户赵东东添加系统管理员角色,并分配相应业务范围后,选中薪酬明细表02时,出现操作按钮
具体可以点进这个地址设置角色并切换代理看看:地址
b.更多界面按钮的管理
更多管理报表界面的按钮,报表计算的按钮请参考这篇wiki→报表管理&报表计算权限相关
6.其他
a.报表所属分组的选项设置
1.进入报表应用后,点击过滤器下方的【】,即可在弹窗中添加报表分组
2.新建/编辑报表时,选择【报表分组】
b.多种角色的人要看同一个报表处理方式——自定义公共角色
每个报表的取数的角色都是确定的, 目前不做多角色的处理,如果存在多种角色的人要看这个报表, 正确的处理方式是, 新建一个公共的角色分配给这部分人.