如何为CRM 2011中的特定角色启用单个字段进行更新

时间:2012-03-06 22:14:18

标签: dynamics-crm-2011

我需要什么

我有一个自定义实体,包含多个字段。管理员角色有"上帝"访问。除一个以外的所有其他角色都只读。具有更新访问权限的一个非管理员角色应该只能更新单个字段。

我认为是真的

我相信我有三个主要选项来实现这个要求:

  1. 启用更新访问该实体的角色,然后编写Javascript以禁用该角色的表单上的所有字段,但我希望该角色能够编辑的字段除外
  2. 启用对该实体角色的更新访问权限,然后创建一个新表单,禁用该角色的表单上的所有字段,但我希望该角色能够编辑的字段除外。
  3. 启用对该实体的角色的更新访问权限,然后为每个字段启用字段安全性,使用字段安全性禁用访问权限,除了我希望他们编辑的字段之外的每个字段。
  4. 什么是最佳实践?

    我应该选择哪些选项?

    如果我选择选项1或2,用户是否可以编辑批量修改表单中的字段?

2 个答案:

答案 0 :(得分:3)

  1. 从用户的角度来看,我认为当表单打开时启用了一些内容会让人感到困惑,然后就会被锁定。此外,有人可能会在字段锁定之前获取数据。我要说你必须将它与插件相结合,以防止更改你不想改变的字段。
  2. 我更喜欢这个选项,但是如果有人知道他们正在做什么的话,可以解锁该字段,所以一个双重检查的插件会很好。
  3. 这样可以避免重复检查插件,但您还必须依赖管理员正确设置新字段的安全性。如果这不是问题,那可能是最好的。
  4. 批量修改是一项全局权限,因此他们可以对所有实体进行批量修改。此外,批量编辑表单不会加载脚本,因此敲出选项1.我会说如果它只是这一个字段,我可能会保留特权锁定并在网格上提供我自己的批量编辑按钮,这将显示一个只有一个字段的自定义页面,然后通过脚本处理更新。

答案 1 :(得分:1)

2最有可能是最好的,或者作为替代方案将字段放在页眉或页脚中而不是表单上的只读字段。

这也意味着这些字段不可用于批量修改,但是其他方法(如数据导入或工作流程)可以让用户了解这一点,如果他们知道如何并有权做这些事情。

3 Field Security是最强大的,适用于所有场景

可能的选项4:创建另一个实体以包含这些字段并对该实体应用不同的安全性。如果创建为子项,则在窗体上的网格中显示记录,并在视图中包含值。如果它是父级,那么您可以使用方法,例如通过表单中包含的HTML webresource页面显示值。