设置

实体自定义

“有关自定义的 11 项须知”的第 5 部分

发布日期: 十一月 30, 2007

Microsoft Dynamics CRM 利用“实体”一词来表示用于存储和管理数据的结构。从概念上讲,实体通常相当于数据库中的表,这是因为实体是与 Microsoft Dynamics CRM 管理的记录类型相对应的。然而,实体包含的内容远远多于数据库表所含的内容。实体包括表单、视图以及与特定记录类型相关的 Microsoft Dynamics CRM 行为的定义。

除默认的系统实体外,您可以创建自定义实体。例如,房产经纪人可以添加名为“地产”的新实体,以存储其出售的所有房屋。

当前页内容
属性 属性
实体关系 实体关系

属性

实体表单中的每个字段都代表实体的一个属性。您可以向系统实体添加自定义属性,以补充所提供的系统属性。对于大多数系统实体,可用的属性要多于在表单上看到的字段。创建新属性之前,请先检查是否已存在符合您要求的系统属性;若存在,则可直接使用,而不必创建新的自定义属性。

访问“属性自定义”页

  1. 在导航窗格中,依次单击“设置”、“自定义”,然后单击“自定义实体”。

  2. 双击要自定义的实体。

  3. 在“详细信息”下,单击“属性”。

  4. 双击要自定义的属性,或者单击“新建”创建新的属性。

创建新的自定义实体时,必须添加所需的其他属性。下表列出了可以添加或修改的属性类型。

名称 说明

nvarchar

此类字段用于存储文本。您可以应用某些格式选项(如文本或股票代号)来控制文本的显示方式及行为方式。您还可以指定属性的最大长度(最多 4000 个字符)。

picklist

用于指定 HTML 选择控件,通常称为“下拉列表”或“组合框”。您可以定义此列表中所要显示的选项。

您还可以定义与每个选项的文本值对应的整数值。整数值是数据库中实际存储的有关该属性的值。

bit

用于指定存储值 0 或 1 的字段。在表单中,可以选择将该属性显示为单选按钮、复选框或选择列表。您还可以设置每个值的显示文本,如“真”和“假”,“是”和“否”,或者“始终”和“从不”。

int

此字段用于存储整数,即没有小数点的正数或负数。必须指定该字段的格式,以及最小值和最大值。最小值为 -2,147,483,648,最大值为 2,147,483,647。

float

用于指定带有小数点的正数或负数。您可以设置显示的小数位数(也称为“精度”)以及最小值和最大值。最小值为 -1,000,000,000,最大值为 1,000,000,000。float 属性支持的小数位数最多为 5 位。

money

money 属性支持多币种交易。您可以设置小数位数(也称为“精度”)以及最小值和最大值。最小值为 -922,337,203,685,477,最大值为 922,337,203,685,477。money 属性支持的小数位数最多为 4 位。

创建 money 属性时,将创建相应的属性,即 base 属性。base 属性可按照基础货币来存储 money 属性的值。

具有 money 属性的所有实体还必须具有“货币”和“汇率”属性。如果这些属性不存在,那么在将新 money 属性添加到实体中时,会创建这些属性。

ntext

用于指定存储长文本的字段,亦称“文本框”。这些字段最多可存储 100,000 个字符。

datetime

当表单上显示出这些字段时,其中会包含一个可以显示和编辑日期的字段。此外,这些字段还包含日历控件,以帮助用户查找特定日期。您可以决定是显示日期和时间,还是只显示日期。

注意

在可以添加的属性类型的列表上没有“查找”。在您创建实体关系时,将创建新的查找属性。

字段约束

添加或编辑属性时,您还可以设置是否要求用户在代表该属性的字段内输入数据。共有以下三种选择:

  • 业务必需的。用户必须在该字段内输入数据,才能保存记录。此字段将标有红色星号。

  • 业务建议的。不要求用户输入数据。此字段将标有蓝色“+”号。

  • 无约束。这是默认设置,是一个没有特殊约束的常规字段。

页首

实体关系

所有实体均与某些系统实体存在一定的实体关系。例如,“修改者”(modifiedby) 和“创建者”(createdby) 属性是“用户”实体的实体关系所需的查找属性。

