4

我正在评估使用 CRM 2011 来替换我们现有的 LOB 应用程序之一,并且对自定义实体有疑问。

我们有多个实体共享一些基本信息,但每个实体都需要不同的相关实体,具体取决于其“类型”。验证规则也会根据“类型”而改变。最重要的是,每个客户端都可以支持不同的“类型”子集。

例如

员工实体

  • 员工类型:全职、兼职、合同
  • 姓名、地址、雇用日期等

不同类型的员工取决于选择的“类型”。

全职:

  • 薪水
  • 利益(相关实体)
  • 养老金(相关实体)

兼职:

  • 每小时收费
  • 小时数/周

合同:

  • 每小时收费
  • 合同开始
  • 合约结束
  • 合同信息(相关实体)
  • 提交的时间表(相关实体)

问题:

  1. 如何在 Dynamics 2011 中为此类事物建模?是否支持某种形式的继承?
  2. 目前,我正在考虑让一个流程在首次创建员工时根据“员工类型”自动创建相关实体。有没有更好的方法来实现这一点?
  3. 如何为这种情况实施验证?
4

4 回答 4

2

我们有一个类似的问题,我们的几个实体需要相同的字段。我们最终创建了一个单独的小程序,并为每个实体添加了正确的字段。

不幸的是,没有任何表单继承(比如设置一个传播给它的孩子的主表单)。你也不能复制表格。

不过,处理建立关系非常容易。您可以创建一个发布事件插件,当创建员工实体时,它会根据类型添加关系(比如说下拉)。如果你有一个子类型,你也可以很容易地添加它。

验证将是另一个蜡球。假设一个承包商变成了一名全职员工。您需要一个更新插件,在字段更改(类型)上检查并确保正确的关系到位,并且其他关系已结束(或清理)。

您描述的情况在 CRM 2011 中是非常可行的,表单的东西不是最优雅的,但其他的东西很容易处理。

于 2011-05-31T17:32:21.697 回答
1

最好的方法不是通过继承,因为这会使数据非规范化。在我看来,最好的选择是简单地设置一个指定员工类型的选项列表/选项集。然后有额外的字段来支持每种类型。如果它是全职员工,那么兼职员工字段可能会为空,但这并不重要,因为您正在进行的任何集成都会检查选项集以查看它应该在哪里找到数据。

我见过的唯一类型的“继承”是

  • 2011 创建可快速复制以跨实体使用的全局类型选项集的能力。
  • 数据映射 - 如果您创建一个子实体,您可以将字段从父实体映射到子实体,就像潜在客户上的字段将继续到客户/联系人/业务机会一样。
于 2011-06-01T03:22:44.017 回答
1

我会建议一些事情来帮助保持这种“整洁”。

首先,确保您的所有实体都已命名,以便通过适当的分组来识别它们。这将使跟踪去哪里变得更加容易。

new_all_dateofhire
new_all_name
new_ft_salary
new_pt_hourlyrate

其次,我将创建一个包含通用员工信息的主选项卡,并为每种员工类型创建一个附加选项卡,并使用子网格来显示自定义关系。创建 OnLoad JavaScript 以仅显示/隐藏正确的附加选项卡(或不显示新记录的选项卡)。

在通用选项卡上有一个“员工类型”的下拉选择器。当员工类型更改时,使用 OnChange 代码强制保存/刷新表单。使用适当的插件,您将能够清理关系。

于 2011-06-06T02:49:21.577 回答
1

正如 Cole 所提到的,鉴于您的要求,您通过将字段分解为单独的实体来引入不必要的复杂性。您最好跟踪单个实体上的所有这些字段并通过“员工类型”选择列表(下拉列表)进行区分。然后,您可以根据所选员工类型使用 javascript 动态显示/隐藏表单上的相关字段,并根据需要设置相应字段。

于 2011-06-01T18:44:08.897 回答