我有一个名为“Sessions”的列表,该列表有一个工作流程,用于创建和修改项目。当我使用Web部件添加项目以及手动添加项目时,工作流程会触发。我开发了一个每天运行的计时器作业,它将项目添加到“会话”列表中。 当计时器作业将项目添加到列表时,工作流程不会触发。
答案 0 :(得分: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
)。