将工作流程关联附加到网站内容类型

时间:2019-05-02 11:53:07

标签: sharepoint-online csom sharepoint-workflow

我正在将网站内容类型添加到子网站,并将此内容类型附加到文档库。我附加基于默认WorkFlow模板“收集反馈-SharePoint 2010”的WorkflowAssociation。  这一切都是由CSOM完成到SharePoint-Online。 我检查了库和列表内容类型,同时站点内容类型显示了工作流程。因此,在这里,一切看起来都不错。 然后,如果我通过SharePoint-UI导航到网站内容类型,并且想要保存工作流的更改(例如AutoStartChange)并更新相关的内容类型,则会收到错误消息。错误为:“参数计数不匹配”。 如果我通过库中的列表内容类型更改工作流,则不会出现上述错误,并且设置将被保存。

如果我通过UI创建工件,一切都会按预期进行。这是我正在使用的代码:

var web = context.Web;
context.Load(web);
context.ExecuteQuery();

var cts = web.ContentTypes;
context.Load(cts);
context.ExecuteQuery();

var wfts = web.WorkflowTemplates;
context.Load(wfts);
context.ExecuteQuery();

var ct = cts.FirstOrDefault(c => c.Name == ContentTypeNames.QMDokument);
context.Load(ct);
context.ExecuteQuery();
var wfTemplate = wfts.GetByName(BuiltInWorkflowNames.CollectFeedbackSharePoint2010);

context.Load(wfTemplate);
context.ExecuteQuery();

var historyList = web.Lists.GetByTitle("Workflowverlauf");
context.Load(historyList);
context.ExecuteQuery();

var taskList = web.Lists.GetByTitle("Aufgaben");
context.Load(taskList);
context.ExecuteQuery();

WorkflowAssociationCreationInformation wfaci = new WorkflowAssociationCreationInformation();
wfaci.Template = wfTemplate;
wfaci.HistoryList = historyList;
wfaci.TaskList = taskList;
wfaci.ContentTypeAssociationHistoryListName = "Workflowverlauf";
wfaci.ContentTypeAssociationTaskListName = "Aufgaben";
wfaci.Name = "Kenntnisnahme";

WorkflowAssociation newWaci = ct.WorkflowAssociations.Add(wfaci);

ct.Update(false);
context.ExecuteQuery();

如果我在更新内容类型时指定true: ct.Update(true);我收到与保存用户界面相同的错误:

“参数计数不匹配”

如果我将WorkFlowAssociation部署到网站内容类型,则我应该能够通过SharePoint-UI或CSOM更新WorkFlow,但这会导致错误。

Specification中,我的代码应有效。任何提示,我可能做错了什么?

0 个答案:

没有答案