Dynamics CRM: 表单(Form)中的显示字段变成只读的几种情况

有的时候,当我们打开一条记录, 我们会发现这条记录或者记录中的某个字段变成了不可编辑的状态, 但让表单中的显示字段变成只读的情况有很多, 你可以使用JS代码中的setDisabled, 也可以使用系统的配置来完成, 接下来我就来总结一下都有哪几种情况可以让字段变成只读:

  • 在表单中的字段属性里有一个字段行为的设置, 我们以Account实体为例

设置完成后, 打开一条记录, 该字段的旁边会显示一个小锁头的图标, 并且该字段变成不可编辑

  • 在JS代码中使用setDisabled方法设置了该字段
DisableField: function (ExecutionContext, fieldName, Disable) {
	if (ExecutionContext.getAttribute(fieldName) !== null && ExecutionContext.getAttribute(fieldName) !== undefined) {
		ExecutionContext.getControl(fieldName).setDisabled(Disable);
	}
}

这样实现的效果和上图中使用的系统配置实现的效果是相同的, 只不过使用代码的话,可以更加灵活, 如果你需要一直让这个字段是不可编辑的话就可以使用上面的第一种方法

  • 使用Business Rule来实现字段的只读, 效果同上

Note: 其实除了上面讲的这三种可以使字段变为只读的方法外,还有三种情况,会让字段或者说记录变成只读:

  • 如果一条记录的Status变为Inactive, 那么这条记录也就变成了只读, 同理这里面的所有字段也都会变成只读, 并且不会在字段的前面有小锁头的图标, 而是在这条记录的上方标识了这条记录为Read Only

 关于Dynamics CRM中记录的各种状态的详细解答,大家可以看我之前写的这边博客:

Dynamics CRM: 理解Status, Statecode, Status Reason, Statuscode_Stone-hdj的博客-CSDN博客

  •  还有一种情况就是对这个实体开启红框里的这个选项, Enable for mobile注意下面的Read-only in mobile也要选中, 这样的话,也会出现上面记录被deactive一样的情况

        这也是让我很费解的地方, 我明明是在电脑上登陆的, 但这个设置明明是对移动端的设置, 可是却也将整个记录变成Read Only了, 我用的是Dynamics 365 OP 9.0, 我怀疑这是这个版本的一个bug, 不知道有没有人在更高的版本试过,可以留言给我,大家交流一下.

  •  访问这条记录的用户对这个实体没有写(Write)权限

        如果你对一个实体只有读,没有写权限的话, 当你进入一条记录, 这条记录也会像上面那样显示为Read Only.

OK, 这就是我现在所了解到的让字段或者包含这个字段的记录变为只读的所有情况了,欢迎交流.

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Stone-hdj

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值