我遇到了与Sharepoint工作流程和相关任务列表相关的问题。
我有2个为我们的产品创建的自定义工作流程。它们都使用相同的任务列表,该列表具有继承自任务内容类型的自定义内容类型。
现在我有一个案例,其中已删除正在运行的工作流程已删除的列表或文档,这会导致孤立的任务。
我想覆盖Task列表OnDeleting事件,以便用户可以清理他们的任务,使其不包含不必要的孤立任务。所以我的项目删除看起来像这样
public override void ItemDeleting(SPItemEventProperties properties)
{
SPListItem currentListItem = properties.ListItem;
}
问题是,当我进入调试模式并检查currentListItem.Workflows.Count字段时,它始终为0.无论我启动哪个工作流程或我查看的任务都无关紧要,返回的SPWorkflowCollection始终为空: (
我想知道这是否与我们的自定义工作流程中的错误有关,但是它没有正确连接(但它正确完成并且当工作流终止时删除了任务)或者我是否以错误的方式看待这个? / p>
答案 0 :(得分:2)
此处的范围currentListItem
是任务项本身,而不是工作流运行的列表项。任务 没有针对它运行的工作流,因此预期零计数。
如果您尝试访问与要删除的项目上的工作流程相关联的工作流程任务,则需要在每个列表上启用此类事件处理程序,工作流程已激活,而不是在工作流用于存储其任务的任务列表中。