Javascript Dynamics CRM-动态相关选项集

Javascript Dynamics CRM-动态相关选项集,javascript,dynamics-crm,crm,Javascript,Dynamics Crm,Crm,我需要一些帮助,了解如何为Dynamics CRM设置3层相关选项集 我目前正在使用从开始的从属Option 问题是,我有3个字段选项设置了父项、子项和子项,在子项选项基于父项和子项发生更改之前,使用SDK示例是可以的。这是一个例子,如果我解释得不好的话 假设家长有A、B、C、D选项。 孩子有1,2,3,4 子儿童有i、ii、iii、iv 现在如果 选择A时,子对象将过滤为1和2 B被选中,子项被过滤为3和4 选择C时,子项过滤为1和3 选择D,子项过滤为2和4 但如果 选择A和1,子项过

我需要一些帮助,了解如何为Dynamics CRM设置3层相关选项集

我目前正在使用从开始的从属Option

问题是,我有3个字段选项设置了父项、子项和子项,在子项选项基于父项和子项发生更改之前,使用SDK示例是可以的。这是一个例子,如果我解释得不好的话

假设家长有A、B、C、D选项。 孩子有1,2,3,4 子儿童有i、ii、iii、iv

现在如果

  • 选择A时,子对象将过滤为1和2
  • B被选中,子项被过滤为3和4
  • 选择C时,子项过滤为1和3
  • 选择D,子项过滤为2和4
但如果

  • 选择A和1,子项过滤为i和ii
  • 选择A和2,子项过滤到iii和iv
  • 选择B和3,子项过滤到i和iii
  • 选择B和4,子级过滤为ii和iv
  • 选择C和1,子项过滤到ii和iii
  • 选择C和3,子项过滤到i和iv
  • 选择D和2,子项过滤为i和iii
  • 选择D和4,子项过滤到iii和iv
正如您从示例中看到的,SDK示例代码不适用于筛选子项选项集,该子项选项集不仅依赖于子项,还依赖于父项字段

有谁能告诉我一种方法来适应这个需求,或者引导我找到可以帮助我解决这个问题的资源吗?

这个示例可以用于级联下拉列表,但您的场景不是常规的级联

我推荐这个

这将很容易维护&它使用自定义实体进行配置,而不是xml。您必须调整
queryPart
以包括您的条件(也像父picklist条件),以便可以根据配置填充要列出的选项。如果需要,您可以自定义配置实体以包含额外的条件

//define the query for the Option Set Value entity
var queryPart = "/wf_optionsetvalueSet?$select=wf_label,wf_OptionSetValue&$filter=(wf_ParentOptionSetSchemaName eq '" + parentOptSet + "') and (wf_ParentOptionSetTriggerValue eq " + selectedParentOption + ")";
对于这个解决方案,我决定将选择列表选项存储在自定义实体中,而不是XML web资源中。此外,我还创建了一个动态函数,当每个连续的“父”拾取列表值更改时,该函数可用于在运行时检索适当的拾取列表选项。这允许我们为任意数量的依赖拾取列表调用相同的代码

整个解决方案使用一个自定义实体和一个静态数据块 作为web资源实现的javascript代码。修改依赖项 选择列表配置只需更新选项集即可完成 然后在客户关系管理中输入相应的记录 实体;所有本机CRM功能。不需要额外的代码

该示例适用于级联下拉列表,但您的场景不是常规的级联

我推荐这个

这将很容易维护&它使用自定义实体进行配置,而不是xml。您必须调整
queryPart
以包括您的条件(也像父picklist条件),以便可以根据配置填充要列出的选项。如果需要,您可以自定义配置实体以包含额外的条件

//define the query for the Option Set Value entity
var queryPart = "/wf_optionsetvalueSet?$select=wf_label,wf_OptionSetValue&$filter=(wf_ParentOptionSetSchemaName eq '" + parentOptSet + "') and (wf_ParentOptionSetTriggerValue eq " + selectedParentOption + ")";
对于这个解决方案,我决定将选择列表选项存储在自定义实体中,而不是XML web资源中。此外,我还创建了一个动态函数,当每个连续的“父”拾取列表值更改时,该函数可用于在运行时检索适当的拾取列表选项。这允许我们为任意数量的依赖拾取列表调用相同的代码

整个解决方案使用一个自定义实体和一个静态数据块 作为web资源实现的javascript代码。修改依赖项 选择列表配置只需更新选项集即可完成 然后在客户关系管理中输入相应的记录 实体;所有本机CRM功能。不需要额外的代码