You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerApps模型驱动应用:视图关联表单编辑权限配置问询

模型驱动PowerApps视图权限与编辑控制方案

方案1:表单模式动态切换

  • 在目标实体的主表单OnLoad事件中添加逻辑:
    • 通过Context.ViewId获取当前记录的来源视图ID(视图唯一ID可在解决方案的视图详情页查看)。
    • 对比视图ID:如果是View1,将表单模式设置为FormMode.View;如果是View2,再校验用户是否属于指定角色,符合条件则设置为FormMode.Edit。
    • 角色校验可用UserHasPermission函数,或直接读取用户角色列表:If("指定角色名称" in User().SecurityRoles, ...)

方案2:实体权限+视图共享组合控制

  • 给所有用户分配目标实体的只读权限,仅给特定角色分配编辑权限。
  • 在视图的共享设置中,将View2仅共享给目标角色,普通用户无法看到该视图。
  • 此方案下,普通用户只能通过View1打开记录(因只读权限无法编辑),特定角色可通过View2打开并编辑记录。

方案3:JavaScript Web资源控制表单字段状态

  • 编写JS脚本,在表单加载时执行以下操作:
    1. 通过Xrm.Page.context.getQueryStringParameters().viewid获取来源视图ID。
    2. 调用Xrm.WebApi.retrieveMultipleRecords查询当前用户的安全角色。
    3. 根据视图ID和角色判断结果,批量设置表单字段的禁用状态:
      • 禁用(只读):Xrm.Page.getControl("字段逻辑名称").setDisabled(true)
      • 启用(可编辑):Xrm.Page.getControl("字段逻辑名称").setDisabled(false)
  • 将脚本添加到表单的OnLoad事件中并发布。

方案4:环境变量优化维护(可选)

  • 创建环境变量存储View1、View2的ID以及目标角色的名称/ID,避免逻辑中硬编码固定值。
  • 在表单逻辑或JS脚本中引用环境变量,后续视图或角色变更时只需更新环境变量即可。

内容的提问来源于stack exchange,提问作者RBK

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 04:04:57