是否可以构建字典,然后对该字典中的每个项目执行实际操作(例如设置字段值)?
目标 - 我有一个列表可以说"测试列表" (为简单起见,我们说它有4列)我在第1项上运行工作流程
现在,当在商品ID 1上更新成本字段时,商品ID 3&的查找成本将会更改。 5,但计算字段在3&在以某种方式修改项目之前,5不会更新。
到目前为止的解决方案 - 所以我所做的是创建一个字符串变量" domain / site / _api / web / lists(' test list')/ items?$ filter =查找ID eq'([ %CURRENTITEM:ID)'
创建对"域/网站/ _api /网络/列表('测试列表')/项目的调用?$ filter =在ID eq' 1'上查找
当我计算时返回2项。我用这两个项目构建字典
问题 - 现在我看到很多帖子显示如何迭代该字典以从中获取值,然后将它们记录在一个变量中,然后可以用它来登录历史记录或发送电子邮件。但是我想实际对字典中的那些项做些什么,例如设置第5列"说日期修改"到今天为了更新计算字段。
一旦构建了我的字典,就可以了 循环计数我的字典项目(在这种情况下将等于2,我已经实现了)
First Loop 从字典中获取下一个ID> (3) 使用ID(3)
更新第5列的今天日期(例如,不必更新日期)第二循环 从字典中获取下一个ID> (5) 使用ID(5)
更新第5列,其中包含今天的日期我还考虑过在循环中通过更新项执行此操作,或者如果查找ID = CurrentItem:ID,但我遇到了问题。我提出了另一个关于使用" IF"的问题。和"更新项目"因为它实际上是一个不同的问题,如果可能的方法和如何分别执行每个方法将是有用的。因此,如果您可以使用更新解决此问题,或者如果您在下面找到我的问题
感谢高级
答案 0 :(得分:0)
所以我最后回答了自己的问题。所以我只是礼貌地在这里添加我的答案(一旦我读到我在这里写的内容就这么简单)
首先,您要做的是使用调用http Web服务创建循环,您可以找到许多如何执行此操作的示例。例如http://weblogs.asp.net/ricardoperes/looping-through-list-items-in-sharepoint-2013
所以在我的列表中我们只看三列
ID - LookupID - 更新(在下图中,字段“Text3”是我更新的列)
现在,在第一步中,您将需要在创建url变量时添加过滤器,该过滤器获取运行工作流的项的ID,并且只查找在LookupID列中具有所述ID的项。以下示例
https:// domain / site / _api / web / lists / getbytitle('TESTLIST')/ items?$ filter = LOOKUPID eq'[%Current Item:ID%]'(删除https:和/之间的空格) /)
然后按照上述网站的说明操作,直至到达循环中“获取字段”的部分
我被困了,因为我找不到一个命令来对字典中的项目进行操作,但后来我意识到,我可以创建一个变量来包含每个项目的ID(每次项目循环都会改变)工作流程循环播放,然后我可以创建更新操作,以便在列表中查找ID变量并更新字段。
正如你所看到我有两个更新字段(第二个将Text3设置为Second Update,用于测试目的)但是我保留了它,因为我不确定更新是否会实际更新我的项目,如果它已经包含该值
非常感谢所有堆栈交换问题和答案,这些问题和答案引导我走上这个解决方案的道路。