none
如何提取sharepont2010中workflow history数据 RRS feed

  • 问题

  • 大侠好。

    我想在infopath2010表单中添加辅助数据源workflow history,然后接收几个字段的数值,可是接收到的总是空值。( workflow history是sharepoint默认工作流启动后系统自动产生的一个列表,如图。 )难道这个list和其他list有不同?请大侠帮我明断啊。

    万分感谢!


    chengli

    2012年4月5日 10:13

全部回复

  • hi chengli,

    你可以尝试不要时候“SharePoint List or Library的模式”,在选择方式的时候,选择Web services 模式,去查询SharePoint List的数据。

    你可以参考如下的一些链接。部分连接如打不开,可以考虑代理方式。

    http://social.msdn.microsoft.com/Forums/pl/sharepointinfopath/thread/26e2b043-14fa-43fe-9aff-0a387fa962e2

    http://www.infopathdev.com/forums/p/5101/5101.aspx

    Thanks,

    Jack

    2012年4月9日 2:55
    版主
  • 谢谢大侠指点,我对web service模式还不大了解,从来没有用过。下图中应选择哪个web服务呢


    chengli

    2012年4月9日 6:28
  • Hi chengli,

    因为你不了解Webservice,我尝试从新从SharePointList中获取工作流历史列表,我发现可以获取到的。关键在选择的时候,要选择下面的。请看截图,

    Thanks,

    Jack

    2012年4月12日 3:35
    版主
  • hi, Jack, 谢谢指点。

    我想我之所以抓出来是空值,也许条件过滤没有设置好的缘故。

    我的思路是:一个表单的提交可以引发一个审批工作流的启动,这个工作流启动后,那workflow history中自然也会记录该工作流的动态。那么打开提交后的表单,是否可以在里面显示出该工作流的动态呢,也就是要显示出workflow history列表中的相关字段。

    下面的截图显示出了workflow history列表的所有列名。可是设置条件过滤抓取数值时,如果抓取才能只显示和该表单相关的信息呢。 比如我提交了一个名为form001的infopath表单到sharepoint表单库中,自动启动了审批工作流,那workflowhistory中也会有该工作流的相关追踪记录,如下图。我在工作流的task list中没有找到能和下图对应的列名,所有无法抓取。

    请大侠帮帮我吧, 万分感谢。


    chengli


    • 已编辑 Louis_LI 2012年4月13日 3:24 补充
    2012年4月12日 9:32
  • 补充上面的。下图中是一个工作流的task列表和对应workflow history列表,那么这两个list是如何关联的呢,是用哪个字段关联的呢? 请大侠赐教,万分感谢。


    chengli

    2012年4月13日 9:17
  • 在工作流状态页面里面,任务列表和工作流历史记录列表是通过“WorkflowInstance”这个字段关联的(工作流任务和工作流历史记录都有这两个字段,但都是隐藏的)

    工作流状态页面的Url参数里面就有这个工作流实例的ID

    你的需求是从表单上找到对应的工作流历史记录,首先表单默认的字段里面是没有这个信息的(因为同时可能有多个不同的工作流实例运行在一个表单上)

    但是你可以在表单里创建这样一个字段,在工作流启动之后,把实例ID(如果你用Designer做工作流的话,在“工作流上下文”里可以找到“实例ID”)写到这个字段里

    不过我不确定这种方式在InfoPath里能不能用,有可能在筛选的时候不支持按照那个隐藏的WorkflowInstance来筛选……

    2012年4月16日 6:46