UI ポリシーの使用

  • リリースバージョン: Zurich
  • 更新日 2025年07月31日
  • 所要時間:9分
  • UI ポリシーは、フォーム上の情報の動作を動的に変更し、タスクのカスタムプロセスフローを制御します。

    たとえば、UI ポリシーを使用して、フォームの数値フィールドを読み取り専用にしたり、簡単な説明フィールドを必須にしたり、その他のフィールドを非表示にしたりできます。基本的な UI ポリシーにはスクリプティングは必要ありませんが、より高度なアクションを実行するには、[スクリプトの実行] オプションを使用します。

    クライアントスクリプトを使用してこれらすべてのアクションを実行することもできますが、ロード時間を短縮するために、可能であれば UI ポリシーを使用してください。

    UI ポリシーの作成

    UI ポリシーを作成して、タスクのカスタムプロセスフローを定義します。

    始める前に

    必要なロール:ui_policy_admin

    このタスクについて

    画面 UI ポリシーの条件は、画面に表示されていないフィールドを含めて、テーブルのすべてのフィールドを評価します。この関数は、フィールドが評価されるためにはフォーム上に表示されていなければならないという要件を削除します。
    注:
    • Fuji より前のバージョンから引き継がれたポリシーは、評価方法が異なります。以前に評価されなかったフィールドが評価されます。
    • UI ポリシーは検索画面ではサポートされていません。
    • UI ポリシーは、コンテンツ管理システムアプリケーション内に表示されるフォームとリストにも適用されます。

    手順

    1. 移動先 すべて > システム UI > UI ポリシー.
    2. [New] をクリックします。
      UI ポリシーの [詳細ビュー] フォームが開きます
    3. ビューを変更するには、[関連リンク][デフォルトビュー] をクリックします。
    4. 必要に応じてフォームに入力します。
      すべてのフィールドを表示するようにフォームを構成する必要があります。
      表 : 1. UI ポリシーのフィールド
      フィールド 説明
      テーブル 変更するフォームのテーブル。
      有効 UI ポリシーのアクティブ状況。アクティブな UI ポリシーのみが適用されます。
      簡単な説明 UI ポリシーの簡単な要約。
      順序 [詳細ビュー] 処理シーケンス (最小値から最大値まで)。2 つのポリシーが競合する場合は、数値の大きい UI ポリシーが実行されます。

      継承された UI ポリシーについては、拡張 (子) テーブルの UI ポリシーが最初に実行されます。次に、ベーステーブルの UI ポリシーが実行されます。どちらも、指定された値が最も小さいものから最も大きいものの順序で実行されます。

      適用時期
      条件 この条件が満たされた場合に UI ポリシーが適用されます。条件は、条件ビルダーでビルドします。スクリプトを使用して条件を設定するには、代わりにクライアントスクリプトを使用します。

      ユーザーが手動でフォームのフィールドを変更した場合のみ、条件が再度確認されます。UI アクション、コンテキストメニューアクション、リストエディターによる変更は、評価されません。

      グローバル [詳細ビュー] UI ポリシーをすべてのフォームビューに適用するかどうかを指定するオプション。このチェックボックスをオフにすると、UI ポリシーはビュー固有になります。

      デフォルトでは、グローバル UI ポリシーはすべてのフォームビューに適用されます。ただし、UI ポリシーはビュー固有にすることができます。たとえば、フォームの itil ビューに対してのみ UI ポリシーを定義できます。これを行うには、[ビュー] フィールドを使用します。

      ビュー [詳細ビュー] UI ポリシーが適用されるフォームビューを示すオプション。このフィールドは、[グローバル] が選択されていない場合にのみ表示されます。[グローバル] が選択されておらず、[ビュー] フィールドが空白のままの場合、スクリプトはデフォルトのビューに適用されます。フォームビューの詳細については、「ビュー管理」を参照してください。
      False の場合は取り消し [詳細ビュー] UI ポリシーの条件が false と評価された場合に UI ポリシーアクションを取り消す必要があることを指定するためのオプション。言い換えると、条件が true の場合は指定のアクションが実行され、false の場合はアクションが取り消されます。
      ロード時 [詳細ビュー] フォームの変更時に UI ポリシーの動作を OnLoad で実行するように指定するためのオプション。
      UI ポリシーの [ロード] チェックボックスをオンまたはオフにして、条件が満たされている場合にフォームがロードされるたびに UI ポリシーを実行するかどうかを制御できます。この例では、アドミニストレーターは、ユーザーが顧客に説明を提供しない限り、インシデントが [ユーザー情報待ち] 状態にならないようにします。アドミニストレーターは、次の設定で UI ポリシーを作成します。
      • [適用時期] セクションで、条件 [ステータス] [次の値に等しい ] [ユーザー情報待ち] を追加し、[ロード時] チェックボックスをオフにします。この条件は、ステータスが [ユーザー情報待ち] に変更された場合にのみ UI ポリシーが適用されることを意味します。
      • [UI ポリシーアクション] 関連リストで、条件が満たされたときに [追加コメント] フィールドを必須にするレコードを作成します。
      継承 [詳細ビュー] 拡張テーブルがこの UI ポリシーを継承するかどうかを指定するオプション。

      子テーブルに親テーブルから継承された UI ポリシーがある場合、子テーブルの UI ポリシーが常に最初に実行されます。このイベントは、UI ポリシーの 順序に関係なく true です。

      次の例を考えてみましょう。
      • 子テーブルには、条件が満たされたときに [緊急度] フィールドを表示する、[順番]500 の UI ポリシーがあります。
      • その親テーブルには、[緊急度] フィールドを非表示にする同じ条件の UI ポリシーがあります。親テーブルの UI ポリシーの [順番] 値は 100です。
      • 親テーブルの [順番] フィールドの値の方が小さい値ですが、最初に子 UI ポリシーが実行され、次に親 UI ポリシーが実行されます。条件が満たされると、[緊急度] フィールドは非表示になります。
      スクリプト
      スクリプトの実行 [詳細ビュー] true および false の両条件で高度な動作をスクリプト化できるかどうかを指定するオプション。
      True の場合実行 [詳細ビュー] UI ポリシーの条件が満たされたときに実行されるスクリプト。
      • このフィールドは、[スクリプトの実行] が選択されている場合にのみ使用できます。
      • この機能は、スコープ外またはグローバルスコープでは使用できません。
      False の場合実行 [詳細ビュー] UI ポリシーの条件が満たされておらず、[False の場合取り消し] オプションが選択されている場合に実行されるスクリプト。
      • このフィールドは、[スクリプトの実行] が選択されている場合にのみ使用できます。
      • この機能は、スコープ外またはグローバルスコープでは使用できません。
      その他のフィールド
      UI タイプでスクリプトを実行 この UI ポリシーの UI タイプ:デスクトップ、モバイル/サービスポータル、またはその両方。
      関連リスト:UI ポリシーアクション
      テーブル [読み取り専用] UI ポリシーアクションが適用されるフィールド。
      フィールド名 true の場合に UI ポリシーがアクションを実行する対象となる、選択したテーブルのフィールド。
      注:
      指定したフィールドがフォーム上に見つからない場合、UI ポリシーは同じ名前の変数に対してアクションを実行します。
      必須 UI ポリシーがフィールドの必須状態に与える影響を指定するための選択リスト。選択肢は次のとおりです。
      • 放置する
      • True
      • False
      表示 UI ポリシーがフィールドの表示状態に与える影響を指定するための選択リスト。選択肢は次のとおりです。
      • 放置する
      • True
      • False
      読み込み専用 UI ポリシーがフィールドの読み込み専用状態に与える影響を指定するための選択リスト。選択肢は次のとおりです。
      • 放置する
      • True
      • False
      関連リンク
      デフォルトビューまたは詳細ビュー フォームビューをデフォルトビューまたは詳細ビューに変更します。フィールドはビューに基づいて変更されます。
    5. [送信] をクリックします。

    例:UI ポリシーの作成

    ステータスが [解決済み] に変更されたときにインシデントフォームにコントロールを実装するための UI ポリシーを作成します。

    始める前に

    必要なロール:ui_policy_admin

    このタスクについて

    この例では、次のコントロールを実装する方法を示します。
    • [クローズメモ] フィールドを必須にします。
    • [オープン者] フィールドを非表示にします。
    • [優先度][重大度]、および [緊急度] フィールドを読み取り専用にします。
    • アラートメッセージを表示するクライアントスクリプトを実行します。

    手順

    1. 移動先 すべて > システム UI > UI ポリシー.
    2. [New] をクリックします。
    3. 次の情報を入力します。
      表 : 2. 新しい UI ポリシー
      名前 入力
      テーブル インシデント
      条件 [インシデント状況] [次の値に等しい] [解決済み]
      False の場合取り消し このチェックボックスをオンにします。インシデント状況が [解決済み] ではない場合、UI ポリシーは取り消されます。
      ロード時 フォームがロードされたとき、または条件が変更されたときにアクションを実行するには、このチェックボックスをオンにします。
    4. フォームヘッダーを右クリックし、コンテキストメニューから [保存] を選択します。
      [UI ポリシー アクション] 関連リストが表示されます。
    5. 関連リストで、[新規] をクリックします。
    6. 次の情報を入力します。
      表 : 3. 新しい UI ポリシーアクション
      名前 入力
      フィールド名 クローズメモ。この UI アクションにより、[クローズメモ] フィールドが必須になります。
      必須 true
      表示 放置する
      読み込み専用 放置する
    7. [送信] をクリックします。
    8. このプロセスを繰り返して、[オープン者] フィールドを非表示にし、[優先度][重大度]、および [緊急度] フィールドを読み取り専用にする UI ポリシーアクションを作成します。

    UI ポリシーのクライアントスクリプト

    UI ポリシー用に作成したスクリプトはすべてクライアント側で実行されます。

    UI ポリシーフォームのさまざまなオプションを使用して、UI ポリシーをいつどのように適用するかをコントロールできます。これらのオプションには、クライアントスクリプト、OnLoad 実行、およびビュー固有の UI ポリシーが含まれます。アドミニストレーターは、UI ポリシーフォームを使用して、UI ポリシー条件が満たされた場合 (True の場合実行) または満たされていない場合 (False の場合実行) に onChange を実行するクライアントスクリプトを作成できます。これらのスクリプティングフィールドを UI ポリシーフォームの [スクリプト] セクションに表示するには、[スクリプトの実行] チェックボックスをオンにします。

    たとえば、インシデントの [ステータス] フィールドが [解決済み] に変更されたときにユーザーにアラートを表示するには、[True の場合実行] フィールドに次のスクリプトを作成します。
    function onCondition(){
    alert('You changed the "Incident state" to Resolved. Please enter your comments in the "Close notes" field.');
    }

    サービスカタログ UI ポリシーは、カタログアイテムフォームの動作を制御します。サービスカタログ UI ポリシーは、カタログアイテムまたは変数セットに適用することができます。サービスカタログアイテムの UI ポリシーを使用する方法の詳細については、「サービスカタログ UI ポリシー」を参照してください。