ステータスフローのカスタマイズ

  • リリースバージョン: Washingtondc
  • 更新日 2024年02月01日
  • 読む3読むのに数分
  • ステータスフローは、Service Management アプリケーションにおけるステータス間のレコード移行順序を制御します。

    管理者は、次のタスクを実行できます。
    • ステータスを追加または削除します。
    • 特定のステータス移行時にイベントをトリガーします。
    • 要求またはそのタスクのデータが変更されたときに自動的に別のステータスに移行するか、ユーザーがボタンをクリックしたときに手動でステータスを変更します。
    • [ステータス] フィールドの選択リストを、指定された開始ステータスからの有効な移行である終了ステータスに制限します。
    • ターゲットテーブルのレコードのステータスが変更されたときに、そのテーブルで選択したフィールドの可視性と動作を制御します。
    • カスタムステータスフローを作成します。構成画面の [ ステータスフローが有効 (State flows are enabled )] オプションをオフにします。カスタムステータスフローを作成するには、スクリプティングのナレッジが必要です。
    注:
    wm_adminロールを持つユーザーは、作業指示フローと作業タスクフローのみを作成、読み取り、更新、および削除できます。facilities_adminロールを持つユーザーは、施設要求フローと要求タスクフローのみを作成、読み取り、更新および削除できます。wm_admin ロールを持つユーザーは施設レコードを操作できず、facilities_admin ロールを持つユーザーは作業指示レコードを操作できません。

    SM 要求とタスクステータスフローの仕組み

    ステータスフローは、要求とそれに関連するタスクがステータス間をどのように移動するかを制御する標準プロセスを置き換えます。ServiceNow指定された移行とフィールド コントロールを実行するビジネス ルール、クライアント スクリプト、および UI アクションが作成されます。これらのプログラミング要素は、それらを使用する状態フロー レコードが存在する間は使用され続けます。SM アプリケーション テーブルの状態フローが削除されると、そのテーブルで作成された不要なプログラミング要素の削除が試行されます。[状態] フィールドの選択を、開始状態に基づいて移行の有効な状態に制限できます。

    ステータスフローは、次のコントロールを提供します。
    • 手動移行:条件またはスクリプトを指定したときにシステムによって自動的に作成される UI アクションにより、移行が開始されます。
    • 自動トランジション:条件とスクリプトを指定したときにシステムによって自動的に作成されるビジネスルールによって、要求またはタスクが変更されたときに移行が開始されます。

    ステータスフローで使用できる機能

    • カスタムトランジション: 要求とタスクレコードのステータスを変更できる順序をカスタマイズします。
    • フィールド コントロール: タスクがステータスを変更したとき、または指定された終了状態に達したときの、特定のフィールドの動作と可視性を制御します。
    • ステータス選択リスト:タスク レコードの [状態] フィールドで提供される値を、その移行の有効な状態に制限します。これは、ステータス移行のフィールド コントロールを管理するために作成されるクライアント スクリプトと同じです。
    • イベント:状態の移行が発生したとき、またはレコードが特定の終了状態に達したときにイベントをトリガーします。

    開始状態と終了状態

    タスク レコードがある状態から別の状態に特定の移行を行うときに発生する必要がある処理のカスタム状態フローを作成できます。これらのレコードには開始状態と終了状態が必要であり、状態間の移行中に処理が行われます。タスクレコードが特定の終了状態に達したときに何らかの処理を実行するには、終了状態を定義するだけで済みます。タスクがキャンセルされた後に何らかのクリーンアップを実行する必要がある場合など、状態フローに開始状態のみを持たせる場合があります。レコード内の処理が複数の状態移行に適用される場合、状態フローに開始状態または終了状態がないことがあります。

    解決策は、ビジネス ルールまたはクライアント スクリプトをステータスフロー レコードに保存し、それを必要とするステータス変更の処理をトリガーする条件を作成することです。Field Service Management でのこの例は、作業指示タスク [wm_task] テーブルの変更をロールアップするビジネスルールです。このビジネスルールは、タスクで発生したステータス変更を親作業指示にロールアップします。