【问题标题】:How can I restrict the status reasons a user can select depending on the current status reason of a case?如何根据案例的当前状态原因限制用户可以选择的状态原因?
【发布时间】:2013-03-04 16:37:36
【问题描述】:

我正在设计一个使用状态原因将案例路由到我们组织内的各种队列的工作流程。

为了在工作流中强制执行流程(并减少用户需要从中选择的状态原因的数量),我想根据案例的当前状态原因限制可以选择哪些状态原因。我们有 12 个状态原因。

例如我想确保如果案例处于“准备好报告创建”状态原因,用户只能将状态原因设置为“已取消”、“搁置”或“已完成报告草稿” - 但他们不应该能够将状态原因设置为“报告已批准”。

我已经考虑过这个问题,我正在考虑的当前解决方案是:

  1. 隐藏案例的状态原因字段。

  2. 创建一个 CRM 对话流程,它根据案例的当前状态原因为用户提供相关的状态原因以供选择。

虽然此解决方案有效,但需要进行大量配置,因为每个状态原因都需要一个页面 - 在 CRM 对话过程中。

有没有人对这个问题不那么笨拙的解决方案有任何建议?

注意:这是本地安装,因此我们具有完全的灵活性 w.r.t.我们可以部署的解决方案类型。

【问题讨论】:

  • 在处理可用状态原因时是否存在限制?还是你不想写代码?
  • 实现方式没有限制。我主要关心的是可维护性。对话过程很快变得笨拙。除非提供更好的选择,否则我可能会考虑使用 @james 建议的 js 方法,使用数组来映射有效状态原因。

标签: dynamics-crm-2011


【解决方案1】:

有几种方法可以做到这一点。

对话框肯定会给你一个无代码选项。

如果您乐于使用 JavaScript,您可以使用 Xrm.Page.ui Control Methods 中的 adoptionclearOptionsremoveOption 等函数动态添加和删除选项。这将提供更流畅的用户体验。

如果您想强制执行业务规则,您还可以添加一个插件,在设置错误状态时抛出异常,以防止任何数据导入或其他进程错误设置值。

【讨论】:

  • 谢谢@james-wood。我最终使用了 Javascript UI 类。他们很享受。
猜你喜欢
  • 1970-01-01
  • 2019-08-29
  • 1970-01-01
  • 2012-02-05
  • 2014-09-29
  • 2021-06-01
  • 1970-01-01
  • 2018-09-29
  • 1970-01-01
相关资源
最近更新 更多