多个 SPListItem 如何共享 1 个工作流程历史记录?

发布于 2024-07-26 04:40:33 字数 467 浏览 3 评论 0原文

我遇到了这样的需求,我想从工作流程中创建多个列表项,并能够查看任何该项目的工作流程历史记录。

问题背景:在定期会议中,添加了议程项目。 有些项目处于“开放”状态,有些项目处于“关闭”状态。 那些已经开放、有能力(并且可能会)继续在议程上列出进一步举行的会议的人。 如果用户选择继续该项目,我会在工作流程中创建一个新项目。

结果是,我们有一个项目序列,如

  • 第 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

迎风吟唱 2024-08-02 04:40:33

据我所知,您将无法为多个项目运行一个工作流程。 每个工作流程始终在一项的上下文中执行。

我的一个想法是使用另一个列表(下面称为 AgendaHistory)来管理所有议程项目的历史记录。 每次创建议程项目时,如果它没有父项,则创建一个新 ID。 如果新议程项目有父级,请使用父级的 ID。 该 ID 将用于查找所有议程项目的历史记录。

然后,对于所有议程项目,您只需链接到一个显示给定线程历史记录的页面。 此页面可能有一个列表视图 Web 部件,该部件使用查询字符串过滤器 Web 部件过滤议程 ID。

例如:

  1. 用户创建议程项目“问题 A”
  2. 工作流确定议程项目“问题 A”没有父级并记录到 AgendaHistory 列表:
    AgendaID:1,标题:议程项目“问题A”已创建!
  3. 工作流通过指向 Pages/MyHistoryPage.aspx?AgendaID=1 的链接更新议程项“问题 A”
  4. 用户创建议程项“问题 A.1”
  5. 工作流确定议程项“问题 A.1”有父项并记录到 AgendaHistory 列表:
    AgendaID:1,标题:议程项目“问题A.1”已创建!
  6. 工作流通过指向 Pages/MyHistoryPage.aspx?AgendaID=1 的链接更新议程项“问题 A.1”
  7. 用户创建议程项“无关问题”
  8. 工作流确定议程项“无关问题”没有父项并记录到 AgendaHistory 列表:
    AgendaID:2,标题:议程项目“无关问题”已创建!
  9. 工作流通过指向 Pages/MyHistoryPage.aspx?AgendaID=2
  10. ....的链接更新议程项目“无关问题”。

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:

  1. User creates Agenda Item "Problem A"
  2. Workflow determines Agenda Item "Problem A" has no parent and logs to AgendaHistory list:
    AgendaID: 1, Title: The agenda item "Problem A" has been created!
  3. Workflow Updates Agenda Item "Problem A" with a link to Pages/MyHistoryPage.aspx?AgendaID=1
  4. User creates Agenda Item "Problem A.1"
  5. Workflow determines Agenda Item "Problem A.1" has a parent and logs to AgendaHistory list:
    AgendaID: 1, Title: The agenda item "Problem A.1" has been created!
  6. Workflow updates Agenda Item "Problem A.1" with a link to Pages/MyHistoryPage.aspx?AgendaID=1
  7. User creates Agenda Item "Unrelated Problem"
  8. Workflow determines Agenda Item "Unrelated Problem" has no parent and logs to AgendaHistory list:
    AgendaID: 2, Title: The agenda item "Unrelated Problem" has been created!
  9. Workflow updates Agenda Item "Unrelated Problem" with a link to Pages/MyHistoryPage.aspx?AgendaID=2
  10. ....
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文