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

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

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

    エンコードされたクエリ文字列を作成するには、リストクエリを生成し、 それをリストフィルターからコピーします。文字列を手動で作成する方法もあるため、この方法をお勧めします。

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

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

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

    category=network
    参照フィールドの参照 別のテーブルの参照フィールドを参照するクエリ文字列を作成するには、field_in_referenced_table=value という構文を使用します。たとえば、[インシデント] フォームの [アサイン先 ] 参照フィールドで itil ロールを持つユーザーを返すには、次のようにします。
    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

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

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

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

    unit_name=day^ORDERBYvalue

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

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

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

    ^RLQUERYincident.problem_id,>=1^priority=1^ENDRLQUERY
    注:
    関連リストクエリは、[システムのプロパティ ] リスト v3 で有効にする必要があります。[ Allow related list query conditions to be added through the filter ] チェックボックスをオンにして有効にします。

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

    検索用語クエリを含める

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

    123TEXTQUERY321=email
    テキストインデックスグループクエリを含める

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

    123TEXTINDEXGROUP321=portal_index_group