建立次要工作流程

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

在清單上執行的工作流程要在次要個清單中加入或變更某個項目時,您可以建立由這個加入或變更動作所觸發的次要個工作流程。此次要工作流程可以管理加入或變更的項目,或執行任何其他工作流程動作 - 包括加入、變更及刪除任何清單中的其他項目。

主要工作流程與次要工作流程之間的關係

1. 在第一個清單或文件庫中加入或變更項目,會觸發主要工作流程 (主要工作流程也可以手動啟動)

2. 主要工作流程在次要個清單或文件庫中加入或變更項目

3. 在次要個清單或文件庫中加入或變更項目,會觸發次要工作流程

例如,假設每一次新的文件新增至 [要檢閱的文件] 文件庫中,在該文件庫上執行的一個工作流程就會建立一個工作,以檢閱 [工作] 清單中的文件。您可以在 [工作] 清單上建立一個次要工作流程,為每個新工作的 [到期日] 欄位設定一個值。設定了 [到期日] 值後,次要工作流程就可以暫停直到指定的到期日為止。在到期日時,工作流程可以檢查工作是否完成,然後採取適當的動作。

主要及次要工作流程的流程圖

有效的組織多個次要工作流程,您就可以建立延伸至多張清單的從屬程序。每一個次要工作流程都是持續由單一清單中的變更所觸發,但是在其他清單中建立或變更項目,可以啟動一個或多個工作流程,在整個網站上產生強大的延伸累計效果。

警告: 建立或變更項目時所自動啟動的工作流程會無限制的重複執行,您則要避免發生這種情況。例如,變更某個項目時所啟動的工作流程,不應該在附加此工作流程的清單中變更任何項目。建立某個項目時所啟動的工作流程,也不應該在附加此工作流程清單中建立項目。對次要工作流程而言也一樣。例如,假設某個工作流程 A 是附加至清單 A,工作流程 B 附加至清單 B。建立一個新的項目時,這兩個工作流程都會自動啟動。工作流程 A 會在清單 B 中建立一個項目,而工作流程 B 會在清單 A 中建立一個項目。這樣的情形就會產生一個無限迴圈。最佳的做法是,瞭解哪些工作流程正在清單或文件庫上執行,而您的工作流程會在這些清單或文件庫中建立或變更項目。此外,您也可以使用停止迴圈的條件以避免某些迴圈行為。例如,如果您在 [工作] 清單上設定次要工作流程,以在目前的工作項目變更時更新此項目的 [到期日],您就可以包含一個條件來檢查 [到期日] 是否已設定為正確值,阻止迴圈發展。如果設定為正確值,動作會停止工作流程而不會改變項目。

本文會介紹次要工作流程的概念,並指導您如何建立次要工作流程。本文的範例工作流程是建立在 [工作] 清單上,並且會為在共享文件庫上執行的特定工作流程所產生的新工作,設定一個到期日,如果工作在到期日尚未完成,就會傳送一個提醒訊息。

在本文中

如何使用次要工作流程?

什麼是次要工作流程與工作清單的特殊關係?

關於工作流程範例

步驟 1︰ 決定是否要繼續執行目前的任務

