从拥有案例中检索开放活动的数量

时间:2011-09-16 14:01:35

标签: dynamics-crm-2011 microsoft-dynamics

我有许多案例详细信息实体,它们都具有不同的案例分辨率,具体取决于类型。在选择案例解析类型时,我可以使详细信息表单处于非活动状态,并调用子工作流程以解决所属案例。但是,如果拥有案件有开放活动,那么当然它将无法解决。有没有办法可以从拥有案例中检索开放活动的数量,从而在我的工作流程中使用。

1 个答案:

答案 0 :(得分:2)

工作流不支持聚合函数(如count),因此您需要添加一些逻辑来维护父案例中的打开活动计数。我可以想到的最好的方法是保持对案例的活动计数,即编写一个插件,该插件在创建后/更改后状态/预删除活动上运行,以检查它们是否与案例有关,如果是,对CRM Web服务的RetrieveMultiple请求是否计算属于父案例的总活动数,然后使用活动总数更新父案例(通过Web服务)的自定义活动计数字段。

完成后,您将能够在案例工作流程中使用父案例活动计数。由于Web服务调用需要一些时间,尤其是在删除时,因此它们必须在删除发生之前同步运行,因此您将因此而受到性能影响。由于您可能希望跟踪已关闭的活动,因此很可能不会发生删除操作。根据您的需要,您可以设置post插件以异步方式运行,并且您不会看到这些插件的直接性能损失,但您必须等待async插件像工作流一样触发。如果设计正确,您可以使用一个插件完成所有这一切,包含3个步骤(每个事件1个)。