创建自定义实体时,您可能希望将其与一个或多个其他实体相关联。一个实体通常并不是十分有用,除非将它与其他类型的记录相关联。此外,了解主键和外键也很有帮助,但这并不是在 Microsoft Dynamics CRM 中创建实体关系的必要条件。

了解实体关系

Microsoft Dynamics CRM 表单中的每个字段都有相应的实体属性。通常,如果要创建新的字段,需要先创建新的实体属性。查找字段则不同。多数类型的新实体属性是在实体的属性区域中创建的,而查找属性则是在创建实体关系时自动创建的。

您可以创建两种类型的实体关系:

  • 分层关系表示具有以下特性的实体关系:一个记录中存储了对另一个记录的唯一引用。您添加的“查找”字段会让用户将此引用设置到其他的记录。具有查找字段的记录通常称为子记录。查找字段中引用的记录称为父记录。

    定义实体关系时,需要选择将显示在查找字段中的记录类型。父记录类型称为主要实体。子记录类型称为相关实体。

    创建分层关系时,您必须从这些实体之一开始,因此请从以下选项中进行选择:

    • 1:N(一对多)关系表示从主要实体中创建或查看的分层关系。主要实体中的任何一个记录可以被相关实体中的多个记录引用。

    • N:1(多对一)关系表示从相关实体中创建或查看的分层关系。相关实体中的多个记录可以引用主要实体中的任何一个记录。

      注意

      请务必记住,尽管有两个独立的分层关系选项,但使用其中的任何一个选项都可以得到相同的结果。您无须同时进入两个实体来建立它们之间的关系。

  • N:N(多对多)关系是不分层次结构的,因为记录不会存储对另一记录的唯一引用。N:N 关系的表单上没有“查找”字段。两个记录是对等的。由于这两个记录都在关联视图中显示所有与其相关的其他记录列表,因此显得与上级目录类似。

创建或编辑实体关系

访问实体关系自定义

  1. 在导航窗格中,依次单击“设置”、“自定义”,然后单击“自定义实体”。

  2. 找到要创建或编辑其关系的任一实体,然后双击。

  3. 在“详细信息”下,根据所要创建或编辑的关系类型,选择下列选项之一:

    • 1:N 关系

    • N:1 关系

    • N:N 关系

  4. 双击现有关系进行编辑,或者创建新的关系。

级联行为

您所创建的层次结构实体关系会影响数据的完整性。例如,如果您创建名为“银行客户”的自定义实体,该实体与“客户”实体存在着实体关系,那么在连接到相关客户记录之前,这些记录中存储的所有银行客户信息均不可使用。如果该客户被停用、删除或重新分派,您希望发生什么结果?级联行为便用来描述发生类似事件时执行的操作。

例如,大多数情况下,如果客户被删除,您需要采取相应措施;这是因为,如果未与另一客户建立关系,那么相关记录会变成“孤立的记录”。用户可能无法找到该记录。通常,如果没有主要记录,相关记录也不太重要了。因此,您可以一并将其删除。然而,Microsoft Dynamics CRM 不会代您做出决定。您可以根据业务情况决定是否删除。若无法使用级联行为自动设置首选项,那么您必须手动更改相关记录。

配置层次结构实体关系的其中一步便是确定希望针对特定操作设置何种类型的行为。在有些组织中,如果客户被重新分派,则可能希望同时重新分派所有开启的销售商机。您可以使用关系中的关系行为部分来定义组织的适当行为。

有一个重要问题需要考虑:当层次结构实体关系中存在任何级联操作时,该关系称为“父关系”。如果没有任何级联操作,则可将该关系看作“引用关系”。

定义层次结构实体关系时,可以选择操作或行为类型。行为的类型如下:

  • 父级:对父实体记录执行的任何操作也会对与父实体记录相关的所有子实体记录执行。例如,如果删除父实体中的记录,也将删除相关的子实体记录;或者,如果共享父实体记录,也将共享子实体中的相关记录。

  • 引用:您可以导航到任何相关记录并在报表中建立它们之间的关系,但对一个实体执行的操作不会影响另一个实体。

  • 引用,限制删除:您可以导航到任何相关记录并在报表中建立它们之间的关系。对父记录执行的操作不会应用到子记录,但在存在子记录的情况下,不能删除父记录。

  • 可配置的级联:对父实体记录执行的所有操作也会应用到所有子实体记录。您可以定义每种操作的行为。例如,您可以设置可配置的级联,以便在父实体中共享记录时,不会自动共享子实体的任何相关记录。但是,如果删除父实体记录,将自动删除所有相关的子实体记录。

