3

在文档库上运行工作流时,我发现了一些问题。当您单击新文档时,它将在此示例中打开 microsoft word。您将一些内容写入文档,然后将其保存到库中。与库关联的工作流,在本例中是一个本地审批工作流,在创建列表项后开始运行。然而,问题是文档仍然处于打开状态,因此在用户关闭 word 之前已被检出。如果工作流做的第一件事是设置此列表项上的一些其他字段,例如将审批状态设置为“待定”,那么这将出错。它出错是因为文档已签出。

我试图让工作流程等待文档被签入,但这是我失败的地方。我正在尝试 OnWorkflowItemChanged 活动,并在代码中检查所做的更改是否已签入文档,因此在此之后我可以继续我的工作流程的其余部分。问题是此活动似乎没有将签入事件作为更改。这是有道理的,因为关闭自动签入的文档实际上并不会更改任何项目字段。

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

4

1 回答 1

1

解决此问题的方法是让工作流签出文档,进行任何更改,然后重新签入。

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

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

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

打下一个。

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

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

签出 <当前项目> 中的项目
     然后等待<您需要设置的任何字段或您需要的操作>
     然后签入 <Current Item> 中的项目并带有注释:<Comment>

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

第一步 - 检查当前项目
第二步 - 你需要做的自定义事情
第三步 - 签入当前项目
于 2009-10-26T15:04:32.303 回答