代码之家  ›  专栏  ›  技术社区  ›  Janis Veinbergs

多个SPListItem可以共享1个工作流历史记录?

  •  1
  • Janis Veinbergs  · 技术社区  · 15 年前

    我遇到了一个需要,我想从一个工作流中创建多个列表项,并能够从该项中查看工作流历史记录。

    问题背景:在定期会议中,会添加议程项目。有些项目具有“打开”状态,有些项目具有“关闭”状态。那些有开放性、有能力(而且很可能会)的人将继续在议程上列出进一步关注会议的议题。如果用户选择继续项目,我将在工作流中创建一个新项目。

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

    • 第1天:“讨论问题A”(父项字段值:空)
    • 第2天:“讨论问题A.1”(父项字段值:讨论问题A的ID)
    • 第3天:“讨论问题A.2”(父项字段值:讨论问题A.1的ID)

    我希望能够在工作流历史记录中跟踪这些内容,并能够从任何项目中查看这些内容。因此,在工作流中,它们应该与所有其他项处于相同的状态。

    对于如何为所有这些项目分配相同的工作流有什么想法吗?

    1 回复  |  直到 15 年前
        1
  •  0
  •   Kit Menke    15 年前

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

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

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

    例如:

    1. 用户创建议程项目“问题A”
    2. 工作流确定议程项目“问题A”没有父级,并登录到议程历史记录列表: 议程:1,标题:议程项目“问题A”已创建!
    3. 工作流是否通过指向pages/myhistorypage.aspx的链接更新议程项目“问题A”?AgEdAID=1
    4. 用户创建议程项目“问题A.1”
    5. 工作流确定议程项目“问题A.1”具有父级并登录到议程历史记录列表: 议程:1,标题:已创建议程项目“问题A.1”!
    6. 工作流是否通过指向pages/myhistorypage.aspx的链接更新议程项目“问题A.1”?AgEdAID=1
    7. 用户创建议程项目“无关问题”
    8. 工作流确定议程项目“无关问题”没有父级,并登录到议程历史记录列表: 议程:2,标题:已创建议程项目“无关问题”!
    9. 工作流是否通过指向pages/myhistorypage.aspx的链接更新议程项目“无关问题”?AgEdAID=2
    推荐文章