我有许多案例详细信息实体,它们都有不同的案例解决方案,具体取决于类型。在选择案例解决类型时,我可以使详细信息表单处于非活动状态并调用子工作流来解决拥有案例。但是,如果拥有的案例有开放的活动,那么它当然不会得到解决。有没有办法可以从拥有的案例中检索打开活动的数量,从而在我的工作流程中使用。
问问题
1497 次
1 回答
2
工作流不支持计数等聚合函数,因此您需要添加一些逻辑来维护父案例上打开的活动的计数。我能想到的保持案例活动计数的最佳方法是编写一个插件,该插件在活动的创建后/更改状态后/删除前运行,检查它们是否与案例有关,如果是的话,向 CRM Web 服务发出 RetrieveMultiple 请求以计算属于父案例的活动总数,然后使用活动总数更新父案例(通过 Web 服务)上的自定义活动计数字段。
完成此操作后,您将能够在案例工作流中使用父案例活动计数。这样做会导致性能下降,因为 Web 服务调用需要一点时间,尤其是在删除时,因为它们必须在删除发生之前同步运行。由于您可能想要跟踪已关闭的活动,因此删除可能不会很常见。根据您的需要,您可能可以将 post 插件设置为异步运行,您不会看到这些插件的直接性能受到影响,但您将不得不等待异步插件像工作流一样触发。如果设计得当,您可以使用一个插件完成所有这些,只需 3 个步骤(每个事件 1 个步骤)。
于 2011-09-16T15:04:37.003 回答