sharepoint designer工作流的两个操作之间需要延迟约5秒

sharepoint designer工作流的两个操作之间需要延迟约5秒,sharepoint,sharepoint-designer,Sharepoint,Sharepoint Designer,(sharepoint 2007) 我正在创建sharepoint工作流 当在名为ListA的列表中创建或更改项目时,将启动此工作流 此项有一个名为“用户分配”的字段 创建项目时,此字段为空 工作流中的第一步是-授予项目权限 在此步骤中,项目的创建者被授予“贡献”权限 第二步是使用当前项的创建值更新分配给用户的字段 创建项目时,其“贡献”权限不属于登录的用户。这就是为什么我们使用第一步为登录贡献的用户授予权限。在第一步完成后。已将“贡献”权限授予登录的用户,现在他应该能够在工作流的下一步更新“用

(sharepoint 2007)

我正在创建sharepoint工作流

当在名为ListA的列表中创建或更改项目时,将启动此工作流 此项有一个名为“用户分配”的字段 创建项目时,此字段为空 工作流中的第一步是-授予项目权限 在此步骤中,项目的创建者被授予“贡献”权限 第二步是使用当前项的创建值更新分配给用户的字段

创建项目时,其“贡献”权限不属于登录的用户。这就是为什么我们使用第一步为登录贡献的用户授予权限。在第一步完成后。已将“贡献”权限授予登录的用户,现在他应该能够在工作流的下一步更新“用户分配”字段

但是问题是,即使在授予权限的第一步完成之前。执行第二步,由于当时登录的用户仍然没有贡献权限,因此工作流停止,而不更新用户分配的字段。如果我能在工作流的第一步和第二步之间产生大约5秒的延迟,我的问题就会得到解决

但我相信sharepoint designer工作流的最小暂停时间是1分钟,这远远超过我的要求

我该怎么办

  • 尝试通过调用SPListItem.update()更新SPListItem对象,看看是否有帮助
  • 如果没有,那么就回答你的问题:执行

  • 加入延迟活动会将工作流序列化到数据库中,只有计时器作业会将其唤醒(通常每5分钟运行一次,即使活动延迟设置为1分钟)。

    添加代码项并使用
    System.Threading.Thread.Sleep(5000)

    在sharepoint designer工作流中,有一个用于设置日期/时间的时间部分的选项 将日期字段的时间设置为00:o5(输出为一个变量用户定义的变量名)
    然后暂停,直到源为工作流数据字段是您的可变名称。--确定-->完成工作流

    我在sharepoint designer中没有任何“添加代码项”选项