Dynamics crm 2011 CRM 2011 JavaScript如何访问从查找控件传递的实体中存储的数据?

Dynamics crm 2011 CRM 2011 JavaScript如何访问从查找控件传递的实体中存储的数据?,dynamics-crm-2011,lookup,entities,dynamics-crm-online,Dynamics Crm 2011,Lookup,Entities,Dynamics Crm Online,如问题所示,我需要了解如何通过查找访问已传递到JavaScript函数的实体数据 JavaScript代码如下: //函数,用于在这些参数更改时生成正确的权重值 函数类型AffectedOrregionAffected_OnChanged(ExecutionContext、类型、区域、权重、潜在值){ var type=Xrm.Page.data.entity.attributes.get(type).getValue(); var region=Xrm.Page.data.entity.att

如问题所示,我需要了解如何通过查找访问已传递到JavaScript函数的实体数据

JavaScript代码如下:

//函数,用于在这些参数更改时生成正确的权重值
函数类型AffectedOrregionAffected_OnChanged(ExecutionContext、类型、区域、权重、潜在值){
var type=Xrm.Page.data.entity.attributes.get(type).getValue();
var region=Xrm.Page.data.entity.attributes.get(region.getValue();
//如果两个字段都有值
if(type!=null&®ion!=null){
//创建权重变量
变量权重=类型[0]。名称。子字符串(4)+“-”+区域;
//重新创建权重值
Xrm.Page.data.entity.attributes.get(加权)、setValue(加权);
}
}

正如您可以看到的,使用name操作符的下面一行,我可以访问我的类型实体的类型字段

//创建加权变量
变量权重=类型[0]。名称。子字符串(4)+“-”+区域;
我现在正在寻找一种方法来访问存储在我的类型对象中的值。它有以下字段
新类型
新描述
新值
新种类

我想我在找这样的东西:

//使用实体的值分配给表单字段
Xrm.Page.data.entity.attributes.get(Potential).setValue(类型[0].getAttribute(“新值”));
提前感谢您的帮助

问候,


漫画

是的,Guido Preite是对的。您需要通过Rest-Sync或Async查找中的id来检索实体。然后获取Json对象。但是,对于返回的对象,可以提及作为Json的一部分支持哪些字段。现在,您可以访问所需的字段。

在这种情况下,REST OData调用无疑是一种方法。您已经有了id,只需要检索一些附加值。让你开始。使用Odata IMHO最困难的部分是创建请求Url。您可以在codeplex上找到一些工具,但我最喜欢的是使用LinqPad。只需连接到您的Org Odata URL,它将检索您的所有实体,并允许您编写一条LINQ语句,为您生成URL,您可以在浏览器中测试该URL

例如,它看起来是这样的(它区分大小写,所以如果不起作用,请仔细检查):


将OdataRestURL替换为ODataRest端点所在的任何端点,您应该都已设置好。

查找只包含
id
名称
entityType
属性。为了从记录中获取其他字段值,需要使用
REST
SOAP
endpoint.Thx检索该记录,以获取此处的帮助。我查看了LINQpad,但似乎无法将其连接到我的CRM。基本上说,检查证书和安装Windows身份基础是错误的。我确信凭据是正确的,因为我可以使用这些详细信息正确登录到插件注册工具,而且WIF肯定已安装。有什么想法吗?@ComicCoder它是本地的CRM online,还是IFD?它的CRM online,而且我仍然无法在脚本中获取任何数据,因为它总是出错。LinqPad不支持Windows Live。调试的第一步就是按原样通过URL进入浏览器。如果它返回您想要的数据,您就知道您的脚本有问题。如果它出错,那么您就会知道您的URL是错误的(大写不匹配或完全错误),感谢我通过手动浏览OData端点再次检查,发现我错误地引用了自定义实体(大写未匹配)
"OdataRestURL/TypeSet(guid'" + type[0].Id.replace(/{/gi, "").replace(/}/gi, "") + "'select=new_type,new_description,new_value,new_kind"