工作流启动时在SharePoint中检出文档

时间:2009-08-13 16:07:35

标签: sharepoint workflow checkout document-library

在文档库上运行工作流时,我发现了一些问题。当您单击新文档时,它将在此示例中打开Microsoft Word。您将一些内容写入文档然后将其保存到库中。与库关联的工作流程,在这种情况下是一个自行开发的批准工作流程,现在已开始运行已创建列表项目。然而问题是文档仍然是打开的,因此检出,直到用户关闭单词。如果工作流程的第一件事是在此列表项上设置一些其他字段,例如将批准状态设置为“挂起”,那么这将是错误的。它错误,因为文档已签出。

我试图让工作流程等待文档被检入,但这就是我失败的地方。我正在尝试一个OnWorkflowItemChanged活动,并在检查所做的更改的代码中检查了文档,所以在此之后我可以继续我的其余工作流程。问题是,此活动似乎并未将检查事件作为更改。这种方式很有意义,因为关闭自动检入它的文档实际上并没有改变任何项目字段。

所以我需要在我的工作流程中找到一些方法来检测签入事件,但在此之前等待我的位置。

1 个答案:

答案 0 :(得分:1)

对此的修复是让工作流检出文档,进行任何更改,然后重新检入。

在代码中,您可以使用自定义事件处理程序执行此操作。有关对象模型的信息,请查看sharepoint SDK或MSDN。

在SharePoint Designer中,将工作流设置为如下所示:

选中“创建新项目时自动启动此工作流程”或“创建新项目时自动启动此工作流程”或选择这两个选项。

点击下一步。

在下一页上,将条件部分留空。

在操作设置设置中,您的工作流程如下所示:

Check out item in <Current Item>
     then Wait for <Whatever fields you need to be set or actions you need>
     then Check in item in <Current Item> with comment: <Comment>

您也可以将其分解为步骤。例如:

Step One - Check out current item
Step Two - Custom stuff you need to do
Step Three - Check in current item 
相关问题