适用于 Dynamics 365 渠道集成框架 1.0 的 openForm(JavaScript API 参考)

打开实体窗体或快速创建窗体。

Syntax

Microsoft.CIFramework.openForm(entityFormOptions,formParameters).then(successCallback,errorCallback);

参数

Name 类型 必选 Description
实体形式选项 JSON 对象 是的 用于打开窗体的实体窗体选项。 该对象包含以下属性:
- 命令栏
- createFrom实体
- 实体 Id
- 实体名称
- formId
-高度
- 导航栏
- 打开新窗口
- 窗口位置
- 进程 ID
- 进程实例 ID
-关系
- 选择 StageId
- 使用QuickCreateForm
-宽度
有关属性的信息,请参阅 entityFormOptions 对象表
form参数 物体 将额外参数传递给窗体的字典对象。 无效参数将导致错误。
有关将参数传递到窗体的信息,请参阅使用传递到窗体的参数设置字段值配置窗体以接受自定义查询字符串参数。
success回调 功能 作成功时要执行的函数。
errorCallback 功能 作失败时要执行的函数。

entityFormOptions 对象属性

下表描述了该 entityFormOptions 参数的属性。

注释

属性是可选的。

属性名 类型 Description
cmdBar 布尔 指示是否显示命令栏。 如果未指定此参数,则默认显示命令栏。
createFromEntity 查找 指示将根据映射的属性值提供默认值的记录。 查找对象具有以下 String 类型的属性:entityType、 和 idname (可选) 。
entityId String 要显示窗体的实体记录的标识符。
entityName String 要为其显示窗体的实体的逻辑名称。
formId String 要显示的表单实例的标识符。
身高 编号 要显示的窗体窗口的高度(以像素为单位)。
导航栏 String 控制是否显示导航栏,以及应用程序导航是否可以使用站点地图中定义的区域和子区域。 有效值为:
on:显示导航栏。 如果未使用该 navBar 参数,则这是默认行为。
off:不显示导航栏。 用户可以使用其他用户界面元素或后退和前进按钮进行导航。
entity:在实体窗体上,只有相关实体的导航选项可用。 导航到相关实体后,导航栏上会显示一个后退按钮,以允许返回到原始记录。
openInNewWindow(打开新窗口) 布尔 指示是否在新窗口中显示窗体。
窗口位置 编号 指示窗体在窗口上的位置。 有效值为: 1 中心位置和 2 侧面位置。
processId String 要在表单上显示的业务流程的标识符。
processInstanceId String 要在窗体上显示的业务流程实例的标识符。
关系 JSON 对象 指示在窗体上显示相关记录的关系对象。 有关属性的信息,请参阅 relationship 对象表
选择阶段 Id String 业务流程实例中所选阶段的标识符。
使用QuickCreateForm 编号 要显示的表单窗口的宽度(以像素为单位)。

relationship 对象属性

下表描述了参数的relationship对象属性的entityFormOptions属性。

注释

属性是可选的。

属性名 类型 Description
属性名称 String 用于关系的属性的名称。
姓名 String 关系的名称。
navigation属性 String 关系的导航属性的名称。
关系类型 编号 关系类型。 有效值为: 0 一对多关系和 1 多对多关系。
角色类型 编号 关系中的角色类型。 有效值为: 1 用于引用和 2 AssociationEntity。

返回值

成功后,返回一个包含字符串的 Promise 对象。

Example

以下示例代码打开一个新的事件窗体,其中包含某些字段(如联系人 ID 和描述)的预填充值。

var id = "5af02e2a-d0d1-e811-8158-000d3af97055"
var title = "Sample Case Form"
var entityFormOptions = {};
    entityFormOptions["entityName"] = "incident";
    
var formParameters = {};
    //pre-populate some fields based on the context
    formParameters["title"] = title;
    formParameters["customerid"] = id;
    formParameters["customeridtype"] = "contact";
    formParameters["caseorigincode"] = 1;
    formParameters["description"] = "Opened the form with pre-populated details like title, contact id, and description.";

//Open the form
Microsoft.CIFramework.openForm(JSON.stringify(entityFormOptions), JSON.stringify(formParameters)).then(
      function (success) {
        console.log(success);
    },
    function (error) {
        console.log(error);
    }
  );