多个 SPListItem 如何共享 1 个工作流程历史记录?
我遇到了这样的需求,我想从工作流程中创建多个列表项,并能够查看任何该项目的工作流程历史记录。
问题背景:在定期会议中,添加了议程项目。 有些项目处于“开放”状态,有些项目处于“关闭”状态。 那些已经开放、有能力(并且可能会)继续在议程上列出进一步举行的会议的人。 如果用户选择继续该项目,我会在工作流程中创建一个新项目。
结果是,我们有一个项目序列,如
- 第 1 天:“讨论问题 A”(父项目字段值:null)
- 第 2 天:“讨论问题 A.1”(父项目字段值:讨论问题 A 的 ID)
- 第 3 天:“讨论问题 A.2”(父项字段值:讨论问题 A.1 的 ID)
问题是我希望能够在工作流程历史记录中跟踪这些内容,并能够从任何项目查看它。 因此,在工作流程中,它们应该与所有其他项目处于相同的状态。
关于如何为所有这些项目分配相同的工作流程有什么想法吗?
I`v come across a need where I want to create multiple list items from within a workflow and be able to view workflow history from any of that item.
The problem context: In a recurring meeting, Agenda items are added. Some items have "open" status and some "closed". Those who have open, have the ability (and probably will) continue to be on agenda list further ocurring meetings. If user chooses to continue the item, from within a workflow I create a new item.
The result is, we have an item sequence like
- Day 1: "Discuss problem A" (Parent item field value: null)
- Day 2: "Discuss problem A.1" (Parent item field value: ID of Discuss problem A)
- Day 3: "Discuss problem A.2" (Parent item field value: ID of Discuss problem A.1)
The thing is I want to be able to track this stuff in workflow history and be able to view it from any item. So in a workflow they should be in same state as all other items.
Any ideas on how to assign the same workflow for all those items?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
据我所知,您将无法为多个项目运行一个工作流程。 每个工作流程始终在一项的上下文中执行。
我的一个想法是使用另一个列表(下面称为 AgendaHistory)来管理所有议程项目的历史记录。 每次创建议程项目时,如果它没有父项,则创建一个新 ID。 如果新议程项目有父级,请使用父级的 ID。 该 ID 将用于查找所有议程项目的历史记录。
然后,对于所有议程项目,您只需链接到一个显示给定线程历史记录的页面。 此页面可能有一个列表视图 Web 部件,该部件使用查询字符串过滤器 Web 部件过滤议程 ID。
例如:
AgendaID:1,标题:议程项目“问题A”已创建!
AgendaID:1,标题:议程项目“问题A.1”已创建!
AgendaID:2,标题:议程项目“无关问题”已创建!
To the best of my knowledge, you will not be able to run ONE workflow for multiple items. Each workflow always executes in the context of one item.
One idea I had would be to use another list (referred to below as AgendaHistory) to manage the history for all agenda items. Every time an agenda item is created, if it has no parent create a new ID. If the new agenda item has a parent, use the parent's ID. The ID would be used to lookup history for all agenda items.
Then, for all agenda items you just need to link to a page that would show the history for a given thread. This page could have a List View webpart that filters on Agenda ID using a Query String Filter webpart.
For example:
AgendaID: 1, Title: The agenda item "Problem A" has been created!
AgendaID: 1, Title: The agenda item "Problem A.1" has been created!
AgendaID: 2, Title: The agenda item "Unrelated Problem" has been created!