您可藉由將等待計時器元素繫結至 Date 物件,來設定其 timer.date 屬性的相對時間與日期。您可在執行指令碼式函數中定義 Date 物件。

開始之前

  • 建立工作流程。

  • 在工作流程編輯器中開啟工作流程以進行編輯。

  • 新增一些元素至工作流程配置。

執行這項作業的原因和時機

到達指定日期的時間時,長時間執行且以計時器為基礎的工作流程將重新啟動並繼續執行。例如,您可以設定工作流程在 2 月 12 日中午重新啟動。此外,您可依您定義的函式建立計算及產生相對 Date 物件的工作流程元素。例如:您可建立相對 Date 物件,以新增 24 小時至目前時間。

程序

  1. 先從一般功能表將可編寫指令碼工作元素拖曳至工作流程的架構,放在需要其 timeout.date 屬性之相關 Date 物件的元素之前。
  2. 在工作流程架構中,按一下可編寫指令碼工作元素的編輯圖示 (編輯圖示)。
  3. 資訊內容索引標籤中,提供指令碼式工作流程元素的名稱和說明。
  4. 按一下輸出內容索引標籤,然後按一下繫結至工作流程參數/屬性 圖示 (繫結至工作流程參數或屬性)。
  5. 按一下在工作流程中建立參數/屬性,建立工作流程屬性。
    1. 將屬性命名為 timerDate
    2. 從屬性類型的清單中選取 Date
    3. 選取建立相同名稱的工作流程屬性
    4. 將屬性值維持設定為未設定,因為指令碼式函數將提供此值。
    5. 按一下確定
  6. 按一下指令碼式工作流程元素的指令碼索引標籤。
  7. 指令碼索引標籤的指令碼輸入台中,定義函數以計算並產生名為 timerDateDate 物件。

    例如,您可以實作下列 JavaScript 函數來建立 Date 物件,其中的逾時時間是相對延遲毫秒數。

    timerDate = new Date();
    System.log( "Current date : '" + timerDate + "'" );
    timerDate.setTime( timerDate.getTime() + (86400 * 1000) );
    System.log( "Timer will expire at '" + timerDate + "'" );

    前一個範例 JavaScript 函數使用 getTime 方法來定義包含目前日期與時間的 Date 物件,並新增 86,400,000 毫秒,也就是 24 小時。可編寫指令碼工作元素將產生此值作為其輸出參數。

  8. 按一下關閉
  9. 按一下儲存

結果

您已建立計算和產生 Date 物件的函數。等待計時器元素可接收此 Date 物件作為輸入參數,以暫停長時間執行的工作流程,直到封存在此物件中的日期為止。工作流程到達等待計時器元素時,會暫停執行並等待 24 小時再繼續。

下一步

您必須將等待計時器元素新增至工作流程,才能實作長時間執行且以計時器為基礎的工作流程。