在工作流程中從使用者收集資料

重要:  本文係由機器翻譯而成,請參閱免責聲明。本文的英文版本請見這裡,以供參考。

當您在設計工作流程時,通常會想要收集工作流程中的參與者資訊,並使用這項資訊以制訂其他決策。例如,您可能要工作流程要求參與者檢閱一份文件,並視檢閱者是核准或拒絕文件而讓工作流程執行不同的動作。

視使用者回應的分支流程圖

若要完成這個步驟,您要將 [從使用者收集資料] 動作新增至工作流程。這個動作會將工作指派給參與者、提示參與者在自訂的工作表單中提供所需的資訊。自訂工作表單中的資訊會儲存在 [工作] 清單內的項目中。在稍後的步驟中制訂決策時,工作流程會擷取並評估儲存的資訊,以判斷要執行哪一個分支。

本文將示範如何收集工作流程參與者的資料,以及如何在工作流程中使用這項資料以制訂進一步的決策。

本文內容

若要建立的工作應該使用什麼動作?

什麼是自訂工作表單?

清單項目 ID 是什麼?

步驟 1: 從使用者收集資料

步驟 2: 設定工作流程變數

步驟 3: 使用該變數來做出決策

快速參考: 步驟的摘要

我該使用哪個動作以建立工作?

工作流程和工作流程的參與者互動的主要方式是透過工作。如果您要工作流程要求別人的工作或取得別人的資訊,您可以讓工作流程建立並指派工作。當工作流程指派工作時,就會暫停直到該工作完成為止。只有當參與者按一下工作表單上的 [完成工作] 按鈕時,工作流程才會繼續。

有三個不同的動作可以建立工作,而每一種動作都是為一種特定的情境所設計:

  • 從使用者收集資料     這個動作會指派一個工作給單一使用者或群組,並傳回儲存使用者回答的工作項目唯一識別碼,如此一來,稍後工作流程就可以使用這個識別碼查詢這項資訊。透過這個動作,您就可以使用 [自訂工作精靈] 以設計自訂工作表單,收集您想要的資訊。這個動作會建立一個只能指派給單一使用者或群組的工作。如果您指派這個工作給群組,則群組的每一個成員都會收到一個工作通知,但是只會建立一個工作項目,而工作流程會暫停直到第一個人回應完成工作為止。

  • 指派表單給群組    這個動作會指派表單給一或多個使用者,並再將回應儲存為工作清單中的值。與上一個動作,這個動作可以將工作指派分別多個人員和工作流程暫停直到每位人員完成其工作,再繼續。也與上一個動作,這個動作不會傳回的回應,任何工作項目的識別碼,以便工作流程無法查詢並進行比較或決策使用稍後作為這項資訊。此動作,您也使用自訂工作精靈來建立自訂工作表單。如需詳細資訊,請參閱指派表單給工作流程中群組的文件。

  • 指派待辦事項    與其他兩個任務的動作,這個動作會建立工作表單來填寫表單欄位,但改為使用表單使用者只需按一下處完成的工作] 按鈕完成工作。這項工作,可以分別為指定多個人員和工作流程暫停直到每位人員標示為完成工作。此動作不會傳回的工作項目識別碼,並不需要因為工作並不會收集您可能會想要稍後參考的任何資訊。如需詳細資訊,請參閱指派待辦事項工作流程中的文件。

下表摘要說明這項資訊。

動作

傳回工作識別碼供工作流程查閱?

建立多個工作?

可讓您在工作表單上定義欄位?

從使用者收集資料

指定表單至群組

指定待辦事項

除此之外,這三種工作動作還有一些限制:

  • 當工作流程指派一項工作給只有一個別名或地址的群組時,工作流程只會建立一個工作項目,然後由整個群組共用。群組的任何成員都可以編輯這個工作表單,以及按一下 [工作完成] 按鈕。若要指派個別工作給多位使用者 (只有 [指定表單至群組][指定待辦事項] 動作可以),請在 [選取使用者] 對話方塊中分別輸入每一位使用者。

  • 由一個工作流程動作所指派的所有工作都必須完成,工作流程才可以繼續。例如,工作流程動作指派個別工作給六位參與者時,如果只有三個工作已完成,您就不能引導工作流程繼續執行。

  • 當工作流程指派了工作給參與者後,這項工作就不能傳送給其他參與者 (透過委派、轉送等方式)。但是,具有 [工作] 清單的 [參與] 權限等級的任何人,就可以編輯工作項目並允許工作流程繼續。

  • 一個工作流程只能使用每一個工作一次。使用 [自訂工作精靈] 建立工作之後,就無法在工作流程中稍後再重新使用該工作。您可以建立其他工作執行相同的功能,但是工作的名稱必須不同且是唯一的。

