フィールド監視

  • リリースバージョン: Washingtondc
  • 更新日 2024年02月01日
  • 読む6読むのに数分
  • フィールド監視ツールは、選択したフォームフィールドで実行されるすべてのアクションを追跡して表示します。

    注:
    フィールド監視は、UtahNext Experience ではサポートされていません。Next Experience でサポートされている機能の詳細については、「Next Experience の有効化に関する考慮事項」を参照してください。

    管理者は、フィールド監視を使用して、ビジネスルールの発動やデータポリシーの適用などのイベントが発生したときに、フィールドで何が起こるか、フィールドの値がどのように変化するかを把握できます。管理者は、非管理者ユーザーの代理操作を行い、それらのユーザーがインスタンスを変更した場合に発生する事柄をデバッグすることもできます。一度に監視できるフィールドは 1 つだけです。代理操作ロールを持つ非管理者ユーザーは、フィールド監視機能にアクセスできます。

    フィールド監視の仕組み

    フィールド監視ツールは、フィールドで次のいずれかのイベントが発生したときにアクティビティを記録します。
    • デフォルト値がフィールドに設定された。
    • ACL または辞書設定により、フィールドのユーザーアクセス権が変更された。
    • データポリシーによって、値の設定が防がれた。
    • フィールド値の参照修飾子クエリが実行された。
    • UI ポリシーによって、フィールドが読み取り専用、表示、必須、または編集可能に変更された。
    • 別のフィールド内の依存値によって、フィールドの選択肢が制限された。
    • フィールドの値が、以下に基づいて設定または変更された。
      • アサインルール
      • ワークフローエンジンなどのエンジンからのアクション
      • ビジネスルール
      • ユーザーエントリー
      • クライアントスクリプト
      • UI アクション
    注:
    フィールド監視はフォームフィールドでのみ機能します。リストフィールドでは使用できません。また、フィールド監視は、パスワードで保護されたフィールドまたは暗号化されたフィールドでは使用できません。フィールド監視は UI フレーム内でのみ使用できます。新しいタブなど、UI フレームの外部でレコードを開いた場合、フィールドを監視するオプションはコンテキストメニューに表示されません。

    フィールド監視の使用

    フィールド監視を使用して、フィールドレベルのデバッグ情報にアクセスします。

    始める前に

    必要なロール:なし

    手順

    1. フィールドレベルのデバッグ情報を表示するフォームに移動します。
    2. フォーム上の任意のフィールドラベルを右クリックしてフィールド監視を有効にし、[監視 - <field name>] を選択します。

      フィールドラベルの横にデバッグアイコン (デバッグアイコン) が表示されます。この時点から、フィールド監視は選択したフィールドで実行されるすべてのアクションを記録します。たとえば、[優先度] フィールドを監視している場合、優先度が [中] から [低] に変更され、レコードが更新されると、フィールド監視はその変更に関する情報を表示します。

    3. デバッグアイコンをクリックして、フィールド監視ログを表示します。
      画面の下部に新しいペインが開き、[フィールド監視] タブが表示されます。JavaScript ログ記録と JavaScript デバッガー用のタブも表示されます。
    4. 必要に応じて [フィールド監視] タブをクリックします。
    5. フィールドの監視を停止するには、フィールドを右クリックし、[監視を解除 - <field name>] を選択します。
      別のフィールドを監視するには、そのフィールドを右クリックして、[監視 - <field name>] を選択します。
    6. [ログを消去] ボタン ([ログを消去] ボタン) をクリックして、フィールド監視ログを消去します。
    7. スプリッターバーを上下にドラッグして、フィールド監視ペインのサイズを変更します。
      スプリッターバーを画面の下部にドラッグすると、フィールド監視ペインが閉じます。デバッグアイコンを再度クリックして、ペインを再度開きます。

    [フィールド監視] タブの詳細

    フィールド監視には、フィールド情報と構成オプションが表示されます。

    [フィールド監視] タブの左側には、監視対象フィールドに関する次の情報が表示されます。
    • テーブル:フィールドが属するテーブル。
    • 要素:フィールドラベル。
    • タイプ:フィールドに格納されるデータのタイプ。
    • 依存:現在のフィールドが依存するフィールド。
    • 参照:フィールドの値の発生元のテーブル (該当する場合)。
    • 参照修飾子:フィールドのデータを制限する可能性がある参照修飾子。
    • 属性:そのフィールドのディクショナリーエントリーで指定されているフィールドの属性。

    [フィールド監視] タブの右側で、選択したフィールドについて表示するアクティビティ情報のタイプを選択します。不要な情報タイプのチェックボックスはオフにしてください。

    非表示のフィールドの監視

    管理者は、非表示のフィールドを監視する必要があります。

    手順

    1. 辞書を使用してフィールドの列名を決定します。
    2. 特権を security_admin ロールに昇格させます。
    3. 移動先 システム定義 > スクリプトバックグラウンド.
    4. [スクリプトを実行 (サーバー上で実行される JavaScript)] で、次のコマンドを入力します。
      gs.getSession ( ). setWatchField ( "hidden_field" ) ;

      hidden_field を非表示フィールドの列名に置き換えます。

    5. 欠落しているフィールドを含むフォームに移動します。

      [フィールド監視] タブの出力には、非表示のフィールドに関する情報が含まれています。

    監視対象フィールドの情報の表示

    監視対象フィールドの情報が変更され、レコードが更新されると、[フィールド監視] タブの下部に関連情報が表示されます。

    図 : 1. フィールド監視表示データ
    フィールド監視表示データ
    フィールド監視情報には次のものが含まれます。
    • タイムスタンプ:HH:MM:SS (ミリ秒) 形式を使用した、フィールドが変更された時刻。
      • オレンジ色のテキスト:ACL などのサーバーサイドの変更。
      • 青色のテキスト:クライアントスクリプトなどのクライアントサイドの変更。
    • フィールドを変更したオブジェクトのタイプとその関連名:フィールドで変更されたアイテムのタイプ。たとえば、クライアントスクリプトビジネスルールACL などです。スクリプト、ビジネスルール、またはその他の構成タイプのフィールドの場合、フィールド監視はフィールドを変更したスクリプトまたはビジネスルールがあれば、その名前を表示します。名前をクリックすると、そのアイテムのレコードに直接移動します。
    • 古い値と新しい値:フィールドの古い値と新しい値 (値が変更された場合) レコードの作成時にデフォルトで値がフォームに挿入された場合、フィールド監視はその値を記録しません。
    • 追加情報:フィールドを変更したスクリプトエンジンまたはワークフローの名前などのコールトレース情報。選択を展開するには、プラスアイコンをクリックします。
      • オレンジ色のテキスト:サーバーサイドのアクティビティを示します。
      • 青色のテキスト:クライアントサイドのアクティビティを示します。

    例:インシデントの優先度の監視

    次の例は、[影響度][緊急度] の両方のフィールドが変更された場合に、インシデントフォームの [優先度] フィールドに起きる事柄を示しています。

    インシデントフォームには、優先度を変更する 2 つのクライアントサイドデータルックアップがあります。また、レコードが保存されると、サーバーサイド ACL とデータルックアップエンジンが起動します。最後に、クライアントサイドの UI ポリシーにより、[優先度] フィールドがデフォルト設定の読み取り専用に戻されます。
    表 : 1. インシデントの優先度の監視
    元の値
    • 優先度:1 - 重大
    • 影響:1 - 高
    • 緊急度:1 - 高
    最初の変更
    1. ユーザーが [影響度] の値を [3 - 低] に変更します。
    2. ServiceNow インシデントでデフォルトで使用される [優先度ルックアップ] データルックアップ定義に基づいて、優先度が自動的に [3 - 中] に変更されます。
    注:
    この時点では、レコードは保存されていません。
    2 番目の変更
    1. ユーザーが [緊急度] の値を [2 - 中] に変更します。
    2. 優先度は、同じ [優先度ルックアップ] データルックアップ定義に基づいて、自動的に [4 - 低] に変更されます。
    3. ユーザーは、フォームヘッダーを右クリックし、[保存] を選択してレコードを保存します。
    図 : 2. フィールド監視の例
    注:
    1 から 3 へ、さらに 3 から 4 へと変化する値は、選択リスト内の数値を参照します。