如何修复由于无法更新项目而导致SharePoint工作流返回“发生错误”的问题?

7
我们最近从MOSS 2007 迁移到了SP2010平台。我们有一个高度使用的SharePoint Designer工作流(每天500多个实例),该工作流使用InfoPath提交数据。它基本上是一个涉及许多批准级别的串行批准工作流。迁移后,几乎90%的工作流都以“发生错误”的状态结束,并显示以下错误描述:
“The workflow could not update the item, possibly because one or more columns for the item require a different type of information.”
导致错误的工作流没有固定的模式,重新启动工作流始终可以解决问题。
我们已经匹配了所有的列/内容类型,MOSS 2007和新的表单库之间没有任何区别;用户的权限级别也没有改变。
很多网站提到在更新事件之前在工作流中引入暂停,但我对这样做持怀疑态度。可能的原因/解决方法是什么?在这90%失败的工作流中,我们无法确定任何共同点或直接指向根本原因。其中一些工作流实例还会导致以下错误:
“the workflow could not update the item as it was checked out to another user.”
5个回答

5

我曾经遇到过同样的问题,而一分钟的延迟解决了这个问题。根据我的经验,在哪些项目失败和哪些不失败方面的不一致性使我们开始怀疑是锁定问题。否则就没有任何道理了。如果我们针对列表中的一个具体项目进行测试,有时工作流会成功运行,而有时它会失败。根据我们使用的硬件,我们会在相同的配置下得到完全不同的结果。

其他遇到类似问题的人报告了锁定问题。 http://social.technet.microsoft.com/Forums/en-US/sharepoint2010customization/thread/fc4e1073-d67f-449a-b443-e5805f5358c7

对我来说,这可能是一个锁定/时间问题....看起来工作流启动并尝试在信息路径表单上释放锁之前更新文档库项中的字段!

当您进行迁移时,是否涉及新的硬件?还要考虑到 SharePoint 2010 需要比 2007 更多的计算能力。


2

问题似乎与试图更改已锁定字段有关。如果您不想在更改以前更新的字段之前将1分钟延迟引入您的工作流程中(这应该总是有效的..),您可能希望在相同字段的更新之间添加“等待当前项目中的字段更改”操作。在某些情况下,这是可能的,并且在我的情况下表现得非常好。


0

问题可能有很多原因,对我来说与用户权限有关:

工作流代表用户在另一个列表中创建项目,但他只有该列表的读取权限,通过在另一个列表上授予贡献权限,问题得以解决。


-1

在假设存在锁定/时间问题之前,请确保您的工作流程没有更新到错误的列类型。在我们的情况下,我们试图使用无效数据更新“人员或组”字段。


-1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接