頁面頂端

自訂工作表單是什麼?

每次您使用其中一個工作動作來建立工作時,Microsoft Office SharePoint Designer 2007 會自動為該工作產生自訂工作表單。自訂工作表單是當工作流程參與者在瀏覽器中編輯工作時,顯示給參與者的頁面。

當您使用 [從使用者收集資料][指定表單至群組] 動作建立工作時,您可以選擇建立內含不限表單欄位數目的自訂工作表單。這個範例只會要求使用者在名稱為 [檢閱狀態] 的欄位中輸入資訊。

瀏覽器中的自訂工作表單

在 Office SharePoint Designer 2007 中,自訂工作表單在工作流程的資料夾中會顯示為 .aspx 頁面。自訂工作表單的檔案名稱,對應於您在 [自訂表單精靈] 中為工作所指定的名稱。

資料夾清單中的自訂工作表單

自訂工作表單會附加至網站的預設主頁面,且內含一個「資料表單網路組件」可與工作流程互動。自訂工作表單的版面配置與外觀可以自訂,例如,您可以附加不同的主頁面或修改樣式。但是,若要變更表單上顯示的欄位,您必須使用 [工作流程設計工具] 中的 [自訂工作精靈]。您不能以直接編輯「資料表單網路組件」的方式,變更表單欄位。如果您對「資料表單網路組件」執行其他自訂的設定 (外觀上,非功能上的設定),請注意,每次重新編譯工作流程時就會失去這些變更。對其他頁面所作的自訂設定則會保留下來。

若要變更自訂工作表單上的欄位,您必須在 Office SharePoint Designer 2007 中開啟工作流程 ([檔案] 功能表,[開啟工作流程] 指令)。當您使用 [自訂工作精靈] 開啟工作流程及編輯工作時,會看到下面的警告。

警告訊息

如果您修改自訂工作表單並重新編譯工作流程時,工作流程所有正在執行的例項都會使用新的表單繼續執行。如果您刪除或修改欄位 (例如,變更其類型或重新命名),而工作流程正在執行的例項所參照的資料與預期的不同,就會發生工作流程錯誤。例如,執行中的工作流程可能會執行查閱並預期欄位內含資料 (非空白),但現在卻是空白的,或欄位可能已變更類型。所以,重要的是,任何變更如果會刪除、重新命名或更改目前工作流程例項可能會參照的表單欄位,就請勿執行此類變更。

除了自訂工作表單外,每次當您使用其中一個工作動作以建立工作時,Office SharePoint Designer 2007 會自動為 [工作] 清單中的該項工作產生一個內容類型。內容類型會按照您在 [自訂工作精靈] 中的指定,定義可用的欄位以及欄位所使用的格式。內容類型的名稱,與您在 [自訂表單精靈] 中所指定的工作名稱相符。例如,如果您建立一個名稱為「檢閱文件」的工作,就會在 [工作] 清單的 [設定] 頁面上看到一個同名的內容類型。

瀏覽器中的工作內容類型

建議您只在 Office SharePoint Designer 2007 中開啟工作流程,以修改工作流程內容類型,而不要在瀏覽器中修改內容類型的欄或其他設定。在瀏覽器中修改內容類型,可能會破壞與內容類型相關聯的自訂工作表單。

頁面頂端

清單項目識別碼是什麼?

清單項目識別碼是唯一列號。當工作流程參與者按一下自訂工作表單上的 [完成工作][儲存草稿] 時,表單中所送出的資訊就會儲存在 [工作] 清單內的項目中。這項工作的內容類型會定義欄,清單項目識別碼則是用來識別特定的項目或列。[工作] 清單 (或任何清單或文件庫) 中的每一個項目都有一個唯一識別碼。在瀏覽器中,您可以將識別碼欄新增至清單或文件庫的任何檢視。

新增至預設檢視的識別碼欄

此外,當您在瀏覽器中檢視頁面上的清單項目時 (例如,當您按一下 [檢視內容] 以查看 DispForm.aspx 上的項目詳細資料),URL 中就可以看到該清單項目的識別碼,顯示為查詢字串的一部分。所有標準的 SharePoint 表單在 URL 的查詢字串區段中,都包含一個識別碼參數。

工作項目的 URL 中以醒目提示顯示的清單項目識別碼

當一個工作流程執行 [從使用者收集資料] 動作時,該工作流程會建立一個工作,並將該工作的清單項目識別碼儲存在一個變數中。這個工作流程稍後就可以使用此變數來查閱特定的工作項目。

