Sharepoint 2010工作流任务自定义内容类型

时间:2015-07-19 13:17:45

标签: sharepoint workflow task content-type

我正在尝试创建具有特定内容类型任务的工作流(状态机),并在工作流历史记录中接收“工作流名称中出现错误”错误,这绝对没有提供信息,在这种情况下我没有想法发生了什么,我的错误在哪里。

更多详情:

  • 我已经为自定义内容类型及其表单的任务创建了VS项目,并进行了部署。
  • 我为状态机工作流程创建了VS项目。 在Elements.xml中设置 TaskListContentTypeId

我的Elements.xml

 <Elements xmlns="http://schemas.microsoft.com/sharepoint/">
      <Workflow
         Name="Pre-Award Approval Workflow"
         Description="Pre-Award Approval Workflow"
         Id="33ad7f25-b86f-43e8-86d8-300e92891227"
         CodeBesideClass="Pre_Award_Approval_Worflow.Workflow.Workflow"
         TaskListContentTypeId="0x0100d7d89499b9234bde9a67bfb11db5ce64"
         CodeBesideAssembly="$assemblyname$">
        <Categories/>
        <MetaData>
          <AssociationCategories>List</AssociationCategories>
          <StatusPageUrl>_layouts/WrkStat.aspx</StatusPageUrl>
        </MetaData>
      </Workflow>
    </Elements>

在新项目创建活动上调整工作流程。

当我创建列表中的新项目时,我收到了有关工作流程历史记录的错误“[工作流程名称]中发生了错误”

要查找发生了哪个步骤错误,我在每个工作流步骤 LogToHistoryListActivity 之前和之后设置,并发现 createTask 中发生了错误,但是当我尝试捕获时整个 crteateTask_Invoking 函数没有异常发生。

当我从Element.xml中拿走 TaskListContentTypeId =“0x0100d7d89499b9234bde9a67bfb11db5ce64”时没有错误,但工作流创建的任务具有默认内容类型,这对我没有好处。

我的错误在哪里?

即使有人能以我应该调查的方式向我提出建议,我也会很高兴。

提前致谢。

2 个答案:

答案 0 :(得分:0)

在深入挖掘这个问题之后,我找到了最好的解决方案,这里有很好的描述。它是一本书 - SharePoint 2010作为开发平台 - 2010 ,特别是第16章主题部署工作流。我希望它对某人有所帮助。

答案 1 :(得分:0)

代码问题

问题是以0x0100开头的内容类型不是工作流选项TaskListContentTypeId的有效选项。

解决方案

要使工作流使用非默认内容类型用于工作流任务,内容类型必须从默认的任务列表内容类型继承。生成的内容类型ID以0x010801开头。

所以在你的Elements.xml中你应该有

TaskListContentTypeId="0x010801....."

Joerg Krause等人在2010年的书"SharePoint 2010 as a Development Platform"(第947-1034页)中提供了更多信息。

积分

Jamal Ulb提出这个有趣的问题并分享他的测试结果,从而得到你现在正在阅读的答案。