我有一个要求,比如当管理员创建业务流程时,我需要获得与业务流程流相关的所有阶段,并将它们推送到自定义实体以供将来参考。
我的计划是编写一个插件,并在管理员创建进程时触发它。但是无法为此获得适当的消息。在检查SDK列表时,可以看到为processsession创建消息。但我相信,每当进程会话发生时,它都会被触发,并且会受到性能影响。
在这种情况下,我可以使用任何消息吗?还有其他方法可以达到这个目的吗?
感谢您的所有想法和建议。提前谢谢。
答案 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