頁面頂端

步驟 1:從使用者收集資料

首先,您要使用 [從使用者收集資料] 動作以建立自訂工作表單、指派工作給一個使用者或群組,然後將工作項目的識別碼儲存在變數中。這個工作流程稍後就可以使用工作項目識別碼,查閱使用者在工作表單中所送出的值。

在這個範例中,您的小組將文件上傳至名稱為「待檢閱文件」的文件庫。當文件新增至文件庫時,工作流程會建立一個名稱為「檢閱文件」的工作。被指派工作的人在編輯工作時,必須選擇下拉式清單中的一個選項:[已核准] 或 [已拒絕]。

附註: 這個工作流程是一個自訂的核准工作流程,但不會使用 Windows SharePoint Services 中的 [內容核准] 功能,而且不會變更文件的 [核准狀態] 欄位。Windows SharePoint Services 中的 [內容核准] 功能會假設兩個不同的權限等級:一個不包含 [核准項目] 權限 (對送交內容要求核准的人),第二個則包含 [核准項目] 權限 (對核准內容的人)。但是,在 Office SharePoint Designer 2007 中所設計的工作流程,永遠會使用啟動工作流程的人的權限等級。如果沒有 [核准項目] 權限的人啟動一個自訂工作流程,而這個工作流程嘗試更新目前項目的 [核准狀態] 欄位,則這個工作流程會停止,因為啟動工作流程的人並沒有核准項目的權限。

  1. 指向 [檔案] 功能表上的 [開新檔案],然後按一下 [工作流程]

  2. [工作流程設計工具] 的第一個頁面上,為工作流程命名、選擇要附加工作流程的清單或文件庫,然後選取您要的開始選項的核取方塊。

    [工作流程設計工具] 的第一頁

  3. 按 [下一步]。

  4. 依序按一下 [動作][從使用者收集資料]

    如果清單中沒有顯示這個動作,請按一下 [其他動作] 以查看完整的清單。

  5. 按一下動作中的 [資料]

  6. 在 [自訂工作精靈] 的第一頁按 [下一步]

  7. [名稱] 方塊中,輸入這項工作的名稱。

    附註: 工作名稱在目前的網站中必須是唯一的。

  8. [描述] 方塊中,輸入要給工作收件者的一般指示。

    這項描述會顯示在自訂工作表單的頂端,所以請輸入您要工作流程參與者看到的指示,而不只是一般的描述。

    [自訂工作精靈] 的第二頁

  9. 按 [下一步]。

  10. 按一下 [新增] 以定義這個工作的自訂表單欄位。

  11. [欄位名稱] 方塊中,輸入欄位的名稱。

  12. [描述] 方塊中輸入問題,而這個表單欄位會儲存此問題的答案。

  13. [資訊類型] 清單中,選擇一個選項,為您所收集的資訊類型,適當的將欄位格式化。

    [新增欄位] 對話方塊的第一頁

  14. 按 [下一步]。

  15. 精靈的下一頁將視您在上一頁中所選擇的 [資訊類型] 而不同。請指定您想要的設定。

    在這個範例中,輸入「已核准」,按下 ENTER 鍵,然後輸入「已拒絕」。

  16. [顯示為] 清單中按 [下拉式功能表]

  17. 取消選取 [允許空白值] 核取方塊,因為您要讓檢閱者選取其中一個選項。

    [新增欄位] 對話方塊的第二頁

  18. 按兩次 [完成]

    下圖顯示,當工作流程參與者編輯工作時,工作在瀏覽器中所顯示的樣子。這是您使用 [自訂工作精靈] 所設計的自訂工作表單 (檢閱文件.aspx)。

    瀏覽器中的自訂工作表單

    回到 [工作流程設計工具] 中,您還是需要設定 [從使用者收集資料] 動作的第二和第三個參數。

  19. 在這個動作中,按一下 [此使用者]

  20. [選取使用者] 對話方塊中,輸入名稱或電子郵件地址,或按一下清單中現有的使用者或群組,然後按一下 [新增]

    附註: 

    • 從使用者收集資料]動作,請使用工作流程所建立只有一項任務,您可以分派給只有一個人員或群組。如需詳細資訊,請參閱前一節的動作應該使用建立的工作?

    • 您不需要輸入特定的使用者名稱或電子郵件地址,您可以將這項資訊儲存在另一個清單中,然後使用工作流程查閱以取得這項資訊。如此一來,您不需要修改工作流程,就可以將許多使用者設定為工作流程參與者。或者,您也可以建立一個新的 SharePoint 群組,然後將使用者新增至您要設定為工作流程參與者的群組。例如,您可以建立一個名稱為「已核准」的群組、在群組中新增一或多位使用者,然後將群組設定為 [從使用者收集資料] 動作的一部分 (請記住,只會建立一個工作,而且工作只能由一個人編輯)。

  21. 按一下 [確定]。

  22. 在這個動作中,按一下第三個參數,然後按一下 [建立新變數]

    當您的工作流程會有多個變數時,您要建立新的變數而不使用預設的名稱 (變數: 收集),而且您要為變數命名描述性的名稱。

    建立新的變數選項

  23. [編輯變數] 對話方塊中,輸入一個名稱,描述變數所儲存的值。

    [編輯變數] 對話方塊

    清單項目識別碼變數,是唯一的選擇,在 [類型] 清單中。如需有關清單項目識別碼的詳細資訊,請參閱前一節清單項目 ID 是什麼?

  24. 按一下 [確定]。

    此時,動作看起來應該像這樣。

    [從使用者收集資料] 動作

頁面頂端

步驟 2:設定工作流程變數

此時,工作流程的參與者會送出一份完整的工作,且送出的檢閱狀態會儲存在 [工作] 清單內的欄位或欄中,如圖所示。

完成的工作項目中的檢閱狀態

如何取得這項資訊,以使用於工作流程中的其他步驟?您要使用 [設定工作流程變數] 動作以查閱使用者所編輯之工作的 [檢閱狀態] 欄位值,然後將這個欄位的值儲存在新的變數中,在本範例中,是名稱為「檢閱狀態」的變數。

查閱檢閱狀態並儲存於新的變數中,您就可以使用這個變數做為未來比較的基準。這是最好的做法,因為工作流程現在會清楚的顯示資料的來源,而且如果有需要,也可以更容易重複使用這項資料許多次。

  1. 按一下 [動作],然後再按 [設定工作流程變數]

    如果這個動作沒有顯示在清單中,請按一下 [其他動作] 以查看完整的清單。

  2. 在動作中,按一下 [工作流程變數],然後按 [建立新變數]

    [設定工作流程變數] 選項的第一個參數

  3. [編輯變數] 對話方塊中,輸入一個名稱,描述變數所儲存的值。

  4. [類型] 清單中,按一下變數儲存的資料類型。

    在本範例中,按一下 [字串] 因為這個變數會儲存 [已核准] 或 [已拒絕] 的檢閱狀態,這兩個狀態都是儲存為文字字串。

    [編輯變數] 對話方塊

  5. 按一下 [確定]。

  6. 在指令,按一下 [],然後按一下顯示資料繫結 按鈕影像

  7. [定義工作流程查閱] 對話方塊中,選擇下列選項:

    • [來源][工作]    如果有一個以上工作清單,請選擇內含您在上一節中所建立的自訂表單欄位的清單。

    • [欄位][檢閱狀態]    選擇您在上一節中所建立的自訂表單欄位。

    • [欄位][工作: 識別碼]

    • : 按一下 [顯示資料繫結 按鈕影像

  8. 在第二個 [定義工作流程查閱] 對話方塊中,選擇下列選項:

    • [來源][工作流程資料]

    • [欄位][變數: 檢閱文件工作的識別碼]

      [定義工作流程查閱] 對話方塊

  9. 按一下 [確定]。

    最後的工作流程查閱,應該像這樣:這個查閱表示「前往 [工作] 清單中的 [檢閱狀態] 欄位。然後前往 [工作] 清單中的某一列,此列的識別碼與儲存在 (工作流程的這個例項的) 變數中的識別碼相符。如果工作流程執行並建立一個識別碼為 3 的工作,這個查閱就會從 [工作] 清單中的第三列,擷取 [檢閱狀態] 欄的值。下次工作流程執行時,這個識別碼可能會是 4,所以查閱就會前往第四列,依此類推。

    [定義工作流程查閱] 對話方塊

  10. 按一下 [確定]。

    此時,您的規則看起來應該像這樣。

    [工作流程設計工具] 中的規則

頁面頂端

步驟 3:使用變數以制訂決策

在步驟 1 中,您建立了一個自訂工作表單以收集使用者的資料,並將工作項目的識別碼儲存在變數中。在步驟 2 中,您使用工作識別碼變數以查閱使用者回應,並將回應儲存在新的變數中。有了這個變數 (在這個範例中是變數: 檢閱狀態),您就可以用來在工作流程中制訂決策。若要這麼做,請使用比較任何資料來源條件。

例如,您可以新增步驟,指出如果與工作流程變數: 反轉檢視狀態是否已核准,執行下列動作。但如果變數: 檢閱狀態等於]已拒絕,執行其他動作。

