在具有层次结构关系的实体中,其中的一条记录需要具有一个字段来存储引用另一条记录的唯一标识符。这条用来存储对另一条记录的引用的记录称为子记录 (
与父记录之间存在层次结构关系的一个记录,该记录中存储了对父记录的引用。
一个父记录可与多个子记录相关。子记录在表单中的查找字段允许它们与父记录相关。
) 。子记录中的唯一标识符所引用的记录称为父记录 (
子记录层次结构关系中的记录,在该记录中存储了对子记录的引用。一个父记录可与多个子记录相关。
) 。
层次结构关系允许每个子记录 (
与父记录之间存在层次结构关系的一个记录,该记录中存储了对父记录的引用。
一个父记录可与多个子记录相关。子记录在表单中的查找字段允许它们与父记录相关。
) 将引用存储到某个父记录 (
子记录层次结构关系中的记录,在该记录中存储了对子记录的引用。一个父记录可与多个子记录相关。
) 中。上级记录可以被无数下级记录引用。上级记录可以在关联视图 (
某一实体在其他实体表单中的显示视图。
关联视图与实体在其所对应的用户界面区域中可见的视图不同。例如,在客户记录的“详细信息”下,单击“联系人”可以查看并打开联系人表单。该表单就是联系人关联视图。每个实体只能有一个关联视图。
) 中显示所有下级记录。
与层次结构关系相关的问题包括:
定义关系
关系是在实体之间定义的。代表子记录的实体称为
相关实体 (
通过唯一引用(该引用是使用相关实体表单上的查找控件定义的)与主要实体(记录类型)关联的实体。例如,客户对主要联系人具有一个唯一引用。
) 。
关系属性 (
存在层次结构关系时,相关实体中存在的属性。在相关实体的表单中添加关系属性后,将显示查找控件,以允许记录按关系中定义的方式与另一个记录相关。
) (又称作
查找属性 (
用于创建对相关记录的引用的属性。
也称为关系属性。
) )是在相关实体上创建的,以使记录能够存储对父记录的引用。
在关系中代表父记录的实体称为
主要实体 (
相关实体关联的实体。有时也称作“父实体”。
) 。
当您在 Microsoft Dynamics CRM 中创建或编辑实体之间的关系时,必须从某个实体开始。从哪个实体开始无关紧要,因为只会创建一个关系,且只需要编辑一个关系。所使用的术语根据从主要实体 (
相关实体关联的实体。有时也称作“父实体”。
) 还是从相关实体 (
通过唯一引用(该引用是使用相关实体表单上的查找控件定义的)与主要实体(记录类型)关联的实体。例如,客户对主要联系人具有一个唯一引用。
) 开始而定。
-
1:N 关系 是通过主要实体创建或查看的层次结构关系。
主要实体中的任何一个记录都可被相关实体中的多个记录引用。
-
N:1 关系 是通过相关实体创建或查看的层次结构关系。
相关实体中的多个记录可引用主要实体中的任何一个记录。
注意:请记住可通过关系中的两个实体中的任何一个查看相同关系。
数据完整性
层次结构关系使定义数据完整性规则成为可能。例如,如果某条商机 (
可能带来收入的事件或针对客户的销售活动,它们需要通过销售流程来跟踪完成。
) 记录并没有与客户记录相关联,则没有意义。Microsoft Dynamics CRM 要求商机记录应与客户记录相关联。但是,无论任务活动 (
要执行的操作(如任务)或者要发送/接收的沟通函电(如电子邮件、电话联络和约会)。
系统将跟踪活动状态并存储活动历史记录,以便用户可以查看开启和结束的活动。
) 是否与其他记录相关联,都是有意义的。您可以将任务活动与其他记录相关联。
创建关系时,必须选择是否强制执行数据完整性规则。如果通过设置业务必需的的需求级别 (
确定用户是否必须输入数据的一种设置。例如,字段的需求级别设置为“业务必需的”时,用户如果不在字段中输入数据,将无法保存记录。该字段也将会显示在“快速创建”表单中。
) 使相关实体上的关系属性成为必要字段,则可以保证通过 Microsoft Dynamics CRM 应用程序创建的每条相关实体记录将与父实体的某条记录相关联。
注意:字段级别的约束仅应用于 Microsoft Dynamics CRM 应用程序。通过 Microsoft Dynamics CRM Web 服务以编程方式创建的记录无需遵守字段级别的约束。
关系行为
一旦创建了层次结构关系,您就可以控制关系的行为方式以支持贵组织的数据完整性规则和业务规则。关系可以控制对父记录执行操作的方式将如何向下级联作用于子记录。
您可以针对主要实体的记录执行的以下操作来配置相应的关系行为:
-
分派 (
相关记录将被分派给同一用户。
)
-
共享 (
允许其他用户或团队对记录(如案例、客户或合同)进行指定次数的访问。例如,您可以与团队共享客户,并指定其成员可以读取客户记录,但无权对其进行写访问。
)
-
取消共享 (
将不再与同一用户或团队共享相关实体记录。
)
-
重定父级 (
如果由于主要实体记录重定父级导致主要实体记录的负责人发生更改,所有相关记录的负责人都将设置为主要实体记录的负责人。
)
-
删除 (
可以删除相关记录,取消相关记录与主要实体记录之间的链接,或者取消删除操作。
)
-
合并 (
将与从记录关联的相关记录的父级重定为主记录。
)
您既可以从三个预定义的常用行为类型中进行选择,也可以选择针对主要实体的记录执行的各项操作来配置适当的级联操作。
这三个预定义的行为类型为:
- 父级
在“父”类型的行为中,所有操作都向下级联作用于相关记录。例如,如果删除了某条父记录,所有的子记录也随之删除。如果重新分派了某条父记录,则所有子记录也会重新分派给同一用户。
- 引用
在“引用”类型的行为中,所有操作都不会向下级联作用于子记录。例如,当删除某条父记录后,所有子记录中与该记录链接的数据也随之删除。
- 引用,限制删除
“引用,限制删除”类型的行为与“引用”类型的行为相同,只是如果存在任何相关记录,则不允许执行删除操作。
您还可以通过选择“可配置的级联”类型的行为,选择针对每项操作定义特定的级联行为。对于大多数操作,您可以选择以下选项:
-
全部级联
这是“父”类型行为的行为。所有操作将级联作用于所有子记录,包括停用的记录。
-
可用项的级联
操作将仅向下级联作用于可用的子记录。
-
用户负责项的级联
操作将仅向下级联作用于分派给作为父记录负责人用户的子记录。
-
无级联
这是“引用”类型行为的行为。所有操作将不进行级联。
当记录中的数据或记录的状态发生更改时,必须保持数据完整性。例如,如果关系是必需的,那么删除某条父记录会破坏所有子记录的数据完整性。解决此问题的方法有以下三种:
-
使用“引用,限制删除”类型的行为,以防止删除具有从属子记录的任何记录。
-
使用“父”类型的行为,将已删除的任何父记录的任何从属子记录删除。
-
使用“可配置的级联”类型的行为,并将“删除”操作设置为“全部级联”或“限制”。
如果关系不是必需的,那么只需将与已删除的父记录建立链接的数据删除。
除了数据完整性,贵公司可能还采用应在记录中的数据或记录的状态发生更改时应用的规则。例如,某些组织可能希望在重新分派父记录时重新分派所有子记录。“关系”行为可以级联该操作,因此您无需手动完成。
层次结构关系的限制
-
父关系
每个实体只能参与一个父级 (
两个实体之间的一种关系,在这种关系中,对父实体记录执行的任何操作也可以对与父实体记录相关的所有子实体记录执行。
例如,如果删除父实体中的记录,也将删除相关的子实体记录;或者,如果共享父实体记录,也将共享子实体中的相关记录。
) 关系。多数 Microsoft Dynamics CRM 系统实体 (
默认情况下 Microsoft Dynamics CRM 中包含的实体(如客户)。
) 已参与了某个父关系,而且该关系无法更改。
-
关系的数目
实体可以与任何实体(包括系统实体)建立引用关系。您可以在两个实体之间创建多个关系。实体甚至可以与其自身建立引用关系(允许链接同一类型的记录)。但是,记录无法链接到其自身。
-
与客户记录的关系
Microsoft Dynamics CRM 中的客户可能是客户或联系人。这两个实体共同代表一个复合客户 (
与业务部门进行商业交易的客户或联系人。
) 实体。某些 Microsoft Dynamics CRM 系统实体(例如商机和案例)必须与客户相关联。但是,您无法与自定义实体建立这种类型的关系。
映射
用户可以在关联视图 (
某一实体在其他实体表单中的显示视图。
关联视图与实体在其所对应的用户界面区域中可见的视图不同。例如,在客户记录的“详细信息”下,单击“联系人”可以查看并打开联系人表单。该表单就是联系人关联视图。每个实体只能有一个关联视图。
) 中单击“新建”按钮来创建新的子记录。在这种情况下,父记录中的数据将被复制到新的子记录的表单中。默认情况下,对父记录的引用始终会被复制到子记录的关系查找字段中。您可以选择是否应同时复制其他字段中的数据。
更多信息: