能否通过Dataverse与Power Apps实现指定审批流程及数据权限管控?
基于Dataverse + Power Apps实现目标业务流程的可行方案
完全可以用Dataverse结合Power Apps、Power Automate实现这套业务流程,以下是对应需求的具体实现思路:
一、核心业务流程实现
- 用户创建请求:在Dataverse中新建「请求」数据表,给组织内所有用户分配该表的「创建」权限;用Power Apps搭建提交表单,让用户填写请求内容并提交。
- 经理审批通知与操作:请求创建后,通过Power Automate触发流程——从Dataverse自带的「用户」表中读取创建者的直接经理(User表内置Manager关联字段),自动发送审批邮件(可附带Power Apps审批页面的链接)。在「请求」表中添加Choice类型字段「经理审批状态」,选项设为
Approve/Reject,仅让对应经理能编辑该字段。 - 财务请求二次审批:在「请求」表中添加Choice类型字段「请求类型」(包含
Financial选项);用Power Automate监听「经理审批状态」变为Approve的事件,若请求类型为Financial,则触发给财务经理的审批通知,同时在表中添加Choice类型字段「财务经理审批状态」,选项同样设为Approve/Reject,仅开放给财务经理编辑。 - 自动关闭请求:用Dataverse业务规则或Power Automate实现:非财务请求的「经理审批状态」为
Approve时,自动将请求状态设为「已关闭」;财务请求的「财务经理审批状态」为Approve时,同样自动关闭请求。 - 锁定已关闭请求:在Dataverse中给「请求」表添加Choice类型字段「请求状态」,当状态为「已关闭」时,通过业务规则锁定所有字段的编辑权限;同时在Power Apps表单中添加逻辑,若请求已关闭,所有控件设为只读,双层面限制修改。
二、权限限制实现
- 仅对应经理可编辑审批事项:利用Dataverse的**行级安全(RLS)**创建专属经理角色,设置规则:仅当记录的「直接经理」字段等于当前登录用户时,该用户拥有此记录的编辑权限;同时在Power Apps中添加界面逻辑,若当前用户不是对应经理,隐藏所有编辑控件,只保留只读视图。
- 字段级权限隔离:在Dataverse中配置字段权限:
- 给经理角色仅开放「经理审批状态」/「财务经理审批状态」(对应各自负责的审批字段)的编辑权限,用户提交的其他字段仅开放只读权限;
- 给普通用户角色仅开放请求提交字段的编辑权限,所有审批字段设为完全只读,Power Apps表单中也对应隐藏审批字段的编辑控件,从前端到后端彻底限制用户修改审批内容。
内容的提问来源于stack exchange,提问作者microsoftdeveloperdesigner
相关产品推荐
相关产品推荐

