【发布时间】:2016-03-28 09:14:46
【问题描述】:
我有一个要求,比如当管理员创建业务流程时,我需要获取与业务流程关联的所有阶段并将它们推送到自定义实体以供我将来参考。
我的计划是编写一个插件并在管理员创建进程时触发它。但无法获得相同的适当消息。在检查 SDK 列表时,可能会看到进程会话的创建消息。但我相信每次进程会话发生时都会触发它,并且会影响性能。
在这种情况下我可以使用任何消息吗?还有其他方法可以实现吗?
感谢您的所有想法和建议。提前致谢。
【问题讨论】:
我有一个要求,比如当管理员创建业务流程时,我需要获取与业务流程关联的所有阶段并将它们推送到自定义实体以供我将来参考。
我的计划是编写一个插件并在管理员创建进程时触发它。但无法获得相同的适当消息。在检查 SDK 列表时,可能会看到进程会话的创建消息。但我相信每次进程会话发生时都会触发它,并且会影响性能。
在这种情况下我可以使用任何消息吗?还有其他方法可以实现吗?
感谢您的所有想法和建议。提前致谢。
【问题讨论】:
我认为不可能在workflow 实体上运行创建插件。
我能想到的一个选择是有一个定期查询workflow 实体的外部作业。然后它将找出为您的实体创建的新业务流程,以及自上次运行以来已修改的业务流程(可能通过比较workflowentity 的xaml 属性?)。
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
【讨论】: