具有不同数据的相似实体

问题描述

| 我正在评估使用CRM 2011来替换我们现有的LOB应用程序之一,并且对自定义实体有疑问。 我们有多个共享某些基本信息的实体,但是每个实体根据其“类型”需要不同的相关实体。验证规则也会根据\'type \'而改变。最重要的是,每个客户端可以支持\'type \'的不同子集。 例如。 员工实体 员工类型:全职,兼职,合同 姓名,地址,雇用日期等 不同的雇员类型,取决于选择的“类型”。 全职: 薪水 利益(相关实体) 养老金(相关实体) 兼职: 每小时收费 小时数/周 合同: 每小时收费 合同开始 合约结束 合同信息(相关实体) 提交的时间表(相关实体) 问题: 如何在Dynamics 2011中为这种事情建模?是否支持某种形式的继承? 目前,我正在考虑让一个流程在首次创建Employee时根据\“ Employee Type \”自动创建相关实体。有没有更好的方法来实现这一目标? 在这种情况下,如何实施验证?     

解决方法

        我们遇到了类似的问题,即我们的几个实体需要相同的领域。我们最终创建了一个单独的小程序,该程序一直进行着,并向每个实体添加了正确的字段。 遗憾的是,没有任何形式继承(例如,建立传播到其子代的母版形式)。而且您也不能复制表格。 但是,建立关系很容易。您可以创建一个事件后插件,该插件在创建员工实体时会添加基于类型的关系(下面是一个下拉列表)。如果您有一个子类型,也可以很容易地添加它。 验证将是另一整个蜡球。假设承包商变成了全职员工。您需要在字段上更改(类型)时具有一个更新插件,以检查并确保建立正确的关系,并且其他关系已终止(或清理)。 您所描述的情况在CRM 2011中非常可行,表单内容不是最优雅的,但是其他内容很容易处理。     ,        最好的方法不是通过继承,因为那样会使数据非规范化。我认为最好的选择就是简单地设置一个指定员工类型的选择列表/选项。然后,使用其他字段来支持每种类型。如果是全职员工,那么兼职员工字段可能为空,但这无关紧要,因为您正在进行的任何集成都会检查选项集,以查看应该在哪里查找数据。 我见过的“继承”的唯一类型是 2011年创建全局类型的选项集的能力,该选项集可以快速复制以在实体之间使用。 数据映射-如果您创建子实体,则可以将字段从父实体映射到子实体,就像潜在客户上的字段会延续到客户/联系人/机会一样。     ,        正如Cole所述,鉴于您的要求,您正在通过将字段分成单独的实体来引入不必要的复杂性。您最好跟踪单个实体上的所有这些字段,并通过“雇员类型”选择列表(下拉列表)进行区分。然后,您可以根据选定的员工类型并使用javascript动态显示/隐藏表单上的相关字段,并根据需要设置相应的字段。     ,        我建议一些事情来帮助保持这个“整洁”。 首先,请确保所有实体均已命名,以通过适当的分组进行标识。这样可以更轻松地跟踪行进路线。
new_all_dateofhire
new_all_name
new_ft_salary
new_pt_hourlyrate
其次,我将创建一个具有常规员工信息的主选项卡,并为每种员工类型创建一个附加选项卡,并使用子网格显示自定义关系。创建OnLoad JavaScript,以仅显示/隐藏正确的其他选项卡(对于新记录,则不显示/隐藏任何选项卡)。 在常规选项卡上,有一个\“ Employee Type \”的下拉选择器。当员工类型更改时,使用OnChange代码强制保存/刷新表单。使用适当的插件,您将可以清理关系。