自定义实体窗体

 

发布日期: 2017年1月

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

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

本主题将提供通过编程方式创建或编辑表单的必要信息。

本主题内容

访问窗体定义

窗体属性

创建并编辑窗体

访问窗体定义

实体表单与仪表板和可视化项都被存储在 SystemForm 实体中。 有两种方法可以检查实体的窗体定义:

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

  • 查询 SystemForm 实体

从导出的实体中查看 FormXML

只有自定义的系统实体表单的定义项被包含在导出的托管解决方案中。 若要查看系统实体表单的定义,必须以某种方式对其进行更改或通过使用新名称保存现有窗体来创建一个新的窗体。

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

窗体属性

下表描述的是关键的 SystemForm 实体属性,以及与解决方案一起导出的、包含在 XML 元素中的相应的数据。

SystemForm 属性

FormXML 元素

说明

AncestorFormId

<Ancestor> (FormXml)

父窗体的唯一标识符。 当您通过使用现有窗体的“另存为”或者使用 CopySystemFormRequest 创建新窗体时,将会进行这种设置。

CanBeDeleted

<CanBeDeleted> (FormXml)

用于指定此组件是否可以删除的信息。如果窗体是通过导入托管解决方案创建的,此托管属性才适用。

Description

<Descriptions> (FormXml)

Description 是字符串,并且 <Descriptions> (FormXml) 包含窗体说明的任何本地化标签。

可以使用 RetrieveLocLabelsRequest 对本地化标签进行检索。

FormActivationState

<FormActivationState> (FormXml)

指定窗体的状态。

只有“主要”类型的窗体可以停用。

有效值包括:

  • 0:停用

  • 1:可用

FormId

<formid> (FormXml)

窗体的唯一标识符

FormPresentation

<FormPresentation> (FormXml)

在 Microsoft Dynamics 365(在线或本地) 中指定此窗体是否处在更新 UI 布局中。

FormXml

<form> (FormXml)

XML 窗体布局的表示形式。

有关窗体结构的详细信息,请参阅 <form> (FormXml)

IntroducedVersion

<IntroducedVersion> (FormXml)

添加窗体到解决方案的版本。

IsAIRMerged

在 Microsoft Dynamics 365(在线或本地) 中指定此窗体是否被合并到更新的 UI 布局中。

IsCustomizable

<IsCustomizable> (FormXml)

用于指定是否可自定义此组件的信息。

只有当窗体是通过导入托管解决方案创建的时,此托管属性才适用。

IsDefault

用于指定窗体或仪表板是否为系统默认的信息。

Name

<LocalizedNames> (FormXml)

Name 是字符串,并且 <Descriptions> (FormXml) 中包含窗体名称的任何本地化标签。

可以使用 RetrieveLocLabelsRequest 对本地化标签进行检索。

ObjectTypeCode

该表单是 Entity 元素的后代。

ObjectTypeCode:值是实体的逻辑名称。

Type

<forms> (FormXml) element type 属性

窗体的有效值:

  • 2:main

  • 5:mobile

  • 6:quick

  • 7:quickCreate

创建并编辑窗体

仅当 EntityMetadata.CanCreateForms 允许时,才能为实体创建新窗体。

可以使用 CreateRequestCopySystemFormRequest 创建新窗体。 在使用 CopySystemFormRequest 或在窗体编辑器中使用“另存为”时,要确保窗体之间没有继承关系。 因此,对基础窗体所做的更改不会自动应用到以其为基础创建的任何窗体。

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

另请参阅

自定义 Microsoft Dynamics 365 应用程序
TechNet:创建和设计窗体
SystemForm(系统仪表板)实体消息和方法
创建或编辑如何实施业务规则
Form XML reference
Form XML schema

Microsoft Dynamics 365

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