【发布时间】:2012-02-09 03:50:11
【问题描述】:
我正在创建一个 linqpad 脚本,我想在其中实现以下目标:
1) 将所有草稿和活动工作流程分配给我自己 2) 激活所有草稿工作流
我的问题是,如果我尝试更改活动工作流的所有者,我会收到一条错误消息,指出我无法更新工作流,因为它处于活动状态。如果我尝试停用,则错误提示我不是所有者(因此我不被允许)。这很令人困惑,因为我可以通过 UI 轻松做到这一点。
我用来更新所有者的代码:
var systemUser =
var workflow = ...;
workflow.OwnerId = systemUser.ToEntityReference();
UpdateObject(workflow);
SaveChanges(); //exception: Cannot update a published workflow definition
我用来停用工作流的代码:
var request = SetStateRequest {
EntityMoniker = workflow.ToEntityReference(),
State = new OptionSetValue(/*state value*/),
Status = new OptionSetValue(/* status value*/)
};
service.Execute(request); //exception: The workflow cannot be published or unpublished by someone who is not its owner
【问题讨论】:
标签: workflow dynamics-crm-2011