【问题标题】:Sharepoint workflow problemSharepoint 工作流问题
【发布时间】:2011-10-02 10:01:02
【问题描述】:

我有自定义批准状态 machibe 工作流程,此工作流程附加到列表并启用在根据要求添加或更改任何项目时启动,当我的工作流程达到发布状态时,我编写自定义代码将其审核状态更改为已批准然后工作流程完成(项目状态会根据我的需要改变)但是我的工作流程再次作为新实例开始的问题:(。

【问题讨论】:

    标签: sharepoint workflow


    【解决方案1】:

    如果我理解您的问题,您有一个从添加或更改开始的工作流程。但是在某些情况下,您不希望工作流开始时项目发生更改。您无法在代码中启动工作流,因为您需要最终用户将您的工作流添加到列表中。

    唯一的选择是让工作流中的第一个活动检查工作流实例是否应该运行。如果不是,则退出工作流实例。如果您在 SharePoint Designer 中构建工作流并且没有此类活动,您可以在 Visual Studio 2008 中为此构建自定义活动,然后将其与 SharePoint Designer 一起使用。如果您在 Visual Studio 2008 中构建整个工作流,那么您可以在 Visual Studio 中创建一个自定义活动来使用它。

    【讨论】:

    • 感谢您的重播,但我希望工作流在项目更改时开始,但我如何检查这种情况的问题我更新了工作流实例中的列表项,这个实例是完整的,并立即发现新的实例重新开始,我如何检查这种情况,我使用 Visual Studio 工作流程
    【解决方案2】:

    你有两个选择:

    1) 保持工作流在添加或更改时开始,并将活动添加到工作流的开头,检查审核状态,如果已经批准,则立即退出。

    2) 让工作流从您编写的事件接收器中的代码开始,并在启动之前检查项目。

    【讨论】:

    • 感谢您的重播,第一个选项是不可能的,因为有一个案例批准的项目数据已更改,我需要重新开始工作流程第二个选项,不适用,因为我想让用户关联我的工作流程到任何列表,我在调试代码时发现了一些东西,当我在审核状态更改后暂停代码一段时间后,工作流程没有再次开始。
    【解决方案3】:

    我创建了一个小解决方案来解决这个问题。我已经创建了直接重定向到最终状态的预最终状态。然后我在这种状态下创建一个自定义代码活动并制作它的代码:

    Thread.Sleep(300);
    

    我的问题已经解决了:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-08
      • 1970-01-01
      相关资源
      最近更新 更多