状況フローのカスタマイズ
状況フローは、 フィールドサービス管理 (FSM) アプリケーションの状況間でレコードが移行する順序を制御します。
フィールドサービス管理 (FSM)タスク状況フローの仕組み
状況フローは、要求とそれに関連するタスクの状況間の移行方法を制御する標準プロセスに代わるものです。ServiceNowシステムは、指定した移行とフィールドコントロールを実行するビジネスルール、クライアントスクリプト、および UI アクションを作成します。これらのプログラミング要素は、それらを使用する状況フローレコードが存在する間は使用され続けます。フィールドサービス管理 (FSM)テーブルの状況フローが削除されると、そのテーブルに作成された不要なプログラミング要素の削除が試行されます。開始ステータスに基づいて、[ステータス] フィールドの選択を移行の有効なステータスに制限できます。
- 手動移行: 条件またはスクリプトを指定すると、システムによって自動的に作成される UI アクションによって移行が開始されます。
- 自動移行: 条件とスクリプトを指定すると自動的にビジネスルールによって作成され、要求またはタスクに変更が加えられると移行が開始されます。
wm_admin ロールを持つユーザーは、次のタスクを実行できます。
- 作業指示フローおよび作業タスクフローを作成、読み取り、追加、更新、または削除します。
- 特定の状況移行時にイベントをトリガーします。
- 要求またはそのタスク内のデータが変更されたときに自動的に別のステータスに移行するか、ユーザーがボタンを選択したときに手動でステータスを変更します。
- [ステータス] フィールドの選択リストを、指定された開始ステータスからの有効な移行である終了ステータスに制限します。
- ターゲットテーブルのレコードの状況が変更されたときの、ターゲットテーブルの選択されたフィールドの表示と動作を制御します。
- カスタム状況フローを作成します。構成画面で [状況フローを有効にする ] オプションをオフにします。
状況フローで利用可能な機能
- カスタム移行: 要求およびタスクレコードの状況が変化する順序をカスタマイズします。
- フィールドコントロール: タスクのステータスが変更されたとき、または指定された終了ステータスに達したときの、特定のフィールドの動作と可視化を制御します。
- ステータス選択リスト: タスクレコードの [ステータス] フィールドで提供される値を、その移行の有効なステータスに制限します。これは、状況移行のフィールドコントロールを管理するためにシステムが作成するものと同じクライアントスクリプトです。
- イベント: 状況移行が発生したとき、またはレコードが特定の終了状態に達したときにイベントをトリガーします。
開始状況と終了状況
wm_admin ロールを持つユーザーは、タスクレコードがあるステータスから別のステータスに特定の移行を行うときに発生する処理のカスタム状況フローを作成できます。これらのレコードには開始状態と終了状態が必要であり、処理は状況間の移行中に発生します。タスクレコードが特定の終了状況に達したときに何らかの処理を実行するには、終了状況を定義する必要があります。タスクがキャンセルされた後に何らかのクリーンアップを実行する場合など、状況フローは開始状態のみになることがあります。レコード内の処理が複数の状況移行に適用される場合、状況フローには開始状態も終了状態もない可能性があります。解決策は、ビジネスルールまたはクライアントスクリプトを状況フローレコードに保存し、それを必要とするステータス変更の処理をトリガーする条件を作成することです。
フィールドサービス管理 (FSM)のこの例は、作業指示タスク [wm_task] テーブルの「変更をロールアップ」ビジネスルールです。このビジネスルールは、タスクで発生したステータス変更を親作業指示にロールアップします。
構成の概要
状況フローのカスタマイズをセットアップする手順は次のとおりです。
- 作業指示および作業指示タスクの状況フローの構成
作業指示と作業指示タスクが行き来する状況を設定します。これは、作業の追跡に役立つ特定の状況シーケンスがある場合に役立ちます。
- (オプション) 状況フロー辞書の上書き
辞書オーバーライドを使用して、すべての新規作業指示および作業指示タスクの開始ステータスを定義します。
- (オプション) 状況フローの作業メモ
特定のステータスに達したときに、カスタマイズされた作業メモを作業指示タスクに追加します。たとえば、[却下] ステータスフローに「エージェントによって却下されたタスク」というメモを含めることができます。
- (オプション) 状況フローのフィールドコントロール
指定された状況移行をシステムが検出した場合の動作を決定します。たとえば、インシデントが [問題待ち] 状態に移行したときに [問題] フィールドを表示するとします。
- (オプション) ステータス変更時にイベントをトリガー
タスクが開始状態から指定された終了状態に移行したときに登録されたシステムイベントをトリガーするように、状況フローを構成します。たとえば、イベントを使用してメール通知をトリガーし、スクリプト アクションを作成できます。
- (オプション) 状況フローの再作成
既存sys_idsと新規のが一致しない場合に、再ビルド状況フローを実行します。
- (オプション) 状況フローのクリーンアップ
システムによって作成されるビジネスルール、クライアントスクリプト、および UI アクションをクリーンアップして、それらを使用する状況フローレコードが存在する間にのみ存在するカスタム移行を実行します。