Dyanamics crm 2015 sp 1,抛出异常“无法获取未定义或空引用的属性'修剪'”设置查找值时。
b.trim
通过错误。 代码:
var Entity = RetrieveEntityById(Id, "SalesOrder");
if (Entity != null) {
var CustomerId = Entity.CustomerId;
if (CustomerId != null)
if (Xrm.Page.getAttribute("new_customerprofileid") != null)
Xrm.Page.getAttribute("new_customerprofileid").setValue([{ id: CustomerId.Id, name: CustomerId.Name, entityType: CustomerId.LogicalName }]);
}
一个解决方法是在try catch块中放置行(.setValue(“”))。
var Entity = RetrieveEntityById(Id, "SalesOrder");
if (Entity != null) {
var CustomerId = Entity.CustomerId;
if (CustomerId != null)
if (Xrm.Page.getAttribute("new_customerprofileid") != null)
try {
Xrm.Page.getAttribute("new_customerprofileid").setValue([{ id: CustomerId.Id, name: CustomerId.Name, entityType: CustomerId.LogicalName }]);
} catch (ex) { }
}
如果有人针对此错误达成其他修正,请回答。
答案 0 :(得分:0)
系统尝试修剪输入值,但其中至少有一个是null
而不是字符串。我想这意味着setValue字典中提供的值之一为null:CustomerId.Name
或CustomerId.LogicalName
。您可以排除这些数据集,或者您可能希望将其值设置为空字符串。
答案 1 :(得分:0)
我收到了同样的问题。在我的例子中,本机CRM .js试图在正在设置的查找值上访问名为“type”的属性,然后在其上调用.trim导致b.trim未定义。 “type”不是文档所说的需要设置的属性,所以我怀疑CRM javascript中存在一个错误,尽管试图找出其确切发生的原因很困难。
我已尝试将属性“type”设置为实体的对象类型代码,但这似乎会导致同样难以弄清楚的其他问题。
当我设置id,name和entityType时,我发现捕获异常是迄今为止最好的解决方案。我很可能会向MS提交一张票来看看这个问题。