Xrm.Utility.openEntityForm设置查找字段

时间:2014-12-30 00:16:56

标签: javascript dynamics-crm-2013 xrm

我正在尝试使用Xrm.Utility.openEntityForm()方法打开一个新的自定义实体表单,并以编程方式设置实体查找字段。我非常密切地关注http://msdn.microsoft.com/en-us/library/gg334375.aspx上的一个例子,但是收到了不明白的错误。任何帮助实际设置字段或可能找到错误的日志将不胜感激。

我正在关注的代码示例。

 function OpenNewContact() {

 var parameters = {};

 //Set the Parent Customer field value to “Contoso”.
 parameters["parentcustomerid"] = "2878282E-94D6-E111-9B1D-00155D9D700B";
 parameters["parentcustomeridname"] = "Contoso";
 parameters["parentcustomeridtype"] = "account";

 //Set the Address Type to “Primary”.
 parameters["address1_addresstypecode"] = "3";

 //Set text in the Description field.
 parameters["description"] = "Default values for this record were set programmatically.";
 //Set Do not allow E-mails to "Do Not Allow".
 parameters["donotemail"] = "1";

 // Open the window.
 Xrm.Utility.openEntityForm("contact", null, parameters);
}

我为自定义实体创建的函数如下:

function createNewService() {
    var locationId = trimBrackets(Xrm.Page.data.entity.getId());

    var primaryField = Xrm.Page.data.entity.getPrimaryAttributeValue();

    var entityLogicalName = Xrm.Page.data.entity.getEntityName();

    var parameters = {
        cw_location: locationId,
        cw_locationname: primaryField,
        cw_locationtype: entityLogicalName
    };

    Xrm.Utility.openEntityForm("cw_service", null, parameters);

}

我打开表单work = cw_service的实体的名称(这不是问题因为我可以用Xrm.Utility.openEntityForm(“cw_service”)打开一个空白表单;)

我想要设置的字段的名称是cw_location。

我发布了错误消息的图片,但我还没有声誉。

1 个答案:

答案 0 :(得分:2)

对于简单查找,您必须设置要在查找中显示的值和文本。使用带有属性名称的后缀“name”来设置文本的值。

不要使用任何其他参数进行简单查找

对于客户和所有者查找,您必须以与为简单查找设置它们相同的方式设置值和名称。此外,您必须使用后缀“type”来指定实体的类型。允许的值包括account,contact,systemuser和team。

对于您的示例,我想这是一个简单的查找。所以,请尝试使用以下代码:

var parameters = {
    cw_location: locationId,
    cw_locationname: primaryField
};

有关详细信息,请访问Set the value for lookup fields