---
sourceDocument: Xanadu Now Platform の管理
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ja-JP/xanadu/platform-administration

 Release :

    - xanadu

ft:locale :

    - ja-JP

ft:publication_title :

    - Xanadu Now Platform の管理

ft:clusterId :

    - platadm

bundleId :

    - platadm

workflow :

    - Platform


---

# 参照フィールドのオートコンプリート

# 参照フィールドのオートコンプリート {#ariaid-title1}

* リリースバージョン: Xanadu
* 
* 更新日 2024年08月01日
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 所要時間：12分

デフォルトでは、ユーザーがフィールドに入力すると、参照フィールドが自動的に入力されます。  
アドミニストレーターは、追加のオートコンプリートオプションを構成できます。オートコンプリートでオプションを表示するには、ユーザーが参照先テーブルに対するテーブルレベルの読み取り権限を持っている必要があります。 図 : 1. オートコンプリート

## 参照フィールドのオートコンプリートのための辞書属性 {#c_AutoCompleteForReferenceFields__section_ckv_yxt_w1b}

参照フィールドに固有で、オートコンプリートの動作を決定する辞書属性があります。  
{#c_AutoCompleteForReferenceFields__table_r5y_s13_rt__entry__2}

| 属性 | 説明 |
|-|-|
| ref_auto_completer | オートコンプリートの選択肢のドロップダウンリストを作成する JavaScript クラス (クライアント側) の名前を指定します。有効なクラス値は次のとおりです。 * AJAXReferenceCompleter：一致するオートコンプリートの選択肢をドロップダウン選択リストとして表示します。このリストには、参照テーブルの表示値列のみが表示されます。他のオートコンプリートのクラスが指定されていない場合、参照フィールドはこのクラスを自動的に使用します。 * AJAXTableCompleter：一致するオートコンプリートの選択肢をテーブルの行として表示します。このテーブルには、参照テーブルの表示値列と ref_ac_columns 属性にリストされている列が表示されます。 * AJAXReferenceChoice：一致するオートコンプリートの選択肢をドロップダウン選択リストとして表示します。このリストには、参照テーブルの表示値列のみが表示されます。さらに、このリストには一致する選択肢が最大 25 個しか表示されません。オートコンプリートの選択肢が 25 を超える場合、参照フィールドは代わりに AJAXTableCompleter クラスの選択肢を表示します。 {#c_AutoCompleteForReferenceFields__ul_nqh_zyl_44} |
| ref_ac_columns | 表示する参照テーブル列のリストを指定します。列名はセミコロンで区切ります。たとえば、ref_ac_columns=user_name;email;sys_created_on では、オートコンプリートで、user_name、email、および sys_created_on 列のテキストと一致させることができます。 |
| ref_ac_order_by | オートコンプリートの選択肢をソートする参照テーブル列を指定します。たとえば、ref_ac_order_by=name では、名前別にオートコンプリートの選択肢をアルファベット順にソートします。 |
[表 : 1. 参照フィールドのオートコンプリート辞書属性]

{#c_AutoCompleteForReferenceFields__table_r5y_s13_rt}

## オートコンプリート UI 機能 {#c_AutoCompleteForReferenceFields__section_qwm_byt_w1b}

AJAX テーブルコンプリータークラスでは、UI がいくつか改善されています。  
* テーブルコンプリーターには、オートコンプリートクエリで見つかったレコードの数が常に表示されます。
* テーブルコンプリーターは、背景とテキストの色を変更することで、選択した行全体をハイライト表示します。
* テーブルコンプリーターは、すべての列の値をリストします。
  * 値が最初に列に表示されるとき、テーブルコンプリーターはその値を黒のテキストで表示します。
  * テーブルコンプリーターは、後続の重複する値をグレーのテキストで表示します。以前は、テーブルコンプリーターは重複する値を含む列に空のセルを表示していました。
  {#c_AutoCompleteForReferenceFields__ul_xqv_d1m_44}

{#c_AutoCompleteForReferenceFields__ul_and_11m_44} 図 : 2. 選択した行のハイライト

これらの改善点を使用するには、ref_auto_completer=AJAXTableCompleter 辞書属性を設定します。

## テーブルへのすべての参照のオートコンプリート属性を定義する {#ariaid-title2}

フィールドが同じ属性の独自の値を持っていない限り、フィールドは参照テーブルのオートコンプリート属性を継承して使用します。テーブルへの参照の属性を定義できます。これは、そのテーブルを参照するすべてのフォームに影響します。

### 始める前に

必要なロール：personalize_dictionary

### このタスクについて

フィールドレベルの属性は、同じ名前のテーブルレベルの属性を上書きします。フィールドが参照テーブルに定義されているものとは異なる参照属性を使用する場合、フィールドは両方の属性のセットを使用します。  
次の手順を使用して、独自のオートコンプリート属性をまだ持っていない、テーブル内のすべてのフィールドのオートコンプリート属性を定義します。この例では、ユーザー \[sys_user\] テーブルへのすべての参照のオートコンプリート属性を定義する方法について説明します。  
注:  
フィールドのオートコンプリート属性値は、テーブルのオートコンプリート属性値よりも優先されます。これは、オートコンプリート属性の既存のフィールドレベルの値が、アドミニストレーターが参照テーブルからオートコンプリート属性に適用する値よりも優先されることを意味します。

### 手順

1. 次のようなターゲットテーブルのリストに移動します。 すべてユーザー管理ユーザー.
2. リストのバージョンに合わせて適切なアクションを実行します。

   | バージョン | アクション |
   | リスト v2 | 列ヘッダーを右クリックし、 Configure (構成)ディクショナリ. |
   | リスト v3 | リストタイトルメニューを開き、\[設定\]、\[辞書\] の順にクリックします。 |
   |-|-|

   {#t_DefAutoComplAttribsAllRefsToATbl__choicetable_vrh_trd_sv}
3. 列名が表示されていない行を選択します。  
   この行は通常、リストの最初の行です。たとえば、最初の sys_user リンクを選択します。
4. \[関連リンク\] の \[詳細ビュー\] をクリックします。
5. \[属性\] フィールドに、テーブル内のすべてのフィールドに適用するオートコンプリート属性のカンマ区切りリストを入力します。  
   たとえば、sys_user テーブルへのすべての参照を含むユーザーの部門を表示するには、次のように入力します。

       ref_auto_completer=AJAXTableCompleter,ref_ac_columns=department,ref_ac_order_by=department

6. \[更新\] をクリックします。

### 次のタスク

新しいオートコンプリート属性をテストするには、オープンインシデントなど、ユーザー \[sys_user\] テーブルを参照するフォームを開きます。\[アサイン先\] フィールドに 1 つの文字を入力します。オートコンプリートオプションに、ユーザー名と部門の両方が含まれるようになりました。  

## 表示値列を削除する {#ariaid-title3}

ref_ac_display_value 属性を false に設定することで、参照フィールドから表示値列を削除できます。

### 始める前に

必要なロール：personalize_dictionary

### このタスクについて

これにより、参照フィールドの表示値列が削除され、ref_ac_columns 属性にリストされている列のみが表示されます。この機能を使用するには、 AJAXTableCompleter クラスと ref_ac_columns、 ref_ac_columns_search、および ref_ac_display_value 属性を使用する必要があります。  
注:  
参照フィールドが ui_reference UI マクロの結果である場合、オートコンプリートを追加の列のテキストと一致させることができません。つまり、ユーザーの代理操作リストなどのセレクターに対するオートコンプリートアクションでは、テキストのみを表示値と一致させることができます。

この例では、ユーザー \[sys_user\] テーブルへの参照から表示値列を削除し、first_name 列と last_name 列への参照に置き換える方法について説明します。

### 手順

1. 次のようなターゲットテーブルのリストに移動します。 すべてユーザー管理ユーザー.
2. リストのバージョンに合わせて適切なアクションを実行します。

   | バージョン | アクション |
   | リスト v2 | 列ヘッダーを右クリックし、 Configure (構成)ディクショナリ. |
   | リスト v3 | リストタイトルメニューを開き、\[設定\]、\[辞書\] の順にクリックします。 |
   |-|-|

   {#t_RemoveTheDisplayValueColumn__choicetable_vrh_trd_sv}
3. 列名が表示されていない行を選択します。  
   この行は通常、リストの最初の行です。たとえば、最初の sys_user リンクを選択します。
4. \[関連リンク\] の \[詳細ビュー\] をクリックします。
5. \[属性\] フィールドに、ref_auto_completer、ref_ac_columns、ref_ac_columns_search 、および ref_ac_display_value 属性を追加します。  
   たとえば、表示値列を非表示にしてユーザーの姓と名のみを表示するには、次のように入力します。

       ref_auto_completer=AJAXTableCompleter,ref_ac_columns=first_name;last_name,ref_ac_columns_search=true,ref_ac_display_value=false

6. \[更新\] をクリックします。

### 次のタスク

新しいオートコンプリート属性をテストするには、オープンインシデントなど、ユーザー \[sys_user\] テーブルを参照するフォームを開きます。\[アサイン先\] フィールドに 1 つの文字を入力します。オートコンプリートオプションにより、表示値列 (user_name) が非表示になり、first_name 列と last_name 列のみが表示されるようになりました。

## オートコンプリートのクエリの改善 {#ariaid-title4}

デフォルトでは、すべての参照フィールドは、\[次で始まる\] クエリを使用して、参照テーブル内の一致するテキストを検索します。これにより、ユーザーが参照フィールドを検索するたびにオートコンプリートが非効率的な \[次の値を含む\] クエリを実行することを防ぎます。すべての参照フィールドに \[次で始まる\] クエリを使用するように要求できます。

### 始める前に

必要なロール：admin

### このタスクについて

次の例は、\[次の値を含む\] クエリを示しています。文字「d」は、ユーザーの姓または名のどの場所に表示されてもかまわないことに注意してください。  

この手順では、常に starts with クエリを使用するように glide.ui.ref_ac.startswith システムプロパティを変更する方法について説明します。

### 手順

1. ナビゲーションフィルターで、「<kbd class="ph userinput">sys_properties.list</kbd>」と入力し、Enter キーを押します。
2. glide.ui.ref_ac.startswith プロパティを選択します。  
   プロパティを検索するには、\[名前\] 列の \[Go to\] 検索フィルターに「<kbd class="ph userinput">* startswith</kbd>」と入力します。
3. \[値\] フィールドで、false を true に置き換えます。  
   注:  
   glide.ui.ref_ac.startswith システムプロパティを true に設定すると、ユーザーレベルとシステムレベルの両方の設定で既存の autocomplete.contains 設定が上書きされます。このプロパティは、初期設定に関係なく、すべてのユーザーのオートコンプリートクエリメソッドを変更します。
4. \[更新\] をクリックします。
5. 次の例に示すように、参照フィールドのあるレコードを開き、そこに文字を入力して、変更をテストします。  
{#t_ImproveAutoCompleteQueries__steps_vsx_wtx_rt}

## 任意の参照フィールドのテキストと一致するようにオートコンプリートを構成する {#ariaid-title5}

デフォルトでは、オートコンプリートは表示値列のテキストにのみ一致します。参照フィールドが表示する追加の列のテキストと一致するように参照フィールドを構成できます。

### 始める前に

必要なロール：personalize_dictionary

### このタスクについて

ref_ac_columns_search 属性を追加して、ref_ac_columns 属性に一覧表示されている任意の列のテキストと一致するオートコンプリートを有効にすることができます。ref_ac_columns_search 属性を true に設定して、すべての参照フィールド列のテキストと一致させます。デフォルトでは (またはこの属性が false の場合)、オートコンプリートは表示値列のテキストにのみ一致します。

### 手順

1. 参照フィールドのラベルを右クリックします。
2. 選択リストから \[ディクショナリを構成\] を選択します。
3. \[関連リンク\] の \[詳細ビュー\] をクリックします。
4. \[属性\] フィールドに、目的のオートコンプリート属性を追加します。  
   たとえば、次の属性は、発信者リストに部門フィールドを追加し、発信者を部門別にソートします。

       ref_auto_completer=AJAXTableCompleter,ref_ac_columns=department,ref_ac_order_by=department,ref_ac_columns_search=true 

   図 : 3. オートコンプリート属性
5. \[更新\] をクリックします。

### 例

次の例では、構成アイテム \[cmdb_ci\] テーブルのオートコンプリート選択肢からの CI クラス名を \[構成アイテム\] フィールドに表示するように設定する方法について説明します。

    ref_auto_completer=AJAXTableCompleter ,ref_ac_columns =sys_class_name ,ref_ac_order_by =sys_class_name ,ref_contributions =task_show_ci_map ;ci_show_incidents

注:  
ref_contributions 属性は、参照フィールドの横に表示されるアイコンをコントロールします。

## \[次の値を含む\] オートコンプリート検索を有効にする {#ariaid-title6}

デフォルトでは、参照のオートコンプリートは \[次で始まる\] 検索を使用します。ユーザー設定を作成して、\[次の値を含む\] 検索を実装できます。

### 始める前に

必要なロール：admin

### 手順

1. glide.ui.ref_ac.startswith システムプロパティを無効にします。  
   詳細については、「[オートコンプリートのクエリの改善](https://servicenow-prod.fluidtopics.net/SG~o1x2ZExta7mxEf1zUgQ#t_ImproveAutoCompleteQueries "デフォルトでは、すべての参照フィールドは、[次で始まる] クエリを使用して、参照テーブル内の一致するテキストを検索します。これにより、ユーザーが参照フィールドを検索するたびにオートコンプリートが非効率的な [次の値を含む] クエリを実行することを防ぎます。すべての参照フィールドに [次で始まる] クエリを使用するように要求できます。")」を参照してください。  
   注:  
   glide.ui.ref_ac.startswith システムプロパティを true に設定すると、ユーザーレベルとシステムレベルの両方の設定で既存の「オートコンプリートの \[次の値を含む\]」設定が上書きされます。このプロパティは、初期設定に関係なく、すべてのユーザーのオートコンプリートクエリメソッドを変更します。
2. 移動先 ユーザー管理ユーザー設定.
3. 初期設定 "'\<referenced table\>.autocomplete.contains"' を選択します。
4. \[値\] フィールドを true に設定します。  
5. \[更新\] をクリックします。
{#t_ContainsAutoCompleteSearch__steps_ihx_2lm_44}

### 次のタスク

ログアウトしてから再度ログインすると、更新された検索が表示されます。

## 参照オートコンプリートのワイルドカード {#ariaid-title7}

ワイルドカード検索では、オートコンプリート機能が使用されます。

参照フィールドではワイルドカード検索にアスタリスクを使用します。  
図 : 4. 1 つのアスタリスクによるワイルドカード検索 ![]()

アスタリスクが 2 つ入力されている場合、利用可能なレコードリストがオートコンプリート提案に表示されます。  
図 : 5. 2 つのアスタリスクによるワイルドカード検索
**関連概念**   

* [ワイルドカード文字によりパターンやバリエーションの検索が可能](https://servicenow-prod.fluidtopics.net/AX6gOL4DrmF0bWn0w4p2xQ "検索結果を展開して、スペース以外の文字と一致させます。Zing では、単一文字と複数文字の両方のワイルドカードがサポートされています。")