切记,可配置的级联使您可以更加确切地控制将要级联的具体操作。但是,只要一个操作级联,就需要在创建层次结构实体关系时考虑到这种实体关系中的“父”关系所受的限制。

层次结构实体关系限制

创建层次结构实体关系时,需要注意以下两个方面的限制:

  • 每个实体只能有一个父关系。您可以创建任意数量的 N:1(多对一)关系,但有一种例外情况,级联关系行为必须为引用。

  • 不能创建虚拟客户实体的关系。“案例”、“商机”、“报价单”和其他 Microsoft Dynamics CRM 实体都与“联系人”或“客户”实体有关系。这两种实体代表客户,也统称为“虚拟客户”实体。您可以单独创建与“联系人”或“客户”的关系,但不能创建与“案例”、“商机”或“报价单”等某些 Microsoft Dynamics CRM 系统实体中的关系完全相同的关系。

关联视图

创建层次结构实体关系时,关联视图可以显示在主要实体表单中。N:N(多对多)关系可以在参与实体关系的两个实体中显示关联视图。

对于自定义实体关系,您可以控制关联视图的显示方式。

  • 对于层次结构实体关系:使用“关系”表单的“主要实体的导航窗格项”区域。

  • 对于 N:N(多对多)实体关系:配置“关系”表单的“当前实体”和“其他实体”区域。

在“显示选项”字段中,共有三个选项:

  • 不显示:表示此关系的关联视图将不显示。如果不必查看关联视图,则使用此选项。

  • 使用自定义标签:将启用“自定义标签”字段,从中可以输入关联视图所用的标签。如果您对同一实体具有多个实体关系,则使用自定义标签来区分这些关系。

  • 使用复数名称:使用为相关实体定义的复数名称。

如果选择“使用自定义标签”或“使用复数名称”,您可以通过从“显示区域”下拉列表中进行选择,来指定用于显示关联视图的表单导航窗格的子区域。默认选项包括:

  • 详细信息

  • 市场营销

  • 销售

  • 服务

在每个导航窗格区域中,可以控制显示顺序。将“显示顺序”字段的值设置为 10,000 以上。值最小的实体关系将显示在最上面。

映射

显示关联实体列表的实体关系。单击“新建”按钮时,用户可以在此视图中创建新的关联实体实例。因为来自相关记录的某些数据会自动映射到新记录,所以采用这种方式可以更加轻松地创建新记录,以简化数据输入。您可以在关系中配置映射,以控制要用来自相关实体的数据填充的字段。

注意

切勿对映射产生误解。Microsoft Dynamics CRM 只在创建新记录时进行这种映射。在保存记录后,便不会维护关系中的数据。如果相关记录中的某个值发生变化,则另一记录中的映射数据会保持记录创建时的状态。

映射是在每个实体关系中进行配置的。保存实体关系后,“映射”区域将显示在关系表单的“导航”窗格区域中。

单击“新建”以创建新的映射。在“创建属性映射”对话框中,从“源实体属性”中选择源属性,从“目标实体属性”中选择目标属性,然后单击“确定”。

注意

选择属性时,应考虑以下映射要求:

  • 两个属性必须属于同一类型,而且必须采用相同的格式。

  • 目标属性的长度不得小于源属性的长度。

  • 目标属性不能映射到其他属性。

  • 源属性必须在显示表单上。

  • 目标属性必须是一个可供用户在其中输入数据的字段。

  • 如果属性是选择列表,则每个选项的整数值应完全相同。

  • 不能映射地址 ID 值。

警告

尽管可以自动创建关系的映射,但通常不建议这样做。该过程将只根据属性的数据类型和名称,映射所有可映射的属性。所有现有映射将被删除。

  • 在“关系”表单的操作工具栏上,单击“其他操作”。

  • 单击“生成映射”。

相关链接

是否找到了所需的信息?
是     否 
如果未找到,请问您需要什么信息?(可选)

© 2009 Microsoft Corporation。保留所有权利。