エンコードされたクエリ文字列

  • リリースバージョン: Yokohama
  • 更新日 2025年01月30日
  • 所要時間:5分
  • エンコードされたクエリ文字列は、レコードリストの複雑なフィルターを表します。

    エンコードされたクエリ文字列を使用して、 URL を使用してレコードまたはモジュールに移動するなどの URL パラメーターの一部としてフィルターを含めたり、参照フィールドで選択可能なデータを制限したりする参照 修飾子 として使用します。

    エンコードされたクエリ文字列を作成するには、リストクエリを生成し、 リストフィルターからコピーします。文字列を手動で作成することも代替手段であるため、これが推奨される方法です。

    エンコードされたクエリ文字列を手動で作成するには、関連するテーブルとフィールドの名前と 演算子を知っている必要があります。

    表 : 1. エンコードされたクエリ文字列の例
    Title (役職)
    ブール値または文字列値の参照 ブールフィールドにクエリ文字列を作成するには、field=true または field=false の構文を使用します。たとえば、テーブル内のアクティブなレコードのみを返すには、次のようにします。
    active=true

    特定の文字列値を持つフィールドを使用してクエリ文字列を作成するには、field=value の構文を使用します。たとえば、カテゴリがネットワークであるインシデントレコードを返すには、次のようにします。

    category=network
    参照フィールドの参照 別のテーブルの参照フィールドを参照するクエリ文字列を作成するには、field_in_referenced_table=value の構文を使用します。たとえば、インシデントフォームの [アサイン先 ] 参照フィールドで itil ロールを持つユーザーを返すには、次を使用します。
    Assigned_to.roles=itil
    選択リスト値の参照 選択リストオプションを参照するクエリ文字列を作成するには、ラベルではなく選択リストの値を、選択リスト field=value という構文で使用します。たとえば、ステータスが [インストール済み] で、選択リストの値が 1 の構成アイテム (CI) を返すには、次のようにします。
    install_status=1

    値のオプションを見つけるには、 スクリプティングの選択肢ラベルに関連付ける値 を参照してください。

    複数の条件の使用 AND 演算子で結合された 2 つの条件を使用するには、field1=value1^field2=value2 の構文でカラット ^ 記号を使用します。たとえば、「itil」ロールを持つすべてのアクティブユーザーを返すには、次のようにします。
    active=true^roles=itil

    OR 演算子で結合された 2 つの条件を使用するには、次の構文で OR 付きのカラット記号を使用します: field1=value1^ORfield1=value2。たとえば、「itil」または「admin」ロールを持つすべてのユーザーを返すには、次のようにします。

    roles=itil^ORroles=admin

    LIKE 演算子による条件を使用するには、構文 fieldLIKEsubstring を使用します。たとえば、文字列「it」を含むロールを持つすべてのユーザーを返すには、次のようにします。

    rolesLIKEit

    IN 演算子で条件を使用するには、fieldINvalue1,value2,value3 の構文を使用します。たとえば、「itil」、「admin」、または「user」のいずれかのロールを持つすべてのユーザーを返すには、次を使用します。

    rolesINitil,admin,user

    1 つの条件が JavaScript 関数である複数の条件を追加するには、javascript:'field=value^' + function() の構文を使用します。この関数は、有効なクエリ文字列を生成するために最初の文字列と連結できる文字列を返す必要があります。たとえば、すべてのアクティブユーザーを返し、getGroupQualifier() 関数の条件を満たすには、次を使用します。

    javascript:'active=true^' + getGroupQualifier()
    値を順番にリストする 特定のフィールドでデータをソートするには、field1=value^ORDERBYfield2 の構文で ORDERBY 条件を使用します。

    たとえば、曜日 [sys_cal_unit] テーブルから曜日を順番に返すには、次のようにします。

    unit_name=day^ORDERBYvalue

    [曜日] テーブルでは、unit_name日、週、または月を指定するフィールドであり、値は 1 (月曜日) から 7 (日曜日) までの各日の数値です。クエリ文字列は、月曜日を表す最小値から日曜日を表す最大値までの順序で曜日のリストを返します。

    注:
    参照修飾子は ORDERBY 条件をサポートしていません。参照修飾子では、標準のリストコントロールを使用して参照ルックアップリストをソートできます。参照フィールドのオートコンプリートリストの順序を指定するには、ref_ac_order_byディクショナリ属性を使用します。
    関連リストクエリのインクルード クエリステートメントの末尾で、関連リスト情報を ^RLQUERY と ^ENDRLQUERY および数量で囲みます。たとえば、少なくとも 1 つの関連インシデントを含む問題を含む問題テーブルに対するクエリでは、次を使用します。
    ^RLQUERYincident.problem_id,>=1^ENDRLQUERY

    関連テーブルに条件を指定することもできます。たとえば、少なくとも 1 つの関連インシデントの優先度が「最重要」であるという条件を含めるには、次を使用します。

    ^RLQUERYincident.problem_id,>=1^priority=1^ENDRLQUERY
    注:
    関連リストクエリは、システムプロパティ リスト v3 で有効にする必要があります。[ フィルターを通して関連リストクエリ条件を追加できるようにする ] チェックボックスをオンにして有効にします。

    リスト v2 を使用するリストの関連リストクエリをビルドできますが、ブレッドクラムの関連リスト条件を削除するまで、フィルター条件を変更できません。

    検索用語クエリを含める

    クエリに検索用語を含めるには、予約変数 123TEXTQUERY321 を使用します。たとえば、「email」検索用語を含む結果を返すには、このエンコードされたクエリ文字列を使用します。

    123TEXTQUERY321=email
    テキストインデックスグループクエリのインクルード

    クエリにテキストインデックスグループを含めるには、予約変数 123TEXTINDEXGROUP321 を使用します。たとえば、テキストインデックスグループ [ts_index_group] テーブルのportal_index_groupテキストインデックスグループ内の結果を返すには、このエンコードされたクエリ文字列を使用します。

    123TEXTINDEXGROUP321=portal_index_group