自定义实体窗体

表单提供用户用来创建、查看或编辑实体记录的用户界面(UI)。 使用自定义工具中的表单设计器创建和编辑实体窗体。 详细信息: 创建和设计表单 ,了解有关与在应用程序中处理表单相关的任务的信息。

本主题将提供以编程方式创建或编辑表单所需的信息。

访问表单定义

实体表单与仪表板和可视化效果一起存储在 SystemForm 实体中。 可通过两种方式检查实体的表单定义:

  • 在非托管解决方案中包含实体并导出解决方案。

  • 查询SystemForm实体

查看导出的对象的 FormXML 文件

导出的托管解决方案中仅包含已自定义的系统实体表单的定义。 若要查看系统实体窗体的定义,必须以某种方式更改它,或者通过保存具有新名称的现有窗体来创建新窗体。

导出解决方案后,提取内容并查看 customizations.xml 文件。 你将在 . 中找到ImportExportXml>Entities>Entity>FormXml表单的定义。 在节点中 <FormXml> ,你会发现每种类型的窗体都分组在一个 <forms> 元素中,该元素具有 type 指定窗体类型的属性。

窗体属性

下表描述了关键 SystemForm 实体属性以及随解决方案导出的 XML 元素中包含的相应数据。

SystemForm 属性 FormXML 元素 Description
AncestorFormId <ancestor> 父窗体的唯一标识符。 使用现有窗体的 另存为 或通过 CopySystemFormRequest 来创建新窗体时,将会设置此项功能。
CanBeDeleted <CanBeDeleted> 指定是否可以删除此组件的信息。仅当表单是通过导入托管解决方案创建的时,才应用此托管属性。
Description <Descriptions> Description 是一个字符串,包含 <Descriptions> 表单说明的任何本地化标签。

可以使用RetrieveLocLabelsRequest检索本地化标签。
FormActivationState <FormActivationState> 指定窗体的状态。

只能停用类型为“main”的表单。

有效值:

- 0:非活动
- 1:活跃
FormId <formid> 窗体的唯一标识符
FormPresentation <FormPresentation> 指定此窗体是否位于 Dynamics 365 for Customer Engagement 的更新 UI 布局中。
FormXml <form> 窗体布局的 XML 表示形式。
IntroducedVersion <IntroducedVersion> 添加表单的解决方案版本。
IsAIRMerged N/A 指定此窗体是否与 Dynamics 365 for Customer Engagement 中更新的 UI 布局合并。
IsCustomizable <IsCustomizable> 指定是否可以自定义此组件的信息。

仅当表单是通过导入托管解决方案创建的时,才应用此托管属性。
IsDefault N/A 信息指定窗体或仪表板是否是系统默认设置。
Name <LocalizedNames> Name 是一个字符串,<LocalizedNames> 其中包含窗体名称的任何本地化标签。

可以使用RetrieveLocLabelsRequest检索本地化标签。
ObjectTypeCode 窗体是Entity元素的后代。 该值 ObjectTypeCode 是实体逻辑名称。
Type <forms> element type 属性 表单的有效值为:

- 2: main
- 5: mobile
- 6: quick
- 7: quickCreate

创建和编辑表单

只有在EntityMetadata的情况下,才能为实体创建新窗体。 CanCreateForms 允许此操作。

可以使用CreateRequestCopySystemFormRequest创建新窗体。 在窗体编辑器中使用 CopySystemFormRequest 或使用 “另存为” 时,请注意窗体之间没有继承。 因此,对基窗体的更改不会自动应用于从其创建的任何窗体。

从导出的托管解决方案中编辑表单定义,然后重新导入解决方案是编辑实体表单的支持方法。 手动编辑表单时,强烈建议使用允许架构验证的 XML 编辑器。 详细信息: 使用架构验证编辑自定义 XML 文件

另请参阅

自定义 Microsoft Dynamics 365 Customer Engagement
创建和设计窗体
SystemForm 实体
创建或编辑如何启动业务规则
表单 XML 架构