2013-03-11 96 views
1

我试图在SharePoint 2013上使用Visual Studio 2012实现一些工作流以用于学习目的。我现在正在处理的工作流非常简单,它应该将一个列表项复制到另一个列表中,但是在获取另一个ListId时出现异常。SharePoint 2013 Visual Studio工作流列表IId

所以在这里是怎么一回事呢,

  • 首先,我获得使用GetCurrentListId活动当前列表的GUID并将其保存到类型的System.Guid的变量。
  • 后,我获得使用GetCurrentItemGuid活动,并将其保存到类型的另一个变量的GUID当前项目的System.Guid
  • 最后,我用的是CopyItem活动,这些活动都需要三个参数:ListIdItemGuid and ToListId。因为我还没有发现,得到了ListId任何活动,我选择的列表我要上ToListId组合框,并将其写入这对表达式编辑器:

    System.Guid.Parse("{$ListId:List2;}") 
    

很简单,不是吗?但是,当我运行工作流程时,出现以下异常:

调度程序遇到意外异常:System.Runtime.CallbackException:在WorkflowInstance'b1eb965e-d6e4-47d3-9170-ae2677897947'上调用OnRequestAbort引发异常。这被认为是致命的。详情请参阅内部例外。 ---> System.AggregateException:应该在处理时通知持久空闲。 ---> System.AggregateException:发生一个或多个错误。 ---> System.FormatException:索引(基于零)必须大于或等于零并小于参数列表的大小。

我不知道为什么抛出这个异常,我还没有找到任何其他方式来获取不是工作流上下文的CurrentList的列表的GUID。

一点点的帮助,请....

+0

任何人,请吗? – userX731 2013-06-10 18:02:06

回答

1

来源:肖恩Baerwald (http://answers.flyppdevportal.com/categories/azure/workflow.aspx?ID=d9b2e284-13e2-431b-8299-b3b4510942ce

修复/ HACK包括选择列表中的一个,点击elipse(...)然后在出现的编辑框中替换:

System.Guid.Parse("{$ListId:Lists/Tasks;}") 

随着列表GUID:

System.Guid.Parse("{4CGG7172-6EB0-4414-82E6-92BBE8A5E64A}") 
+0

它会工作吗?你试过了吗? – 2013-06-28 10:43:51

+0

是的Tushar Gupta,它的工作! ;) – Mauro 2013-07-31 16:29:22

相关问题