Sharepoint更改使用工作流在Sharepoint Designer中输入内容

时间:2010-12-20 12:09:02

标签: sharepoint sharepoint-2010 content-type

我试图更改文档内容类型。我必须使用工作流程,最好的方法是在sharepoint desingner中创建工作流程。我知道如何在视觉工作室中进行编程

4 个答案:

答案 0 :(得分:6)

我知道这是一个老问题,但我想出来了:

您可以使用SPD工作流程(SPD 2007或2010)执行此操作。您可以通过两种方式调用内容类型字段:

  1. 在工作流程中,使用“If [field] equals [value]”或“Set [field] to [value]”

  2. 对于“If”语句,该字段将被称为“内容类型”。 “Set”语句字段将被称为“Content Type ID”。在任何一种情况下,您都可以根据可用的内容类型分配值。

  3. 您需要在列表或库设置上启用内容类型。以下是基于自定义列表记录应付帐款条目的示例工作流程:

    列表栏:请求类型(选择列,包括报销,部门费用,其他)

    列出内容类型:默认,应付帐款,应收帐款

    If [Request Type] equals [Reimbursement]
    then Set [Content Type ID] to [Accounts Payable]
    

    当工作流触发时,如果“请求类型”列等于“报销”,它将仅将“内容类型”设置为“应付帐款”。

答案 1 :(得分:1)

我刚刚通过SharePoint Designer 2010中的工作流程更改了列表项的内容类型。当我从当前列表添加“设置项目”并选择“内容类型ID”时,下拉列表允许我从不同的内容类型中进行选择。我没有丢失任何数据,可能是因为我的内容类型使用了一些相同的字段。

答案 2 :(得分:0)

我很确定你不能,当然不是来自SP Designer的工作流程。

您必须记住,SharePoint无法确定两个内容类型(之前和之后)具有相同类型的列,即使它们确实存在,也无法轻松地将旧内容类型中的值映射到新。

由于您注意到可以在Visual Studio中编程,因此我检查了有关SharePoint对象模型的选项。 SPListItem或SPFile上没有可用于更改关联内容类型的方法。所以,据我所知,你可以使用自定义代码从旧的listitem中读取值并创建一个新的(使用新的contenttype关联)。

我不确定这是否是我想做的事情,除了你丢失旧的礼节项目中的Created和Modified信息这一事实。

但是,是的,这是你唯一的选择,我想......

答案 3 :(得分:0)

当然,您可以使用SPD工作流程来更改项目的内容类型。当然,项目所在的库必须配置为接受这两种类型。这是一个使用此应用程序的链接: http://www.sharepoint911.com/blogs/laura/Lists/Posts/Post.aspx?List=daba3a3b-c338-41d8-bf52-cd897d000cf3&ID=43&Web=dbb90e85-b54c-49f4-8e97-6d8258116ca0