v_query:スコープ対象、グローバル
v_query API は、リモートテーブルに対して実行されているクエリを表すスクリプト可能オブジェクトに関する情報を取得するメソッドを提供します。
この API では、リモートテーブルプラグイン (com.glide.script.vtable) を有効にする必要があります。 詳細については、「 リモートテーブルとスクリプトを使用した外部データの取得」を参照してください。
リモートテーブル行は、 v_table API を使用して作成されます。
v_query:getCondition(文字列フィールド)
指定されたフィールドのエンコードされたクエリ文字列を取得します。
「 v_table API」も参照してください。
| 名前 | タイプ | 説明 |
|---|---|---|
| フィールド | 文字列 | フィールドの名前 |
| タイプ | 説明 |
|---|---|
| 文字列 | 指定されたフィールドの エンコードされたクエリ文字列 を返します。 |
次の例は、 number=INC0001^active=true のエンコードクエリを使用したフィールドの結果を示しています。
var result = v_query.getCondition("number");
gs.info(result);
出力:
number=INC0001
v_query:getEncodedQuery()
リモートテーブルに対するクエリをエンコードされたクエリ文字列として返します
詳細については、「 エンコードされたクエリ文字列」 を参照してください。
「 v_table API」も参照してください。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| 文字列 | 文字列としてのエンコードされたクエリ。 |
次の例は、「 サードパーティソースから特定のレコードを取得する」の抜粋です。
gs.info(v_query.getEncodedQuery());
出力:
active=true^priority=1
v_query:getParameter(文字列フィールド)
等価クエリ条件のフィールドの値を取得します。
| 名前 | タイプ | 説明 |
|---|---|---|
| フィールド | 文字列 | クエリ対象のフィールドの名前。 |
| タイプ | 説明 |
|---|---|
| 文字列 | クエリ条件のフィールドの値。たとえば、 name=John がエンコードされたクエリーである場合、 getParameter("name") は"John" を返します。 |
次の例は、発信者 ID フィールドの値を取得する方法を示しています。
v_query.getParameter("caller_id");
出力:
12345123451234512345123451234501
v_query:getSysId()
get クエリのsys_id値を返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| 文字列 | GET クエリの値をSys_idします。たとえば、 sys_id=123 の場合、このメソッドは 123 を返します。 |
v_query:getTextSearch()
テキスト検索クエリパラメーターを取得します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| 文字列 | テキスト検索クエリパラメーター ( メールなど)。 |
次の例では、クエリに GOTO123TEXTQUERY321=email などのテキストクエリパラメーターが含まれている場合に、このメソッドは true を返します。
// for query value GOTO123TEXTQUERY321=email
v_query.getTextSearch();
出力:
email
v_query:isGet()
クエリが get クエリーであるか、つまりsys_idによってレコードを取得するクエリーであるかを判断します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| ブーリアン | フラグは、特定のレコードのクエリのクエリ形式が sys_id= であることを示します。 有効な値:
|
次の例では、エンコードされたクエリが sys_id=d1954c744662010bd7e061e67a6776e の場合、 v_query.isGet() メソッドは true を返します。エンコードされたクエリがそれ以外のもの ( Number=INC0000001 など) の場合、 v_query.isGet() メソッドは false を返します。
// Virtual table to query
var row = {
sys_id: "d1954c744662010bd7e061e67a6776e",
number: "INC0000001",
short_description: "New laptop request",
u_balance: 1200.23
};
v_table.addRow(row);
v_query.isGet();
v_query:isTextSearch()
クエリにテキストクエリパラメーターが含まれているかどうかを示します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| ブーリアン | クエリにテキストクエリパラメーターが含まれているかどうかを示すフラグ。 有効な値:
|
次の例では、クエリに GOTO123TEXTQUERY321=email などのテキストクエリパラメーターが含まれている場合に、このメソッドは true を返します。
v_query.isTextSearch();
v_query:setLastErrorMessage(文字列メッセージ)
GlideRecord の最後のエラーメッセージを設定します。
| 名前 | タイプ | 説明 |
|---|---|---|
| message | 文字列 | エラーメッセージ。 |
| タイプ | 説明 |
|---|---|
| なし |
次の例は、エラーメッセージの設定に使用される基本構造を示しています。
(function executeQuery (v_table, v_query) {
try {
// Add code to test for errors during execution
} catch(ex) {
v_query.setLastErrorMessage(ex.message);
}
}) (v_table, v_query);
次の例は、REST API で最後のエラーメッセージを設定する方法を示しています。
(function executeQuery (v_table, v_query) {
try {
// call a REST API
} catch(ex) {
v_query.setLastErrorMessage("Error obtaining results from remote service");
}
}) (v_table, v_query);