Runsub

此説明頁面適用於 CXone Studio此資訊也可用於 Desktop Studio

調用下標,下標運行後使用 Return action 返回並繼續運行主指令碼。 當子執行碼執行時,它會將值儲存在 Return 動作的 ReturnValue 屬性中,然後將該值傳遞回主要指令碼的 Runsub 動作中的 ReturnVariable 屬性。

若您有一個或多個較大的指令碼,而您希望將其分解為較小的指令碼,則此動作尤其有用。

相依性

  • 主要指令碼和子指令碼必須在同一資料夾中。

  • 主指令碼類型和子指令碼類型必須相同。 例如,如果主指令碼為電話指令碼,則子指令碼也必須為電話指令碼。
  • 若在主要指令碼中放置一個 Runsub 動作,則子指令碼必須有一個 Return 動作。
  • Runsub 可將多個變數從主要指令碼傳遞給子指令碼,但子指令碼只能向主要指令碼返回一個值(在 ReturnVariable 屬性中)。
  • 當子指令碼終止時,在您將子指令碼聲明為全域之前,子指令碼中定義的任何變數將不再可用。 您可以透過在變數名稱前新增 global:SNIPPET動作中執行此操作。 例如,ASSIGN global:varName = value。 用於存取子指令碼中的資料的另一個方法是使用 GET/contacts/{contactId}/custom-data 一個正方形圖示,箭頭從中心向外指向右上角。 API。
  • Runsub 子指令碼中的變數使用 savetodb() 函數時,該變數必須是全域變數。
  • RunScript SpawnRunsub 或類似指令碼調用的所有指令碼必須有效並活躍。 在儲存過程中,Studio會驗證所有由動作調用的指令碼。 如果其中任何一個無效或非活躍,Studio將顯示一個錯誤並無法儲存。

支援的指令碼類型

一個正方形,其上有一條通往其他三個正方形的分支線。

通用

電郵 聊天 電話 語音郵件 工作項目 SMS 數位

類似動作比較

以下動作有類似的功能,但有一些關鍵區別:

  • Runscript:當Runscript觸發另一個指令碼時,它不會從第二個指令碼回到第一個指令碼。
  • Runsub:當 Runsub 觸發子指令碼時,該指令碼可返回第一個指令碼,只要子指令碼擁有 Return 動作。 該子指令碼完成後,Return 動作將向 Runsub 動作傳回一個值。
  • SPAWN:啟動與第一個指令碼並行運行的第二個指令碼。 再生的指令碼無法將資料傳回第一個指令碼,除非您在再生的指令碼中包含 SIGNAL 動作

輸入屬性

這些屬性定義了動作執行時使用的資料。

屬性

描述

Add Caption

輸入在指令碼中唯一標識此操作的短語。 標題出現在指令碼畫布上的動作圖示下。

Script Name

您想要建置的指令碼。 您可以單擊動作屬性方塊頂部的 Choose Script 連結以從您的業務單元選擇指令碼。

Return Variable

將返回到主要指令碼的值儲存在此屬性中。 若要傳遞多個值,請使用陣列作為變數。
Parameters

點擊欄位中的省略號圖示,並為要傳遞給此新增一個變數,以便傳送到所產生的指令碼。 在編輯器視窗中的每行輸入一個變數。 使用有意義的變數名稱。 變數名稱不一定要和產生的指令碼中使用的相應變數的名稱一致

傳入指令碼的參數會傳遞到出現在該指令碼的Begin動作的追蹤輸出中。

結果分支條件

結果分支條件允許您在指令碼中建立分支,以處理執行動作時的不同結果。

條件

描述

Default

指令碼未能滿足需要它採用其中一個分支的條件時採用的路徑。 如果沒有定義動作的其他分支,也會採用該路徑。

錯誤

動作未能正確執行時採用的路徑。 例如,當出現連接不良、語法錯誤等意外問題時。 _ERR變數(帶有一個下畫線字元)應填入針對問題的簡要說明。

指令碼範例

下面是一個範例,說明如何在指令碼中使用此動作。 這不是一個完整的指令碼。 可能需要額外的指令碼。

在下面的主要指令碼(頂部所示)中,當指令碼被觸發時,Runsub 動作會立即觸發子指令碼(底部所示)。 在指令碼中,Voiceparams 設定文字轉語音設定,Hours 動作將營業、不營業及假期的分支設定為三個不同的 Return 動作。 子指令碼完成後,ReturnValues 屬性(在 Return 動作中)中的值儲存在 ReturnVariable 欄位(主要指令碼中的 Runsub 動作)中。 然後,Case 動作根據需要設定營業、不營業和假期分支。

主要指令碼

指令碼範例,顯示以箭頭連接的 Studio 動作。 每個動作下方都有標籤,用於指示該動作在指令碼中的作用。

是否要下載此指令碼

子指令碼

指令碼示例,顯示以箭頭連接的 Studio 動作。 每個動作下方都有標籤,用於指示該動作在指令碼中的作用。

這三個 Return 動作提供 ReturnValue 屬性中的值,因此主要指令碼中的 Case 動作可以確定要遵循的分支。

是否要下載此指令碼