<ContentType ID="0x01080100a0c584dfc90b46cf8e4a14f38d87ed73"
Name="WorkflowTask"
Group="自定义内容类型"
Description="工作流任务"
Version="0">
<FieldRefs>
<FieldRef ID="{c042a256-787d-4a6f-8a8a-cf6ab767f12d}" Name="ContentType" Hidden="TRUE" />
<FieldRef ID="{fa564e0f-0c70-4ab9-b863-0177e6ddd247}" Name="Title" Required="TRUE" ReadOnly="TRUE" />
<FieldRef ID="{c15b34c3-ce7d-490a-b133-3f4de8801b76}" Name="Status"/>
<FieldRef ID="{53101f38-dd2e-458c-b245-0c236cc13d1a}" Name="AssignedTo" ReadOnly="TRUE" />
<FieldRef ID="{7662cd2c-f069-4dba-9e35-082cf976e170}" Name="Body" />
<FieldRef ID="{64cd368d-2f95-4bfc-a1f9-8d4324ecb007}" Name="StartDate" ReadOnly="TRUE" />
<FieldRef ID="{58ddda52-c2a3-4650-9178-3bbc1f6e36da}" Name="WorkflowLink" />
<FieldRef ID="{16b6952f-3ce6-45e0-8f4e-42dac6e12441}" Name="OffsiteParticipant" />
<FieldRef ID="{4a799ba5-f449-4796-b43e-aa5186c3c414}" Name="OffsiteParticipantReason" />
<FieldRef ID="{18e1c6fa-ae37-4102-890a-cfb0974ef494}" Name="WorkflowOutcome" />
<FieldRef ID="{e506d6ca-c2da-4164-b858-306f1c41c9ec}" Name="WorkflowName" Hidden="TRUE" />
<FieldRef ID="{ae069f25-3ac2-4256-b9c3-15dbc15da0e0}" Name="GUID" />
<FieldRef ID="{8d96aa48-9dff-46cf-8538-84c747ffa877}" Name="TaskType" />
<FieldRef ID="{17ca3a22-fdfe-46eb-99b5-9646baed3f16}" Name="FormURN" />
<FieldRef ID="{78eae64a-f5f2-49af-b416-3247b76f46a1}" Name="FormData" />
<FieldRef ID="{8cbb9252-1035-4156-9c35-f54e9056c65a}" Name="EmailBody" />
<FieldRef ID="{47f68c3b-8930-406f-bde2-4a8c669ee87c}" Name="HasCustomEmailBody" />
<FieldRef ID="{cb2413f2-7de9-4afc-8587-1ca3f563f624}" Name="SendEmailNotification" />
<FieldRef ID="{4d2444c2-0e97-476c-a2a3-e9e4a9c73009}" Name="PendingModTime" />
<FieldRef ID="{35363960-d998-4aad-b7e8-058dfe2c669e}" Name="Completed" />
<FieldRef ID="{1bfee788-69b7-4765-b109-d4d9c31d1ac1}" Name="WorkflowListId" />
<FieldRef ID="{8e234c69-02b0-42d9-8046-d5f49bf0174f}" Name="WorkflowItemId" />
<FieldRef ID="{1c5518e2-1e99-49fe-bfc6-1a8de3ba16e2}" Name="ExtendedProperties" />
<RemoveFieldRef ID="{cd21b4c2-6841-4f9e-a23a-738a65f99889}" Name="DueDate"/>
<RemoveFieldRef ID="{d2311440-1ed6-46ea-b46d-daa643dc3886}" Name="PercentComplete"/>
<RemoveFieldRef ID="{c3a92d97-2b77-4a25-9698-3ab54874bc6f}" Name="Predecessors"/>
<RemoveFieldRef ID="{a8eb573e-9e11-481a-a8c9-1104a54b2fbd}" Name="Priority"/>
</FieldRefs>
</ContentType>
</Elements>
部署成功之后可以在网站设置-〉库-〉网站内容类型看到新建的内容类型,找到工作流任务,父级为工作流任务。
2.在SPDesigner中新建栏
审批结果,选项,批准、拒绝,默认为批准,格式为单选按钮
审批结果3,选项,批准、拒绝、其他,默认为批准,格式为单选按钮
审批意见,多行文本
上述新建的栏可以通过保存将网站集另存为模板,并用vs用可重用网站定义打开
可以参照:我如何:使用 Visual Studio 2010 导入 SharePoint 站点定义?
3.在SPDesigner中新建内容类型,父类型为工作流任务
CommonTask,添加审批结果,审批意见
CommonTask3,添加审批结果3,审批意见
在SPD中可以查看此内容类型的ID
4.在SPD中打开任务列表,添加刚刚新建的两个内容类型,并设置显示在新建菜单中
注意:在任务中添加了上述内容类型后,SP会在任务的列表里面为这两个继续赋予ID,继承自网站集中的内容类型,在VS中仅仅需要网站集的内容类型ID,此处无效
5.如果需要编辑审批界面,可以在SPD的任务列表中选择用InfoPath设计表单
解释下为什么这么做:
1.目的是要能够自定义审批界面,考虑到是用CreatTaskWithContentType,所以需要建立内容类型做此准备工作
用CreatTaskWithContentType可以方便的在工作流代码中获取任务审批表单中的数据
2.项目中的审批类型基本上分为批准、拒绝,复杂的一点的可能在一个审批节点会有三种流向,当有三种流向时,可以再建一个内容类型继承CommonTask3,此时仅仅是将批准、拒绝、其他变为你想要的文字而已