建立第一個條件分支

第一個條件分支會比較儲存在變數: 檢閱狀態中的值。如果值等於已核准,工作流程就會執行與這個條件相關聯的任何動作。

  1. 在 [工作流程設計工具] 中,按一下 [工作流程步驟] 之下的 [新增工作流程步驟]

  2. 按一下 [條件],然後按一下 [比較任何資料來源]

  3. 在條件,按一下第一個超連結],然後按一下顯示資料繫結 按鈕影像

  4. [定義工作流程查閱] 對話方塊中,選擇下列選項:

    • [來源][工作流程資料]

    • [欄位][變數: 檢閱狀態]

      [定義工作流程查閱] 對話方塊

  5. 按一下 [確定]。

  6. 在條件中,保留第二個參數的值為 [等於]

  7. 在條件中,按一下第二個 [值] 超連結,輸入「已核准」,然後按下 ENTER 鍵。

    [工作流程設計工具] 中的條件

建立第二個條件分支

第二個條件分支負責處理,當儲存在 [變數: 檢閱狀態] 中的值等於「已拒絕」的情況。

  1. 按一下 [新增 'Else If' 條件分支]

  2. 按一下 [條件],然後按 [比較任何資料來源]

  3. 在條件,按一下第一個超連結],然後按一下顯示資料繫結 按鈕影像

  4. [定義工作流程查閱] 對話方塊中,選擇下列選項:

    • [來源][工作流程資料]

    • [欄位][變數: 檢閱狀態]

      [定義工作流程查閱] 對話方塊

  5. 按一下 [確定]。

  6. 在條件中,保留第二個參數的值為 [等於]

  7. 在條件中,按一下第二個 [值] 超連結,輸入「已拒絕」,然後按下 ENTER 鍵。

    在新增任何動作至每一個分支前,工作流程的這個步驟看起來應該像這樣。

    [工作流程設計工具] 中的 Else If 條件分支

  8. 若要完成工作流程中這個步驟,請按一下 [動作],然後將您要的動作新增至每一個條件分支。

頁面頂端

快速參照:步驟摘要

以下是上述三節中所說明的步驟之摘要:

  1. 新增 [從使用者收集] 動作:

    • 對第一個連結,使用 [自訂工作精靈] 以建立自訂工作表。

    • 對第二個連結,選取要指派工作的單一使用者或群組。

    • 對第三個連結,建立清單項目識別碼類型的變數,以儲存使用者所編輯的工作項目的識別碼。

  2. 新增 [設定工作流程變數] 動作:

    • 對第一個連結,建立一個變數以儲存 [工作] 清單中,特定列中特定欄位的實際值 (不只是識別碼)。

    • 對第二個連結,使用儲存在 [清單項目識別碼] 變數中的值,在 [工作] 清單中查閱您想要的值的欄位,以擷取特定清單項目 (或列)。

      這個查閱應該像下列範例。這個查閱表示「前往 [工作] 清單中的 [檢閱狀態] 欄位。然後前往 [工作清單] 中的某一列,此列的識別碼與儲存在 (工作流程的這個例項的) 變數中的識別碼相符。如果工作流程執行並建立一個識別碼為 3 的工作,這個查閱就會從 [工作] 清單中的第三列,擷取 [檢閱狀態] 欄的值。下次工作流程執行時,這個識別碼可能會是 4,所以查閱就會前往第四列,依此類推。

      [定義工作流程查閱] 對話方塊

  3. 建立新的工作流程步驟。

  4. 新增 [比較任何資料來源] 條件:

    • 對第一個連結,選擇您在步驟 2 中設定為實際值的變數。

    • 對第二個連結,按一下比較。

    • 對第三個連結,輸入您要與儲存在變數中的值比較的值。

  5. 新增當條件滿足時,您要執行的任何動作。

  6. 按一下 [新增 'Else If' 條件分支],並重複步驟 4-5 以建立其他分支。

頁面頂端

附註: 機器翻譯免責聲明︰本文係以電腦系統翻譯而成,未經人為介入。Microsoft 提供此等機器翻譯旨在協助非英語系使用者輕鬆閱讀 Microsoft 產品、服務及技術相關內容。基於本文乃由機器翻譯而成,因此文中可能出現詞辭、語法、文法上之錯誤。

擴展您的技能
探索訓練
優先取得新功能
加入 Office 測試人員

這項資訊有幫助嗎?

感謝您的意見反應!

感謝您的意見反應! 我們將協助您與其中一位 Office 支援專員連絡以深入了解您的意見。

×