2014-12-03 62 views
0

我有2个Sharepoint设计器列表工作流程,用于一个列表。第一个工作流程将在项目创建时开始,第二个工作流程将在项目更改时开始。当第一个工作流程完成时,我为列“sofortige Implementierung”设置了一个值,当值为“sofortige Implementierung”时,第二个工作流程应该开始。 第二个是开始,我有自定义工作流操作,从列表的项目ID创建一个Word文档。Sharepoint设计器在项目值更改时启动的工作流程错误

Iam只有错误,没有信息,所以我不知道我做错了什么。

如果我开始工作流程manuelly其工作。

我的第二个工作流程是这样的

如果“字段值”等于“sofortige Implementierung”

则名为“测试”创建从列表“列表名” ID Word文档和“当前项目ID” 。

谢谢。

回答

0

您可以使用检入和检出列表项。让第一个工作流将检查项目作为第一个操作。然后,工作流程会对该项目执行其操作,并且作为最后一步检查该项目。

让第二个工作流程的第一步是等待该项目签入,然后执行其操作。

通过这种方式,您可以确保第二个工作流程在第一个工作流程完成之前不会执行任何操作。

编辑后评论:

要灵活。尝试故障排除首先,将每个步骤记录到工作流程历史记录中,以便您可以确定该流程中的缺陷位置。

好的,列表项无法检出。精细。

B计划。

考虑暂停工作流程。第一个工作流程需要多长时间?在第二个工作流程中,将第一个操作设置为等待xxx周期。

计划C:(我认为这可能是你的票)

考虑使用只是一个工作流程设有分支机构。让它在创建项目和更改项目时触发。使用条件来确定要做什么。伪代码:

if field1 is blank (or some other value) 
    do this 
else if field1 = "sofortige Implementierung" 
    do the steps for that 
end if 

这样您就不会有两个工作流在优先级上发生冲突。

+0

但这不是文档库,它的一个列表,列表工作流程中没有选项可用于结帐项目。只有文档库的项目结帐选项。 – user1514428 2014-12-03 10:11:00

+0

我编辑了我的答案。 – teylyn 2014-12-03 10:40:44

+0

实际上,第一个工作流将“分类标准”字段值设置为“sofortige implement”,然后将另一个字段“sofortimp”设置为“sofortige implementationierung”。这意味着第一个工作流将Field Sofortimp从空置到“sofortige implement”。所以第二个工作流程运行时,字段值被改变,所以我尝试记录它做的完美的id,并且我得到的错误是第二个工作流程具有此自定义工作流程操作,它获取列表项目的id并使用元数据创建word文档。 – user1514428 2014-12-03 10:59:25

0

Acutally我错误是从我使用Visual Studio开发的自定义工作流程操作。问题是我用(SPSite站点=新SPSite(SPContext.Current.site.ID)有错误说对象引用未设置为对象的实例,并纠正该问题,并正常工作。

相关问题