状況フローの使用

  • リリースバージョン: Zurich
  • 更新日 2025年07月31日
  • 所要時間:5分
  • 状態を使用する任意のテーブルにカスタム状況フローを作成できます。

    任意の順序で状況移行を発生させるか、ビジネス プラクティスに従って特定の状況をスキップします。状況フローは、タスク フォームのフィールドの動作およびフィールドの可視化を管理できます。また、状況フローは、メール/SMS 通知の送信などの作業を実行するシステムイベントをトリガーすることもできます。

    アドミニストレーターは、次のように状況フローを設定できます。

    [状況フロー] プラグインにより、作業指示書および作業指示タスクの状況移行を制御するために作業管理で使用されるレコードがインストールされます。作業管理の状況フローの使用の詳細については、「State flow customization」を参照してください。

    状況フローの作成およびカスタマイズには、スクリプティングに関するナレッジが必要です。アドミン ロールを持つユーザーが、状況フロー レコードを作成できます。

    状況フローの辞書オーバーライド

    状況フローの辞書オーバーライドにより、特定のテーブル内のすべての新しいレコードの開始状態が定義されます。

    カスタマイズが拡張テーブルにのみ適用されるように、ベース テーブルのみを拡張するテーブルで上書きを設定します。
    1. 状況フロー レコードで、[終了状態] を選択します。

      これは、指定されたテーブル内のすべての新しいレコードの開始状態になる上書き値です。

    2. [デフォルト値を作成] をクリックします。

      [辞書オーバーライド] フィールドに [ステータス] の値が入力されます。これは、オーバーライドの影響を受けるタスク テーブルのフィールドです。[辞書オーバーライド] フィールドは読み込み専用です。オーバーライドが作成されると、そのテーブルの後続のすべての [状況フロー] フォームで [デフォルト値を作成] ボタンが非表示になります。

    状態の変更でトリガーされるイベント

    タスクが開始状態から指定された終了状態に移行したときに、登録されたシステムイベントをトリガーするように状況フローを設定できます。

    たとえば、イベントを使用してメール通知をトリガーし、スクリプト アクションを作成できます。状況フローにイベントを添付すると、状況フロー イベントで指定されたテーブルの <table name> に対して状況フロー イベントと呼ばれるビジネス ルールが作成されます。開始および終了状態を指定すると、レコードが開始状態から終了状態に移行したときにビジネス ルールが実行されます。状況フローで終了状態のみが指定されている場合、その終了状態に達すると、必ずビジネス ルールが実行されます。1 つのテーブルにイベントを含んでいるすべての状況フローに対して 1 つのビジネス ルールが作成されます。テーブルのすべてのイベントまたはすべての状況フローを削除すると、ビジネス ルールは削除されます。

    フィールド コントロール

    レコードが状況間を移行するときに適用される個々のフィールド コントロールを定義できます。

    [状況フロー] フォームの [フィールド コントロール] セクションの設定により、指定された状況移行が検出された場合、またはフォームを開いたときに終了状態が現在の状態である場合にフィールド コントロールを適用することができます。このコントロールは、フォームの既存のフィールドにのみ適用されます。状況フローは、フィールドをフォームに追加することはできません。

    たとえば、インシデントが [問題待ち] 状態に移行したときに [問題] フィールドを表示するとします。インシデントの状態が [ユーザー情報待ち] に変わった場合、[問題] フィールドを非表示にして [問い合わせユーザー] フィールドを必須にします。

    フィールド コントロールの作成時に、終了状態の状況フロー レコードのみを設定し、制御する終了状態ごとに正しい動作を作成します。この設定により、ユーザーが新しい状態を選択したとき、およびユーザーがレコードの [ステータス] フィールドを元の状態に戻したときに、フィールド コントロールが正しく設定されるようになります。その正確な状態の移行に対して特定の動作が必要な場合は、開始状態と終了状態の両方で完全な状態の移行のみを指定します。
    注:
    状況フローは、クライアントスクリプトを使用してフィールドコントロールを強制します。クライアントスクリプトの後に実行される既存の UI ポリシーによって設定を変更することが可能です。
    状況フローでフィールド プロパティを適用するために、必要に応じて、次のオブジェクトが作成されます。
    表 : 1. フィールド コントロール
    タイプ 名前 説明
    ビジネスルール 状況フロー メモ: <table name> 必須フィールドの動作が定義されているテーブルに対して必須フィールドを強制します。
    クライアント スクリプト (onLoad) <table name> 状況フロー レコードのロード時に可能な状況と初期の必須、読み込み専用、および表示可能プロパティを設定します。
    クライアント スクリプト (onChange) <table name> 状況フローの変更 レコードの変更時に更新された必須、読み込み専用、および表示可能プロパティを設定します。

    状況フローの再作成

    既存の sys_id と新しい sys_id の不一致が発生したときに、状況フローを再作成することができます。

    XML ファイルを使用して状況フロー レコードをインスタンスにインポートすると、sys_id を比較することによって受け取ったステータスと既存のステータスの照合が試行されます。選択リスト内のアイテムの sys_id が同じでも、インスタンス間で異なる可能性があるため、状況の照合が失敗することがあります。

    照合に失敗した場合、影響を受けるレコードの開始および終了状態は空白のままか、数値が含まれます。これらのレコードを修復するには、次の場所に移動します: 状況フロー > 管理者 > 状況フローの再作成. このモジュールにより、インポートされた状況フローレコード内で一致が見つかるまで [ステータス] フィールドの選択リスト内の各アイテムの数値を比較するスクリプトが実行されます。

    状況フローのクリーンアップ

    作業メモ