为什么业务规则不起作用但 javascript 可以使字段在 Dynamics-365 中只读?

Why business rules doesn't work but javascript works to make a field read only in Dynamics-365?

我试图将 Product 实体的字段 Default Price List 设置为 只读 .我试图通过检查只读来从字段属性中做到这一点,但它没有用。然后我写了一个业务规则,该规则将使该字段只读,但也不起作用。

然后我写了一个 JavaScript 代码并将该代码附加到产品实体的 onLoad 事件中,它最终起作用了。

Xrm.Page.getControl(attrLogicalName).setDisabled(true);

实际上,我正在尝试弄清楚为什么业务规则和字段属性更改不起作用。 有什么想法吗?

这是预期的行为,因为产品实体有一些 OOB 脚本 locking/unlocking 具有 onChange 逻辑的字段。

可能 Microsoft 不希望您使用业务规则干扰 OOB 实现。如您所说,自定义 javascript 是 the only possible approach.