SPWorkflowTaskProperties.ExtendedProperties 未填充我的任务中的字段

发布于 2024-07-07 18:10:20 字数 698 浏览 6 评论 0原文

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

我尝试将属性键设置为:

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

什么都不起作用。 该任务一旦创建,仅包含我设置的内置字段值。 我明确添加到扩展属性的值都没有显示。

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

  • PrepareTask。 这是一个习俗 活动包含 SPWorkflowTaskProperties
  • 创建任务。 任务属性绑定到PrepareTask 活动中的属性。
  • OnTask创建。 任务属性绑定到PrepareTask 活动中的属性。
  • 虽然(任务未完成)
    • 任务更改

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

I am attempting to pass information from a task created within a workflow to its corresponding task form. Prior to the CreateTask activity, I create an SPWorkflowTaskProperties and fill it with the usual info (title, assigned-to, etc). I also add some elements to the ExtendedProperties property. However, those custom properties never make it into the Task.

I've tried setting the property key to:

  • the Guid of one of my task' content
    type's fields;
  • the internal name of
    one of my task' content type's
    fields;
  • an unrelated name (in the
    hopes of getting the info into the
    task's properties instead of its
    fields).

Nothing works. The task, once created, contains only the built-in field values I have set. None of values I explicitly added to the extended properties show up.

The (simplified) sequence of my activities is as follows:

  • PrepareTask. This is a custom
    activity that contains the
    SPWorkflowTaskProperties
  • CreateTask. The task properties are bound to the one in the PrepareTask activity.
  • OnTaskCreated. The task properties are bound to the one in the PrepareTask activity.
  • While (task not complete)
    • OnTaskChanged

I am using WSS 3.0 SP1 and an ASPX (NOT InfoPath) task form.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

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

发布评论

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

评论(2

独享拥抱 2024-07-14 18:10:20

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

  • CreateTask
  • OnTaskCreated
  • CopyTaskItems。 这是一个习俗
    将价值观融入我的活动
    自定义任务的字段,然后更新
    任务。
  • 虽然(任务未完成)
    • 任务更改

所以我必须创建任务,然后立即将值插入其中并更新。

我希望这会对这个问题的未来读者有所帮助。

I still don't know why my original solution didn't work. But I have found a workaround. My sequence of activities is now:

  • CreateTask
  • OnTaskCreated
  • CopyTaskItems. This is a custom
    activity that puts values into my
    custom task's fields, then updates
    the task.
  • While (task not complete)
    • 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.

撑一把青伞 2024-07-14 18:10:20

您应该使用 ItemMetadata.xml 文档作为辅助数据源,其中包含要传递到任务表单的字段的定义。 例如:

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

文件名很重要顺便说一句。

注意 ows_ (因为它使用了 Web 服务,列表中的所有字段都将以 ows 为前缀。)

然后在您的 infopath 表单中,设置您想要的每个控件的默认值显示此信息。点击 fx 按钮并插入辅助数据源中的字段或组。

一个很好的资源: http://weblog.vb- tech.com/nick/archive/2007/02/25/2207.aspx

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文