【问题标题】:Similar entities with different data具有不同数据的相似实体
【发布时间】:2011-05-31 17:20:17
【问题描述】:

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

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

例如

员工实体

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

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

全职:

  • 工资
  • 利益(相关实体)
  • 养老金(相关实体)

兼职:

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

合同:

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

问题:

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

【问题讨论】:

    标签: dynamics-crm dynamics-crm-2011


    【解决方案1】:

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

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

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

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

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

    【讨论】:

    • 谢谢 - 这就是我正在考虑的,但由于事后更改下拉值时应该发生的事情的复杂性,我试图避免。
    • 我想知道是否可以使用 Dialog 进程完成相同的操作?
    【解决方案2】:

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

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

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

      • 谢谢迈克尔——我给出的例子是一个更简单的类比我的实际需求。每种不同的“类型”都会有很多数据,理想情况下需要将其分解为实体。感谢您提供通过 javascript 显示/隐藏的选项 - 我想这仍然是一个选项,即使屏幕会很大。
      【解决方案4】:

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

      首先,确保您的所有实体都已命名,以便通过适当的分组来识别它们。这样可以更轻松地跟踪去哪里。

      new_all_dateofhire
      new_all_name
      new_ft_salary
      new_pt_hourlyrate
      

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-01-19
        • 2023-03-15
        • 2010-12-15
        相关资源
        最近更新 更多