【发布时间】:2013-10-03 11:25:06
【问题描述】:
我的情况与HERE 描述的情况相同。
我正在尝试使用 Create List Item 和 Update List Item 操作(如答案中建议的那样),但没有任何结果。
有人可以解释一下答案中提到的程序吗?
谢谢,
马塞洛
【问题讨论】:
标签: sharepoint sharepoint-designer sharepoint-workflow
我的情况与HERE 描述的情况相同。
我正在尝试使用 Create List Item 和 Update List Item 操作(如答案中建议的那样),但没有任何结果。
有人可以解释一下答案中提到的程序吗?
谢谢,
马塞洛
【问题讨论】:
标签: sharepoint sharepoint-designer sharepoint-workflow
我在那里发布了一个答案,但这是一个副本,以防它被删除或删除:
lem.mallari 的答案是一个巨大的痛苦,除非您可以假设列表 A 中的金额永远不会改变,因为它不会跟踪项目是否已经添加到总和中。工作流无法遍历 SharePoint 列表,这意味着没有简单的方法来计算多个列表项的总和或平均值。
实现这一点的正确方法将需要一些开发。 SharePoint 开发人员培训(2010、2013)实际上可以帮助您了解大部分情况:当在列表 A 和 B 中添加或更改项目时,事件接收器应触发,使用 SharePoint 的 API 遍历列表 A 和平均值,然后更新列表 B 中的所有(或仅受影响的)项目。或者,您可以使用 JavaScript 显示列表 A 中与列表 B 中的项目具有相同名称的所有条目的总和,只要所有数据显示在您的页面上。如果您熟悉 XPath 和 InfoPath,则可以将列表 A 作为辅助数据源添加到列表 B 的表单中,并仅选择列表 A 中适用的项目进行汇总。
但如果我们谈论的是工作流,这里是“仅工作流”方法。这在 2010 年经过测试并取得成功。使用以下列创建自定义列表 C:
将列表 A 和 B 中的 Name 列替换为指向列表 C 的查找列。删除列表 B 中的 Amount 列,而不是包括 Sum 列作为附加列。将以下列添加到列表 A 中,并确保用户无法直接更改它们。这可以通过制作 InfoPath 表单或制作替代查看和编辑表单来加以限制。
创建一个工作流以在每次在列表 A 中创建或修改项目时运行。使用这些命令(我使用列表是为了便于阅读;它在格式化为代码时变得很难看):
【讨论】: