在创建流程/实体时触发插件

时间:2016-03-28 09:14:46

标签: plugins crm

我有一个要求,比如当管理员创建业务流程时,我需要获得与业务流程流相关的所有阶段,并将它们推送到自定义实体以供将来参考。

我的计划是编写一个插件,并在管理员创建进程时触发它。但是无法为此获得适当的消息。在检查SDK列表时,可以看到为processsession创建消息。但我相信,每当进程会话发生时,它都会被触发,并且会受到性能影响。

在这种情况下,我可以使用任何消息吗?还有其他方法可以达到这个目的吗?

感谢您的所有想法和建议。提前谢谢。

1 个答案:

答案 0 :(得分:0)

我不认为可以在workflow实体上运行创建插件。

我能想到的一个选择是拥有一个定期查询workflow实体的外部工作。然后,它会计算出为您的实体创建的新业务流程,并且自上次运行以来已经修改过(可能通过比较xaml实体的workflow属性?)。

QueryExpression query = new QueryExpression("workflow");
query.ColumnSet = new ColumnSet("workflowid", "name", "xaml");
query.Criteria.AddCondition("primaryentity", ConditionOperator.Equal, "new_yourentity");
query.Criteria.AddCondition("businessprocesstype", ConditionOperator.Equal, 0); // Business Flow

var results = service.RetrieveMultiple(query);

// add compare logic and write to new entity here