設定背景工作流程階段和步驟

當您設計工作流程時,可以選擇包含您要在階段步驟中執行的邏輯。

階段可讓工作流程邏輯更易於讀取,並可解釋工作流程邏輯。 不過,階段不會影響工作流程的邏輯或行為。 如果程序具有階段,程序中的所有步驟都必須包含在階段中。

步驟是工作流程內的商務邏輯單位。 步驟可以包括條件、動作、其他步驟或這些項目的組合。

背景工作流程處理可以執行的動作

背景工作流程程序可以執行下表中列出的動作。

動作​​ 描述
建立資料列 為資料表建立資料列,並將所選取的值指派給資料欄。
更新資料列 您可以更新背景工作流程執行所在的資料列、以 N:1 關聯性連結至該記資料列的任何資料列,或是稍早步驟所建立的任何資料列。
指派資料列 您可以指派背景工作流程執行所在的資料列、以 N:1 關聯性連結至該記資料列的任何資料列,或是稍早步驟所建立的任何資料列。
傳送電子郵件 傳送電子郵件。 您可以選擇建立新的電子郵件訊息,或為工作流程執行的資料列、與該資料表具有 N:1 關聯的任何資料表,或先前步驟中建立的任何資料列,使用為相關資料表設定的電子郵件範本。
啟動子工作流程 啟動已設定為子工作流程的背景工作流程處理。
變更狀態 變更工作流程程序執行之資料列、連結至 N:1 關聯中的該資料列的任何一個資料列,或先前步驟中建立的任何資料列的狀態。
停止工作流程 停止目前的工作流程。 您可以設定成功已取消狀態和指定狀態訊息。
自訂步驟 開發人員可以建立定義動作的自訂背景工作流程步驟。 預設沒有提供自訂步驟。

設定資料列值

當您建立資料列時,可以設定資料列的值。 當您更新資料列時,可以設定、附加、遞增、遞減、相乘或清除值。

當您選取設定屬性時,對話方塊會開啟並顯示資料表的預設表單。

在對話方塊的底端,可以看到表單中沒有的其他資料行清單。

針對所有資料行,您可以設定靜態值 (該值會由工作流程設定)。

在對話方塊右側,表單小幫手可讓您從目前資料列的內容設定或附加動態值。 這包括可從資料表的 N:1 (多對一) 關聯中存取之相關資料列的值。

表單小幫手中的可用選項取決於您選取的表單資料行。 當您設定動態值,您會看到黃色預留位置 (稱為「動態資料欄位」),顯示動態資料將會包含的地方。 如果您要移除值,請選取這個的動態資料欄位並刪除它。 對於文字資料行,您可以使用靜態和動態資料的組合。

對於動態值,您不確定資料行或相關資料表是否具有您要設定的值。 您可以實際設定一些資料行,嘗試設定值和使用綠色箭號依值順序排序。 如果第一個資料欄沒有資料,則會嘗試第二個資料欄,以此類推。 如果所有資料欄都沒有資料,您可以指定要使用的預設值。

設定背景工作流程動作的條件

您要套用的動作通常取決於條件。 背景工作流程處理提供幾種方式,可以設定條件及建立分支邏輯以取得想要的結果。 您可以檢查背景工作流程程序執行之資料列的值、連結至 N:1 關聯中的該資料列的任何一個資料列的值,或程序本身的值。

條件類型 名描述
檢查條件 邏輯「如果 <條件> 則」陳述式。

您可以檢查背景工作流程執行之資料列的目前值、連結至 N:1 關聯中的資料列錄的任何一個資料列的值,或先前步驟中建立的任何資料列的值。 根據這些值,您可以定義當條件為 true 時的其他步驟。

在「如果 <條件> 則」陳述式中,您可以使用下列運算子:等於不等於包含資料不包含資料在下面不在下面

附註在下面不在下面是階層式運算子。 它們只能使用於已定義階層式關聯的資料表。 若嘗試將這些運算子使用於未定義階層式關聯的資料表,看到錯誤訊息:「您在未定義階層式關聯的資料表上使用了階層式運算子。 請將資料表設為階層式 (將關聯標記為階層式),或使用其他運算子。

如需階層關聯的詳細資訊,請參閱定義和查詢階層式相關資料。 表格之後的螢幕擷取畫面是使用在下面不在下面階層式運算子的背景工作流程處理定義範例。
條件分支 邏輯「else-if-then」陳述式。 編輯器使用「否則,如果 <條件> 則:」文字

選取先前定義的檢查條件,而且您可以加入條件分支,來定義當檢查條件傳回 false 時的其他步驟。
預設動作 邏輯 "else" 陳述式。 編輯器使用文字「否則:」

選取您先前定義的檢查條件、條件分支、等待條件或等待分支,而且您可以使用預設動作,針對不符合條件或分支項目中定義的準則的所有案例來定義步驟。
等待條件 在符合條件所定義的準則之前,讓背景工作流程暫停它自己。 背景工作流程會在符合等待條件中的準則時自動再次啟動。
平行等待分支 定義背景工作流程的替代等待條件,其一組對應的額外步驟只有在初始準則符合時才會執行。 您可以使用平行等待分支,於背景工作流程邏輯中建立時間限制。 這些逾時有助於防止背景工作流程無限期地等待符合等待條件中所定義的準則。
自訂步驟 開發人員可以建立定義條件的自訂背景工作流程步驟。 預設沒有提供自訂步驟。

以下螢幕擷取畫面包含使用在下面不在下面階層式運算子的背景工作流程處理定義範例。 在我們範例中,我們將兩個不同折扣套用至兩個客戶群組。 在新增步驟,我們選取檢查條件,指定包含在下面不在下面運算子的 if-then 條件。 第一個 if-then 條件適用於在 Alpine Ski House 客戶下面的所有客戶。 這些客戶對於購買的商品和服務獲得 10% 折扣。 第二個 if-then 條件適用於不在 Alpine Ski House 客戶下面的所有客戶,他們獲得 5% 折扣。 然後,我們選取更新資料列,根據條件定義要執行的動作。

工作流程程序使用小於/不小於運算子。

後續步驟

透過程序建立自訂商務規則
工作流程程序概觀
監視和管理背景工作流程處理
背景工作流程處理的最佳做法