![](/img/trans.png)
[英]CRM Dynamics , How to pass values from one form and set the values in a new Entity(form) using Xrm.Utility.openEntityForm();
[英]Set form read only using Xrm Object on Dynamics 365 CRM
我在Microsoft文档上阅读有关Xrm对象的 信息,但是找不到具体的东西。
我需要限制创建或编辑门户网站注释 ( 活动类型)的某些角色。 因此,我不能只是简单地修改安全角色 。
我在编辑门户网站注释表单时看到,有一个JavaScript脚本可以在页面加载时执行:
编辑此对象时,它会Xrm
大量Xrm
对象。
用伪代码我应该做
if(ActiveUser.hasRoles(["Some role", "Some other role"]) {
Page.setReadOnly(true);
}
我已经有一个脚本(作为网络资源)来检查这样的角色,但是我不知道如何将表单设置为“只读”或仅使用Xrm进行设置。 任何线索如何在这里实现?
编辑1:
我可以通过使用以下代码来做到这一点:
// Ribbon "Save" button
document.querySelector('#crmRibbonManager').style.display = "none";
// Status "Save" button
document.querySelector('#savefooter_statuscontrol').style.display = "none";
Xrm.Page.ui.controls.get().forEach(function (control) {
if(!control.getDisabled()) {
control.setDisabled(true);
}
});
当然,由于文档尚未加载,我会收到页面加载错误 。 但是我很确定我可以使用一些Xrm
技术来禁用这些属性,我必须研究一下。
补充阿伦的答案;
这种类型的东西不受支持; document.querySelector('#crmRibbonManager')
Microsoft Dynamics 365和保持支持的重要性
必须使用Xrm.Page和Xrm.Utility命名空间中定义的功能来执行应用程序页面内的所有JavaScript交互,即,不要直接与页面DOM交互。
如果要控制功能区行为,则应该自定义命令和功能区 ,您将需要添加启用/显示规则。 丝带工作台是一个很好的工具。
最后,仅控制客户端验证毫无用处。 如果您想要用户无法避免的服务器端规则,则应考虑实施插件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.