我们刚刚继承了MS Dynamics 365 CRM项目。我们已经取得了一些进展,但这绝对不是我们的长处。
我们有一个预先填充许多字段的表格。调用JavaScript函数“ setLookupValue”以预填充字段。在整个解决方案中,经常调用此功能。它适用于除此字段外的所有其他实例。当为此特定字段调用该函数时,我们将收到以下JavaScript错误:
“查找控件错误:无法将typename =的项添加到查找控件中”。
这是JS函数:
setLookupValue: function (LookupId, Type, Id, Name) {
var lookupReference = [];
lookupReference[0] = {};
lookupReference[0].id = Id;
lookupReference[0].entityType = Type;
lookupReference[0].name = Name;
alert("SET LOOKUP DEBUG: Name = " + Name + ", Type = " + Type + ", ID = " + Id + ", LookupId = " + LookupId);
Xrm.Page.getAttribute(LookupId).setValue(lookupReference);
}
我觉得JS函数很可靠,因为它在整个解决方案中的许多地方都可以使用。这使我认为这与传递的参数(数据)有关?
我已经在网上做了很多研究,但是很难进行排序。
在此先感谢您的帮助!
答案 0 :(得分:1)
感谢所有提供有用见解的人。通过仔细检查正在运行的JS查找调用,我能够解决此问题。
据我所知,“查找控件错误:无法将typename =的项添加到查找控件”的真正含义是 Dynamics找不到与您传递的名称匹配的实体类型
在我的情况下,我传递的是“会员关系”。由于此解决方案中实体的命名方式不一致,因此会员实体名称上有一个前缀。该功能所需的正确实体名称显示在“实体定义”页面上。
因此,最终,传递给Type的JS函数的实体名称不正确。添加前缀以更正类型名称后,查找调用开始工作。
答案 1 :(得分:0)