定義済みの関連リストを作成する

  • リリースバージョン: Xanadu
  • 更新日 2024年08月01日
  • 所要時間:3分
  • デフォルトの関連リストをフォームに追加して、すべてのユーザーがレコードを表示するときに表示できるようにすることができます。

    始める前に

    必要なロール:admin

    このタスクについて

    たとえば、問題レコードの一番下に関連インシデントのリストを含めたり、グループレコードの一番下にメンバーのリストを含めたりすることができます。この機能は、参照フィールドまたは多対多のテーブル関係に依存します。2 つのテーブルがシステムディクショナリを介して関連付けられている場合、一方のテーブルを他方のテーブルの関連リストとして表示できます。

    定義された関連リストにより、任意のテーブル間の関係を関連リストとして表すことができます。論理関係を持つことができる任意の 2 つのテーブルは、関連リストを介して親子ペアとして表示できます。以下にいくつかの例を示します。
    • インシデントレコードで、同じ発信者がオープンしたすべてのインシデントを表示します。
    • ユーザーレコードで、ユーザーが行った最新の 20 件のトランザクションを表示します。
    • インシデントレコードで、報告された CI でオープンされたすべての問題を表示します。

    これらの関係は、参照フィールドと多対多の関係によってシステム辞書で通常定義される関係を超えています。

    すべての関連リストには関係レコードが必要です。関係を作成する前に、必要な情報を既に提供している既存の関係レコードがないことを確認します。次の手順を使用して、関係レコードを作成します。

    手順

    1. クリック システム定義 > 関係性.
    2. [新規] をクリックします。
    3. 関係レコードフィールドを指定します。
      表 : 1. 関係レコードフィールド
      Field (フィールド) 説明
      名前 関連リストの名前を入力します。フォーム構成ページでは、使用可能なリストのリストにこの名前が表示されます。
      詳細 [ テーブルに適用 ] フィールドと [テーブルからのクエリー] フィールドの代わりに JavaScript を使用するには、このチェックボックスをオンにします。
      テーブルに適用 関連リストが表示されるテーブルを選択します。

      たとえば、ユーザーフォームに関連リストを追加するには、ユーザー [sys_user] テーブルを選択します。

      このフィールドは、詳細関係レコードでは非表示になります。

      テーブルからのクエリ この関連リストがデータを取得するテーブルを選択します。

      たとえば、関連タスクレコードを関連リストに追加するには、タスク [task] テーブルを選択します。

      このフィールドは、詳細関係レコードでは非表示になります。

      適用先 ユーザーが目的のテーブルでフォームを開いたときに 回答 変数を true に設定するスクリプトを入力します。このフィールドは、[ 詳細 ] チェックボックスが選択されている場合にのみ表示されます。
      クエリ元 関連リストがデータを取得するテーブルの名前に 回答 変数を設定するスクリプトを入力します。このフィールドは、[ 詳細 ] チェックボックスが選択されている場合にのみ表示されます。
      クエリ条件 スクリプトを入力して、含めるレコードを指定します。

      例:

      current.addQuery('opened_by', parent.sys_id);
      • current オブジェクトは、スクリプトがトリガーされる現在のレコードを指定します。
      • addQuery メソッドは、指定した条件を満たすレコードを返すフィルターを追加します。
      • opened_by変数は、[テーブルからのクエリ] からテーブルでクエリを実行しているフィールド名です。
      • parent.sys_id 変数は、[適用先] テーブルと表示されているレコードの ID を参照します。
      コールバックの挿入 挿入アクションが成功した後に実行するスクリプトを入力します。このフィールドは、[ 詳細 ] チェックボックスが選択されている場合にのみ表示されます。
    4. [送信] をクリックします。