2

我正在尝试将信息从工作流中创建的任务传递到其相应的任务表单。在 CreateTask 活动之前,我创建了一个 SPWorkflowTaskProperties 并用通常的信息(标题、分配给等)填充它。我还向 ExtendedProperties 属性添加了一些元素。但是,这些自定义属性永远不会进入任务。

我尝试将属性键设置为:

  • 我的任务内容类型字段之一的 Guid;
  • 我的任务内容类型字段之一的内部名称;
  • 一个不相关的名称(希望将信息放入任务的属性而不是其字段)。

没有任何效果。该任务一旦创建,就只包含我设置的内置字段值。我明确添加到扩展属性的值都没有显示。

我的活动(简化)顺序如下:

  • 准备任务。这是一个包含 SPWorkflowTaskProperties 的自定义活动
  • 创建任务。任务属性绑定到 PrepareTask 活动中的属性。
  • OnTaskCreated。任务属性绑定到 PrepareTask 活动中的属性。
  • 虽然(任务未完成)
    • OnTaskChanged

我正在使用 WSS 3.0 SP1 和 ASPX(不是 InfoPath)任务表单。

4

2 回答 2

2

我仍然不知道为什么我的原始解决方案不起作用。但我找到了一种解决方法。我现在的活动顺序是:

  • 创建任务
  • OnTaskCreated
  • 复制任务项。这是一个自定义活动,它将值放入我的自定义任务的字段中,然后更新任务。
  • 虽然(任务未完成)
    • OnTaskChanged

So I have to create the task, then immediately poke values into it and update.

I hope this will help some future reader of this question.

于 2008-10-28T01:53:01.407 回答
0

You should be using a ItemMetadata.xml document as a secondary datasource that contains the definition of the fields that you want to pass to your task form. Something like:

<z:row xmlns:z="#RowsetSchema" 
    ows_Instructions="" 
    ows_Body=""
    ows_Comments=""
    ows_ApprovalStatus=""
/>

The File name is important btw.

Notice the ows_ (as it used the webservices all fields in the list will be prefixed with ows.)

Then in you infopath form, set the default value of each control you want to display this information in. Hit the fx button and insert a field or group from the secondary datasource.

A good resource: http://weblog.vb-tech.com/nick/archive/2007/02/25/2207.aspx

于 2009-02-24T03:29:59.300 回答