使用传递给窗体的参数设置字段值

 

发布日期: 2017年1月

适用于: Dynamics 365 (online),Dynamics 365 (on-premises),Dynamics CRM 2016,Dynamics CRM Online

本主题中的内容可用于 Microsoft Dynamics 365(在线或本地)。 通过指定用于打开窗体的 URL 中的属性值,您可以为用户创建的新记录设置默认值。 默认情况下,在窗体中设置这些值,但用户在保存记录之前可以更改这些值。

本主题内容

传递参数,以设置字段记录值

例如:设置字符串字段的值

设置查找字段的值

例如:设置查找字段的值

例如:设置数据字段的值

例如:设置选项集字段的值

示例:使用 Xrm.Utility.openEntityForm 打开新窗口

示例:使用 window.open 打开新窗口

传递参数,以设置字段记录值

备注

您可以将参数值传递到窗体中,以使用 Xrm.Utility.openEntityForm 函数设置字段值。 有关示例,请参阅示例:使用 Xrm.Utility.openEntityForm 打开新窗口。

使用 URL 地址打开新窗体时,可以在 extraqs 参数中包含用于设置字段值的参数。 必须满足下列要求:

  • 必须对在 extraqs 参数中传递的参数进行编码。 若要对参数进行编码,请使用 encodeURIComponent

  • 查询字符串参数的名称必须匹配或包含实体属性的名称。

  • 传递的值必须有效。

  • 值不可以是脚本。

尝试传递无效参数或值将导致出现错误。

  • 对于布尔字段,请使用整数值 01,或者文本值 truefalse 来设置值。

  • 对于“日期时间”字段,请使用日期的文本值。

例如:设置字符串字段的值

以下示例将新客户记录的“姓名”字段的值设置为“New Account”。

extraqs 参数的未编码值为“name=New Account”。

/main.aspx?etn=account&extraqs=name%3DNew%20Account&pagetype=entityrecord

设置查找字段的值

下表介绍五种类型的查找字段。 有关使用查找字段的示例,请参阅例如:设置查找字段的值和示例:使用 Xrm.Utility.openEntityForm 打开新窗口。

查找类型

说明

简单查找

允许对一种类型的实体的单个引用。

客户查找

允许对客户或联系人记录的单个引用。

负责人查找

允许对团队或系统用户记录的单个引用。

partylist 查找

允许对多个实体的多个引用。

相关项查找

允许对多个实体的单个引用。

下列指南适用于对窗体使用查询字符串参数设置查找值的情况:

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

    请勿使用任何其他参数。

  • 对于客户和负责人查找,您必须按照为简单查找设置值和名称相同的方式设置它们。 此外,必须使用后缀“type”指定实体类型。 许用值为 account、contact、systemuser 和 team。

  • 您无法设置 partylist 或相关查找的值。

例如:设置查找字段的值

若要设置查找字段的值,请使用数据值或名称值,并仅为客户或负责人查找指定相应字段的类型值。 以下示例将负责人字段设置为名为“Mark Folkerts”的用户。

extraqs 参数的未编码值为“ownerid={B8C6E040-656E-DF11-B414-00155DB1891A}&owneridname=Mark Folkerts&owneridtype=systemuser”。

/main.aspx?etn=lead&pagetype=entityrecord&extraqs=ownerid%3D%7bB8C6E040-656E-DF11-B414-00155DB1891A%7d%26owneridname%3DMark%20Folkerts%26owneridtype%3Dsystemuser

以下示例将主要联系人字段设置为名称为“Yvonne McKay(示例)。extraqs 参数的未编码值为 primarycontactid={43b58571-eefa-e311-80c1-00155d2a68c4}&primarycontactidname=Yvonne McKay(示例)。

/main.aspx?etn=account&pagetype=entityrecord&extraqs=primarycontactid%3D%7B43b58571-eefa-e311-80c1-00155d2a68c4%7D%26primarycontactidname%3DYvonne%20McKay%20(sample)

备注

对于此类简单查找,您不需要设置类型值。

例如:设置数据字段的值

以下示例将新商机的“预计结束日期”字段设置为 2011 年 1 月 31 日。extraqs 参数的未编码值为“estimatedclosedate=01/31/11”。

/main.aspx?etn=opportunity&extraqs=estimatedclosedate%3D01%2F31%2F11&pagetype=entityrecord

例如:设置选项集字段的值

若要设置“选项集”字段的值,请为相应选项设置整数值。 以下示例将“角色”字段设置为新联系人记录中的“Decision Maker”。

extraqs 参数的未编码值为“accountrolecode=1”。

/main.aspx?etn=contact&extraqs=accountrolecode%3D1&pagetype=entityrecord

示例:使用 Xrm.Utility.openEntityForm 打开新窗口

以下示例在若干不同字段设置默认值,并演示如何使用 Xrm.Utility.openEntityForm 函数。 它等效于之前使用 window.open 方法的示例。

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);
}

示例:使用 window.open 打开新窗口

以下示例设置一些不同字段的默认值,并演示如何使用 encodeURIComponentextraqs 参数的值进行编码。 如果使用 window.open 方法,则可以控制打开的窗口的功能。

function OpenNewContact() {
    //Set the Parent Customer field value to “Contoso”.
    var extraqs = "parentcustomerid={F01F3F6D-896E-DF11-B414-00155DB1891A}";
    extraqs += "&parentcustomeridname=Contoso";
    extraqs += "&parentcustomeridtype=account";
    //Set the Address Type to “Primary”.
    extraqs += "&address1_addresstypecode=3";
    //Set text in the Description field.
    extraqs += "&description=Default values for this record were set programatically.";
    //Set Do not allow E-mails to "Do Not Allow".
    extraqs += "&donotemail=1";
    //Set features for how the window will appear.
    var features = "location=no,menubar=no,status=no,toolbar=no";
    // Open the window.
    window.open("/main.aspx?etn=contact&pagetype=entityrecord&extraqs=" +
     encodeURIComponent(extraqs), "_blank", features, false);
}

另请参阅

使用 URL 打开窗体、视图、对话框和报表
openEntityForm
配置窗体以接受自定义查询字符串参数

Microsoft Dynamics 365

© 2017 Microsoft。 保留所有权利。 版权