参照修飾子
-
- 更新日2024年2月1日
- 所要時間:11 分
- Washington DC
- "プラットフォームフィールド管理"
参照修飾子を使用して、参照フィールドに返されるデータをフィルタリングします。
参照フィールドには、別のテーブルのフィールドへのリンク (参照) が格納され、参照フィールドを含むフォームで参照テーブルのレコード/フィールドを使用できるようになります。
たとえば、インシデントテーブルの [アサイン先] フィールドは、ユーザー [sys_user] テーブルへの参照です。デフォルトでは、参照されているフィールドのすべての値が、参照ルックアップに表示され、参照フィールドから直接アクセスできます (先行入力)。前の例を拡張して、参照修飾子が定義されていない場合、ユーザーテーブルのすべてのユーザーが参照ルックアップに表示されます。非アクティブなユーザーを含みます。場合によっては、これが必要な機能になることもあります。ただし、利用可能な値のサブセットのみが必要な場合もあります。この場合、参照修飾子を作成して使用可能なデータをフィルタリングし、必要な値のみが返されてフォームで使用できるようにします。アクティブユーザーまたは特定のロールを持つユーザーのみなどです。参照修飾子は堅牢であり、単純な AND/OR 条件、インライン JavaScript、または複雑なスクリプトインクルードで構成できます。
参照修飾子は、次のいずれかの方法で定義できます。
簡易参照修飾子
簡易参照修飾子では、AND/OR ステートメント (条件) を使用して単純なフィルターを作成します。会社がアクティブか、ユーザーが特定のロールを持っているか、または発信者が特定のタイムゾーンにいるかなどの条件でフィルタリングする場合は、簡易参照修飾子を使用します。簡易参照修飾子には、最大 13 の参照修飾子条件を設定できます。条件ビルダーの使用方法の詳細については、「条件ビルダー」を参照してください。

動的参照修飾子
動的参照修飾子を使用すると、動的フィルターの作成オプションを使用して参照フィールドに対してクエリを実行し、返されたデータセットをフィルタリングできます。動的フィルターオプションは、エンコードされたクエリ文字列、JavaScript、またはスクリプトインクルードを含むことができる保存されたフィルターであり、複数の動的参照修飾子で使用できます。動的フィルターオプションに加えられた変更は、同じ動的フィルターオプションを使用するすべての参照修飾子に自動的に適用されます。複数のフォームで同じフィルターを使用する場合、または「コードに精通していない」実装者にフィルター機能を提供する場合に、このタイプの参照修飾子を使用します。
ベースインスタンスは、いくつかの OOB 動的フィルターオプションを提供します。ニーズを満たす動的フィルターオプションが存在しない場合は、要件に固有の新しい動的フィルターオプションを作成できます。OOB 動的フィルターオプションの例として、コンピューターフォームなどの構成アイテムフォームの [モデル ID] フィールドの参照修飾子があります。参照修飾子は、CI モデル修飾子動的フィルターオプションを呼び出します。これにより、ModelAndCategoryFilters スクリプトインクルードが呼び出されます。このスクリプトインクルードは、CI のクラスに基づいてデータセットをフィルタリングします。モデル ID のオプションは、現在の CI と同じクラスに属するオプションのみです。たとえば、コンピューターフォームの [モデル ID] フィールドで使用できるのは、Computer クラスに属する CI のみです。

詳細参照修飾子
vendor = true
があります。この文字列の入力は、簡易参照修飾子の例に示されている条件ビルダーの使用と同じです。有効なエンコードされたクエリ文字列の構文の詳細と例については、「エンコードされたクエリ文字列」を参照してください。
javascript:new myScriptInclude().my_refqual()
です。このコードは、スクリプトインクルード myScriptInclude() で関数 my_refqual() を呼び出します。この関数は、参照フィールドで使用可能なオプションをフィルタリングできるクエリ文字列を返す必要があります。javascript:'u_active=true^' + "u_hr_service="+current.hr_service
のようなエンコードされた JavaScript フィルターを参照修飾子で使用することもできます。
関連リストと参照修飾子
参照修飾子での Javascript の current 構文の使用
current
は、アクティブな (現在の) レコードのフィールドとフィールド値を含む JavaScript オブジェクトです。フォームの場合、これはフォームに表示される (ロードされる) レコードです。詳細および動的参照修飾子内では、JavaScript current
オブジェクトを使用して、javascript:"company=" + current.company
などのフィルターを定義できます。
この JavaScript は、参照修飾子内で、現在のレコードの会社フィールド値と等しい参照テーブルからのレコードのみを返します。したがって、[会社] フィールドに表示される値が Acme の場合、JavaScript は、company 値が Acme に等しい (company = "Acme") すべての参照フィールドレコードを返します。その後、company 値が「ViewRite」であるレコードを起動すると、JavaScript は company = "ViewRite" に解決されます。
現在ロードされているフォーム (テーブル) 内のすべてのフィールドは、 current
オブジェクトで使用できます。ドット連結を使用して、参照テーブルを含むテーブルの値にアクセスします。たとえば、インシデントフォームでは、[アサイン先] フィールドは、ユーザーテーブルを参照します。ユーザーのメールアドレスにアクセスするには、次の構文を使用します:javascript:"emailAddress=" + current.assigned_to.email
。