步驟 2︰ 設定到期日期值,然後按一下 [暫停

步驟 3︰ 檢查任務的狀態,並會相應地繼續

快速參考︰ 步驟的摘要

另一個範例︰ 使用標題的文件為工作標題

如何使用次要工作流程?

主要工作流程與次要工作流程之間,並沒有功能上的差異。任何工作流程如果是被其他工作流程的動作所啟動,就會被視為「次要」工作流程。

工作流程有許多功能,包括:

  • 為主要工作流程所建立之項目中的欄位設定值

  • 建立、變更或刪除目前清單或其他清單中的項目

  • 傳送提醒電子郵件訊息

    附註: 

    • 在 Office SharePoint Designer 2007 中所設計的次要工作流程,只能由也是在 Office SharePoint Designer 2007  中所設計的其他工作流程的動作所觸發,而不是由 Microsoft Office SharePoint Server 2007 所附的預先定義之工作流所觸發,也不是由在 Visual Studio 中所建立的自訂工作流程所觸發。另請注意,即使工作流程是在 Office SharePoint Designer 2007 中所設計的,如果啟動這個工作流程的使用者是以系統帳戶登入,則這個工作流程的動作也不會觸發次要個工作流程。以系統帳戶執行的工作流程不會觸發次要工作流程。

    • 在任一清單項目上,一次只能執行一個工作流程的一個例項。如果您設定一個次要工作流程在項目變更時執行,且如果該工作流程的一個例項已經在某個項目上執行,而且目前為暫停,則對該項目所做的其他變更都不會觸發同一個工作流程再次執行。例如,如果第一個工作流程例項暫停 30 天,則在這 30 天內同一個清單項目上觸發的同一個工作流程的所有例項,都會無法啟動且不顯示訊息。對於變更項目時所啟動的長時間執行工作流程而言,這樣會產生問題,但對於只有在建立項目時才啟動的次要工作流程而言,並不會造成問題,而本文中的範例工作流程就是這樣設定的。

    • 在工作流程中使用任何暫停動作時,建議您先下載 .NET 3.0 更新並安裝於伺服器上。如需下載這項更新的連結,請瀏覽<請參閱>一節。

頁面頂端

次要工作流程和工作清單之間,有什麼特殊的關係?

由三種工作流程工作動作建立在 [工作] 清單中的項目,會保留三個有用的欄位以記錄與來源相關的資訊,而任何其他類型的清單中由工作流程所建立的項目,並不會保留這些資訊:

  • 工作流程項目識別碼    這是原始項目的唯一識別碼,相對於主要工作流程在 [工作] 清單中建立的目前項目。

  • 工作流程清單識別碼    這是原始項目所在之清單的唯一識別碼。

  • 工作流程名稱    這是在 [工作] 清單中建立目前項目之主要工作流程的唯一識別碼。

三個唯一識別碼

每次對 [工作] 清單中的項目執行查閱時,您就會在 [定義工作流程查閱] 對話方塊中看到這三個欄位。但是,這三個欄位只會包含工作流程的三個工作動作其中之一所建立的工作項目的值。

[定義工作流程查閱] 對話方塊與三個識別碼欄位

這三個識別碼有幾種不同的使用方式,包括:

  • 決定要對哪個項目執行    次要工作流程可以開始檢查每一個新工作項目的一個或多個欄位,然後使用這項資訊來判斷要立即結束或繼續執行。例如,次要工作流程只能對一或多個指定的主要工作流程所建立之工作,執行進一步的動作。

  • 在電子郵件中插入資訊    次要工作流程可以使用這些欄位傳送電子郵件訊息,內含原始項目的識別、原始項目所在的清單,或建立目前工作項目的工作流程。

在其他清單及文件庫 (例如 [宣告] 及 [行事曆]) 上執行的次要工作流程就沒有這些功能,因為它們不能存取這三個欄位。

下表列出這三個值的格式。

欄位

範例值

工作流程項目識別碼

8

工作流程名稱

文件檢閱

工作流程清單識別碼

{4FC00DC3-1880-4872-AC31-AA2389B201CA}

識別三個特殊欄位的值

若要找出其中一個欄位的正確值:

  • 工作流程項目識別碼    在瀏覽器中,檢視項目所在的清單。請視需要修改檢視以包含識別碼欄。請注意,如果指派了項目的識別碼,不論清單中加入、變更及刪除了多少個其他項目,識別碼永遠都不會變動。

  • 工作流程名稱    對於每一個工作流程,這個值和在 [工作流程設計工具] 中為該工作流程所指定的值一樣。請注意,因為網站中不能有同名的工作流程,所以這個值在目前的網站中永遠是唯一的。

  • 工作流程清單識別碼    若要尋找任何清單的這個值,請在瀏覽器中檢視清單,然後按一下 [設定] 功能表上的 [清單設定值][文件庫設定值]。URL 的查詢字串中就會顯示工作流程清單識別碼,其前面的文字是「List=」。

為什麼需要次要工作流程以管理工作到期日

建立並指派工作項目後,建立工作項目的主要工作流程就會暫停。

當主要工作流程暫停時,就無法設定工作項目的 [到期日] 值、在到期日檢查工作的完成狀態,或對到期日時尚未完成的工作項目執行適當的動作。

但是,在 [工作] 清單上執行的次要工作流程,就可以在主要工作流程暫停時執行這些功能。

頁面頂端

關於範例工作流程

您在下面的程序中所建立的範例次要工作流程,設定為在 [工作] 清單上執行:

  1. 檢查每一個新工作項目,以查看是由哪一個主要工作流程所建立,而且只在該主要工作流程是指定的工作流程時才會繼續。

    提示: 最佳的做法是,將這個動作當成您的工作流程的第一步,以避免變更其他工作流程所建立的工作項目,並盡可能降低對效能的影響。

  2. 如果主要工作流程是指定的工作流程,請設定該工作項目的 [到期日],然後暫停直到到期日為止。

    附註: 一旦工作流程暫停,直到開始暫停時所設定的到期日之前,都不會恢復。如果在工作流程暫停時到期日變更,則這項變更不會影響工作流程。

  3. 在到期日時,檢查工作項目的 [已完成] 值,然後執行下列其中一項動作:

    • 如果值為「是」    工作流程會將適當的訊息記錄至工作流程歷程記錄,然後結束。

    • 如果值為「否」    工作流程會傳送電子郵件訊息給被指派此工作項目的人,提醒對方工作已經到期。

範例工作流程包含三個特殊工作項目欄位的建議用途。

本文中的範例程序假設已經有主要工作流程命名為文件檢閱文件會新增至 [共用文件庫中,每當執行,而此主要的工作流程會建立簡易待辦事項名為 [工作] 清單中的檢閱文件並將工作指派給一或多個參與者。若要建立此主要的工作流程,請參閱指派待辦事項工作流程中的文件中的步驟進行。

頁面頂端

步驟 1:決定是否要在目前的工作上繼續執行

如果您的網站中執行多個工作流程,每一個都會在 [工作] 清單中建立項目,您可能要視哪一個工作流程建立哪一個工作,而分別計算到期日。或者,您可以選擇在所有工作項目上執行次要工作流程,其中原始、觸發的項目位於指定的清單或文件庫中。

本範例中的次要工作流程會開始在 [工作] 清單中的每一個新項目上執行,但是所做的第一件事,是檢查新工作項目的 [工作流程名稱] 值。然後使用這項資訊來判斷要立即停止還是要繼續。在本節中,您將設定這個第一步驟。

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

  2. 在 [工作流程設計工具] 的第一頁為次要工作流程命名,然後指示工作流程應該附加至 [工作] 清單,而且只有在清單中建立了新的項目時才啟動工作流程。

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

  3. [下一步]

  4. 在下一頁為工作流程的第一個步驟命名 - 在這個範例中命名為檢查主要工作流程

  5. 按一下 [條件],然後按 [比較工作欄位]

  6. 在條件中,按一下 [欄位],然後將清單向下捲動並按一下 [工作流程名稱]

    [工作流程設計工具] 的次要頁與條件的詳細內容

  7. 在條件中,按一下 [等於],然後按一下清單中的 [不等於]

  8. 按一下條件中的 [值],然後在方塊中輸入主要工作流程的名稱 (在這個範例中是「文件檢閱」),然後按下 ENTER 鍵。

  9. 按一下 [動作],然後按一下清單中的 [停止工作流程]

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

  10. 按一下動作中的 [這個訊息]

  11. 在方塊中,輸入要記錄在 [工作流程歷程記錄] 清單中的訊息,然後按下 ENTER 鍵。

    您的第一個工作流程步驟,現在看起來應該如下圖所示。

    [工作流程設計工具] 次要頁的完成畫面

現在,只有當工作項目是「文件檢閱」工作流程所建立的,次要工作流程才會繼續次要個步驟。

您也可以使用 [工作流程清單識別碼] 欄位設定工作流程,只對在指定的清單上所執行的所有工作流程建立的工作項目,繼續次要個步驟。但是,如果別人可以在同一個清單上建立工作流程,可能很難追蹤誰要哪個工作流程在他們的工作項目上執行。最佳的做法是,只將 [工作] 清單上的次要工作流程,關聯至由一或多個指定的主要工作流程所建立的工作項目。

在次要個步驟中,您要為工作項目設定到期日,然後暫停次要工作流程直到到期日為止。

頁面頂端

步驟 2:設定到期日值,然後暫停

當次要工作流程確認工作項目是由「文件檢閱」工作流程所建立的之後,您就要工作流程計算該項目的 [到期日] 欄位值,然後暫停直到到期日為止。您將在這裡,也就是工作流程的次要個步驟,設定這些動作。

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

  2. 在下一頁中為工作流程的次要個步驟命名 - 在這個範例中命名為「設定到期日並暫停」

  3. 按一下 [動作],然後按 [新增時間至日期]

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

  4. 若要將每一個工作項目的到期日,設定為項目建立後的一週,請執行下列動作:

    1. 在 [動作],按一下0然後在方塊中,取代07中,並最後按下 ENTER 鍵。

    2. 按一下 [分],然後按一下清單中的 [天]

    3. 按一下 [日期],然後按一下 [顯示資料繫結 按鈕圖像

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

      • [來源][目前項目]

      • [欄位][建立時間]

    5. 按一下 [確定]

    6. 按一下 [變數],然後按一下清單中的 [建立新變數]

    7. [編輯變數] 對話方塊中,輸入新變數的名稱 (在這個範例中為到期日)、確定類型為 [日期/時間],然後按一下 [確定]

      您的次要個步驟,現在看起來應該如下圖所示。

      [工作流程設計工具] 的第三頁與 [新增時間至日期] 動作

      現在,您有一個變數名稱為到期日,是將建立並指派工作的日期加上七天所計算出來的日期。

  5. 再按一下 [動作] 以新增次要個動作,然後按一下 [在目前項目中設定欄位]

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

  6. 按一下動作中的 [欄位],然後按一下清單中的 [到期日]

  7. 按一下 [值],然後按一下 [顯示資料繫結 按鈕圖像

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

    1. [來源][工作流程資料]

    2. [欄位][變數: 到期日]

  9. 按一下 [確定]

    您的次要個步驟,現在看起來應該如下圖所示。

    [工作流程設計工具] 的第三頁與 [在目前項目中設定欄位] 動作

    現在,項目的到期日應該設定為項目的建立及指派日之後的七天。

  10. 如果要新增第三個動作請按一下 [動作],請按一下 [在日期之前暫停]

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

  11. 動作,請按一下此時間],然後按一下 [顯示資料繫結 按鈕圖像

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

    1. [來源][目前項目]

    2. [欄位][到期日]

  13. 按一下 [確定]

    您的次要個步驟,現在看起來應該如下圖所示。

    [工作流程設計工具] 的第三頁與 [在日期之前暫停] 動作

    現在,工作流程會暫停直到項目的到期日。

    到了到期日時,工作流程會檢查工作項目是否標示為已完成,如果沒有,就會傳送提醒給被指派該工作的人。您要在下一個步驟中設定這些動作。

頁面頂端

步驟 3:檢查工作狀態並視情況繼續

在範例工作流程的第三也是最後一個步驟中,到期日已到、工作流程繼續,首先要檢查工作項目的 [已完成] 欄位中的值,然後視項目是否已經標示為完成,再採取適當的動作。

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

  2. 在下一頁為工作流程的第三個步驟命名 - 在本範例中命名為檢查狀態並傳送提醒

  3. 按一下 [條件],然後按一下 [比較工作欄位]

  4. 按一下條件中的 [欄位],然後按一下清單中的 [已完成]

  5. 按一下條件中的 [值],然後按一下清單中的 [是]

  6. 按一下 [動作],然後按一下清單中的 [記錄至歷程清單]

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

    按一下動作中的 [這個訊息]

  7. 在方塊中輸入要記錄至工作流程歷程記錄中的訊息,然後按下 ENTER 鍵。

    您的第三個工作流程步驟,現在看起來應該如下圖所示。

    [工作流程設計工具] 的第四頁與單一條件分支

    現在,如果工作已經完成,工作流程就會結束。

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

  9. 在新增的分支中,按一下 [動作],然後按一下清單中的 [傳送電子郵件]

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

  10. 按一下動作中的 [這個訊息]

  11. [定義電子郵件訊息] 對話方塊中,按一下 [收件者] 方塊底部的通訊錄按鈕。

  12. [選取使用者] 對話方塊中,若要傳送電子郵件給被指派工作的人,請按兩下 [或是從現有的使用者及群組中選取] 清單中的 [工作流程查閱]

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

    • [來源][目前項目]

    • [欄位][指定給]

  14. 按一下 [確定],然後再按一下 [確定]

  15. 輸入訊息,然後按一下 [郵件內文文字,以加入變數工作流程查閱資訊,如果您想要使用 [顯示資料繫結 按鈕圖像新增查閱本文] 按鈕的主旨行。

    [定義電子郵件訊息] 對話方塊與訊息內容

    在範例訊息文字中,我們使用下圖所示的工作流程查閱,包含要檢閱的文件標題。

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

    這個查閱是指「前往 [共享文件] 庫的 [標題] 欄位 (或欄)。然後根據在 [工作] 清單中建立目前項目的主要工作流程,前往識別碼與原始項目的識別碼相符的項目 (或列)。」

    簡單的說,這個查閱是指「前往項目的 [標題],此項目的主要工作流程所建立的目前工作項目上,正在執行這個次要工作流程。」

  16. 當您完成了電子郵件後,按一下 [確定]

    您的第三個工作流程步驟,現在看起來應該如下圖所示。

    [工作流程設計工具] 的第四頁與兩個條件分支

傳送提醒的電子郵件後,次要工作流程就可以停止了。或者,您可以新增步驟,以指定的額外天數重設工作項目的 [到期日] 值,以暫停直到新的到期日為止,然後再一次檢查工作是否已完成。如果還沒完成,就會傳送次要封提醒的電子郵件,或採取其他動作,包括傳送電子郵件通知給其他參與者。

頁面頂端

快速參照:步驟摘要

以下是上面三節中的步驟摘要:

  1. 建立一個附加至 [工作] 清單的工作流程,在建立新的項目時會自動啟動。

  2. 新增 [比較工作欄位] 條件:

    • 對第一個連結,按一下 [工作流程名稱]

    • 對次要個連結,按一下 [不等於]

    • 對第三個連結,輸入主要工作流程的名稱,您要在此工作流程上執行次要工作流程。

  3. 新增 [停止工作流程] 動作。按一下連結,然後輸入要記錄至工作流程歷程記錄的訊息。

  4. 新增工作流程步驟。

  5. 新增 [新增時間至日期] 動作:

    • 對第一個連結,輸入您要工作流程在傳送工作提醒前等待的天數。

    • 對次要個連結,按一下 [天]

    • 第三個連結,按一下 [顯示資料繫結 按鈕圖像 ]。在 [定義工作流程查閱] 對話方塊中,選擇下列選項︰

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

    [欄位][變數: 到期日]

    • 對第四個連結,按一下 [建立新變數],並建立一個名稱為到期日、類型為 [日期/時間] 的變數。

  6. 新增 [在目前項目中設定欄位] 動作:

    • 對第一個連結,按一下 [到期日]

    • 第二個連結,按一下 [顯示資料繫結 按鈕圖像 ]。在 [定義工作流程查閱] 對話方塊中,選擇下列選項︰

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

    [欄位][變數: 到期日]

  7. 新增 [在日期之前暫停] 動作:

    • 連結,按一下 [顯示資料繫結 按鈕圖像 ]。在 [定義工作流程查閱] 對話方塊中,選擇下列選項︰

    [來源][目前項目]

    [欄位][到期日]

  8. 新增工作流程步驟。

  9. 新增 [比較工作欄位] 條件:

    • 對第一個連結,按一下 [已完成]

    • 對次要個連結,請保留 [等於]

    • 對第三個連結,按一下 [是]

  10. 新增 [記錄至歷程清單] 動作。按一下連結,然後輸入要記錄至工作流程歷程記錄中的訊息。

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

  12. 新增 [傳送電子郵件] 動作。按一下動作中的 [這個訊息]

  13. [定義電子郵件訊息] 對話方塊中,執行下列動作:

    • 按一下 [收件者] 方塊末端的 [通訊錄] 按鈕。

    • [或是從現有的使用者及群組中選取] 清單中,按兩下 [工作流程查閱]

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

    [來源][目前項目]

    [欄位][指定給]

  • 如果您想要,可以使用查閱加入主旨行和訊息內文。

    例如,使用下列查閱,以包含要檢閱的文件之標題。

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

頁面頂端

另一個範例:使用文件標題做為工作標題

您有時可能會想要使用變數資訊,為您的工作流程所建立的新工作命名。例如,您可以讓次要工作流程取代原始的文件標題,做為指派給主要工作流程的工作名稱。

在這個範例中,您要在主要工作流程中指定一個容易記得的工作標題 (例如,ABC123)。接下來,您要新增一個條件至在 [工作] 清單上執行的次要工作流程。

下圖中的步驟使用 [比較工作欄位] 條件,評估工作的標題。如果工作標題等於您在主要工作流程中命名的容易記得的工作標題,則次要工作流程就會使用 [更新清單項目] 動作,查閱 [共享文件] 中原始文件的 [標題] 值,以重設工作的標題值。

設定對話方塊,以使用文件標題做為工作標題

這個查閱會指示工作流程,從 [共享文件] 中取得項目的標題,這個項目觸發的主要工作流程建立了這個工作項目。次要工作流程會使用 [工作流程項目識別碼] 查閱這個項目。

頁面頂端

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

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

這項資訊有幫助嗎?

感謝您的意見反應!

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

×