我计划在to
实体上更改email
属性的默认视图,因此它会建议用户在account
中选择收件人,而不是contacts
。
然而,MS Dynamics CRM中的此功能似乎已被破坏。或者我错过了什么?
以下是代码:
(function () {
var ctrl = Xrm.Page.getControl("to");
if (ctrl) {
ctrl.setDefaultView('{13C1A58B-9AEF-4164-80E5-1D946D5BC8B3}');
console.log("Default view is set!");
}
}())
Guid指向contact
实体的有效观点。执行代码,控制台有调试消息设置默认视图!,并且在使用to
时,查找系统默认仍然使用account
。
有人找到了解决这个问题的方法吗?当然,以支持的方式。
答案 0 :(得分:3)
我很幸运能够找到支持,但仍然有点棘手的方法如何在不破坏CRM核心的情况下实现所需的结果。
基本思路是将任意自定义视图添加到所选控件,而不是setDefaultView
添加到对实体有效的任何所需视图。
因此问题中的代码可以改写为:
(function () {
var ctrl = Xrm.Page.getControl("to");
if (ctrl) {
// Add custom view based
ctrl.addCustomView('{71C254C1-1F55-43B7-94DE-C461DB617A77}', 'contact', 'View Name', '<xml> valid FetchXML statement </xml>', '<xml> valid LayoutXML statement </xml>', true);
ctrl.setDefaultView('{13C1A58B-9AEF-4164-80E5-1D946D5BC8B3}');
console.log("Default view is set!");
}
}())
实际上,在设置新的自定义视图后,可以将任何有效视图设置为默认视图。这可以是自定义视图或系统视图。