繁体   English   中英

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

[英]CRM 2011 JavaScript How to access data stored in an entity passed from a lookup control?

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

JavaScript代码遵循:

// function to generate the correct Weighting Value when these parameters change
function TypeAffectedOrRegionAffected_OnChanged(ExecutionContext, Type, Region, Weighting, Potential) {

var type = Xrm.Page.data.entity.attributes.get(Type).getValue();
var region = Xrm.Page.data.entity.attributes.get(Region).getValue();

// if we have values for both fields
if (type != null && region != null) {

    // create the weighting variable
    var weighting = type[0].name.substring(4) + "-" + region;

    // recreate the Weighting Value
    Xrm.Page.data.entity.attributes.get(Weighting).setValue(weighting);
}

}

正如您在使用名称运算符时所看到的那样,我可以访问我的Type实体的Type字段。

// create the weighting variable
var weighting = type[0].name.substring(4) + "-" + region;

我正在寻找一种方法来访问存储在我的类型对象中的值。 它包含以下字段new_typenew_descriptionnew_valuenew_kind

我想我正在寻找这样的东西:

// use value of entity to assign to our form field
Xrm.Page.data.entity.attributes.get(Potential).setValue(type[0].getAttribute("new_value"));

在此先感谢您的帮助。

问候,

滑稽

是的Guido Preite是对的。 您需要通过来自Rest Sync或Async查找的id检索实体。 然后得到Json对象。 但是,为了使返回的对象变亮,您可以提及要作为Json的一部分备​​份的字段。 现在,您可以访问所需的字段。

REST OData调用绝对是这种情况下的方法。 您已经拥有了ID,只需要检索一些其他值即可。 这是一个让您入门的示例 与Odata IMHO合作最难的部分是创建Request Url。 有一些工具,你可以在codeplex上找到,但我最喜欢的,实际上是使用LinqPad。 只需连接到您的Org Odata URL,它就会检索所有实体,并允许您编写一个LINQ语句,为您生成URL,您可以在浏览器中进行测试。

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

"OdataRestURL/TypeSet(guid'" + type[0].Id.replace(/{/gi, "").replace(/}/gi, "") + "'select=new_type,new_description,new_value,new_kind"

将OdataRestURL替换为您的odata休息端点,您应该全部设置。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM