ライフサイクルイベントのアクティビティセットについて
オプション
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
01-21-2024 09:28 PM
コミュニティの皆様お世話になっております。
ServiceNowのHRSDのライフサイクルイベントについて質問させてください。
ライフサイクルイベントを作成するときは、アクティビティセットを作成すると思います。
基本的には、ライフサイクルイベントのフローを進行させるには、アクティビティセット内のすべてのアクティビティを処理する必要があります。
このセット内の個々のアクティビティを任意にしたり、スキップ可能にする方法はありますでしょうか?
ラベル:
- ラベル:
-
HRSD
1件の返信1
オプション
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
01-28-2024 02:57 AM
次のアクティビティセットの実行条件をScriptによって詳細に判定できるので、必須のアクティビティが終了したことをScriptで判定するのはどうでしょう。その判定処理内でタスクを中断させても良いかもしれません。
以下のDocsでも少しScriptの書き方の例があるので参考になると思います。
ライフサイクルイベントアクティビティセットの設定 (servicenow.com)
/*例: 高度トリガースクリプト
トリガータイプ = 高度。
新規雇用者 (対象者) には、アサインされたマネージャーがいる。
新規雇用の開始日に達した (空白にはできません)。
特定のアクティビティセットが 2 つ完了した。*/
(function shouldActivitySetTrigger(parentCase /* GlideRecord for parent case */,
hrTriggerUtil /* hr_TriggerUtil script include instance */) {
//Check that employee has a manager
var employeelocationType = parentCase.subject_person.manager;
if (gs.nil(employeeLocationType))
return false;
//Check that the employees start date is populated and on or before today
var employeeStartDate = parentCase.subject_person_hr_profile.employment_start_date;
if (gs.nil(employeeStartDate) || !hrTriggerUtil.checkForElapsedDate(employeeStartDate.getDisplayValue()))
return false;
//Check Previous Sets have finished
var prerequisiteActivitySetIds = ['20f71984ecb61300964fb378c827556f', '58123661dbf2930085ea54c0cf9619ba'];
if (!hrTriggerUtil.checkActivitySetsCompleted(prerequisiteActivitySetIds))
return false;
return true;
})(parentCase, hrTriggerUtil);
/*例にある sys_id を自分のアクティビティセットの sys_id で置き換えます。アクティビティセットから、[フォームのコンテキストメニュー] アイコンをクリックし、[sys_id のコピー] を選択します。*/