タイマーワークフローアクティビティ

  • リリースバージョン: Xanadu
  • 更新日 2024年08月01日
  • 所要時間:6分
  • [タイマー] アクティビティは、指定された期間ワークフローを一時停止します。

    この期間は、絶対時間値または定義されたスケジュールの作成と使用に基づく相対値です。[期間] を調整して、ワークフローを適切なタイミングで進行できるようにするのが最良の方法です。条件が満たされるまで無期限にワークフローを一時停止するには、「条件待ち」を参照してください。
    注:
    タイマーアクティビティは、システムスケジューラーがワークフローを進行するため、システムユーザーとして実行されます。

    結果

    表 : 1. タイマーアクティビティの結果
    結果 説明
    完了 アクティビティは指定された期間を正常に完了しました。
    キャンセル アクティビティまたはワークフローは、タイマーが指定された期間を完了する前にキャンセルされました。

    入力変数

    アクティビティの初期動作が、入力変数によって決まります。

    表 : 2. タイマーアクティビティの入力変数
    フィールド 説明
    タイマー情報
    タイマー基準: タイマー期間の計算方法。オプションは次のとおりです。
    • [ユーザー指定の期間]:期間は、日や時間などの [期間] フィールドに基づいています。
    • [相対期間]:期間は、相対期間 (翌営業日の終了など) および [待機] フィールドに基づいています。
    • [日付/時刻または期間フィールド]:期間は、[フィールド] 価値および [待機] フィールドに基づいています。
    • [スクリプト]:期間は、秒数を返すスクリプトに基づいています。
    期間

    [タイマー基準:][ユーザー指定の期間] の場合にのみ表示されます。

    ワークフロー内の次のアクティビティに進むまでの特定の日数と時間。
    相対期間

    [タイマー基準:][相対期間] の場合にのみ表示されます。

    次のワークフローアクティビティに進む前に待機する一般的な営業日の日数と長さ。
    待機

    [タイマー基準:][相対期間] または [日付/時刻または期間フィールド] の場合のみ表示されます。

    [タイマー基準:][相対期間] または [日付/時刻または期間フィールド] の場合の追加タイマー調整。オプションは次のとおりです。
    • [全期間]:計算された期間の変更はありません。
    • [期間の%]:期間は、(パーセンテージ/100) で秒数を乗算することにより調整されます。
    • [少し前]:期間は、[次の前の時間] の日と時間により短縮されます。
    • [少し後]:期間は、[次の後の時間] の日と時間により延長されます。
    パーセンテージ

    [タイマー基準:][相対期間] または [日付/時刻または期間フィールド] の場合のみ表示されます。

    [タイマー基準:][相対期間] または [日付/時刻または期間フィールド] の場合の [待機] パーセント値。
    次の前の時間

    [タイマー基準:][相対期間] または [日付/時刻または期間フィールド] で、[待機][少し前] の場合のみ表示されます。

    [待機][少し前] の場合の修飾子の時間値。
    次の後の時間:

    [タイマー基準:][相対期間] または [日付/時刻または期間フィールド] で、[待機][少し後] の場合のみ表示されます。

    [待機][少し後] の場合の修飾子の時間値。
    フィールド

    [タイマー基準:][日付/時刻または期間フィールド] の場合のみ表示されます。

    次のワークフローアクティビティに移動するまでの経過待ち時間を含む日付/時刻または期間フィールド。
    スクリプト

    [タイマー基準:][スクリプト] の場合にのみ表示されます。

    「回答」を継続時間用の秒数に設定するスクリプト。
    タイマー スケジュール
    スケジュール基準: タイマーが勤務時間をカウントするために使用する基本スケジュール。スケジュールが指定されると、スケジュールで指定された回数のみ期間が考慮されます。たとえば、期間が 2 時間の場合、午前 8 時から午後 5 時のスケジュールでワークフローが午後 4 時に開始されると、翌日の午前 9 時に終了します。オプションは次のとおりです。
    • [このワークフローのスケジュール]:スケジュールは、ワークフローのコンテキストの日付、時刻、およびオプションの [タイムゾーン基準:] 値を使用します。
    • [特定のスケジュール]:スケジュールは、事前定義された [スケジュール] およびオプションの [タイムゾーン基準:] 値を使用します。
    • [スケジュール フィールド]:スケジュールは、テーブルの値およびオプションの [タイムゾーン基準:] 値を使用します。
    スケジュール

    [スケジュール基準:][特定のスケジュール] の場合のみ表示されます。

    リストから事前定義された [スケジュール]
    スケジュール フィールド

    [スケジュール基準:][スケジュール フィールド] の場合のみ表示されます。

    テーブルに関連付けられているスケジュールの日付/時刻または期間フィールド。有効なフィールドは、ツリー ダイアログの [要素を選択] に青色で表示されます。
    タイマー タイムゾーン
    タイムゾーン基準: 期間を計算するためのタイムゾーン。以下のタイムゾーン基準があります。
    • [タイムゾーンなし]:デフォルト。ワークフローは GMT タイムゾーンを使用します。
    • [特定のタイムゾーン]:事前定義された [タイムゾーン]
    • [タイムゾーン フィールド]:フォーム上のフィールドから継続時間を追跡する [タイムゾーン フィールド]
    タイムゾーン

    [タイムゾーン基準:][特定のタイムゾーン] の場合にのみ表示されます。

    事前定義済みのタイムゾーン。
    タイムゾーン フィールド

    [タイムゾーン基準:][タイムゾーン フィールド] の場合にのみ表示されます 。

    テーブルに関連付けられているスケジュールの日付/時刻または期間フィールド。有効なフィールドは、ツリー ダイアログの [要素を選択] に青色で表示されます。

    状況

    アクティビティ状況は、ワークフロー エンジンがアクティビティを処理する方法を指示します。

    表 : 3. タイマーアクティビティ状況
    状況 説明
    実行中 初期化中、[タイマー] アクティビティは短時間この状態にありますますが、その後すぐに [待機中] に変わります。
    待機中 ワークフロー エンジンは、タイマーが指定された期間を完了するまで待機します。その後、エンジンはワークフローを次のアクティビティに移行します。
    完了 アクティビティの実行が終了しました。アクティビティの結果については結果値を確認してください。
    キャンセル このアクティビティ、またはこのアクティビティを含むワークフローはキャンセルされました。
    エラー JavaScript エラーが発生しました。エラーの詳細についてログを確認してください。

    [タイマー] アクティビティを使用して、営業日が終了するまでワークフローを一時停止することができます。

    図 : 1. タイマーの例

    この例では、スクリプトは [now] 変数と [eod] 変数の間の時間を評価します。[eod] 変数は、24 時間で午後 4 時に定義されます。スクリプトは、[回答] 変数を秒単位でこれらの変数の差に設定し、メッセージを記録します。

    // get now and calc end of day (4:00pm)
     
    var now =new Date();
     
    var eod =new Date();
    eod.setHours(16);
    eod.setMinutes(0);
    eod.setSeconds(0);
     
    answer =(eod.getTime()- now.getTime())/1000;
     
    workflow.debug('Timer will fire @: '+ eod +'  '+(answer/60)+' minutes from now');