2

我有一个名为“会话”的列表,该列表有一个工作流,用于创建、修改项目。当我使用 Web 部件以及手动添加项目时,工作流会触发。我开发了一个每天运行的计时器作业,它将项目添加到“会话”列表中。 当计时器作业将项目添加到列表时,工作流不会触发。

4

1 回答 1

0

使用 API 创建或编辑列表项不会触发工作流。您必须使用SPWorkflowManager该类自己触发它。的每个实例都SPSite具有该类型的属性,这是您应该使用的。

你可以这样编码:

SPSite site = foo; // Actually get your instance of SPSite by whatever is
                   // your favorite way to do so.

site.WorkflowManager.StartWorkflow(
        item,
        association,
        association.AssociationData,
        isAutoStart);

item您创建/编辑的 SPListItem在哪里,association是将列表与实际工作流相关联的实例SPWorkflowAssociation,并且isAutoStart是一个boolean变量,告诉工作流管理器工作流触发器是否应该表现为自动启动的东西(在您的情况下,true) .

于 2013-07-23T12:36:06.007 回答