---
sourceDocument: オーストラリア API リファレンス
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ja-JP/api-reference

 Release :

    - australia

ft:locale :

    - ja-JP

ft:publication_title :

    - オーストラリア API リファレンス

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# GlideRecord - スコープ対象

# GlideRecord - スコープ対象 {#ariaid-title1}

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

スコープ対象の GlideRecord API は、データベース操作に使用されます。
GlideRecord API は、サーバー側のコードでデータベースとやり取りするための主要な手段です。GlideRecord は、1 つのテーブルのレコードを含むオブジェクトです。API を使用して GlideRecord オブジェクトをインスタンス化し、クエリパラメーター、フィルター、制限、および順序を追加します。

クエリのビルドと実行の詳細については、 [GlideRecord](https://developer.servicenow.com/dev.do#!/learn/courses/utah/app_store_learnv2_scripting_utah_scripting_in_servicenow/app_store_learnv2_scripting_utah_server_side_scripting/app_store_learnv2_scripting_utah_gliderecord) の記事を参照してください。

GlideRecord と同じ機能を実行し、ACL を適用するクラスの詳細については、「[GlideRecordSecure の使用](https://servicenow-prod.fluidtopics.net/EykQEpagJJy6r4~z0xBdIg#p_GlideServerAPIs "ServiceNow は Glide サーバー用の API を提供します。")」を参照してください。

クエリを本番インスタンスに展開する前に、必ず準本番インスタンスでテストしてください。無効なフィールド名を含めるなど、エンコードされたクエリが正しく構築されていないと、無効なクエリが生成されます。無効なクエリが実行されると、クエリ条件の無効な部分が削除され、結果はクエリの有効な部分に基づいており、テーブルのすべてのレコードが返される場合があります。無効なクエリ結果で insert()、update()、deleteRecord()、または deleteMultiple() メソッドを使用すると、データが失われる可能性があります。

glide.invalid_query.returns_no_rows システムプロパティを true に設定すると、無効なエンコードクエリを含むクエリがレコードを返さないようにすることができます。場合によっては、 glide.invalid_query.returns_no_rows が true に設定されていても、クエリは API 結果のレコードを返すことがあります。これは、無効なクエリ用語が WHERE 演算子で使用されているクエリで発生します。このようなクエリでは、WHERE 演算子は無効な用語を無視しますが、クエリ ステートメントの残りの部分を解釈して返します。このシステムプロパティとその機能の詳細については、「 [Available system properties](https://www.servicenow.com/docs/access?context=r_AvailableSystemProperties&version=australia&pubname=australia-platform-administration&ft:locale=en-US)」を参照してください。

## レコードから値を取得 {#c_GlideRecordScopedAPI__id_tvw_lbc_npb}

ほとんどの場合、ドット連結を使用してレコードから値を取得しないでください。ドット連結では、フィールド値ではなくオブジェクト全体が取得されます。オブジェクトを取得すると、より多くのストレージが使用され、アレイまたは サービスポータルで使用すると、望ましくない結果が生じる可能性があります。{#c_GlideRecordScopedAPI__gr-api-dot-walk-recommendations-p1}

オブジェクト全体を取得する代わりに、次のいずれかの方法を使用してフィールド値をコピーできます。{#c_GlideRecordScopedAPI__gr-api-dot-walk-recommendations-p2}

* [getValue()](https://servicenow-prod.fluidtopics.net/sq3Fh7Z2Yb_KuRvql0AZmg#r_ScopedGlideRecordGetValue_String "フィールド内の基礎となる要素の文字列値を取得します。")
* [getDisplayValue()](https://servicenow-prod.fluidtopics.net/sq3Fh7Z2Yb_KuRvql0AZmg#r_ScopedGlideRecordGetDisplayValue "現在のレコードの表示値を取得します。")

{#c_GlideRecordScopedAPI__gr-api-dot-walk-recommendation-lnx}  
GlideElement オブジェクトをドット連結する必要がある場合は、 toString() メソッドを使用して値を取得します。たとえば、別の参照フィールドを設定するために、現在の発信者のマネージャー sys_idが必要な場合があります。次の例は、オブジェクト全体ではなく文字列値を取得する方法を示しています。

    var mgr = current.caller_id.manager.toString();

関連項目：

* [GlideAggregate](https://servicenow-prod.fluidtopics.net/YH3MF48VxvVzg8O89GnOiw#c_GlideAggregateScopedAPI "GlideAggregate API を使用すると、データベース集計クエリを作成できます。")
* [GlideElement](https://servicenow-prod.fluidtopics.net/QV~Sg~onNeudOjbVEFHK0Q#c_GlideElementScopedAPI "スコープ対象の GlideElement API には、フィールドとその値を扱うための便利なスクリプトメソッドが多数用意されています。スコープ付き GlideElement メソッドは、現在の Glide レコードのフィールドで使用できます。")
* [GlideQuery](https://servicenow-prod.fluidtopics.net/wvQK5jnpsdHG3mPNthJUYg#GlideQueryGlobalAPI "GlideQuery スクリプトインクルードは、サーバーサイドスクリプトのレコードデータに対して CRUD 操作を実行するための GlideRecord API の代替です。")
{#c_GlideRecordScopedAPI__ul_mky_nkd_npb}

## スコープ付き GlideRecord - addActiveQuery() {#ariaid-title2}

アクティブなレコードを返すフィルターを追加します。
{#SGR-addActiveQuery__table_n2r_tdq_fz__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 1. パラメーター]

{#SGR-addActiveQuery__table_n2r_tdq_fz} {#SGR-addActiveQuery__table_o2r_tdq_fz__entry__2}

| タイプ | 説明 |
|-|-|
| GlideQueryCondition | アクティブなレコードを返すためのフィルター。 |
[表 : 2. 返される内容]

{#SGR-addActiveQuery__table_o2r_tdq_fz}  

    var inc = new GlideRecord('incident');
    inc.addActiveQuery();
    inc.query();

## スコープ付き GlideRecord - addEncodedQuery(文字列クエリ, ブール enforceFieldACL) {#ariaid-title3}

設定されている可能性がある他のクエリにエンコードされたクエリを追加します。
クエリを本番インスタンスに展開する前に、必ず準本番インスタンスでテストしてください。無効なフィールド名を含めるなど、エンコードされたクエリが正しく構築されていないと、無効なクエリが生成されます。無効なクエリが実行されると、クエリ条件の無効な部分が削除され、結果はクエリの有効な部分に基づいており、テーブルのすべてのレコードが返される場合があります。無効なクエリ結果で insert()、update()、deleteRecord()、または deleteMultiple() メソッドを使用すると、データが失われる可能性があります。

glide.invalid_query.returns_no_rows システムプロパティを true に設定すると、無効なエンコードクエリを含むクエリがレコードを返さないようにすることができます。場合によっては、 glide.invalid_query.returns_no_rows が true に設定されていても、クエリは API 結果のレコードを返すことがあります。これは、無効なクエリ用語が WHERE 演算子で使用されているクエリで発生します。このようなクエリでは、WHERE 演算子は無効な用語を無視しますが、クエリ ステートメントの残りの部分を解釈して返します。このシステムプロパティとその機能の詳細については、「 [Available system properties](https://www.servicenow.com/docs/access?context=r_AvailableSystemProperties&version=australia&pubname=australia-platform-administration&ft:locale=en-US)」を参照してください。  
注:  
ユーザーに基づいてクエリーアクセスを適用するには、 [addUserEncodedQuery()](https://servicenow-prod.fluidtopics.net/sq3Fh7Z2Yb_KuRvql0AZmg#SGR-addUserEncodedQuery_S "エンコードされたクエリ文字列を使用してクエリを追加します。 このメソッドを使用して、ユーザーに基づいてクエリーアクセスを強制します。")です。
{#r_ScopedGlideRecordAddEncodedQuery_String__table_vy2_525_jq__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| query | 文字列 | [エンコードされたクエリ文字列](https://www.servicenow.com/docs/access?context=c_EncodedQueryStrings&version=australia&pubname=australia-platform-user-interface&ft:locale=en-US)。 |
| enforceFieldACL | ブーリアン | オプション。フィールドの ACL (アクセス制御リスト) ルールを適用するかどうかを示すフラグ。 有効な値： * true:フィールド ACL を適用します。 * false:フィールド ACL を適用しません。 デフォルト値：false |
[表 : 3. パラメーター]

{#r_ScopedGlideRecordAddEncodedQuery_String__table_vy2_525_jq} {#r_ScopedGlideRecordAddEncodedQuery_String__table_up3_d5b_2r__entry__2}

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 4. 返される内容]

{#r_ScopedGlideRecordAddEncodedQuery_String__table_up3_d5b_2r}  

    var queryString = "priority=1^ORpriority=2";
    var now_GR = new GlideRecord('incident');
    now_GR.addEncodedQuery(queryString);
    now_GR.query();
    while (now_GR.next()) {
      gs.addInfoMessage(now_GR.getValue('number'));
    }

## スコープ付き GlideRecord - addFunction(オブジェクト関数) {#ariaid-title4}

事前定義された GlideDBFunctionBuilder オブジェクトをレコードに適用します。
GlideDBFunctionBuilder スコープ対象クラスを使用して関数を定義します。関数を定義したら、 addFunction(Object function) メソッドを使用して関数をレコードに適用します。
{#r_ScopedGlideRecordAddFunction_O__table_mkh_dnk_kbb__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| 関数 | オブジェクト | SQL 操作を定義する GlideDBFunctionBuilder オブジェクト。 |
[表 : 5. パラメーター]

{#r_ScopedGlideRecordAddFunction_O__table_mkh_dnk_kbb} {#r_ScopedGlideRecordAddFunction_O__table_nkh_dnk_kbb__entry__2}

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 6. 返される内容]

{#r_ScopedGlideRecordAddFunction_O__table_nkh_dnk_kbb}  

    var functionBuilder = new GlideDBFunctionBuilder();
    var myAddingFunction = functionBuilder.add();
    myAddingFunction = functionBuilder.field('order');
    myAddingFunction = functionBuilder.field('priority');
    myAddingFunction = functionBuilder.build();

    // Query incidents in which order + priority is less than 5 and display that added value
    var now_GR = new GlideRecord('incident');
    now_GR.addFunction(myAddingFunction);
    now_GR.addQuery(myAddingFunction, '<', 5);
    now_GR.query();
    while(now_GR.next())
      gs.info(now_GR.getValue(myAddingFunction));

出力:

    1
    4
    3
    1
    1
    2
    1

## スコープ付き GlideRecord -- addJoinQuery(String joinTable, String primaryField, String joinTableField) {#ariaid-title5}

現在の GlideRecord に関連するテーブル内の関係に基づいてレコードを返すフィルターを追加します。
この方法を使用して、グループメンバー \[sys_user_grmember\] テーブルを介してデータベースグループ内のすべてのユーザーを検索したり、incident.problem_id関係を介してインシデントが割り当てられているすべての問題を検索したりすることができます。

これは真のデータベース結合ではありません。代わりに、 addJoinQuery() はサブクエリを追加します。したがって、結果セットは結合に基づいて制限されますが、アクセスできるフィールドはベーステーブルのフィールド (GlideRecord が初期化されたテーブルにあるフィールド) のみです。

クエリを本番インスタンスに展開する前に、必ず準本番インスタンスでテストしてください。無効なフィールド名を含めるなど、エンコードされたクエリが正しく構築されていないと、無効なクエリが生成されます。無効なクエリが実行されると、クエリ条件の無効な部分が削除され、結果はクエリの有効な部分に基づいており、テーブルのすべてのレコードが返される場合があります。無効なクエリ結果で insert()、update()、deleteRecord()、または deleteMultiple() メソッドを使用すると、データが失われる可能性があります。

glide.invalid_query.returns_no_rows システムプロパティを true に設定すると、無効なエンコードクエリを含むクエリがレコードを返さないようにすることができます。場合によっては、 glide.invalid_query.returns_no_rows が true に設定されていても、クエリは API 結果のレコードを返すことがあります。これは、無効なクエリ用語が WHERE 演算子で使用されているクエリで発生します。このようなクエリでは、WHERE 演算子は無効な用語を無視しますが、クエリ ステートメントの残りの部分を解釈して返します。このシステムプロパティとその機能の詳細については、「 [Available system properties](https://www.servicenow.com/docs/access?context=r_AvailableSystemProperties&version=australia&pubname=australia-platform-administration&ft:locale=en-US)」を参照してください。
{#r_ScopedGlideRecordAddJoinQuery_String_Object_Object__table_vy2_525_jq__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| joinTable | 文字列 | 結合で使用するテーブルの名前 ( 'incident'など)。 |
| プライマリフィールド | 文字列 | オプション。joinTableField パラメーターで指定されたフィールドの結合に使用する GlideRecord 内のフィールドの名前。 デフォルト値:sys_id |
| joinTableField | 文字列 | オプション。テーブルの結合に使用する joinTable で指定されたテーブル内のフィールドの名前。 デフォルト: joinTable で指定されたテーブルの最初のフィールド。これは、現在の GlideRecord テーブルへの参照フィールドです。 |
[表 : 7. パラメーター]

{#r_ScopedGlideRecordAddJoinQuery_String_Object_Object__table_vy2_525_jq} {#r_ScopedGlideRecordAddJoinQuery_String_Object_Object__table_qpt_3f5_jq__entry__2}

| タイプ | 説明 |
|-|-|
| GlideQueryCondition | 関係性が一致するレコードを一覧表示するフィルター。 |
[表 : 8. 返される内容]

{#r_ScopedGlideRecordAddJoinQuery_String_Object_Object__table_qpt_3f5_jq}  
インシデントが関連付けられている問題を検索します。この例では、インシデントが関連付けられている問題を返します。ただし、クエリの一部として返されるインシデントからは値を取得しません。

    var prob = new GlideRecord('problem');
    prob.addJoinQuery('incident');
    prob.query();

関連するインシデントの非アクティブな問題を検出します。

    // Look for Problem records that have associated Incident records
    var now_GR = new GlideRecord('problem');
    var grSQ = now_GR.addJoinQuery('incident');
     
    // Where the Problem records are "active=false"
    now_GR.addQuery('active', 'false');
     
    // And the Incident records are "active=true"
    grSQ.addCondition('active', 'true');
     
    // Query
    now_GR.query();
     
    // Iterate and output results
    while (now_GR.next()) {
    gs.info(now_GR.getValue('number'));
    }

インシデント caller_id フィールドの値が問題 opened_by フィールドの値と一致する、インシデントが関連付けられている問題を検索します。

    var now_GR = new GlideRecord('problem'); 
            now_GR.addJoinQuery('incident', 'opened_by', 'caller_id'); 
            now_GR.query();

## スコープ付き GlideRecord - addNotNullQuery(文字列 fieldName) {#ariaid-title6}

パラメーターに渡されたフィールドの値が null でないレコードを指定するフィルター。
クエリを本番インスタンスに展開する前に、必ず準本番インスタンスでテストしてください。無効なフィールド名を含めるなど、エンコードされたクエリが正しく構築されていないと、無効なクエリが生成されます。無効なクエリが実行されると、クエリ条件の無効な部分が削除され、結果はクエリの有効な部分に基づいており、テーブルのすべてのレコードが返される場合があります。無効なクエリ結果で insert()、update()、deleteRecord()、または deleteMultiple() メソッドを使用すると、データが失われる可能性があります。

glide.invalid_query.returns_no_rows システムプロパティを true に設定すると、無効なエンコードクエリを含むクエリがレコードを返さないようにすることができます。場合によっては、 glide.invalid_query.returns_no_rows が true に設定されていても、クエリは API 結果のレコードを返すことがあります。これは、無効なクエリ用語が WHERE 演算子で使用されているクエリで発生します。このようなクエリでは、WHERE 演算子は無効な用語を無視しますが、クエリ ステートメントの残りの部分を解釈して返します。このシステムプロパティとその機能の詳細については、「 [Available system properties](https://www.servicenow.com/docs/access?context=r_AvailableSystemProperties&version=australia&pubname=australia-platform-administration&ft:locale=en-US)」を参照してください。
{#r_ScopedGlideRecordAddNotNullQuery_String__table_vy2_525_jq__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| fieldName | 文字列 | チェックするフィールドの名前。 |
[表 : 9. パラメーター]

{#r_ScopedGlideRecordAddNotNullQuery_String__table_vy2_525_jq} {#r_ScopedGlideRecordAddNotNullQuery_String__table_qpt_3f5_jq__entry__2}

| タイプ | 説明 |
|-|-|
| GlideQueryCondition | パラメーターに渡されたフィールドの値が null でないレコードを指定するフィルター。 |
[表 : 10. 返される内容]

{#r_ScopedGlideRecordAddNotNullQuery_String__table_qpt_3f5_jq}  

    var target = new GlideRecord('incident'); 
    target.addNotNullQuery('short_description');
    target.query();   // Issue the query to the database to get all records where short_description is not null
    while (target.next()) {   
         // add code here to process the incident record
    }

## スコープ指定 GlideRecord - addNullQuery(文字列 fieldName) {#ariaid-title7}

指定したフィールドの値が null であるレコードを返すフィルターを追加します。
クエリを本番インスタンスに展開する前に、必ず準本番インスタンスでテストしてください。無効なフィールド名を含めるなど、エンコードされたクエリが正しく構築されていないと、無効なクエリが生成されます。無効なクエリが実行されると、クエリ条件の無効な部分が削除され、結果はクエリの有効な部分に基づいており、テーブルのすべてのレコードが返される場合があります。無効なクエリ結果で insert()、update()、deleteRecord()、または deleteMultiple() メソッドを使用すると、データが失われる可能性があります。

glide.invalid_query.returns_no_rows システムプロパティを true に設定すると、無効なエンコードクエリを含むクエリがレコードを返さないようにすることができます。場合によっては、 glide.invalid_query.returns_no_rows が true に設定されていても、クエリは API 結果のレコードを返すことがあります。これは、無効なクエリ用語が WHERE 演算子で使用されているクエリで発生します。このようなクエリでは、WHERE 演算子は無効な用語を無視しますが、クエリ ステートメントの残りの部分を解釈して返します。このシステムプロパティとその機能の詳細については、「 [Available system properties](https://www.servicenow.com/docs/access?context=r_AvailableSystemProperties&version=australia&pubname=australia-platform-administration&ft:locale=en-US)」を参照してください。
{#r_ScopedGlideRecordAddNullQuery_String__table_vy2_525_jq__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| fieldName | 文字列 | チェックするフィールドの名前。 |
[表 : 11. パラメーター]

{#r_ScopedGlideRecordAddNullQuery_String__table_vy2_525_jq} {#r_ScopedGlideRecordAddNullQuery_String__table_sp2_b5b_2r__entry__2}

| タイプ | 説明 |
|-|-|
| GlideQueryCondition | GlideRecord に追加されたクエリ条件。 |
[表 : 12. 返される内容]

{#r_ScopedGlideRecordAddNullQuery_String__table_sp2_b5b_2r}  

    var target = new GlideRecord('incident'); 
    target.addNullQuery('short_description');
    target.query();   // Issue the query to the database to get all records where short_description is null
    while (target.next()) {   
       // add code here to process the incident record
    }

## スコープ対象 GlideRecord - addQuery(文字列名, オブジェクト値) {#ariaid-title8}

検索クエリを作成し、要求に一致する行を返します。
SQL に精通している場合、このメソッドは「where」句に似ています。1 つ以上の addQuery() 呼び出しを 1 つのクエリで行うことができます。この場合、クエリは AND です。クエリステートメントのいずれかを OR で処理する必要がある場合は、 GlideQueryCondition メソッド [addOrCondition()](https://servicenow-prod.fluidtopics.net/wnMOLLTDZMQRgWuwTPucsA#r_ScopedGlideQueryConditionAddOrCondition "2 つまたは 3 つのパラメーターの OR 条件を既存の GlideQueryCondition に追加します。") を使用します。  
注:  
ユーザーに基づいてクエリーアクセスを適用するには、 [addUserQuery()](https://servicenow-prod.fluidtopics.net/sq3Fh7Z2Yb_KuRvql0AZmg#SGR-addUserQuery_S_O_O "要求をビルドする機能を提供します。この要求は、実行されると、指定されたテーブルから要求に一致する行を返します。呼び出し元ユーザーには、この要求を追加するフィールドで指定されたクエリ操作を実行するためのアクセス権が必要です。 このメソッドを使用して、ユーザーに基づいてクエリーアクセスを強制します。") です。

addQuery () が `myObj.addQuery('category','Hardware');` のように、テーブル名と比較値の 2 つのパラメーターのみで呼び出された場合、演算子は "equal to" と見なされます。

クエリを本番インスタンスに展開する前に、必ず準本番インスタンスでテストしてください。無効なフィールド名を含めるなど、エンコードされたクエリが正しく構築されていないと、無効なクエリが生成されます。無効なクエリが実行されると、クエリ条件の無効な部分が削除され、結果はクエリの有効な部分に基づいており、テーブルのすべてのレコードが返される場合があります。無効なクエリ結果で insert()、update()、deleteRecord()、または deleteMultiple() メソッドを使用すると、データが失われる可能性があります。

glide.invalid_query.returns_no_rows システムプロパティを true に設定すると、無効なエンコードクエリを含むクエリがレコードを返さないようにすることができます。場合によっては、 glide.invalid_query.returns_no_rows が true に設定されていても、クエリは API 結果のレコードを返すことがあります。これは、無効なクエリ用語が WHERE 演算子で使用されているクエリで発生します。このようなクエリでは、WHERE 演算子は無効な用語を無視しますが、クエリ ステートメントの残りの部分を解釈して返します。このシステムプロパティとその機能の詳細については、「 [Available system properties](https://www.servicenow.com/docs/access?context=r_AvailableSystemProperties&version=australia&pubname=australia-platform-administration&ft:locale=en-US)」を参照してください。
{#r_ScopedGlideRecordAddQuery_String_Object__table_vy2_525_jq__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| name | 文字列 | クエリを実行するテーブルフィールドの名前、または次のいずれかの予約名。 * 123TEXTQUERY321:クエリに文字列検索用語を追加します。一致させる文字列を値として指定します。このオプションを使用して、検索文字列を含むフィールド値を持つレコードを返します。このオプションは、インデックス作成と検索のために構成する必要があるテーブル内のすべてのフィールドを検索します。インデックス作成と検索用のテーブルの構成の詳細については、「 [インデックス作成と検索用の 1 つのテーブルの構成](https://www.servicenow.com/docs/access?context=configure-single-table-for-indexing&version=australia&pubname=australia-platform-administration&ft:locale=en-US)」を参照してください。 * 123TEXTINDEXGROUP321:テキストインデックスグループをクエリに追加します。値としてクエリするテキストインデックスグループ \[ts_index_group\] テーブルから、テキストインデックスグループの名前を指定します。テキストインデックスグループ内のいずれかのテーブルから検索結果を返し、そのテキストインデックスグループの設定を使用して結果の関連性スコアを正規化するには、このオプションを使用します。テキストインデックスグループの構成の詳細については、「 [インデックス作成と検索のための複数のテーブルの構成](https://www.servicenow.com/docs/access?context=index-multiple-tables&version=australia&pubname=australia-platform-administration&ft:locale=en-US)」を参照してください。 {#r_ScopedGlideRecordAddQuery_String_Object__ul_e5c_slk_xhb} 注: 予約名の使用の詳細については、「 [スクリプトでのテーブルのクエリ](https://servicenow-prod.fluidtopics.net/d0~F25Pbj3IA2fvKkDtM9g#c_UsingGlideRecordToQueryTables "GlideRecord API のメソッドを使用すると、テーブルからすべてのレコードを返したり、テーブルから特定の条件を満たすレコードを返したり、テキストインデックスグループ内の単一のテーブルまたは複数のテーブルから文字列を含むレコードを返したりできます。")」を参照してください。 |
| value | オブジェクト | クエリ対象の値 (大文字と小文字は区別されません)。 |
[表 : 13. パラメーター]

{#r_ScopedGlideRecordAddQuery_String_Object__table_vy2_525_jq} {#r_ScopedGlideRecordAddQuery_String_Object__table_pd3_ytb_2r__entry__2}

| タイプ | 説明 |
|-|-|
| GlideQueryCondition | クエリ条件が GlideRecord に追加されました。 |
[表 : 14. 返される内容]

{#r_ScopedGlideRecordAddQuery_String_Object__table_pd3_ytb_2r}  
このコード例は、インシデントテーブル内のアクティブなレコードをクエリし、それらをすべて非アクティブに設定する方法を示しています。

    var rec = new GlideRecord('incident');
    rec.addQuery('active', true);
    rec.query();
    while (rec.next()) {
      rec.setValue('active', false);
      rec.update();
    }

このコード例では、ポータルテキストインデックスグループの設定を使用して計算された検索結果の関連性値を使用して、kb_knowledgeテーブルの「email server」に一致するレコードのクエリを追加します。

    var now_GR = new GlideRecord("kb_knowledge);
    now_GR.addQuery("123TEXTQUERY321", "email server");
    now_GR.addQuery("123TEXTINDEXGROUP321", "portal");
    now_GR.query();

## スコープ対象 GlideRecord - addQuery(文字列名, 文字列演算子, オブジェクト値) {#ariaid-title9}

要求をビルドする機能を提供します。この要求は、実行されると、指定されたテーブルから要求に一致する行を返します。
SQL に精通している場合、このメソッドは「where」句に似ています。1 つ以上の addQuery() 呼び出しを 1 つのクエリで行うことができます。この場合、クエリは AND です。クエリステートメントのいずれかを OR で処理する必要がある場合は、 GlideQueryCondition メソッド [addOrCondition()](https://servicenow-prod.fluidtopics.net/wnMOLLTDZMQRgWuwTPucsA#r_ScopedGlideQueryConditionAddOrCondition "2 つまたは 3 つのパラメーターの OR 条件を既存の GlideQueryCondition に追加します。") を使用します。

クエリを本番インスタンスに展開する前に、必ず準本番インスタンスでテストしてください。無効なフィールド名を含めるなど、エンコードされたクエリが正しく構築されていないと、無効なクエリが生成されます。無効なクエリが実行されると、クエリ条件の無効な部分が削除され、結果はクエリの有効な部分に基づいており、テーブルのすべてのレコードが返される場合があります。無効なクエリ結果で insert()、update()、deleteRecord()、または deleteMultiple() メソッドを使用すると、データが失われる可能性があります。

glide.invalid_query.returns_no_rows システムプロパティを true に設定すると、無効なエンコードクエリを含むクエリがレコードを返さないようにすることができます。場合によっては、 glide.invalid_query.returns_no_rows が true に設定されていても、クエリは API 結果のレコードを返すことがあります。これは、無効なクエリ用語が WHERE 演算子で使用されているクエリで発生します。このようなクエリでは、WHERE 演算子は無効な用語を無視しますが、クエリ ステートメントの残りの部分を解釈して返します。このシステムプロパティとその機能の詳細については、「 [Available system properties](https://www.servicenow.com/docs/access?context=r_AvailableSystemProperties&version=australia&pubname=australia-platform-administration&ft:locale=en-US)」を参照してください。  
注:  
ユーザーに基づいてクエリーアクセスを適用するには、 [addUserQuery()](https://servicenow-prod.fluidtopics.net/sq3Fh7Z2Yb_KuRvql0AZmg#SGR-addUserQuery_S_O_O "要求をビルドする機能を提供します。この要求は、実行されると、指定されたテーブルから要求に一致する行を返します。呼び出し元ユーザーには、この要求を追加するフィールドで指定されたクエリ操作を実行するためのアクセス権が必要です。 このメソッドを使用して、ユーザーに基づいてクエリーアクセスを強制します。") です。
{#r_ScopedGlideRecordAddQuery_String_String_Object__table_vy2_525_jq__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| name | 文字列 | テーブルフィールド名。 |
| オペレーター | 文字列 | クエリ演算子。使用可能な値は、 <var class="keyword varname">値</var> パラメーターのデータタイプによって異なります。 番号: * = * != * \> * \>= * \< * \<= {#r_ScopedGlideRecordAddQuery_String_String_Object__ul_qyb_rbt_3y} 文字列 (大文字である必要があります): * = * != * IN * NOT IN * STARTSWITH * ENDSWITH * 次の値を含む * DOES NOT CONTAIN * INSTANCEOF {#r_ScopedGlideRecordAddQuery_String_String_Object__ul_egz_vbt_3y} 注: LIKE 演算子の代わりに CONTAINS を使用します。 |
| value | オブジェクト | クエリ対象の値 (大文字と小文字は区別されません)。 |
[表 : 15. パラメーター]

{#r_ScopedGlideRecordAddQuery_String_String_Object__table_vy2_525_jq} {#r_ScopedGlideRecordAddQuery_String_String_Object__table_gty_wtb_2r__entry__2}

| タイプ | 説明 |
|-|-|
| GlideQueryCondition | GlideRecord に追加されたクエリ条件。 |
[表 : 16. 返される内容]

{#r_ScopedGlideRecordAddQuery_String_String_Object__table_gty_wtb_2r}  

    var rec = new GlideRecord('incident');
    rec.addQuery('active',true);
    rec.addQuery('sys_created_on', ">", "2010-01-19 04:05:00");
    rec.query();
    while (rec.next()) {
      rec.setValue('active', false);
      gs.info('Active incident ' + rec.getValue('number') + ' closed');
      rec.update();
    }

IN 演算子の使用。

    var now_GR = new GlideRecord('incident');
    now_GR.addQuery('number','IN','INC00001,INC00002');
    now_GR.query();
    while(now_GR.next()) {
      //do something....
    }

## スコープ付き GlideRecord:addSystemEncodedQuery(文字列クエリ) {#ariaid-title10}

エンコードされたクエリ文字列を使用してクエリを追加します。 このメソッドを使用して、クエリーアクセスをバイパスします。
システムレベルのアクセスが必要な場合は、このメソッドを使用して、クエリー ACL の適用がユーザーに対して明示的にバイパスされるようにします。クエリアクセスを強制するには、[addUserEncodedQuery()](https://servicenow-prod.fluidtopics.net/sq3Fh7Z2Yb_KuRvql0AZmg#SGR-addUserEncodedQuery_S "エンコードされたクエリ文字列を使用してクエリを追加します。 このメソッドを使用して、ユーザーに基づいてクエリーアクセスを強制します。") クエリアクセスを強制するには、{#SGR-addSystemEncodedQuery_S__gr-system-query-user}  
クエリー ACL チェックをバイパスするシステムレベルのアクセスのための追加の方法:

* [addSystemOrderBy()](https://servicenow-prod.fluidtopics.net/sq3Fh7Z2Yb_KuRvql0AZmg#SGR-addSystemOrderBy_S "orderBy 列を指定します。 このメソッドを使用して、クエリーアクセスをバイパスします。")
* [addSystemOrderByDesc()](https://servicenow-prod.fluidtopics.net/sq3Fh7Z2Yb_KuRvql0AZmg#SGR-addSystemOrderByDesc_S "降順の orderBy 列を指定します。 このメソッドを使用して、クエリーアクセスをバイパスします。")
* [addSystemQuery()](https://servicenow-prod.fluidtopics.net/sq3Fh7Z2Yb_KuRvql0AZmg#SGR-addSystemQuery_S_O_O "要求をビルドする機能を提供します。この要求は、実行されると、指定されたテーブルから要求に一致する行を返します。 このメソッドを使用して、クエリーアクセスをバイパスします。")
* [GlideQueryCondition - addSystemCondition()](https://servicenow-prod.fluidtopics.net/wnMOLLTDZMQRgWuwTPucsA#SGQC-addSystemCondition_S_S_O "現在の条件に AND 条件を追加します。 このメソッドを使用して、クエリーアクセスをバイパスします。")
* [GlideQueryCondition - addSystemOrCondition()](https://servicenow-prod.fluidtopics.net/wnMOLLTDZMQRgWuwTPucsA#SGQC-addSystemOrCondition_S_O_O "2 つまたは 3 つのパラメーターの OR 条件を既存の GlideQueryCondition に追加します。 このメソッドを使用して、クエリーアクセスをバイパスします。")
{#SGR-addSystemEncodedQuery_S__ul_znd_wlp_53c}

このメソッドを GlideRecordSecure で使用する方法については、「 [クエリー ACL の強制](https://servicenow-prod.fluidtopics.net/EykQEpagJJy6r4~z0xBdIg#c_UsingGlideRecordSecure__enforcing_query_ACLs)」を参照してください。

クエリを本番インスタンスに展開する前に、必ず準本番インスタンスでテストしてください。無効なフィールド名を含めるなど、エンコードされたクエリが正しく構築されていないと、無効なクエリが生成されます。無効なクエリが実行されると、クエリ条件の無効な部分が削除され、結果はクエリの有効な部分に基づいており、テーブルのすべてのレコードが返される場合があります。無効なクエリ結果で insert()、update()、deleteRecord()、または deleteMultiple() メソッドを使用すると、データが失われる可能性があります。

glide.invalid_query.returns_no_rows システムプロパティを true に設定すると、無効なエンコードクエリを含むクエリがレコードを返さないようにすることができます。場合によっては、 glide.invalid_query.returns_no_rows が true に設定されていても、クエリは API 結果のレコードを返すことがあります。これは、無効なクエリ用語が WHERE 演算子で使用されているクエリで発生します。このようなクエリでは、WHERE 演算子は無効な用語を無視しますが、クエリ ステートメントの残りの部分を解釈して返します。このシステムプロパティとその機能の詳細については、「 [Available system properties](https://www.servicenow.com/docs/access?context=r_AvailableSystemProperties&version=australia&pubname=australia-platform-administration&ft:locale=en-US)」を参照してください。
{#SGR-addSystemEncodedQuery_S__table_vy2_525_jq__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| query | 文字列 | [エンコードされたクエリ文字列](https://www.servicenow.com/docs/access?context=c_EncodedQueryStrings&version=australia&pubname=australia-platform-user-interface&ft:locale=en-US)。 |
[表 : 17. パラメーター]

{#SGR-addSystemEncodedQuery_S__table_vy2_525_jq} {#SGR-addSystemEncodedQuery_S__table_up3_d5b_2r__entry__2}

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 18. 返される内容]

{#SGR-addSystemEncodedQuery_S__table_up3_d5b_2r}  
次の例は、優先度の値が 1 または 2 の最初の 12 件のインシデントの数値を返す方法を示しています。

    var queryString = "priority=1^ORpriority=2";
    var now_GR = new GlideRecord('incident');
    now_GR.addSystemEncodedQuery(queryString);

    now_GR.setLimit(12);
    now_GR.query();

    while (now_GR.next()) {
      gs.info(now_GR.getValue('number'));
    }

出力:

    *** Script: INC0002318
    *** Script: INC0000144
    *** Script: INC0006927
    *** Script: INC0003577
    *** Script: INC0006928
    *** Script: INC0000135
    *** Script: INC0005637
    *** Script: INC0003196
    *** Script: INC0002647
    *** Script: INC0004074
    *** Script: INC0003444
    *** Script: INC0001694

## スコープ付き GlideRecord:addSystemOrderBy(文字列名) {#ariaid-title11}

orderBy 列を指定します。 このメソッドを使用して、クエリーアクセスをバイパスします。
システムレベルのアクセスが必要な場合は、このメソッドを使用して、クエリー ACL の適用がユーザーに対して明示的にバイパスされるようにします。クエリアクセスを強制するには、[addUserOrderBy()](https://servicenow-prod.fluidtopics.net/sq3Fh7Z2Yb_KuRvql0AZmg#SGR-addUserOrderBy_S "orderBy 列を指定します。 このメソッドを使用して、ユーザーに基づいてクエリーアクセスを強制します。") クエリアクセスを強制するには、{#SGR-addSystemOrderBy_S__gr-system-query-user}  
クエリー ACL チェックをバイパスするシステムレベルのアクセスのための追加の方法:

* [addSystemEncodedQuery()](https://servicenow-prod.fluidtopics.net/sq3Fh7Z2Yb_KuRvql0AZmg#SGR-addSystemEncodedQuery_S "エンコードされたクエリ文字列を使用してクエリを追加します。 このメソッドを使用して、クエリーアクセスをバイパスします。")
* [addSystemQuery()](https://servicenow-prod.fluidtopics.net/sq3Fh7Z2Yb_KuRvql0AZmg#SGR-addSystemQuery_S_O_O "要求をビルドする機能を提供します。この要求は、実行されると、指定されたテーブルから要求に一致する行を返します。 このメソッドを使用して、クエリーアクセスをバイパスします。")
* [GlideQueryCondition - addSystemCondition()](https://servicenow-prod.fluidtopics.net/wnMOLLTDZMQRgWuwTPucsA#SGQC-addSystemCondition_S_S_O "現在の条件に AND 条件を追加します。 このメソッドを使用して、クエリーアクセスをバイパスします。")
* [GlideQueryCondition - addSystemOrCondition()](https://servicenow-prod.fluidtopics.net/wnMOLLTDZMQRgWuwTPucsA#SGQC-addSystemOrCondition_S_O_O "2 つまたは 3 つのパラメーターの OR 条件を既存の GlideQueryCondition に追加します。 このメソッドを使用して、クエリーアクセスをバイパスします。")
{#SGR-addSystemOrderBy_S__ul_znd_wlp_53c}

複数の列で並べ替えるには、このメソッドを複数回呼び出します。結果は昇順で並べ替えられます。レコードを降順に並べるには、「 [addSystemOrderByDesc()](https://servicenow-prod.fluidtopics.net/sq3Fh7Z2Yb_KuRvql0AZmg#SGR-addSystemOrderByDesc_S "降順の orderBy 列を指定します。 このメソッドを使用して、クエリーアクセスをバイパスします。")」を参照してください。
{#SGR-addSystemOrderBy_S__table_vy2_525_jq__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| name | 文字列 | この GlideRecord オブジェクトのレコードを並べ替えるために使用する列名。 |
[表 : 19. パラメーター]

{#SGR-addSystemOrderBy_S__table_vy2_525_jq} {#SGR-addSystemOrderBy_S__table_ts3_ktb_2r__entry__2}

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 20. 返される内容]

{#SGR-addSystemOrderBy_S__table_ts3_ktb_2r}  
次の例は、インシデントレコードを簡単な説明の昇順で並べ替える方法を示しています。

    var queryString = "priority=1";
    var now_GR = new GlideRecord('incident');

    now_GR.addSystemOrderBy('short_description'); // Ascending Order
    now_GR.addSystemEncodedQuery(queryString);

    now_GR.setLimit(6);
    now_GR.query();

    while (now_GR.next()) {
      gs.info(now_GR.getValue('short_description'));
    }

出力:

    *** Script: Access token revoked
    *** Script: Access token revoked
    *** Script: Account locked, pls reset my password for Linkedin Sales Navigator
    *** Script: Active Directory (AD) synchronization error
    *** Script: Adobe Photoshop & Digital Publishing Instance is down
    *** Script: Application response time is poor when performing any action in ADP Payroll S...

## スコープ指定 GlideRecord:addSystemOrderByDesc(文字列名) {#ariaid-title12}

降順の orderBy 列を指定します。 このメソッドを使用して、クエリーアクセスをバイパスします。
システムレベルのアクセスが必要な場合は、このメソッドを使用して、クエリー ACL の適用がユーザーに対して明示的にバイパスされるようにします。クエリアクセスを強制するには、[addUserOrderByDesc()](https://servicenow-prod.fluidtopics.net/sq3Fh7Z2Yb_KuRvql0AZmg#SGR-addUserOrderByDesc_S "降順の orderBy 列を指定します。 このメソッドを使用して、ユーザーに基づいてクエリーアクセスを強制します。") クエリアクセスを強制するには、{#SGR-addSystemOrderByDesc_S__gr-system-query-user}  
クエリー ACL チェックをバイパスするシステムレベルのアクセスのための追加の方法:

* [addSystemEncodedQuery()](https://servicenow-prod.fluidtopics.net/sq3Fh7Z2Yb_KuRvql0AZmg#SGR-addSystemEncodedQuery_S "エンコードされたクエリ文字列を使用してクエリを追加します。 このメソッドを使用して、クエリーアクセスをバイパスします。")
* [addSystemQuery()](https://servicenow-prod.fluidtopics.net/sq3Fh7Z2Yb_KuRvql0AZmg#SGR-addSystemQuery_S_O_O "要求をビルドする機能を提供します。この要求は、実行されると、指定されたテーブルから要求に一致する行を返します。 このメソッドを使用して、クエリーアクセスをバイパスします。")
* [GlideQueryCondition - addSystemCondition()](https://servicenow-prod.fluidtopics.net/wnMOLLTDZMQRgWuwTPucsA#SGQC-addSystemCondition_S_S_O "現在の条件に AND 条件を追加します。 このメソッドを使用して、クエリーアクセスをバイパスします。")
* [GlideQueryCondition - addSystemOrCondition()](https://servicenow-prod.fluidtopics.net/wnMOLLTDZMQRgWuwTPucsA#SGQC-addSystemOrCondition_S_O_O "2 つまたは 3 つのパラメーターの OR 条件を既存の GlideQueryCondition に追加します。 このメソッドを使用して、クエリーアクセスをバイパスします。")
{#SGR-addSystemOrderByDesc_S__ul_znd_wlp_53c}

複数の列で並べ替えるには、このメソッドを複数回呼び出します。結果は降順で並べられます。レコードを昇順で並べ替えるには、「 [addSystemOrderBy()](https://servicenow-prod.fluidtopics.net/sq3Fh7Z2Yb_KuRvql0AZmg#SGR-addSystemOrderBy_S "orderBy 列を指定します。 このメソッドを使用して、クエリーアクセスをバイパスします。")」を参照してください。
{#SGR-addSystemOrderByDesc_S__table_vy2_525_jq__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| name | 文字列 | GlideRecord オブジェクトのレコードを並べ替えるために使用する列名。 |
[表 : 21. パラメーター]

{#SGR-addSystemOrderByDesc_S__table_vy2_525_jq} {#SGR-addSystemOrderByDesc_S__table_lpd_ktb_2r__entry__2}

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 22. 返される内容]

{#SGR-addSystemOrderByDesc_S__table_lpd_ktb_2r}  
次の例は、インシデントレコードを簡単な説明の降順に並べ替える方法を示しています。

    var queryString = "priority=2";
    var now_GR = new GlideRecord('incident');

    now_GR.addSystemOrderByDesc('short_description'); //Descending Order
    now_GR.addSystemEncodedQuery(queryString);

    now_GR.setLimit(6);
    now_GR.query();

    while (now_GR.next()) {
      gs.info(now_GR.getValue('short_description'));
    }

出力:

    *** Script: Xignite U.S. and Global Real Time Quotes upgrade to the latest version
    *** Script: Xignite Company, Market and Industry News Headlines upgrade to the latest ver...
    *** Script: Workday Talent Management Instance relocation from US datacenter to Hongkong ...
    *** Script: Warning displayed while launching Tableau Server
    *** Script: Warning displayed while launching SAP Financial Accounting
    *** Script: Warning displayed while launching Jive Daily

## スコープ付き GlideRecord - addSystemQuery(文字列名, オブジェクト演算子, オブジェクト値) {#ariaid-title13}

要求をビルドする機能を提供します。この要求は、実行されると、指定されたテーブルから要求に一致する行を返します。 このメソッドを使用して、クエリーアクセスをバイパスします。
システムレベルのアクセスが必要な場合は、このメソッドを使用して、クエリー ACL の適用がユーザーに対して明示的にバイパスされるようにします。クエリアクセスを強制するには、[addUserQuery()](https://servicenow-prod.fluidtopics.net/sq3Fh7Z2Yb_KuRvql0AZmg#SGR-addUserQuery_S_O_O "要求をビルドする機能を提供します。この要求は、実行されると、指定されたテーブルから要求に一致する行を返します。呼び出し元ユーザーには、この要求を追加するフィールドで指定されたクエリ操作を実行するためのアクセス権が必要です。 このメソッドを使用して、ユーザーに基づいてクエリーアクセスを強制します。") クエリアクセスを強制するには、{#SGR-addSystemQuery_S_O_O__gr-system-query-user}  
クエリー ACL チェックをバイパスするシステムレベルのアクセスのための追加の方法:

* [addSystemEncodedQuery()](https://servicenow-prod.fluidtopics.net/sq3Fh7Z2Yb_KuRvql0AZmg#SGR-addSystemEncodedQuery_S "エンコードされたクエリ文字列を使用してクエリを追加します。 このメソッドを使用して、クエリーアクセスをバイパスします。")
* [addSystemOrderBy()](https://servicenow-prod.fluidtopics.net/sq3Fh7Z2Yb_KuRvql0AZmg#SGR-addSystemOrderBy_S "orderBy 列を指定します。 このメソッドを使用して、クエリーアクセスをバイパスします。")
* [addSystemOrderByDesc()](https://servicenow-prod.fluidtopics.net/sq3Fh7Z2Yb_KuRvql0AZmg#SGR-addSystemOrderByDesc_S "降順の orderBy 列を指定します。 このメソッドを使用して、クエリーアクセスをバイパスします。")
* [GlideQueryCondition - addSystemCondition()](https://servicenow-prod.fluidtopics.net/wnMOLLTDZMQRgWuwTPucsA#SGQC-addSystemCondition_S_S_O "現在の条件に AND 条件を追加します。 このメソッドを使用して、クエリーアクセスをバイパスします。")
* [GlideQueryCondition - addSystemOrCondition()](https://servicenow-prod.fluidtopics.net/wnMOLLTDZMQRgWuwTPucsA#SGQC-addSystemOrCondition_S_O_O "2 つまたは 3 つのパラメーターの OR 条件を既存の GlideQueryCondition に追加します。 このメソッドを使用して、クエリーアクセスをバイパスします。")
{#SGR-addSystemQuery_S_O_O__ul_znd_wlp_53c}

クエリを本番インスタンスに展開する前に、必ず準本番インスタンスでテストしてください。無効なフィールド名を含めるなど、エンコードされたクエリが正しく構築されていないと、無効なクエリが生成されます。無効なクエリが実行されると、クエリ条件の無効な部分が削除され、結果はクエリの有効な部分に基づいており、テーブルのすべてのレコードが返される場合があります。無効なクエリ結果で insert()、update()、deleteRecord()、または deleteMultiple() メソッドを使用すると、データが失われる可能性があります。

glide.invalid_query.returns_no_rows システムプロパティを true に設定すると、無効なエンコードクエリを含むクエリがレコードを返さないようにすることができます。場合によっては、 glide.invalid_query.returns_no_rows が true に設定されていても、クエリは API 結果のレコードを返すことがあります。これは、無効なクエリ用語が WHERE 演算子で使用されているクエリで発生します。このようなクエリでは、WHERE 演算子は無効な用語を無視しますが、クエリ ステートメントの残りの部分を解釈して返します。このシステムプロパティとその機能の詳細については、「 [Available system properties](https://www.servicenow.com/docs/access?context=r_AvailableSystemProperties&version=australia&pubname=australia-platform-administration&ft:locale=en-US)」を参照してください。
{#SGR-addSystemQuery_S_O_O__table_ix2_hvp_dt__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| name | 文字列 | テーブルフィールド名。 |
| オペレーター | オブジェクト | クエリ演算子。使用可能な値は、 <var class="keyword varname">値</var> パラメーターのデータタイプによって異なります。 番号: * = * != * \> * \>= * \< * \<= {#SGR-addSystemQuery_S_O_O__ul_qyb_rbt_3y} 文字列 (大文字である必要があります): * = * != * IN * NOT IN * STARTSWITH * ENDSWITH * 次の値を含む * DOES NOT CONTAIN * INSTANCEOF {#SGR-addSystemQuery_S_O_O__ul_egz_vbt_3y} 注: LIKE 演算子の代わりに CONTAINS を使用します。 動的スキーマ演算子: * = * != * \< * \> * \<= * \>= * 次の間 * 次の値を含む * DOES_NOT_CONTAIN * ENDSWITH * GT_FIELD * GT_OR_EQUALS_FIELD * IN * ISEMPTY * ISNOTEMPTY * IS_NOT_NULL * IS_NULL * 高評価 * LT_FIELD * LT_OR_EQUALS_FIELD * 一致 * NOT_IN * NOT_LIKE * NOT_MATCHES * NSAMEAS * SAMEAS * STARTSWITH {#SGR-addSystemQuery_S_O_O__ul_g5t_j32_cgc} |
| value | オブジェクト | クエリ対象の値 (大文字と小文字は区別されません)。 |
[表 : 23. パラメーター]

{#SGR-addSystemQuery_S_O_O__table_ix2_hvp_dt} {#SGR-addSystemQuery_S_O_O__table_gty_wtb_2r__entry__2}

| タイプ | 説明 |
|-|-|
| [GlideQueryCondition](https://servicenow-prod.fluidtopics.net/wnMOLLTDZMQRgWuwTPucsA#c_GlideQueryConditionScopedAPI "この API は、現在の条件に追加できる AND または OR 条件を提供し、複雑なクエリーを作成できます。") | GlideRecord に追加されたクエリ条件。 |
[表 : 24. 返される内容]

{#SGR-addSystemQuery_S_O_O__table_gty_wtb_2r}  
次の例は、Fred という名前のすべてのアクティブユーザーを明示的に返す方法を示しています。

    var rec = new GlideRecord('sys_user');
    rec.addSystemQuery("first_name", "=", "Fred");
    rec.query();

    while (rec.next()) {
      gs.info('Active user ' + rec.getValue('last_name'));
    }

出力:

    Active user Luddy
    Active user Kunde

## スコープ付き GlideRecord:addUserEncodedQuery(文字列クエリ) {#ariaid-title14}

エンコードされたクエリ文字列を使用してクエリを追加します。 このメソッドを使用して、ユーザーに基づいてクエリーアクセスを強制します。
このメソッドは、現在のユーザーが (ACL に基づいて) クエリアクセス権を持つレコードのみを返します。  
関連するメソッド:

* [addEncodedQuery()](https://servicenow-prod.fluidtopics.net/sq3Fh7Z2Yb_KuRvql0AZmg#r_ScopedGlideRecordAddEncodedQuery_String "設定されている可能性がある他のクエリにエンコードされたクエリを追加します。") は、ACL を強制しなくても同じ機能を提供します。
* [addSystemEncodedQuery()](https://servicenow-prod.fluidtopics.net/sq3Fh7Z2Yb_KuRvql0AZmg#SGR-addSystemEncodedQuery_S "エンコードされたクエリ文字列を使用してクエリを追加します。 このメソッドを使用して、クエリーアクセスをバイパスします。") クエリアクセスチェックをバイパスします。
{#SGR-addUserEncodedQuery_S__ul_i2h_csq_53c}  
クエリー ACL チェックを強制するための追加の方法:

* [addUserOrderBy()](https://servicenow-prod.fluidtopics.net/sq3Fh7Z2Yb_KuRvql0AZmg#SGR-addUserOrderBy_S "orderBy 列を指定します。 このメソッドを使用して、ユーザーに基づいてクエリーアクセスを強制します。")
* [addUserOrderByDesc()](https://servicenow-prod.fluidtopics.net/sq3Fh7Z2Yb_KuRvql0AZmg#SGR-addUserOrderByDesc_S "降順の orderBy 列を指定します。 このメソッドを使用して、ユーザーに基づいてクエリーアクセスを強制します。")
* [追加のユーザークエリ()](https://servicenow-prod.fluidtopics.net/sq3Fh7Z2Yb_KuRvql0AZmg#SGR-addUserQuery_S_O_O "要求をビルドする機能を提供します。この要求は、実行されると、指定されたテーブルから要求に一致する行を返します。呼び出し元ユーザーには、この要求を追加するフィールドで指定されたクエリ操作を実行するためのアクセス権が必要です。 このメソッドを使用して、ユーザーに基づいてクエリーアクセスを強制します。")
* [GlideQueryCondition - addUserCondition()](https://servicenow-prod.fluidtopics.net/wnMOLLTDZMQRgWuwTPucsA#SGQC-addUserCondition_S_S_O "現在の条件に AND 条件を追加します。 このメソッドを使用して、ユーザーに基づいてクエリーアクセスを強制します。")
* [GlideQueryCondition:addUserOrCondition()](https://servicenow-prod.fluidtopics.net/wnMOLLTDZMQRgWuwTPucsA#SGQC-addUserOrCondition_S_O_O "2 つまたは 3 つのパラメーターの OR 条件を既存の GlideQueryCondition に追加します。 このメソッドを使用して、ユーザーに基づいてクエリーアクセスを強制します。")
{#SGR-addUserEncodedQuery_S__ul_znd_wlp_53c}

このメソッドを GlideRecordSecure で使用する方法については、「 [クエリー ACL の強制](https://servicenow-prod.fluidtopics.net/EykQEpagJJy6r4~z0xBdIg#c_UsingGlideRecordSecure__enforcing_query_ACLs)」を参照してください。

クエリを本番インスタンスに展開する前に、必ず準本番インスタンスでテストしてください。無効なフィールド名を含めるなど、エンコードされたクエリが正しく構築されていないと、無効なクエリが生成されます。無効なクエリが実行されると、クエリ条件の無効な部分が削除され、結果はクエリの有効な部分に基づいており、テーブルのすべてのレコードが返される場合があります。無効なクエリ結果で insert()、update()、deleteRecord()、または deleteMultiple() メソッドを使用すると、データが失われる可能性があります。

glide.invalid_query.returns_no_rows システムプロパティを true に設定すると、無効なエンコードクエリを含むクエリがレコードを返さないようにすることができます。場合によっては、 glide.invalid_query.returns_no_rows が true に設定されていても、クエリは API 結果のレコードを返すことがあります。これは、無効なクエリ用語が WHERE 演算子で使用されているクエリで発生します。このようなクエリでは、WHERE 演算子は無効な用語を無視しますが、クエリ ステートメントの残りの部分を解釈して返します。このシステムプロパティとその機能の詳細については、「 [Available system properties](https://www.servicenow.com/docs/access?context=r_AvailableSystemProperties&version=australia&pubname=australia-platform-administration&ft:locale=en-US)」を参照してください。
{#SGR-addUserEncodedQuery_S__table_vy2_525_jq__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| query | 文字列 | [エンコードされたクエリ文字列](https://www.servicenow.com/docs/access?context=c_EncodedQueryStrings&version=australia&pubname=australia-platform-user-interface&ft:locale=en-US)。 |
[表 : 25. パラメーター]

{#SGR-addUserEncodedQuery_S__table_vy2_525_jq} {#SGR-addUserEncodedQuery_S__table_up3_d5b_2r__entry__2}

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 26. 返される内容]

{#SGR-addUserEncodedQuery_S__table_up3_d5b_2r}  
次の例は、優先度の値が 1 または 2 の最初の 12 件のインシデントの数値を返す方法を示しています。

    var queryString = "priority=1^ORpriority=2";
    var now_GR = new GlideRecord('incident');
    now_GR.addUserEncodedQuery(queryString);

    now_GR.setLimit(12);
    now_GR.query();

    while (now_GR.next()) {
      gs.info(now_GR.getValue('number'));
    }

出力:

    *** Script: INC0002318
    *** Script: INC0000144
    *** Script: INC0006927
    *** Script: INC0003577
    *** Script: INC0006928
    *** Script: INC0000135
    *** Script: INC0005637
    *** Script: INC0003196
    *** Script: INC0002647
    *** Script: INC0004074
    *** Script: INC0003444
    *** Script: INC0001694

## スコープ対象 GlideRecord:addUserOrderBy(文字列名) {#ariaid-title15}

orderBy 列を指定します。 このメソッドを使用して、ユーザーに基づいてクエリーアクセスを強制します。
このメソッドは、現在のユーザーが (ACL に基づいて) クエリアクセス権を持つレコードのみを返します。  
関連するメソッド:

* [orderBy()](https://servicenow-prod.fluidtopics.net/sq3Fh7Z2Yb_KuRvql0AZmg#r_ScopedGlideRecordOrderBy_String "orderBy 列を指定します。") は、ACL を強制しなくても同じ機能を提供します。
* [addSystemOrderBy()](https://servicenow-prod.fluidtopics.net/sq3Fh7Z2Yb_KuRvql0AZmg#SGR-addSystemOrderBy_S "orderBy 列を指定します。 このメソッドを使用して、クエリーアクセスをバイパスします。") クエリアクセスチェックをバイパスします。
{#SGR-addUserOrderBy_S__ul_i2h_csq_53c}  
クエリー ACL チェックを強制するための追加の方法:

* [addUserEncodedQuery()](https://servicenow-prod.fluidtopics.net/sq3Fh7Z2Yb_KuRvql0AZmg#SGR-addUserEncodedQuery_S "エンコードされたクエリ文字列を使用してクエリを追加します。 このメソッドを使用して、ユーザーに基づいてクエリーアクセスを強制します。")
* [追加のユーザークエリ()](https://servicenow-prod.fluidtopics.net/sq3Fh7Z2Yb_KuRvql0AZmg#SGR-addUserQuery_S_O_O "要求をビルドする機能を提供します。この要求は、実行されると、指定されたテーブルから要求に一致する行を返します。呼び出し元ユーザーには、この要求を追加するフィールドで指定されたクエリ操作を実行するためのアクセス権が必要です。 このメソッドを使用して、ユーザーに基づいてクエリーアクセスを強制します。")
* [GlideQueryCondition - addUserCondition()](https://servicenow-prod.fluidtopics.net/wnMOLLTDZMQRgWuwTPucsA#SGQC-addUserCondition_S_S_O "現在の条件に AND 条件を追加します。 このメソッドを使用して、ユーザーに基づいてクエリーアクセスを強制します。")
* [GlideQueryCondition:addUserOrCondition()](https://servicenow-prod.fluidtopics.net/wnMOLLTDZMQRgWuwTPucsA#SGQC-addUserOrCondition_S_O_O "2 つまたは 3 つのパラメーターの OR 条件を既存の GlideQueryCondition に追加します。 このメソッドを使用して、ユーザーに基づいてクエリーアクセスを強制します。")
{#SGR-addUserOrderBy_S__ul_znd_wlp_53c}

複数の列で並べ替えるには、このメソッドを複数回呼び出します。結果は昇順で並べ替えられます。レコードを降順に並べ替えるには、「 [addUserOrderByDesc()](https://servicenow-prod.fluidtopics.net/sq3Fh7Z2Yb_KuRvql0AZmg#SGR-addUserOrderByDesc_S "降順の orderBy 列を指定します。 このメソッドを使用して、ユーザーに基づいてクエリーアクセスを強制します。")」を参照してください。
{#SGR-addUserOrderBy_S__table_vy2_525_jq__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| name | 文字列 | この GlideRecord オブジェクトのレコードを並べ替えるために使用する列名。 |
[表 : 27. パラメーター]

{#SGR-addUserOrderBy_S__table_vy2_525_jq} {#SGR-addUserOrderBy_S__table_ts3_ktb_2r__entry__2}

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 28. 返される内容]

{#SGR-addUserOrderBy_S__table_ts3_ktb_2r}  
次の例は、インシデントレコードを簡単な説明の昇順で並べ替える方法を示しています。

    var queryString = "priority=1";
    var now_GR = new GlideRecord('incident');

    now_GR.addUserOrderBy('short_description'); // Ascending Order
    now_GR.addUserEncodedQuery(queryString);

    now_GR.setLimit(6);
    now_GR.query();

    while (now_GR.next()) {
      gs.info(now_GR.getValue('short_description'));
    }

出力:

    *** Script: Access token revoked
    *** Script: Access token revoked
    *** Script: Account locked, pls reset my password for Linkedin Sales Navigator
    *** Script: Active Directory (AD) synchronization error
    *** Script: Adobe Photoshop & Digital Publishing Instance is down
    *** Script: Application response time is poor when performing any action in ADP Payroll S...

## スコープ付き GlideRecord - addUserOrderByDesc(文字列名) {#ariaid-title16}

降順の orderBy 列を指定します。 このメソッドを使用して、ユーザーに基づいてクエリーアクセスを強制します。
このメソッドは、現在のユーザーが (ACL に基づいて) クエリアクセス権を持つレコードのみを返します。  
関連するメソッド:

* [orderByDesc()](https://servicenow-prod.fluidtopics.net/sq3Fh7Z2Yb_KuRvql0AZmg#r_ScopedGlideRecordOrderByDesc_String "降順の orderBy 列を指定します。") は、ACL を強制しなくても同じ機能を提供します。
* [addSystemOrderByDesc()](https://servicenow-prod.fluidtopics.net/sq3Fh7Z2Yb_KuRvql0AZmg#SGR-addSystemOrderByDesc_S "降順の orderBy 列を指定します。 このメソッドを使用して、クエリーアクセスをバイパスします。") クエリアクセスチェックをバイパスします。
{#SGR-addUserOrderByDesc_S__ul_i2h_csq_53c}  
クエリー ACL チェックを強制するための追加の方法:

* [addUserEncodedQuery()](https://servicenow-prod.fluidtopics.net/sq3Fh7Z2Yb_KuRvql0AZmg#SGR-addUserEncodedQuery_S "エンコードされたクエリ文字列を使用してクエリを追加します。 このメソッドを使用して、ユーザーに基づいてクエリーアクセスを強制します。")
* [追加のユーザークエリ()](https://servicenow-prod.fluidtopics.net/sq3Fh7Z2Yb_KuRvql0AZmg#SGR-addUserQuery_S_O_O "要求をビルドする機能を提供します。この要求は、実行されると、指定されたテーブルから要求に一致する行を返します。呼び出し元ユーザーには、この要求を追加するフィールドで指定されたクエリ操作を実行するためのアクセス権が必要です。 このメソッドを使用して、ユーザーに基づいてクエリーアクセスを強制します。")
* [GlideQueryCondition - addUserCondition()](https://servicenow-prod.fluidtopics.net/wnMOLLTDZMQRgWuwTPucsA#SGQC-addUserCondition_S_S_O "現在の条件に AND 条件を追加します。 このメソッドを使用して、ユーザーに基づいてクエリーアクセスを強制します。")
* [GlideQueryCondition:addUserOrCondition()](https://servicenow-prod.fluidtopics.net/wnMOLLTDZMQRgWuwTPucsA#SGQC-addUserOrCondition_S_O_O "2 つまたは 3 つのパラメーターの OR 条件を既存の GlideQueryCondition に追加します。 このメソッドを使用して、ユーザーに基づいてクエリーアクセスを強制します。")
{#SGR-addUserOrderByDesc_S__ul_znd_wlp_53c}

複数の列で並べ替えるには、このメソッドを複数回呼び出します。結果は降順で並べられます。レコードを昇順で並べ替えるには、「 [addUserOrderBy()](https://servicenow-prod.fluidtopics.net/sq3Fh7Z2Yb_KuRvql0AZmg#SGR-addUserOrderBy_S "orderBy 列を指定します。 このメソッドを使用して、ユーザーに基づいてクエリーアクセスを強制します。")」を参照してください。
{#SGR-addUserOrderByDesc_S__table_vy2_525_jq__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| name | 文字列 | GlideRecord オブジェクトのレコードを並べ替えるために使用する列名。 |
[表 : 29. パラメーター]

{#SGR-addUserOrderByDesc_S__table_vy2_525_jq} {#SGR-addUserOrderByDesc_S__table_lpd_ktb_2r__entry__2}

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 30. 返される内容]

{#SGR-addUserOrderByDesc_S__table_lpd_ktb_2r}  
次の例は、インシデントレコードを簡単な説明の降順に並べ替える方法を示しています。

    var queryString = "priority=2";
    var now_GR = new GlideRecord('incident');

    now_GR.addUserOrderByDesc('short_description'); //Descending Order
    now_GR.addUserEncodedQuery(queryString);

    now_GR.setLimit(6);
    now_GR.query();

    while (now_GR.next()) {
      gs.info(now_GR.getValue('short_description'));
    }

出力:

    *** Script: Xignite U.S. and Global Real Time Quotes upgrade to the latest version
    *** Script: Xignite Company, Market and Industry News Headlines upgrade to the latest ver...
    *** Script: Workday Talent Management Instance relocation from US datacenter to Hongkong ...
    *** Script: Warning displayed while launching Tableau Server
    *** Script: Warning displayed while launching SAP Financial Accounting
    *** Script: Warning displayed while launching Jive Daily

## スコープ付き GlideRecord - addUserQuery(文字列名, オブジェクト演算子, オブジェクト値) {#ariaid-title17}

要求をビルドする機能を提供します。この要求は、実行されると、指定されたテーブルから要求に一致する行を返します。呼び出し元ユーザーには、この要求を追加するフィールドで指定されたクエリ操作を実行するためのアクセス権が必要です。 このメソッドを使用して、ユーザーに基づいてクエリーアクセスを強制します。
このメソッドは、現在のユーザーが (ACL に基づいて) クエリアクセス権を持つレコードのみを返します。  
関連するメソッド:

* [addQuery()](https://servicenow-prod.fluidtopics.net/sq3Fh7Z2Yb_KuRvql0AZmg#r_ScopedGlideRecordAddQuery_String_String_Object "要求をビルドする機能を提供します。この要求は、実行されると、指定されたテーブルから要求に一致する行を返します。") は、ACL を強制しなくても同じ機能を提供します。
* [addSystemQuery()](https://servicenow-prod.fluidtopics.net/sq3Fh7Z2Yb_KuRvql0AZmg#SGR-addSystemQuery_S_O_O "要求をビルドする機能を提供します。この要求は、実行されると、指定されたテーブルから要求に一致する行を返します。 このメソッドを使用して、クエリーアクセスをバイパスします。") クエリアクセスチェックをバイパスします。
{#SGR-addUserQuery_S_O_O__ul_i2h_csq_53c}  
クエリー ACL チェックを強制するための追加の方法:

* [addUserOrderBy()](https://servicenow-prod.fluidtopics.net/sq3Fh7Z2Yb_KuRvql0AZmg#SGR-addUserOrderBy_S "orderBy 列を指定します。 このメソッドを使用して、ユーザーに基づいてクエリーアクセスを強制します。")
* [addUserEncodedQuery()](https://servicenow-prod.fluidtopics.net/sq3Fh7Z2Yb_KuRvql0AZmg#SGR-addUserEncodedQuery_S "エンコードされたクエリ文字列を使用してクエリを追加します。 このメソッドを使用して、ユーザーに基づいてクエリーアクセスを強制します。")
* [addUserOrderByDesc()](https://servicenow-prod.fluidtopics.net/sq3Fh7Z2Yb_KuRvql0AZmg#SGR-addUserOrderByDesc_S "降順の orderBy 列を指定します。 このメソッドを使用して、ユーザーに基づいてクエリーアクセスを強制します。")
* [GlideQueryCondition - addUserCondition()](https://servicenow-prod.fluidtopics.net/wnMOLLTDZMQRgWuwTPucsA#SGQC-addUserCondition_S_S_O "現在の条件に AND 条件を追加します。 このメソッドを使用して、ユーザーに基づいてクエリーアクセスを強制します。")
* [GlideQueryCondition:addUserOrCondition()](https://servicenow-prod.fluidtopics.net/wnMOLLTDZMQRgWuwTPucsA#SGQC-addUserOrCondition_S_O_O "2 つまたは 3 つのパラメーターの OR 条件を既存の GlideQueryCondition に追加します。 このメソッドを使用して、ユーザーに基づいてクエリーアクセスを強制します。")
{#SGR-addUserQuery_S_O_O__ul_znd_wlp_53c}

クエリを本番インスタンスに展開する前に、必ず準本番インスタンスでテストしてください。無効なフィールド名を含めるなど、エンコードされたクエリが正しく構築されていないと、無効なクエリが生成されます。無効なクエリが実行されると、クエリ条件の無効な部分が削除され、結果はクエリの有効な部分に基づいており、テーブルのすべてのレコードが返される場合があります。無効なクエリ結果で insert()、update()、deleteRecord()、または deleteMultiple() メソッドを使用すると、データが失われる可能性があります。

glide.invalid_query.returns_no_rows システムプロパティを true に設定すると、無効なエンコードクエリを含むクエリがレコードを返さないようにすることができます。場合によっては、 glide.invalid_query.returns_no_rows が true に設定されていても、クエリは API 結果のレコードを返すことがあります。これは、無効なクエリ用語が WHERE 演算子で使用されているクエリで発生します。このようなクエリでは、WHERE 演算子は無効な用語を無視しますが、クエリ ステートメントの残りの部分を解釈して返します。このシステムプロパティとその機能の詳細については、「 [Available system properties](https://www.servicenow.com/docs/access?context=r_AvailableSystemProperties&version=australia&pubname=australia-platform-administration&ft:locale=en-US)」を参照してください。
{#SGR-addUserQuery_S_O_O__table_ix2_hvp_dt__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| name | 文字列 | テーブルフィールド名。 |
| オペレーター | オブジェクト | クエリ演算子。使用可能な値は、 <var class="keyword varname">値</var> パラメーターのデータタイプによって異なります。 番号: * = * != * \> * \>= * \< * \<= {#SGR-addUserQuery_S_O_O__ul_qyb_rbt_3y} 文字列 (大文字である必要があります): * = * != * IN * NOT IN * STARTSWITH * ENDSWITH * 次の値を含む * DOES NOT CONTAIN * INSTANCEOF {#SGR-addUserQuery_S_O_O__ul_egz_vbt_3y} 注: LIKE 演算子の代わりに CONTAINS を使用します。 動的スキーマ演算子: * = * != * \< * \> * \<= * \>= * 次の間 * 次の値を含む * DOES_NOT_CONTAIN * ENDSWITH * GT_FIELD * GT_OR_EQUALS_FIELD * IN * ISEMPTY * ISNOTEMPTY * IS_NOT_NULL * IS_NULL * 高評価 * LT_FIELD * LT_OR_EQUALS_FIELD * 一致 * NOT_IN * NOT_LIKE * NOT_MATCHES * NSAMEAS * SAMEAS * STARTSWITH {#SGR-addUserQuery_S_O_O__ul_g5t_j32_cgc} |
| value | オブジェクト | クエリ対象の値 (大文字と小文字は区別されません)。 |
[表 : 31. パラメーター]

{#SGR-addUserQuery_S_O_O__table_ix2_hvp_dt} {#SGR-addUserQuery_S_O_O__table_gty_wtb_2r__entry__2}

| タイプ | 説明 |
|-|-|
| [GlideQueryCondition](https://servicenow-prod.fluidtopics.net/wnMOLLTDZMQRgWuwTPucsA#c_GlideQueryConditionScopedAPI "この API は、現在の条件に追加できる AND または OR 条件を提供し、複雑なクエリーを作成できます。") | GlideRecord に追加されたクエリ条件。 |
[表 : 32. 返される内容]

{#SGR-addUserQuery_S_O_O__table_gty_wtb_2r}  
次に、現在のユーザーが表示する権限を持つ Fred という名前のユーザーのみを返す方法を示します。

    var rec = new GlideRecord('sys_user');
    rec.addUserQuery("first_name", "=", "Fred");
    rec.query();

    while (rec.next()) {
      gs.info('Active user ' + rec.getValue('last_name'));
    }

出力:

    Active user Luddy
    Active user Kunde

## スコープ付き GlideRecord - canCreate() {#ariaid-title18}

ユーザーのロールを含むアクセス制御ルールが、このテーブルへの新しいレコードの挿入を許可するかどうかを決定します。
{#r_ScopedGlideRecordCanCreate__table_vy2_535_jq__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 33. パラメーター]

{#r_ScopedGlideRecordCanCreate__table_vy2_535_jq} {#r_ScopedGlideRecordCanCreate__table_g2l_vtb_2r__entry__2}

| タイプ | 説明 |
|-|-|
| ブーリアン | ユーザーのロールがこのテーブルのレコードの作成を許可するかどうかを示すフラグ。 有効な値： * true:作成が許可されました * false:作成は許可されていません {#r_ScopedGlideRecordCanCreate__ul_vtm_pf2_t3b} |
[表 : 34. 返される内容]

{#r_ScopedGlideRecordCanCreate__table_g2l_vtb_2r}  
このコード例では、現在のユーザーがシステムログのインシデントテーブルにレコードを作成できるかどうかを書き込みます。

    var now_GR = new GlideRecord('incident');
    gs.info(now_GR.canCreate());

## スコープ付き GlideRecord - canDelete() {#ariaid-title19}

ユーザーのロールを含むアクセス制御ルールで、このテーブルのレコードの削除が許可されているかどうかを決定します。
{#r_ScopedGlideRecordCanDelete__table_vy2_535_jq__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 35. パラメーター]

{#r_ScopedGlideRecordCanDelete__table_vy2_535_jq} {#r_ScopedGlideRecordCanDelete__table_pdw_ftb_2r__entry__2}

| タイプ | 説明 |
|-|-|
| ブーリアン | ユーザーのロールがこのテーブルのレコードの削除を許可するかどうかを示すフラグ。 有効な値： * true:削除が許可されています * false:削除は許可されていません {#r_ScopedGlideRecordCanDelete__ul_vtm_pf2_t3b} |
[表 : 36. 返される内容]

{#r_ScopedGlideRecordCanDelete__table_pdw_ftb_2r}  
このコード例では、現在のユーザーがシステムログのインシデントテーブルのレコードを削除できるかどうかを書き込みます。

    var att = new GlideRecord('sys_attachment');
    gs.info(att.canDelete());

## スコープ付き GlideRecord - canRead() {#ariaid-title20}

アクセス制御ルール (ACL) がこのテーブルのレコードの読み取りを許可するかどうかを決定します。このメソッドは、ユーザーロール、スクリプト化された ACL、スクリプト化された条件を持つ ACL など、すべての ACL タイプを評価します。
{#r_ScopedGlideRecordCanRead__table_vy2_5335_jq__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 37. パラメーター]

{#r_ScopedGlideRecordCanRead__table_vy2_5335_jq} {#r_ScopedGlideRecordCanRead__table_zmp_ttb_2r__entry__2}

| タイプ | 説明 |
|-|-|
| ブーリアン | ユーザーのロールがこのテーブルのレコードの読み込みを許可するかどうかを示すフラグ。 有効な値： * true:読み取りは許可されています * false:読み取りは許可されていません {#r_ScopedGlideRecordCanRead__ul_vtm_pf2_t3b} |
[表 : 38. 返される内容]

{#r_ScopedGlideRecordCanRead__table_zmp_ttb_2r}  
このコード例では、現在のユーザーがインシデントテーブルのレコードをシステムログで読み取ることができるかどうかを書き込みます。

    var now_GR = new GlideRecord('incident');
    gs.info(now_GR.canRead());

## スコープ付き GlideRecord - canWrite() {#ariaid-title21}

ユーザーのロールを含むアクセス制御ルールが、このテーブルのレコードの編集を許可するかどうかを決定します。
{#r_ScopedGlideRecordCanWrite__table_vxy2_535_jq__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 39. パラメーター]

{#r_ScopedGlideRecordCanWrite__table_vxy2_535_jq} {#r_ScopedGlideRecordCanWrite__table_sq3_ttb_2r__entry__2}

| タイプ | 説明 |
|-|-|
| ブーリアン | ユーザーのロールがこのテーブルのレコードの書き込みを許可しているかどうかを示すフラグ。 有効な値： * true:書き込みが許可されています * false:書き込みは許可されていません |
[表 : 40. 返される内容]

{#r_ScopedGlideRecordCanWrite__table_sq3_ttb_2r}  
このコード例では、現在のユーザーがシステムログのインシデントテーブルにレコードを書き込むことができるかどうかを書き込みます。

    var now_GR = new GlideRecord('incident');
    gs.info(now_GR.canWrite());

## スコープ指定 GlideRecord - chooseWindow(Number firstRow, Number lastRow, Boolean forceCount) {#ariaid-title22}

後続のクエリによって返される行の範囲を設定します。

chooseWindow() で setLimit() を使用する
:   setLimit() メソッドは暗黙的に chooseWindow() メソッドを呼び出すため、クエリで chooseWindow() と併用すると予期しない結果が生じる可能性があります。

    * chooseWindow() メソッドが最初に呼び出された場合、そのレコードウィンドウは setLimit() メソッドによって上書きされます。  
      クエリで次の行を使用すると、行 1 から始まる 100 件のレコードが返されます。

          grIncident.chooseWindow(20,30);
          grIncident.setLimit(100);

    * setLimit() メソッドが最初に呼び出された場合、chooseWindow() によって設定されたウィンドウが使用され、制限が上書きされます。  
      クエリで次の行を使用すると、行 21 から始まる 10 件のレコードが返されます。

          grIncident.setLimit(5);
          grIncident.chooseWindow(20,30);

      注:  
      chooseWindow() メソッドで query() を実行すると、`COUNT(*)` クエリがトリガーされるため、多数のレコードを含むテーブルでパフォーマンスが低下する可能性があります。chooseWindow() の前に setLimit() を使用して `COUNT(*)` クエリの実行をスキップできますが、setNoCount() を使用すると同じパフォーマンス上の利点が得られます。
    {#r_ScopedGlideRecordChooseWindow_Number_Number_Boolean__ul_btb_yhw_wgc}
関連項目：

* [query()](https://servicenow-prod.fluidtopics.net/sq3Fh7Z2Yb_KuRvql0AZmg#r_ScopedGlideRecordQuery_Object_Object "addQuery() や addEncodedQuery() などのクエリメソッドで指定されたフィルターに基づいて、テーブルに対してクエリを実行します。")
* [setLimit()](https://servicenow-prod.fluidtopics.net/sq3Fh7Z2Yb_KuRvql0AZmg#r_ScopedGlideRecordSetLimit_Number "GlideRecord クエリによってフェッチされるレコード数の制限を設定します。")
* [setNoCount()](https://servicenow-prod.fluidtopics.net/sq3Fh7Z2Yb_KuRvql0AZmg#SGR-setNoCount "GlideRecord クエリによる COUNT(*) クエリの実行を停止します。")
{#r_ScopedGlideRecordChooseWindow_Number_Number_Boolean__ul_zjw_cvd_xgc}
{#r_ScopedGlideRecordChooseWindow_Number_Number_Boolean__table_vy2_525_jq__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| 最初の行 | 番号 | 範囲 (両端を含む) の開始行の 0 ベースのインデックス。(値 0 は最初の行を返します)。 |
| lastRow | 番号 | 範囲の終了行のゼロから始まるインデックス (排他的)。 たとえば、 firstRow = 1 で lastRow = 5 の場合、4 つのレコードが返されます (2-5)。 |
| forceCount | ブーリアン | オプション。行数クエリを強制するかどうかを示すフラグ。この呼び出しのほとんどの実装では、行数が実行されます。テキスト検索など、行カウントが実行されない例外ケースがあります。このフラグを設定すると、行数が確実に発生します。 有効な値： * true:行数は常にカウントされます。 * false:メソッドの通常の実行で実装されている場合に行数がカウントされます。 {#r_ScopedGlideRecordChooseWindow_Number_Number_Boolean__ul_fgp_42j_gqb} デフォルト値：false |
[表 : 41. パラメーター]

{#r_ScopedGlideRecordChooseWindow_Number_Number_Boolean__table_vy2_525_jq} {#r_ScopedGlideRecordChooseWindow_Number_Number_Boolean__table_rhg_rtb_2r__entry__2}

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 42. 返される内容]

{#r_ScopedGlideRecordChooseWindow_Number_Number_Boolean__table_rhg_rtb_2r}  
この例は、インシデント \[incident\] テーブルからレコード 3 と 4 を返す方法を示しています。

    var now_GR = new GlideRecord('incident');
    now_GR.orderBy('number');
    now_GR.chooseWindow(2, 4);
    now_GR.query();
    while (now_GR.next()) {
      gs.info(now_GR.getValue('number') + ' is within window');
    }

出力:

    *** Script: INC0000003 is within window
    *** Script: INC0000004 is within window

## スコープ付き GlideRecord - deleteMultiple() {#ariaid-title23}

クエリを満たすすべてのレコードを削除します。
この方法では添付ファイルは削除されません。

通貨フィールドのあるテーブルで deleteMultiple() は使用しないでください。常に各レコードを個別に削除してください。また、大きなテーブルを操作する場合は、このメソッドを chooseWindow() メソッドまたは setLimit() メソッドとともに使用しないでください。setLimit() メソッドは、deleteMultiple() で削除されるレコードの数を制限しません。クエリによって返されたすべてのレコードは、 setLimit() に関係なく削除されます。

glide.db.forced.chunk.thresholdシステムプロパティは、チャンクレコードを強制的に削除および更新するしきい値を設定します。チャンクは、巨大なテーブルでプライマリキー以外の削除によってレプリケーションの問題が発生するのを防ぐのに役立ちます。詳細については、「[Available system properties](https://www.servicenow.com/docs/access?context=r_AvailableSystemProperties&version=australia&pubname=australia-platform-administration&ft:locale=en-US)」を参照してください。
{#r_ScopedGlideRecordDeleteMultiple__table_vy2_51_jq__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 43. パラメーター]

{#r_ScopedGlideRecordDeleteMultiple__table_vy2_51_jq} {#r_ScopedGlideRecordDeleteMultiple__table_fpr_qtb_2r__entry__2}

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 44. 返される内容]

{#r_ScopedGlideRecordDeleteMultiple__table_fpr_qtb_2r}  
この例では、インシデントテーブルからすべての非アクティブなレコードを削除する方法を示します。

    var now_GR = new GlideRecord('incident');
    now_GR.addQuery('active','false');
    now_GR.query();
    now_GR.deleteMultiple();

## スコープ対象 GlideRecord - deleteRecord() {#ariaid-title24}

現在のレコードを削除します。
{#r_ScopedGlideRecordDeleteRecord__table_vxy2_535_jq__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 45. パラメーター]

{#r_ScopedGlideRecordDeleteRecord__table_vxy2_535_jq} {#r_ScopedGlideRecordDeleteRecord__table_rrm_4tb_2r__entry__2}

| タイプ | 説明 |
|-|-|
| ブーリアン | レコードが正常に削除されたかどうかを示すフラグ。 有効な値： * true:レコードが削除されました。 * false:削除するレコードが見つかりませんでした。 {#r_ScopedGlideRecordDeleteRecord__ul_hkn_5bj_s3b} |
[表 : 46. 返される内容]

{#r_ScopedGlideRecordDeleteRecord__table_rrm_4tb_2r}  
この例では、指定されたレコードをインシデントテーブルから削除する方法を示します。

    var now_GR = new GlideRecord('incident');
    //to delete one record
    if (now_GR.get('99ebb4156fa831005be8883e6b3ee4b9'))
        now_GR.deleteRecord();

この例では、レコードが挿入された直後にインシデントテーブルから削除する方法を示します。インシデント GlideRecord は、削除する前に挿入後に再ロードする必要があります。

    var grTicket = new GlideRecord('incident');
    grTicket.initialize();
    grTicket.short_description = 'Example ticket';
    grTicket.work_notes = 'An update about the ticket';
    var ins_sys_id = grTicket.insert(); // Insert the record
    grTicket.get(ins_sys_id); // Reload the inserted record
    gs.info(grTicket.deleteRecord()); // Delete the record

出力:

    true

## スコープ付き GlideRecord - disableSysIdInOptimization() {#ariaid-title25}

`grIncident.addQuery('sys_id', 'IN', listOf200SysIds)` などの多数のsys_idsを渡したときに、追加のデータベースクエリが実行されないようにするデフォルトの最適化を無効にします。
このメソッドは、呼び出された GlideRecord にのみ影響します。すべての GlideRecord のsys_id制限の最適化を変更するには、 glide.db.first_pass_sys_id_list_size.max システムプロパティの値を調整します (デフォルトは 100)。

このメソッドを呼び出すか、 glide.db.first_pass_sys_id_list_size.max システムプロパティを調整して、 glide.db.first_pass_sys_id_list_size.max で定義したよりも多くのsys_idエントリを含むリストを渡すと、 GlideRecord.getRowCount() からの戻り値が正しくない可能性があります。
{#SGR-disableSysIdInOptimization__table_ilp_2cg_zcc__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 47. パラメーター]

{#SGR-disableSysIdInOptimization__table_ilp_2cg_zcc} {#SGR-disableSysIdInOptimization__table_jlp_2cg_zcc__entry__2}

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 48. 返される内容]

{#SGR-disableSysIdInOptimization__table_jlp_2cg_zcc}  
次のコード例は、 disableSysIdInOptimiation() メソッドを使用して、200 個のエントリを含むインシデントsys_idリストを渡すときにsys_id制限の最適化を無効にする方法を示しています。

    var listOf200SysIds = [ ... ]; // 200 comma separated sys_ids
    var grIncident = new GlideRecord('incident');
    grIncident.addQuery('sys_id', 'IN', listOf200SysIds);
    grIncident.disableSysIdInOptimization(); // Rowcount could be incorrect without this method call
    grIncident.query();
    if (grIncident.next())
        gs.info("Rowcount: " + grIncident.getRowCount());

出力:

    Rowcount: 200

## スコープ対象 GlideRecord - get(オブジェクト名, オブジェクト値) {#ariaid-title26}

現在の GlideRecord オブジェクトの指定されたレコードを返します。
このメソッドは、1 つまたは 2 つのパラメーターを受け取ります。単一のパラメーターのみが渡された場合、メソッドはそれが目的のレコードのsys_idであると見なします。見つからない場合は、値と表示値の照合を試みます。2 つのパラメーターが渡された場合、最初のパラメーターは検索する GlideRecord 内の列の名前です。2 つ目は検索する値です。複数のレコードが見つかった場合は、 next() を使用して追加のレコードにアクセスします。
{#r_ScopedGlideRecordGet_Object_Object__table_vy2_525_jq__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| name | オブジェクト | オプション。指定された value パラメーターを検索するためにインスタンス化された GlideRecord 列の名前。単一のパラメーターのみが渡された場合、メソッドはこのパラメーターがsys_id値または表示値であると想定します。 |
| value | オブジェクト | 一致する値。計算されたフィールドの場合、レコード内のフィールドのスクリプト化されたデフォルト値に対して計算を実行するのではなく、値がそのまま照合されます。 |
[表 : 49. パラメーター]

{#r_ScopedGlideRecordGet_Object_Object__table_vy2_525_jq} {#r_ScopedGlideRecordGet_Object_Object__table_qpt_3f5_jq__entry__2}

| タイプ | 説明 |
|-|-|
| ブーリアン | 要求されたレコードが見つかったかどうかを示します。 * true:レコードが見つかりました * false:レコードが見つかりませんでした {#r_ScopedGlideRecordGet_Object_Object__ul_ngs_clw_qfb} |
[表 : 50. 返される内容]

{#r_ScopedGlideRecordGet_Object_Object__table_qpt_3f5_jq}  
この例では、sys_idを渡してインシデントレコードを取得する方法を示します。

    var grIncident = new GlideRecord('incident');
    var returnValue = grIncident.get('99ebb4156fa831005be8883e6b3ee4b9');
    gs.info(returnValue); // logs true or false
    gs.info(grIncident.short_description); // logs Incident Short description

この例では、検索するフィールド (caller_id.name) とそのフィールド内で照合する値を渡して、インシデントレコードを取得する方法を示します。

    var grIncident = new GlideRecord('incident');
    var returnValue = grIncident.get('caller_id.name','Sylivia Wayland');
    gs.info(returnValue); // logs true or false
    gs.info(grIncident.getValue('number')); // logs Incident Number

## スコープ対象 GlideRecord:getAttribute(文字列 fieldName) {#ariaid-title27}

指定されたフィールドの辞書属性を返します。
{#SGR-getAttribute_S__table_xqs_wfq_fz__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| fieldName | 文字列 | 辞書属性を返すフィールド名 |
[表 : 51. パラメーター]

{#SGR-getAttribute_S__table_xqs_wfq_fz} {#SGR-getAttribute_S__table_yqs_wfq_fz__entry__2}

| タイプ | 説明 |
|-|-|
| 文字列 | ディクショナリー属性 |
[表 : 52. 返される内容]

{#SGR-getAttribute_S__table_yqs_wfq_fz}  

    doit();
    function doit() {
      var now_GR = new GlideRecord('sys_user');
      now_GR.query("user_name","admin");
      if (now_GR.next()) {
        gs.info("we got one");
        gs.info(now_GR.location.getAttribute("tree_picker"));
      }
    }

## スコープ付き GlideRecord - getClassDisplayValue() {#ariaid-title28}

現在のテーブルのラベルを返します。
{#SGR-getClassDisplayValue__table_ltd_ydr_dt__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 53. パラメーター]

{#SGR-getClassDisplayValue__table_ltd_ydr_dt} {#SGR-getClassDisplayValue__table_mtd_ydr_dt__entry__2}

| タイプ | 説明 |
|-|-|
| 文字列 | テーブルを識別するラベル。 |
[表 : 54. 返される内容]

{#SGR-getClassDisplayValue__table_mtd_ydr_dt}  
この例では、渡されたテーブルのラベルを出力します。

    // Display the incident table label
    var now_GR = new GlideRecord("incident");
    var value = now_GR.getClassDisplayValue();
    gs.info("The table label is " + value + ".");

出力:

    The table label is Incident.

## スコープ指定 GlideRecord - getDisplayValue() {#ariaid-title29}

現在のレコードの表示値を取得します。
表示値は、データベースの実際の値とユーザーまたはシステムの設定と設定に基づいて操作されます。  
返される表示値は、フィールドタイプによって異なります。

* 選択肢フィールド:データベース値は数値でもかまいませんが、表示値はよりわかりやすいものになります。
* 日付フィールド:データベース値は UTC 形式で、表示値はユーザーのタイムゾーンに基づいています。
* 暗号化テキスト:データベース値は暗号化されますが、表示される値はユーザーの暗号化コンテキストに基づいて暗号化されません。
* 参照フィールド:データベース値はsys_idですが、表示値は参照レコードの表示フィールドです。
{#r_ScopedGlideRecordGetDisplayValue__ul_ok1_cbv_hsb}
{#r_ScopedGlideRecordGetDisplayValue__table_dgk_dtb_2r__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 55. パラメーター]

{#r_ScopedGlideRecordGetDisplayValue__table_dgk_dtb_2r} {#r_ScopedGlideRecordGetDisplayValue__table_qpt_3f5_jq__entry__2}

| タイプ | 説明 |
|-|-|
| 文字列 | 現在のレコードの表示値。 |
[表 : 56. 返される内容]

{#r_ScopedGlideRecordGetDisplayValue__table_qpt_3f5_jq}  
この例では、指定されたインシデントレコードの表示値をログに書き込みます。

    var now_GR = new GlideRecord('incident');
    now_GR.get('sys_id','<sys_id>');
    gs.info(now_GR.getDisplayValue());

出力:

    INC0000050

## スコープ付き GlideRecord - getED() {#ariaid-title30}

要素の記述子を返します。
{#SGR-getED__table_xvc_xjq_fz__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 57. パラメーター]

{#SGR-getED__table_xvc_xjq_fz} {#SGR-getED__table_qpq_p2r_dt__entry__2}

| タイプ | 説明 |
|-|-|
| GlideElementDescriptor | 要素の記述子。 |
[表 : 58. 返される内容]

{#SGR-getED__table_qpq_p2r_dt}  
この例では、インシデント GlideRecord の名前フィールドを取得する方法を示しています。

    var grInc = new GlideRecord('incident');
    grInc.get('sys_id','ef43c6d40a0a0b5700c77f9bf387afe3');

    var field = grInc.getElement('priority');
    var ed = field.getED();

    var isEdge = ed.getLabel();
    gs.info("Label is - " + isEdge);

出力:

    Label is - Priority

## スコープ対象 GlideRecord:getElement(文字列 fieldName) {#ariaid-title31}

指定されたフィールドの GlideElement オブジェクトを取得します。
このメソッドによって返される値は、完全な GlideElement オブジェクトです。結果は、フィールド値をドット連結するのと同じです。たとえば、 `now_GR.getElement('short_description')` は `nowGR.short_description` と同じ結果を提供します。

ほとんどの場合、ドット連結を使用してレコードから値を取得しないでください。ドット連結では、フィールド値ではなくオブジェクト全体が取得されます。オブジェクトを取得すると、より多くのストレージが使用され、アレイまたは サービスポータルで使用すると、望ましくない結果が生じる可能性があります。

オブジェクト全体を取得する代わりに、次のいずれかの方法を使用してフィールド値をコピーできます。  
* [getValue()](https://servicenow-prod.fluidtopics.net/sq3Fh7Z2Yb_KuRvql0AZmg#r_ScopedGlideRecordGetValue_String "フィールド内の基礎となる要素の文字列値を取得します。")
* [getDisplayValue()](https://servicenow-prod.fluidtopics.net/sq3Fh7Z2Yb_KuRvql0AZmg#r_ScopedGlideRecordGetDisplayValue "現在のレコードの表示値を取得します。")
{#r_ScopedGlideRecordGetElement_String__ul_lgx_d2d_zpb}  
GlideElement オブジェクトをドット連結する必要がある場合は、 toString() メソッドを使用して値を取得します。たとえば、別の参照フィールドを設定するために、現在の発信者のマネージャー sys_idが必要な場合があります。次の例は、オブジェクト全体ではなく文字列値を取得する方法を示しています。

    var mgr = current.caller_id.manager.toString();

関連項目：

* [GlideElement -- toString()](https://servicenow-prod.fluidtopics.net/QV~Sg~onNeudOjbVEFHK0Q#r_ScopedGlideElementToString "GlideRecord フィールドの値を文字列に変換します。")
* [getElements()](https://servicenow-prod.fluidtopics.net/sq3Fh7Z2Yb_KuRvql0AZmg#SGR-getElements "GlideElement オブジェクトのアレイを返します。各オブジェクトは、現在の GlideRecord のフィールドを記述します。")
{#r_ScopedGlideRecordGetElement_String__ul_mmb_3h3_npb}
{#r_ScopedGlideRecordGetElement_String__id_xzl_rpn_mpb__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| fieldName | 文字列 | GlideElement オブジェクトを返す列名。 |
[表 : 59. パラメーター]

{#r_ScopedGlideRecordGetElement_String__id_xzl_rpn_mpb} {#r_ScopedGlideRecordGetElement_String__table_qpt_3f5_jq__entry__2}

| タイプ | 説明 |
|-|-|
| GlideElement | 現在のレコードの指定された列の GlideElement。各オブジェクトは、現在の GlideRecord のフィールドを記述します。 |
[表 : 60. 返される内容]

{#r_ScopedGlideRecordGetElement_String__table_qpt_3f5_jq}  
次の例は、\[ 簡単な説明 \] フィールドに詳細を含む新しいインシデントレコードを追加する方法を示しています。

    var elementName = 'short_description'; 
    var now_GR = new GlideRecord('incident'); 
    now_GR.newRecord(); 
    now_GR.setValue(elementName, "My DB is not working");
    now_GR.insert();
     
    var sdesc = now_GR.getElement('short_description');
    gs.info(sdesc.getValue());

出力:

    My DB is not working

## スコープ付き GlideRecord - getElements() {#ariaid-title32}

GlideElement オブジェクトのアレイを返します。各オブジェクトは、現在の GlideRecord のフィールドを記述します。
GlideElement オブジェクトをドット連結する必要がある場合は、 toString() メソッドを使用して値を取得します。たとえば、別の参照フィールドを設定するために、現在の発信者のマネージャー sys_idが必要な場合があります。次の例は、オブジェクト全体ではなく文字列値を取得する方法を示しています。

    var mgr = current.caller_id.manager.toString();

関連項目：

* [GlideElement -- toString()](https://servicenow-prod.fluidtopics.net/QV~Sg~onNeudOjbVEFHK0Q#r_ScopedGlideElementToString "GlideRecord フィールドの値を文字列に変換します。")
* [getElement()](https://servicenow-prod.fluidtopics.net/sq3Fh7Z2Yb_KuRvql0AZmg#r_ScopedGlideRecordGetElement_String "指定されたフィールドの GlideElement オブジェクトを取得します。")
{#SGR-getElements__ul_mmb_3h3_npb}
{#SGR-getElements__table_qcv_tfp_pnb__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 61. パラメーター]

{#SGR-getElements__table_qcv_tfp_pnb} {#SGR-getElements__table_rcv_tfp_pnb__entry__2}

| タイプ | 説明 |
|-|-|
| アレイ | [GlideElement](https://servicenow-prod.fluidtopics.net/QV~Sg~onNeudOjbVEFHK0Q#c_GlideElementScopedAPI "スコープ対象の GlideElement API には、フィールドとその値を扱うための便利なスクリプトメソッドが多数用意されています。スコープ付き GlideElement メソッドは、現在の Glide レコードのフィールドで使用できます。") オブジェクトのアレイ。各オブジェクトは、現在の GlideRecord のフィールドを記述します。 |
[表 : 62. 返される内容]

{#SGR-getElements__table_rcv_tfp_pnb}  
次の例では、質問 \[question\] テーブルで最近作成された 5 件のレコードの \[名前\] フィールドの値を表示します。

    var now_GR = new GlideRecord('question');
    var elementArr = now_GR.getElements();
    now_GR.orderByDesc('sys_created_on');
    now_GR.setLimit(5);
    now_GR.query();

    while (now_GR.next()){
      var qNames = now_GR.name.toString();
      elementArr.push(qNames);
      gs.info(qNames);
    }

出力:

    delivery_time_var
    delivery_time
    sequence
    priority
    assigned_group

## スコープ付き GlideRecord - getEncodedQuery() {#ariaid-title33}

現在の結果セットのクエリ条件をエンコードされたクエリ文字列として取得します。
{#r_ScopedGlideRecordGetEncodedQuery__table_pyd_dtb_2r__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 63. パラメーター]

{#r_ScopedGlideRecordGetEncodedQuery__table_pyd_dtb_2r} {#r_ScopedGlideRecordGetEncodedQuery__table_qpt_3f5_jq__entry__2}

| タイプ | 説明 |
|-|-|
| 文字列 | [エンコードされたクエリ文字列](https://www.servicenow.com/docs/access?context=c_EncodedQueryStrings&version=australia&pubname=australia-platform-user-interface&ft:locale=en-US)。 |
[表 : 64. 返される内容]

{#r_ScopedGlideRecordGetEncodedQuery__table_qpt_3f5_jq}  

    var now_GR = new GlideRecord('incident'); 
    now_GR.addQuery('active', true);
    now_GR.addQuery('priority', 1); 
    now_GR.query(); 
    var encodedQuery = now_GR.getEncodedQuery(); 
    gs.info(encodedQuery);

出力:

    active=true^priority=1

## スコープ付き GlideRecord - getLabel() {#ariaid-title34}

フィールドのラベルを返します。
{#SGR-getLabel__table_edc_vkq_fz__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 65. パラメーター]

{#SGR-getLabel__table_edc_vkq_fz} {#SGR-getLabel__table_fdc_vkq_fz__entry__2}

| タイプ | 説明 |
|-|-|
| 文字列 | フィールドのラベル |
[表 : 66. 返される内容]

{#SGR-getLabel__table_fdc_vkq_fz}  

    template.print("Summary of Requested items:\n");  
    var now_GR = new GlideRecord("sc_req_item");
    now_GR.addQuery("request", current.sysapproval);
    now_GR.query();
    while(now_GR.next()) {
    var nicePrice = now_GR.price.toString();
      if (nicePrice != '') {
        nicePrice = parseFloat(nicePrice);
        nicePrice = nicePrice.toFixed(2);
      }
      template.print(now_GR.number + ":  " + now_GR.quantity + " X " + now_GR.cat_item.getDisplayValue() 
        + " at $" + nicePrice + " each \n");
      template.print("    Options:\n");
      for (key in now_GR.variables) {
      var now_V = now_GR.variables[key];
        if(now_V.getGlideObject().getQuestion().getLabel() != '') {
          template.space(4);
          template.print('     ' +  now_V.getGlideObject().getQuestion().getLabel() + " = " 
            + now_V.getDisplayValue() + "\n");  
        }
      }
    }

## スコープ付き GlideRecord - getLastErrorMessage() {#ariaid-title35}

前回のエラーメッセージを取得します。最後のエラーメッセージがない場合は、null が返されます。
{#r_ScopedGlideRecordGetLastErrorMessage__table_cfw_ctb_2r__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 67. パラメーター]

{#r_ScopedGlideRecordGetLastErrorMessage__table_cfw_ctb_2r} {#r_ScopedGlideRecordGetLastErrorMessage__table_qpt_3f5_jq__entry__2}

| タイプ | 説明 |
|-|-|
| 文字列 | 文字列としての最後のエラーメッセージ。 |
[表 : 68. 返される内容]

{#r_ScopedGlideRecordGetLastErrorMessage__table_qpt_3f5_jq}  

    // Setup a data policy where short_description field in incident is mandatory
    var now_GR = new GlideRecord('incident');
    now_GR.insert(); // insert without data in mandatory field
    var errormessage = now_GR.getLastErrorMessage(); 
    gs.info(errormessage);

出力:

    Data Policy Exception: Short description is mandatory

## スコープ対象 GlideRecord:getLink(ブール、noStack) {#ariaid-title36}

現在のレコードへのリンクを取得します。
{#r_ScopedGlideRecordGetLink_Boolean__table_vy2_525_jq__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| スタックなし | ブーリアン | 返されたリンクにsysparm_stackパラメーターを追加するかどうかを示すフラグ。このパラメーターは、現在のリンクを閉じた後にアクセスするページを指定します。 有効な値： * true:sysparm_stackパラメーターを添付しません。 * false:sysparm_stackパラメーターを付加します。 {#r_ScopedGlideRecordGetLink_Boolean__ul_fsf_wpz_1nb}true の場合、sysparm_stack パラメーターはリンクに追加されません。 |
[表 : 69. パラメーター]

{#r_ScopedGlideRecordGetLink_Boolean__table_vy2_525_jq} {#r_ScopedGlideRecordGetLink_Boolean__table_qpt_3f5_jq__entry__2}

| タイプ | 説明 |
|-|-|
| 文字列 | 現在のレコードへのリンク。 |
[表 : 70. 返される内容]

{#r_ScopedGlideRecordGetLink_Boolean__table_qpt_3f5_jq}  
この例では、優先度が「1」のすべてのインシデントレコードを照会し、サーブレット URI と現在のレコードのリンクをシステムログに書き込みます。

    var now_GR = new GlideRecord('incident');
    now_GR.addActiveQuery();
    now_GR.addQuery("priority", 1);
    now_GR.query();
    now_GR.next();
    gs.info(gs.getProperty('glide.servlet.uri') + now_GR.getLink(false));

出力:

    https://instance.service-now.com/incident.do?sys_id=46e2fee9a9fe19810049b49dee0daf58&sysparm_stack=incident_list.do?sysparm_query=active=true

## スコープ付き GlideRecord - getRecordClassName() {#ariaid-title37}

現在のレコードのクラス名を取得します。
{#r_ScopedGlideRecordGetRecordClassName__table_srq_ctb_2r__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 71. パラメーター]

{#r_ScopedGlideRecordGetRecordClassName__table_srq_ctb_2r} {#r_ScopedGlideRecordGetRecordClassName__table_qpt_3f5_jq__entry__2}

| タイプ | 説明 |
|-|-|
| 文字列 | クラス名。 |
[表 : 72. 返される内容]

{#r_ScopedGlideRecordGetRecordClassName__table_qpt_3f5_jq}  

    var now_GR = new GlideRecord('incident'); 
    var recordClassName = now_GR.getRecordClassName(); 
    gs.info(recordClassName);

出力:

    incident

## スコープ指定 GlideRecord - getRowCount() {#ariaid-title38}

現在の GlideRecord オブジェクトの行 (レコード) 数を取得します。
注:  
GlideRecord は一致するレコードを返すため、レコード数のみが必要な場合は GlideAggregate ほど効率的ではない可能性があります。レコード数のみが必要で、一致するレコードを反復処理しない場合は、 GlideAggregate を使用します。  

GlideRecord または GlideAggregate のレコード数を取得しています
:   GlideRecord getRowCount() API と [GlideAggregate getAggregate()](https://servicenow-prod.fluidtopics.net/YH3MF48VxvVzg8O89GnOiw#c_GlideAggregateScopedAPI "GlideAggregate API を使用すると、データベース集計クエリを作成できます。") API は、同様の情報を提供します。次の基準を使用して、どのオプションが最適かを判断します。

    * GlideRecord getRowCount() メソッドは、レコード自体とともにクエリから返されたレコードの数を示します。レコードに対してアクションを実行するためにセットを反復処理する前後の結果セット内のレコード数が必要な場合は、このメソッドを使用します。
    * GlideAggregate getAggregate() メソッドは、実際のレコードを除いて、クエリに一致するレコード数のみを取得します。クエリを発行する前に、 GlideAggregate オブジェクトで集計を設定する必要があります。
    {#r_ScopedGlideRecordGetRowCount__ul_wdq_fmn_nyb}
:   GlideRecord getRowCount() でレコードとカウントを取得する  
    次の例は、 GlideRecord getRowCount() を使用してアクティブなインシデントの合計数を取得する方法を示しています。

        var incident = new GlideRecord("incident");
        incident.addQuery("active", true);
        incident.query();
         
        gs.info("*** Total number of active incidents: {0}", incident.getRowCount());

:   GlideAggregate getAggregate() でレコード数のみを取得する  
    次の例は、レコード数のみを返す方法を示しています。このメソッドでは一致するレコードを使用しないため、集計クエリを使用してカウントのみを返す方がはるかに効率的です。

        var incident = new GlideAggregate("incident");
        incident.addQuery("active", true);
        incident.addAggregate("COUNT");
        incident.query();
         
        if (incident.next())
            gs.info("*** Total number of active incidents: {0}", incident.getAggregate("COUNT"));

:   ソリューションに最適なオプションの決定

レコード数のみを取得する場合は、 GlideAggregate getAggregate() メソッドが最適なオプションです。個々のレコードを使用して結果の数を取得するには、 GlideRecord getRowCount() を使用します。これは単一のクエリで提供されるためです。  
注:  
`grIncident.addQuery('sys_id', 'IN', listOf200SysIds)` など、100 を超えるsys_id値で `sys_id IN` を使用する場合に getRowCount() メソッドを使用する場合は、次のいずれかを実行する必要があります。

* GlideRecord で disableSysIdInOptimization() メソッドを呼び出します。
* または、 glide.db.first_pass_sys_id_list_size.max システムプロパティをリスト内のsys_ids数よりも大きい値に調整します。

{#r_ScopedGlideRecordGetRowCount__ul_j1v_ztm_zcc} さらに、getRowCount() メソッドを呼び出す前に、必ず .next() メソッドを呼び出してください。
{#r_ScopedGlideRecordGetRowCount__table_dxv_hkr_dt__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 73. パラメーター]

{#r_ScopedGlideRecordGetRowCount__table_dxv_hkr_dt} {#r_ScopedGlideRecordGetRowCount__table_exv_hkr_dt__entry__2}

| タイプ | 説明 |
|-|-|
| 番号 | 現在の GlideRecord の行数。 |
[表 : 74. 返される内容]

{#r_ScopedGlideRecordGetRowCount__table_exv_hkr_dt}  
次の例は、インシデント \[incident\] テーブルからインシデント数を取得する方法を示しています。

    var numberOfIncidents = new GlideRecord('incident');
    numberOfIncidents.query();
    gs.info("Records in incident table: " + numberOfIncidents.getRowCount());

出力:

    Records in incident table: 6920

次のコード例は、 disableSysIdInOptimiation() メソッドを使用して、200 個のエントリを含むインシデントsys_idリストを渡すときにsys_id制限の最適化を無効にする方法を示しています。

    var listOf200SysIds = [ ... ]; // 200 comma separated sys_ids
    var grIncident = new GlideRecord('incident');
    grIncident.addQuery('sys_id', 'IN', listOf200SysIds);
    grIncident.disableSysIdInOptimization(); // Rowcount could be incorrect without this method call
    grIncident.query();
    if (grIncident.next())
        gs.info("Rowcount: " + grIncident.getRowCount());

出力:

    Rowcount: 200

## スコープ付き GlideRecord - getTableName() {#ariaid-title39}

GlideRecord に関連付けられているテーブルの名前を取得します。
{#r_ScopedGlideRecordGetTableName__table_z5p_btb_2r__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 75. パラメーター]

{#r_ScopedGlideRecordGetTableName__table_z5p_btb_2r} {#r_ScopedGlideRecordGetTableName__table_qpt_3f5_jq__entry__2}

| タイプ | 説明 |
|-|-|
| 文字列 | テーブル名 |
[表 : 76. 返される内容]

{#r_ScopedGlideRecordGetTableName__table_qpt_3f5_jq}  

    var now_GR = new GlideRecord('incident');
    gs.info(now_GR.getTableName());

## スコープ付き GlideRecord - getUniqueValue() {#ariaid-title40}

レコードのプライマリキーを取得します。特に指定しない限り、通常はsys_idキーになります。
{#r_ScopedGlideRecordGetUniqueValue__table_t5k_btb_2r__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 77. パラメーター]

{#r_ScopedGlideRecordGetUniqueValue__table_t5k_btb_2r} {#r_ScopedGlideRecordGetUniqueValue__table_qpt_3f5_jq__entry__2}

| タイプ | 説明 |
|-|-|
| 文字列 | 文字列としての一意のプライマリキー。キーが null の場合は null。 |
[表 : 78. 返される内容]

{#r_ScopedGlideRecordGetUniqueValue__table_qpt_3f5_jq}  

    var now_GR = new GlideRecord('kb_knowledge');
    now_GR.query();
    now_GR.next();
    var uniqueid = now_GR.getUniqueValue();
    gs.info(uniqueid);

## スコープ対象 GlideRecord:getValue(文字列名) {#ariaid-title41}

フィールド内の基礎となる要素の文字列値を取得します。
注:  
フィールド暗号化エンタープライズ プラグインが有効になっていて、インスタンスがキーにアクセスできる場合、このメソッドは暗号化フィールドからクリアーテキスト値を返します。インスタンスがキーにアクセスできない場合、このメソッドは暗号化された値を返します。詳細については、「 [プラットフォーム暗号化」](https://www.servicenow.com/docs/access?context=encryption-landing&version=australia&pubname=australia-platform-security&ft:locale=en-US)を参照してください。
{#r_ScopedGlideRecordGetValue_String__table_vy2_525_jq__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| name | 文字列 | 値を取得するフィールドの名前。 |
[表 : 79. パラメーター]

{#r_ScopedGlideRecordGetValue_String__table_vy2_525_jq} {#r_ScopedGlideRecordGetValue_String__table_qpt_3f5_jq__entry__2}

| タイプ | 説明 |
|-|-|
| 文字列 | 基になる要素の文字列値。フィールドが空の場合、またはフィールドが存在しない場合は null を返します。ブール値は、false と true ではなく <kbd class="ph userinput">「0」</kbd> と <kbd class="ph userinput">「1」</kbd> の文字列値として返されます。 |
[表 : 80. 返される内容]

{#r_ScopedGlideRecordGetValue_String__table_qpt_3f5_jq}  

    var now_GR = new GlideRecord('incident'); 
    now_GR.orderBy('number');
    now_GR.query('active','true'); 
    now_GR.next(); 
    gs.info(now_GR.getValue('number'));

出力:

    INC0000002

## スコープ対象 GlideRecord:GlideRecord(文字列 tableName) {#ariaid-title42}

指定されたテーブルの GlideRecord クラスのインスタンスを作成します。
{#r_ScopedGlideRecordGlideRecord_S__table_hlc_w5j_3v__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| tableName | 文字列 | 使用するテーブル。 |
[表 : 81. パラメーター]

{#r_ScopedGlideRecordGlideRecord_S__table_hlc_w5j_3v}  

    var now_GR = new GlideRecord('incident');

## スコープ対象 GlideRecord - hasNext() {#ariaid-title43}

GlideRecord オブジェクトにさらにレコードがあるかどうかを判定します。
{#r_ScopedGlideRecordHasNext__table_nmb_btb_2r__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 82. パラメーター]

{#r_ScopedGlideRecordHasNext__table_nmb_btb_2r} {#r_ScopedGlideRecordHasNext__table_qpt_3f5_jq__entry__2}

| タイプ | 説明 |
|-|-|
| ブーリアン | クエリ結果セットにより多くのレコードがある場合は True。 |
[表 : 83. 返される内容]

{#r_ScopedGlideRecordHasNext__table_qpt_3f5_jq}  

    var rec = new GlideRecord('incident'); 
    rec.query(); 
    if (rec.hasNext()) { 
      gs.info("Table is not empty"); 
    }

## スコープ付き GlideRecord - insert() {#ariaid-title44}

現在のレコードに設定されているフィールド値を使用して、新しいレコードを挿入します。
{#r_ScopedGlideRecordInsert__table_sks_1tb_2r__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 84. パラメーター]

{#r_ScopedGlideRecordInsert__table_sks_1tb_2r} {#r_ScopedGlideRecordInsert__table_qpt_3f5_jq__entry__2}

| タイプ | 説明 |
|-|-|
| 文字列 | 挿入されたレコードのSys_id。挿入されていない場合は null。 |
[表 : 85. 返される内容]

{#r_ScopedGlideRecordInsert__table_qpt_3f5_jq}  

    var now_GR = new GlideRecord('incident');
    now_GR.initialize();
    now_GR.setValue('name', 'New Incident');
    now_GR.setValue('description', 'Incident description');
    now_GR.insert();

出力:

    138fb4111b4d4d907cf30d03cd4bcb57

## スコープ付き GlideRecord - initialize() {#ariaid-title45}

挿入前の入力に適した空のレコードを作成します。
{#r_ScopedGlideRecordInitialize__table_onw_1tb_2r__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 86. パラメーター]

{#r_ScopedGlideRecordInitialize__table_onw_1tb_2r} {#r_ScopedGlideRecordInitialize__table_gnr_mtb_2r__entry__2}

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 87. 返される内容]

{#r_ScopedGlideRecordInitialize__table_gnr_mtb_2r}  

    var grIncident = new GlideRecord('incident');
    grIncident.initialize();
    grIncident.setValue('short_description', 'New Incident');
    grIncident.setValue('description', 'Incident description');
    grIncident.insert();

## スコープ対象 GlideRecord:isActionAborted() {#ariaid-title46}

現在のデータベースアクションを中止するかどうかを確認します。
isActionAborted() は、新しいスレッド用に next() メソッドによって初期化されます (false に設定)。
{#r_ScopedGlideRecordIsActionAborted__table_gqg_mvt_vr__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 88. パラメーター]

{#r_ScopedGlideRecordIsActionAborted__table_gqg_mvt_vr} {#r_ScopedGlideRecordIsActionAborted__table_hqg_mvt_vr__entry__2}

| タイプ | 説明 |
|-|-|
| ブーリアン | 現在のデータベースアクションを中止するかどうかを示すフラグ。 有効な値： * true:現在のデータベースアクションが中断されます。 * false:現在のデータベースアクションは中断されません。 {#r_ScopedGlideRecordIsActionAborted__ul_l5r_kjq_kpb} |
[表 : 89. 返される内容]

{#r_ScopedGlideRecordIsActionAborted__table_hqg_mvt_vr}  

    var now_GR = new GlideRecord('incident');
     
    gs.info(now_GR.isActionAborted());

出力:

    false

## スコープ付き GlideRecord:isEncodedQueryValid(文字列クエリ) {#ariaid-title47}

指定されたエンコードされたクエリが有効かどうかを確認します。
指定されたエンコードされたクエリが有効な場合、 [addEncodedQuery()](https://servicenow-prod.fluidtopics.net/sq3Fh7Z2Yb_KuRvql0AZmg#r_ScopedGlideRecordAddEncodedQuery_String "設定されている可能性がある他のクエリにエンコードされたクエリを追加します。") を呼び出した場合と同様に、クエリが適用されます。指定されたエンコードクエリが無効な場合は、エンコードクエリとして `sys_idNotValidnull` が追加されます。  
注:  
このメソッドは廃止され、クエリを実行しない [isValidEncodedQuery()](https://servicenow-prod.fluidtopics.net/sq3Fh7Z2Yb_KuRvql0AZmg#SGR-isValidEncodedQuery_S "エンコードされたクエリの構文が正しいかどうかを確認します。") メソッドに置き換えられました。
{#SGR-isEncodedQueryValid_S__table_nbb_bv4_2gb__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| query | 文字列 | 検証するエンコードされたクエリ。「 [エンコードされたクエリ文字列」](https://www.servicenow.com/docs/access?context=c_EncodedQueryStrings&version=australia&pubname=australia-platform-user-interface&ft:locale=en-US)を参照してください。 |
[表 : 90. パラメーター]

{#SGR-isEncodedQueryValid_S__table_nbb_bv4_2gb} {#SGR-isEncodedQueryValid_S__table_obb_bv4_2gb__entry__2}

| タイプ | 説明 |
|-|-|
| ブーリアン | 指定されたエンコードクエリが有効かどうかを示すフラグ。 * true:渡されたエンコードクエリは有効です。 * false:渡されたエンコードクエリは有効ではありません。 |
[表 : 91. 返される内容]

{#SGR-isEncodedQueryValid_S__table_obb_bv4_2gb}  
このコード例は、エンコードされたクエリを検証し、クエリが有効な場合にロジックを実行する方法を示しています。

    var now_GR = new GlideRecord('incident_sla');
    var isValidQuery = now_GR.isEncodedQueryValid('inc_impact=1^taskslatable_active=true');
    if (isValidQuery) {
      now_GR.query();
      .
      .
      .
    }

## スコープ対象 GlideRecord:isNewRecord() {#ariaid-title48}

現在のレコードが、まだデータベースに挿入されていない新しいレコードであるかどうかを確認します。
{#r_ScopedGlideRecordIsNewRecord__table_lhn_1tb_2r__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 92. パラメーター]

{#r_ScopedGlideRecordIsNewRecord__table_lhn_1tb_2r} {#r_ScopedGlideRecordIsNewRecord__table_qpt_3f5_jq__entry__2}

| タイプ | 説明 |
|-|-|
| ブーリアン | レコードが新規で、データベースに挿入されていない場合は True。 |
[表 : 93. 返される内容]

{#r_ScopedGlideRecordIsNewRecord__table_qpt_3f5_jq}  

    var now_GR = new GlideRecord("x_app_table"); 
    now_GR.newRecord(); // create a new record and populate it with default values
    gs.info(now_GR.isNewRecord());

## スコープ付き GlideRecord - isValid() {#ariaid-title49}

現在のテーブルが有効かどうか、またはレコードが正常に取得されたかどうかを判断します。
{#r_ScopedGlideRecordIsValid__table_ub3_1tb_2r__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 94. パラメーター]

{#r_ScopedGlideRecordIsValid__table_ub3_1tb_2r} {#r_ScopedGlideRecordIsValid__table_qpt_3f5_jq__entry__2}

| タイプ | 説明 |
|-|-|
| ブーリアン | テーブルが有効かどうか、またはレコードが正常に取得されたかどうかを示すフラグ。 可能な値： * true:テーブルが有効であるか、レコードが正常に取得されました。 * false:テーブルが無効であるか、レコードが正常に取得されませんでした。 {#r_ScopedGlideRecordIsValid__ul_rr1_3m4_pnb} |
[表 : 95. 返される内容]

{#r_ScopedGlideRecordIsValid__table_qpt_3f5_jq}  

    var comment_GR = new GlideRecord('cf_comment');
    var commentId = '99ebb4156fa831005be8883e6b3ee4b9';
    comment_GR.get(commentId);
    gs.info(comment_GR.isValid());

## スコープ付き GlideRecord:isValidEncodedQuery(文字列クエリ) {#ariaid-title50}

エンコードされたクエリの構文が正しいかどうかを確認します。
提供クエリとして空の文字列 (`""`) を渡す場合:

* 空の文字列 (`""`) はクエリが存在しないことを表し、false を返します。
* `GlideRecord.addEncodedQuery("")` を呼び出した後に `GlideRecord.query()` を呼び出すと、すべての行が返されます。クエリメソッドは、SQL SELECT ステートメントに似ています。SQL では、「SELECT \* FROM foo WHERE X」を使用すると、値 X はクエリを表します。クエリー値が指定されていない場合は、すべてのレコードが返されます (例:SELECT \* FROM foo)。
{#SGR-isValidEncodedQuery_S__ul_trc_ldy_hcc}
{#SGR-isValidEncodedQuery_S__table_urg_zqs_j5b__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| query | 文字列 | 検証するエンコードされたクエリ。「 [エンコードされたクエリ文字列」](https://www.servicenow.com/docs/access?context=c_EncodedQueryStrings&version=australia&pubname=australia-platform-user-interface&ft:locale=en-US)を参照してください。 |
[表 : 96. パラメーター]

{#SGR-isValidEncodedQuery_S__table_urg_zqs_j5b} {#SGR-isValidEncodedQuery_S__table_vrg_zqs_j5b__entry__2}

| タイプ | 説明 |
|-|-|
| ブーリアン | 指定されたエンコードクエリが有効かどうかを示すフラグ。 * true:渡されたエンコードクエリは有効です。 * false:渡されたエンコードクエリは有効ではありません。 {#SGR-isValidEncodedQuery_S__ul_xcw_xcy_hcc} |
[表 : 97. 返される内容]

{#SGR-isValidEncodedQuery_S__table_vrg_zqs_j5b}  
このコード例は、エンコードされたクエリが有効かどうかを確認する方法を示しています。

    var queryString = "priority=1^ORpriority=2";
    var now_GR = new GlideRecord('incident');
    var isValidQuery = now_GR.isValidEncodedQuery(queryString);
    if (isValidQuery) {
      now_GR.addEncodedQuery(queryString);
      now_GR.query();
      .
      .
      .
    }

## スコープ対象 GlideRecord:isValidField(String columnName) {#ariaid-title51}

指定されたフィールドが現在のテーブルで定義されているかどうかを決定します。
{#r_ScopedGlideRecordIsValidField__table_vy2_525_jq__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| columnName | 文字列 | フィールドの名前。 |
[表 : 98. パラメーター]

{#r_ScopedGlideRecordIsValidField__table_vy2_525_jq} {#r_ScopedGlideRecordIsValidField__table_qpt_3f5_jq__entry__2}

| タイプ | 説明 |
|-|-|
| ブーリアン | フィールドが現在のテーブルに定義されている場合は True。 |
[表 : 99. 返される内容]

{#r_ScopedGlideRecordIsValidField__table_qpt_3f5_jq}  

    var now_GR = new GlideRecord('incident'); 
    now_GR.initialize(); 
    gs.info(now_GR.isValidField("short_description"));

## スコープ対象 GlideRecord - isValidRecord() {#ariaid-title52}

レコードがクエリー/レコード取得操作によって実際に返されたかどうかを判定します。
{#r_ScopedGlideRecordIsValidRecord__table_o1w_zsb_2r__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 100. パラメーター]

{#r_ScopedGlideRecordIsValidRecord__table_o1w_zsb_2r} {#r_ScopedGlideRecordIsValidRecord__table_qpt_3f5_jq__entry__2}

| タイプ | 説明 |
|-|-|
| ブーリアン | レコードがクエリー/取得操作によって実際に返されたかどうかを示すフラグ。 有効な値： * true:クエリー/取得操作によって返されたレコード。 * false:レコードセットの最後、返されるレコードはありません。 {#r_ScopedGlideRecordIsValidRecord__ul_xzx_jnh_s3b} |
[表 : 101. 返される内容]

{#r_ScopedGlideRecordIsValidRecord__table_qpt_3f5_jq}  

    var rec = new GlideRecord('incident');
    rec.query();
    while (rec.next()) { 
      gs.info(rec.number + ' exists');
    }
    gs.info(rec.isValidRecord());

## スコープ対象 GlideRecord - isView() {#ariaid-title53}

レコードがビューまたはテーブルのどちらで作成されたかを確認します。
{#SGR-isView__table_nbb_bv4_2gb__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 102. パラメーター]

{#SGR-isView__table_nbb_bv4_2gb} {#SGR-isView__table_obb_bv4_2gb__entry__2}

| タイプ | 説明 |
|-|-|
| ブーリアン | レコードがビューであるテーブルで作成されたかどうかを示すフラグ。 * true:レコードはビューに作成されました。 * false:レコードはテーブルに作成されました。 |
[表 : 103. 返される内容]

{#SGR-isView__table_obb_bv4_2gb}  
このコード例は、GlideRecord がビューまたはテーブルで作成されたかどうかを判断する方法を示しています。

    var mySLA = new GlideRecord('incident_sla');

    if (mySLA.isView() == true){
       gs.info('This record was created in a view.');
    } else {
       gs.info('This record was created in a table.');
    }

出力:

    This record was created in a view.

## スコープ対象 GlideRecord - newRecord() {#ariaid-title54}

新しい GlideRecord レコードを作成し、フィールドのデフォルト値を設定して、レコードに一意の ID を割り当てます。
{#r_ScopedGlideRecordNewRecord__table_ls4_zsb_2r__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 104. パラメーター]

{#r_ScopedGlideRecordNewRecord__table_ls4_zsb_2r} {#r_ScopedGlideRecordNewRecord__table_sgv_ktb_2r__entry__2}

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 105. 返される内容]

{#r_ScopedGlideRecordNewRecord__table_sgv_ktb_2r}  

    var now_GR = new GlideRecord("x_app_table"); 
    now_GR.newRecord(); 
    gs.info(now_GR.isNewRecord());

出力:

    true

## スコープ対象 GlideRecord - next() {#ariaid-title55}

GlideRecord オブジェクトの次のレコードに移動します。
注:  
テーブルに「next」というフィールドがある場合、このメソッドは失敗します。その場合は、 [_next()](https://servicenow-prod.fluidtopics.net/sq3Fh7Z2Yb_KuRvql0AZmg#SGR-_next "GlideRecord の次のレコードに移動します。next() と同じ機能を提供します。GlideRecord に next という名前の列がある場合は、このメソッドを使用します。") メソッドを使用します。
{#r_ScopedGlideRecordNext__table_nmg_zsb_2r__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 106. パラメーター]

{#r_ScopedGlideRecordNext__table_nmg_zsb_2r} {#r_ScopedGlideRecordNext__table_qpt_3f5_jq__entry__2}

| タイプ | 説明 |
|-|-|
| ブーリアン | GlideRecord に「次の」レコードがあるかどうかを示すフラグ。 有効な値： * true:次のレコードへの移動に成功しました。 * false:結果セットにこれ以上レコードはありません。 {#r_ScopedGlideRecordNext__ul_anq_km4_s3b} |
[表 : 107. 返される内容]

{#r_ScopedGlideRecordNext__table_qpt_3f5_jq}  

    var rec = new GlideRecord('incident');
    rec.query();
    while (rec.next()) {
     gs.info(rec.getValue('number') + ' exists');
    }

出力:

    INC0010112 exists
    INC0010114 exists
    INC0010119 exists
    INC0010127 exists

## スコープ付き GlideRecord - _next() {#ariaid-title56}

GlideRecord の次のレコードに移動します。next() と同じ機能を提供します。GlideRecord に next という名前の列がある場合は、このメソッドを使用します。
{#SGR-_next__table_e3x_4yj_my__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 108. パラメーター]

{#SGR-_next__table_e3x_4yj_my} {#SGR-_next__table_f3x_4yj_my__entry__2}

| タイプ | 説明 |
|-|-|
| ブーリアン | クエリセットにさらにレコードがあるかどうかを示すフラグ。 可能な値： * true:クエリセット内のレコードが増えます。 * false:クエリセットにこれ以上レコードはありません。 {#SGR-_next__ul_nzg_xkm_knb} |
[表 : 109. 返される内容]

{#SGR-_next__table_f3x_4yj_my}  
次の例は、インシデント \[incident\] テーブルの各レコードを一覧表示する方法を示しています。

    var rec = new GlideRecord('incident');
    rec.query();
    while (rec._next()) {
      gs.info(rec.getValue('number') + ' exists');
    }

出力:

    INC0000060 exists
    INC0009002 exists
    INC0000009 exists
    INC0000010 exists
    INC0000011 exists
    INC0000012 exists
    ...

## スコープ付き GlideRecord - operation() {#ariaid-title57}

操作が挿入、更新、または削除のいずれであるかを決定します。
操作を知ることで、 current.operation() を使用して、各操作を一意に処理できる汎用ビジネスルールを作成できます。

グローバル変数 current の使用方法については、「 [ビジネスルールのグローバル変数](https://servicenow-prod.fluidtopics.net/rM6z15ZSd8bt5MmChE9KHQ#c_UsingPredefinedGlobalVariables "ビジネスルールで使用するための定義済みのグローバル変数があります。")」を参照してください。
{#r_ScopedGlideRecordOperation__table_tfc_zsb_2r__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 110. パラメーター]

{#r_ScopedGlideRecordOperation__table_tfc_zsb_2r} {#r_ScopedGlideRecordOperation__gr-operation-returns__entry__2}

| タイプ | 説明 |
|-|-|
| 文字列 | 現在の操作。 可能な値： * delete * insert * update {#r_ScopedGlideRecordOperation__ul_bnp_xs3_bpb} |
[表 : 111. 返される内容]

{#r_ScopedGlideRecordOperation__gr-operation-returns}  
次の例は、このメソッドをビジネスルールで使用する方法を示しています。operation() メソッドは、どの操作がイベントをトリガーしたかを検出し、更新操作と挿入操作に応じて異なるアクションを実行します。

    if(current.operation() == "update") {
      current.updates ++; } 
    if(current.operation() == "insert") {
      current.updates = 0; }

## スコープ対象 GlideRecord - orderBy(文字列名) {#ariaid-title58}

orderBy 列を指定します。
複数の列で並べ替えるには、このメソッドを複数回呼び出します。結果は昇順で並べ替えられます。レコードを降順に並べ替えるには、「 [スコープ対象 GlideRecord - orderByDesc(文字列名)](https://servicenow-prod.fluidtopics.net/sq3Fh7Z2Yb_KuRvql0AZmg#r_ScopedGlideRecordOrderByDesc_String "降順の orderBy 列を指定します。")」を参照してください。  
注:  
ユーザーに基づいてクエリーアクセスを適用するには、 [addUserOrderBy()](https://servicenow-prod.fluidtopics.net/sq3Fh7Z2Yb_KuRvql0AZmg#SGR-addUserOrderBy_S "orderBy 列を指定します。 このメソッドを使用して、ユーザーに基づいてクエリーアクセスを強制します。") です。
{#r_ScopedGlideRecordOrderBy_String__table_vy2_525_jq__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| name | 文字列 | この GlideRecord オブジェクトのレコードを並べ替えるために使用する列名。 |
[表 : 112. パラメーター]

{#r_ScopedGlideRecordOrderBy_String__table_vy2_525_jq} {#r_ScopedGlideRecordOrderBy_String__table_ts3_ktb_2r__entry__2}

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 113. 返される内容]

{#r_ScopedGlideRecordOrderBy_String__table_ts3_ktb_2r}  
次の例は、インシデントレコードを簡単な説明の昇順で並べ替える方法を示しています。

    var queryString = "priority=2";
    var now_GR = new GlideRecord('incident');
    now_GR.orderBy('short_description'); // Ascending Order
    now_GR.addEncodedQuery(queryString);
    now_GR.query();
    while (now_GR.next()) {
      gs.info(now_GR.getValue('short_description'));
    }

出力:

    Can't launch 64-bit Windows 7 virtual machine
    Can't log into SAP from my laptop today
    Network storage unavailable
    Please remove the latest hotfix from my PC

## スコープ対象 GlideRecord - orderByDesc(文字列名) {#ariaid-title59}

降順の orderBy 列を指定します。
複数の列で並べ替えるには、このメソッドを複数回呼び出します。結果は降順で並べられます。レコードを昇順で並べ替えるには、「 [スコープ対象 GlideRecord - orderBy(文字列名)](https://servicenow-prod.fluidtopics.net/sq3Fh7Z2Yb_KuRvql0AZmg#r_ScopedGlideRecordOrderBy_String "orderBy 列を指定します。")」を参照してください。  
注:  
ユーザーに基づいてクエリーアクセスを適用するには、 [addUserOrderByDesc()](https://servicenow-prod.fluidtopics.net/sq3Fh7Z2Yb_KuRvql0AZmg#SGR-addUserOrderByDesc_S "降順の orderBy 列を指定します。 このメソッドを使用して、ユーザーに基づいてクエリーアクセスを強制します。")です。
{#r_ScopedGlideRecordOrderByDesc_String__table_vy2_525_jq__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| name | 文字列 | GlideRecord オブジェクトのレコードを並べ替えるために使用する列名。 |
[表 : 114. パラメーター]

{#r_ScopedGlideRecordOrderByDesc_String__table_vy2_525_jq} {#r_ScopedGlideRecordOrderByDesc_String__table_lpd_ktb_2r__entry__2}

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 115. 返される内容]

{#r_ScopedGlideRecordOrderByDesc_String__table_lpd_ktb_2r}  
次の例は、インシデントレコードを簡単な説明の降順に並べ替える方法を示しています。

    var queryString = "priority=2";
    var now_GR = new GlideRecord('incident');
    now_GR.orderByDesc('short_description'); //Descending Order
    now_GR.addEncodedQuery(queryString);
    now_GR.query();
    while (now_GR.next()) {
      gs.info(now_GR.getValue('short_description'));
    }

出力:

    Please remove the latest hotfix from my PC
    Network storage unavailable
    Can't log into SAP from my laptop today
    Can't launch 64-bit Windows 7 virtual machine

## スコープ対象 GlideRecord:query(文字列フィールド, 文字列値) {#ariaid-title60}

addQuery() や addEncodedQuery() などのクエリメソッドで指定されたフィルターに基づいて、テーブルに対してクエリを実行します。
このメソッドは、GlideRecord テーブルとテーブルの参照を照会します。詳細については、「 [スクリプトでのテーブルのクエリ](https://servicenow-prod.fluidtopics.net/d0~F25Pbj3IA2fvKkDtM9g#c_UsingGlideRecordToQueryTables "GlideRecord API のメソッドを使用すると、テーブルからすべてのレコードを返したり、テーブルから特定の条件を満たすレコードを返したり、テキストインデックスグループ内の単一のテーブルまたは複数のテーブルから文字列を含むレコードを返したりできます。")」を参照してください。  
注:  
テーブルに「query」というフィールドがある場合、このメソッドは失敗します。その場合は、代わりに [_query()](https://servicenow-prod.fluidtopics.net/sq3Fh7Z2Yb_KuRvql0AZmg#SGR-_query_O_O "addQuery() や addEncodedQuery() などのクエリメソッドで指定されたフィルターに基づいて、テーブルに対してクエリを実行します。 このメソッドは、「query」という名前の列があるテーブルで使用することを目的としています。そのため、query() メソッドの実行中にエラーが発生する可能性があります。") メソッドを使用してください。

クエリのビルドと実行の詳細については、 [GlideRecord](https://developer.servicenow.com/dev.do#!/learn/courses/utah/app_store_learnv2_scripting_utah_scripting_in_servicenow/app_store_learnv2_scripting_utah_server_side_scripting/app_store_learnv2_scripting_utah_gliderecord) の記事を参照してください。  
関連項目：

* [GlideAggregate: スコープ指定](https://servicenow-prod.fluidtopics.net/YH3MF48VxvVzg8O89GnOiw#c_GlideAggregateScopedAPI "GlideAggregate API を使用すると、データベース集計クエリを作成できます。")
* [GlideQuery - スコープ指定、グローバル](https://servicenow-prod.fluidtopics.net/wvQK5jnpsdHG3mPNthJUYg#GlideQueryGlobalAPI "GlideQuery スクリプトインクルードは、サーバーサイドスクリプトのレコードデータに対して CRUD 操作を実行するための GlideRecord API の代替です。")
* [GlideQueryCondition - スコープ指定](https://servicenow-prod.fluidtopics.net/wnMOLLTDZMQRgWuwTPucsA#c_GlideQueryConditionScopedAPI "この API は、現在の条件に追加できる AND または OR 条件を提供し、複雑なクエリーを作成できます。")
{#r_ScopedGlideRecordQuery_Object_Object__ul_u5g_4gd_lpb}
{#r_ScopedGlideRecordQuery_Object_Object__id_nxt_s5d_lpb__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| name | 文字列 | オプション - 値パラメーターも指定する必要があります。値パラメーターで指定された値を検索するフィールドの名前。 注: 通常、このメソッドは引数なしで実行されますが、名前と値のペアを指定して、指定した値を含むレコードをフィルタリングできます。パラメーターを指定すると、「名前=値」条件がクエリに追加されます。 |
| value | 文字列 | オプション - フィールドパラメーターも指定する必要があります。指定されたフィールドパラメーターで検索する値。 |
[表 : 116. パラメーター]

{#r_ScopedGlideRecordQuery_Object_Object__id_nxt_s5d_lpb} {#r_ScopedGlideRecordQuery_Object_Object__table_bkz_jtb_2r__entry__2}

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 117. 返される内容]

{#r_ScopedGlideRecordQuery_Object_Object__table_bkz_jtb_2r}  
次の例は、システム辞書 \[sys_dictionary\] でクエリフィールドのあるテーブルをスキャンする方法を示しています。

    var tableArr = [];

    var now_GR = new GlideRecord('sys_dictionary');
    now_GR.addQuery('element', 'query');
    now_GR.setLimit(6);

    now_GR.query();

    while(now_GR.next()){
       tableArr.push(now_GR.name.getValue());
    };

    gs.info('The following tables have a field column called "query":');

    for (i = 0; i < tableArr.length; i++) {
       gs.info(tableArr[i]);
    };

出力:

    The following tables have a field column called "query":
    cmdb_convert_bulk_services
    cmdb_multisource_query_status
    cmdb_qb_result_base
    cmdb_qb_table_mapping
    discovery_probes_cim_query
    kb_feedback

## スコープ対象 GlideRecord - _query(文字列フィールド, 文字列値) {#ariaid-title61}

addQuery() や addEncodedQuery() などのクエリメソッドで指定されたフィルターに基づいて、テーブルに対してクエリを実行します。
このメソッドは、「query」という名前の列があるテーブルで使用することを目的としています。そのため、query() メソッドの実行中にエラーが発生する可能性があります。
このメソッドは、GlideRecord テーブルとテーブルの参照を照会します。詳細については、「 [スクリプトでのテーブルのクエリ](https://servicenow-prod.fluidtopics.net/d0~F25Pbj3IA2fvKkDtM9g#c_UsingGlideRecordToQueryTables "GlideRecord API のメソッドを使用すると、テーブルからすべてのレコードを返したり、テーブルから特定の条件を満たすレコードを返したり、テキストインデックスグループ内の単一のテーブルまたは複数のテーブルから文字列を含むレコードを返したりできます。")」を参照してください。

クエリのビルドと実行の詳細については、 [GlideRecord](https://developer.servicenow.com/dev.do#!/learn/courses/utah/app_store_learnv2_scripting_utah_scripting_in_servicenow/app_store_learnv2_scripting_utah_server_side_scripting/app_store_learnv2_scripting_utah_gliderecord) の記事を参照してください。  
関連項目：

* [GlideAggregate: スコープ指定](https://servicenow-prod.fluidtopics.net/YH3MF48VxvVzg8O89GnOiw#c_GlideAggregateScopedAPI "GlideAggregate API を使用すると、データベース集計クエリを作成できます。")
* [GlideQuery - スコープ指定、グローバル](https://servicenow-prod.fluidtopics.net/wvQK5jnpsdHG3mPNthJUYg#GlideQueryGlobalAPI "GlideQuery スクリプトインクルードは、サーバーサイドスクリプトのレコードデータに対して CRUD 操作を実行するための GlideRecord API の代替です。")
* [GlideQueryCondition - スコープ指定](https://servicenow-prod.fluidtopics.net/wnMOLLTDZMQRgWuwTPucsA#c_GlideQueryConditionScopedAPI "この API は、現在の条件に追加できる AND または OR 条件を提供し、複雑なクエリーを作成できます。")
{#SGR-_query_O_O__ul_u5g_4gd_lpb}
{#SGR-_query_O_O__id_a3y_t5d_lpb__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| name | 文字列 | オプション - 値パラメーターも指定する必要があります。値パラメーターで指定された値を検索するフィールドの名前。 注: 通常、このメソッドは引数なしで実行されますが、名前と値のペアを指定して、指定した値を含むレコードをフィルタリングできます。パラメーターを指定すると、「名前=値」条件がクエリに追加されます。 |
| value | 文字列 | オプション - フィールドパラメーターも指定する必要があります。指定されたフィールドパラメーターで検索する値。 |
[表 : 118. パラメーター]

{#SGR-_query_O_O__id_a3y_t5d_lpb} {#SGR-_query_O_O__table_whc_pcq_fz__entry__2}

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 119. 返される内容]

{#SGR-_query_O_O__table_whc_pcq_fz}  
次の例は、ナレッジフィードバック \[kb_feedback\] テーブルに対してクエリを実行し、Excel を含むコメントを含む KB 記事を一覧表示する方法を示しています。

    var rec = new GlideRecord('kb_feedback');
    rec.addQuery('comments', 'CONTAINS', 'Excel');
    rec._query();
    while (rec.next()) { 
     gs.info(rec.getDisplayValue('article') + " comment: " + rec.getValue('comments'));
    }

出力:

    KB0000005 comment: 
    	     Can you please add the version of Excel this applies to? All?
    		
    KB0000005 comment: 
    	     Does this work for all Excel versions? OSX and Windows alike?

## スコープ対象 GlideRecord:setAbortAction(Boolean b) {#ariaid-title62}

次のデータベースアクション (挿入、更新、削除) を中止するかどうかを示すフラグを設定します。これはビジネスルールでよく使用されます。
`onBefore` ビジネスルールで使用して、データベースアクションが実行されないようにします。ビジネスルールは、 setAbortAction() が呼び出された後も実行を継続します。setAbortAction() を呼び出しても、後続のビジネスルールの実行は停止されません。このメソッドを呼び出すと、データベースアクションの実行のみが防止されます。
{#r_ScopedGlideRecordSetAbortAction_Boolean__table_vy2_525_jq__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| b | ブーリアン | True に設定すると、次のアクションが中止されます。アクションが許可される場合は False。 |
[表 : 120. パラメーター]

{#r_ScopedGlideRecordSetAbortAction_Boolean__table_vy2_525_jq} {#r_ScopedGlideRecordSetAbortAction_Boolean__table_yv5_jtb_2r__entry__2}

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 121. 返される内容]

{#r_ScopedGlideRecordSetAbortAction_Boolean__table_yv5_jtb_2r}  

    // Often used in business rule to check whether the current operation should be aborted.
    if (current.size > 16) {
      current.setAbortAction(true);
    }

## スコープ対象 GlideRecord:setLimit(Number maxNumRecords) {#ariaid-title63}

GlideRecord クエリによってフェッチされるレコード数の制限を設定します。

chooseWindow() で setLimit() を使用する
:   setLimit() メソッドは暗黙的に chooseWindow() メソッドを呼び出すため、クエリで chooseWindow() と併用すると予期しない結果が生じる可能性があります。

    * chooseWindow() メソッドが最初に呼び出された場合、そのレコードウィンドウは setLimit() メソッドによって上書きされます。  
      クエリで次の行を使用すると、行 1 から始まる 100 件のレコードが返されます。

          grIncident.chooseWindow(20,30);
          grIncident.setLimit(100);

    * setLimit() メソッドが最初に呼び出された場合、chooseWindow() によって設定されたウィンドウが使用され、制限が上書きされます。  
      クエリで次の行を使用すると、行 21 から始まる 10 件のレコードが返されます。

          grIncident.setLimit(5);
          grIncident.chooseWindow(20,30);

      注:  
      chooseWindow() メソッドで query() を実行すると、`COUNT(*)` クエリがトリガーされるため、多数のレコードを含むテーブルでパフォーマンスが低下する可能性があります。chooseWindow() の前に setLimit() を使用して `COUNT(*)` クエリの実行をスキップできますが、setNoCount() を使用すると同じパフォーマンス上の利点が得られます。
    {#r_ScopedGlideRecordSetLimit_Number__ul_btb_yhw_wgc}
関連項目：

* [chooseWindow()](https://servicenow-prod.fluidtopics.net/sq3Fh7Z2Yb_KuRvql0AZmg#r_ScopedGlideRecordChooseWindow_Number_Number_Boolean "後続のクエリによって返される行の範囲を設定します。")
* [query()](https://servicenow-prod.fluidtopics.net/sq3Fh7Z2Yb_KuRvql0AZmg#r_ScopedGlideRecordQuery_Object_Object "addQuery() や addEncodedQuery() などのクエリメソッドで指定されたフィルターに基づいて、テーブルに対してクエリを実行します。")
* [setNoCount()](https://servicenow-prod.fluidtopics.net/sq3Fh7Z2Yb_KuRvql0AZmg#SGR-setNoCount "GlideRecord クエリによる COUNT(*) クエリの実行を停止します。")
{#r_ScopedGlideRecordSetLimit_Number__ul_zjw_cvd_xgc}
{#r_ScopedGlideRecordSetLimit_Number__table_vy2_525_jq__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| maxNumRecords | 番号 | フェッチするレコードの最大数。 |
[表 : 122. パラメーター]

{#r_ScopedGlideRecordSetLimit_Number__table_vy2_525_jq}{#r_ScopedGlideRecordSetLimit_Number__table_owp_jtb_2r__entry__2}

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 123. 返される内容]

{#r_ScopedGlideRecordSetLimit_Number__table_owp_jtb_2r}  

    var now_GR = new GlideRecord('incident');
    now_GR.orderByDesc('sys_created_on');
    now_GR.setLimit(10);
    now_GR.query(); // this retrieves latest 10 incident records created

## スコープ対象 GlideRecord:setNewGuidValue(文字列 guid) {#ariaid-title64}

現在のレコードのsys_id値を設定します。
{#r_ScopedGlideRecordSetNewGuidValue_String__table_vy2_525_jq__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| guid | 文字列 | 現在のレコードにアサインする GUID。 |
[表 : 124. パラメーター]

{#r_ScopedGlideRecordSetNewGuidValue_String__table_vy2_525_jq} {#r_ScopedGlideRecordSetNewGuidValue_String__table_akk_jtb_2r__entry__2}

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 125. 返される内容]

{#r_ScopedGlideRecordSetNewGuidValue_String__table_akk_jtb_2r}  

    var now_GR = new GlideRecord('incident');
    now_GR.setValue('short_description', 'The third floor printer is broken');
    now_GR.setNewGuidValue('eb4636ca6f6d31005be8883e6b3ee333');
    now_GR.insert();
    gs.info(now_GR.getValue('sys_id'));

## スコープ対象 GlideRecord - setNoCount() {#ariaid-title65}

GlideRecord クエリによる `COUNT(*)` クエリの実行を停止します。
いくつかのメソッドで query() を実行すると、chooseWindow() メソッドや getRowCount() メソッドなどの `COUNT(*)` クエリがトリガーされます。`COUNT(*)` クエリは、100 万以上のレコードを含むテーブルでパフォーマンスを低下させる可能性があります。詳細については、Now Support ナレッジベースの記事「 [パフォーマンスの向上 - ページネーション数の削除 \[KB0817996\]](https://support.servicenow.com/kb?id=kb_article_view&sysparm_article=KB0817996) 」を参照してください。  
注:  
setLimit() メソッドは `COUNT(*)` も停止します。setLimit() メソッドがクエリに含まれている場合、setNoCount() を使用する必要はありません。  
関連項目：

* [chooseWindow()](https://servicenow-prod.fluidtopics.net/sq3Fh7Z2Yb_KuRvql0AZmg#r_ScopedGlideRecordChooseWindow_Number_Number_Boolean "後続のクエリによって返される行の範囲を設定します。")
* [query()](https://servicenow-prod.fluidtopics.net/sq3Fh7Z2Yb_KuRvql0AZmg#r_ScopedGlideRecordQuery_Object_Object "addQuery() や addEncodedQuery() などのクエリメソッドで指定されたフィルターに基づいて、テーブルに対してクエリを実行します。")
{#SGR-setNoCount__ul_zjw_cvd_xgc}
{#SGR-setNoCount__table_l12_f2x_1bc__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 126. パラメーター]

{#SGR-setNoCount__table_l12_f2x_1bc} {#SGR-setNoCount__table_obb_bv4_2gb__entry__2}

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 127. 返される内容]

{#SGR-setNoCount__table_obb_bv4_2gb}  
次のコード例は、setNoCount() を使用して、chooseWindow() メソッドを使用してウィンドウクエリセットの `COUNT(*)` クエリをスキップする方法を示しています。

    var  grIncident = new GlideRecord('incident');

    grIncident.chooseWindow(6915, 6920, true);
    grIncident.setNoCount();
    grIncident.query();

    while (grIncident.next()) { // Iterate through the returned records
        gs.info('Incident Number: ' + grIncident.number + ', Short Description: ' + grIncident.short_description);
    };

出力:

    Incident Number: INC0006811, Short Description: Request an account to be created for Fidelity 401(k) Plans
    Incident Number: INC0006918, Short Description: Please grant me additional roles in Oracle Fin Collections
    Incident Number: INC0006812, Short Description: Taxware Value-added Tax crashes when I try to launch it
    Incident Number: INC0006919, Short Description: Unable to Access SuccessFactors Learning
    Incident Number: INC0010004, Short Description: Incident for assessment not generating

## スコープ対象 GlideRecord:setValue(文字列名, オブジェクト値) {#ariaid-title66}

指定された名前のフィールドの値を指定された値に設定します。
通常、スクリプトは `now_GR.category = value` を実行します。ただし、要素名自体が変数である場合は、 `now_GR.setValue(elementName, value)` を使用できます。値を設定するときは、フィールドのデータタイプが入力した値のデータタイプと一致することを確認してください。  
注:  
フィールド暗号化エンタープライズ プラグインが有効で、インスタンスがキーにアクセスできる場合、このメソッドでは暗号化されたデータを暗号化フィールドに挿入できます。インスタンスがキーにアクセスできない場合、このメソッドはエラーを返します。詳細については、「 [プラットフォーム暗号化」](https://www.servicenow.com/docs/access?context=encryption-landing&version=australia&pubname=australia-platform-security&ft:locale=en-US)を参照してください。  

password2 フィールドを使用した認証用ではありません
:   setValue() メソッドは password2 データをクリアーテキストとして渡すため、暗号化データの期待に関するエラーが発生します。さらに、password2 フィールドに setValue() メソッドを使用すると、暗号化する必要があるデータが公開されます。

    password2 認証の場合は、代わりに setDisplayValue() メソッドを使用します。  
    関連項目：

    * [Deprecate GlideEncrypter usage of 3DES for password2 fields](https://www.servicenow.com/docs/access?context=password2-3des-deprecation&version=australia&pubname=australia-platform-security&ft:locale=en-US)
    * [ナレッジベース記事KB1320986での GlideEncrypter の使用の代替](https://support.servicenow.com/kb?id=kb_article_view&sysparm_article=KB1320986)
    * [Password2 encryption with the Key Management Framework (KMF)](https://www.servicenow.com/docs/access?context=password-2way-encrypted-fields&version=australia&pubname=australia-platform-security&ft:locale=en-US)
    {#r_ScopedGlideRecordSetValue_String_Object__ul_m1z_5js_12c}
{#r_ScopedGlideRecordSetValue_String_Object__table_vy2_525_jq__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| name | 文字列 | フィールドの名前 |
| value | オブジェクト | フィールドにアサインする値。 |
[表 : 128. パラメーター]

{#r_ScopedGlideRecordSetValue_String_Object__table_vy2_525_jq} {#r_ScopedGlideRecordSetValue_String_Object__table_bp2_jtb_2r__entry__2}

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 129. 返される内容]

{#r_ScopedGlideRecordSetValue_String_Object__table_bp2_jtb_2r}  

    var elementName = 'short_description'; 
    var now_GR = new GlideRecord('incident'); 
    now_GR.initialize(); 
    now_GR.setValue(elementName, "My DB is not working");
    now_GR.insert();

## スコープ対象 GlideRecord:setWorkflow(ブール値有効化) {#ariaid-title67}

ビジネスルール、スクリプトエンジン、または監査の実行を有効または無効にします。
注:  
setWorkflow() メソッドは、後で deleteProblem() メソッドまたは deleteMultiple() メソッドを使用してカスケード削除を行う場合、無視されます。  
警告:  
ビジネスルール、スクリプトエンジン、および監査の実行を無効にすると、 ServiceNow® インスタンスとその動作に大きな影響を与える可能性があります。本番環境に展開する前に、この変更を十分にテストしてください。  
注:  
このメソッドは、クロススコープ対象のアプリケーションには設定できません。詳細については、次の KB 記事 [https://support.servicenow.com/kb?id=kb_article_view\&sysparm_article=KB0820691](https://support.servicenow.com/kb?id=kb_article_view&sysparm_article=KB0820691)を参照してください。
{#r_ScopedGlideRecordSetWorkflow_Boolean__table_vy2_525_jq__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| 有効化 | ブーリアン | ビジネスルール、スクリプトエンジン、および監査の実行を有効または無効にするかどうかを示すフラグ。 有効な値： * true:ビジネスルール、スクリプトエンジン、または監査の実行を有効にします。 * false:ビジネスルール、スクリプトエンジン、または監査の実行を無効にします。 {#r_ScopedGlideRecordSetWorkflow_Boolean__ul_rb1_bwx_zqb} デフォルト：true |
[表 : 130. パラメーター]

{#r_ScopedGlideRecordSetWorkflow_Boolean__table_vy2_525_jq} {#r_ScopedGlideRecordSetWorkflow_Boolean__table_cdx_3tb_2r__entry__2}

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 131. 返される内容]

{#r_ScopedGlideRecordSetWorkflow_Boolean__table_cdx_3tb_2r}  

    //Enable business rules, scripts engines for x_app_table
    var now_GR = new GlideRecord("x_app_table"); 
    now_GR.setWorkflow(true);

## スコープ対象 GlideRecord - update(文字列の理由) {#ariaid-title68}

行われた変更で GlideRecord を更新します。レコードがまだ存在しない場合は挿入されます。
{#r_ScopedGlideRecordUpdate_String__table_vy2_525_jq__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| 理由 | 文字列 | オプション。更新の理由。その理由が監査レコードに表示されます。 |
[表 : 132. パラメーター]

{#r_ScopedGlideRecordUpdate_String__table_vy2_525_jq} {#r_ScopedGlideRecordUpdate_String__table_qpt_3f5_jq__entry__2}

| タイプ | 説明 |
|-|-|
| 文字列 | 新規または更新されたレコードのSys_id。更新が失敗した場合は null を返します。 |
[表 : 133. 返される内容]

{#r_ScopedGlideRecordUpdate_String__table_qpt_3f5_jq}  
次の例は、インシデントの \[簡単な説明\] フィールドを更新する方法を示しています。

    var now_GR = new GlideRecord('incident');
    now_GR.get('99ebb4156fa831005be8883e6b3ee4b9');
    now_GR.setValue('short_description', 'Update the short description');
    now_GR.update();
    gs.info(now_GR.getElement('short_description'));

出力:

    Update the short description.

## スコープ付き GlideRecord - updateMultiple() {#ariaid-title69}

指定されたクエリ内の各 GlideRecord を、指定された変更セットで更新します。
このメソッドでは、複数のジャーナルエントリの追加はサポートされていません。

glide.db.forced.chunk.thresholdシステムプロパティは、チャンクレコードを強制的に削除および更新するしきい値を設定します。チャンクは、巨大なテーブルでプライマリキー以外の削除によってレプリケーションの問題が発生するのを防ぐのに役立ちます。詳細については、「[Available system properties](https://www.servicenow.com/docs/access?context=r_AvailableSystemProperties&version=australia&pubname=australia-platform-administration&ft:locale=en-US)」を参照してください。
注:  
期待どおりの結果が得られるようにするには、直接割り当ての代わりに setValue() メソッドを使用します。つまり、`gr_Now.setValue('<field_name>', '4')); を使用します。``gr_Now.<field_name> = 4` の代わりに。  
注:  
大きなテーブルで作業する場合は、このメソッドを chooseWindow() メソッドまたは setLimit() メソッドとともに使用しないでください。

このメソッドは新しい値を設定しますが、既存の値はクリアしません。既存の値をクリアするには、 setValue() メソッドを使用してフィールドを「NULL」に設定します。詳細については、「[GlideRecord 変数を「NULL」に設定する](https://servicenow-prod.fluidtopics.net/_t12x31Fel9oUTpHz5GqvA "GlideRecord 変数 (current を含む) は、データベース内での初期状態は null です。これらを空の文字列、スペース、または JavaScript null 値に戻しても、この初期状態には戻りません。")」を参照してください。
{#r_ScopedGlideRecordUpdateMultiple__table_qwk_ysb_2r__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 134. パラメーター]

{#r_ScopedGlideRecordUpdateMultiple__table_qwk_ysb_2r} {#r_ScopedGlideRecordUpdateMultiple__table_fj2_htb_2r__entry__2}

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 135. 返される内容]

{#r_ScopedGlideRecordUpdateMultiple__table_fj2_htb_2r}  
この例では、すべてのアクティブなインシデントのステータスを 4 -「ユーザー情報待ち」に更新する方法を説明します。

    var now_GR = new GlideRecord('incident');
    now_GR.addQuery('active', true);
    now_GR.setValue('state',  4);
    now_GR.updateMultiple();

この例では、優先度 1 のインシデントの説明フィールドの既存の値をクリアする方法を示します。

    var test = new GlideRecord('incident');
    test.addEncodedQuery('priority=1');
    test.query();
     
    test.setValue('description','NULL');
    test.updateMultiple();

## スコープ指定 GlideRecord - updateWithReferences(オブジェクト理由) {#ariaid-title70}

レコードを更新し、提供された情報を使用して関連レコードを挿入または更新します。
{#SGR-updateWithReferences_O__id_hhh_2fd_3zb__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| 理由 | オブジェクト | 更新の理由。その理由が監査レコードに表示されます。 |
[表 : 136. パラメーター]

{#SGR-updateWithReferences_O__id_hhh_2fd_3zb} {#SGR-updateWithReferences_O__id_l3b_ffd_3zb__entry__2}

| タイプ | 説明 |
|-|-|
| 文字列 | 更新されるレコードのsys_id。 |
[表 : 137. 返される内容]

{#SGR-updateWithReferences_O__id_l3b_ffd_3zb}  
発信者 ID がsys_userレコード「John Doe」を参照するように設定されているインシデントを処理する場合、次のコードで John Doe のユーザーレコードが更新されます。発信者 ID が指定されていないインシデントを処理する場合、次のコードは、指定された情報 (first_name、last_name) を使用して新しいsys_userレコードを作成し、発信者 ID の値を新しく作成されたsys_userレコードに設定します。

    var inc = new GlideRecord('incident');
    inc.get(inc_sys_id);  // Looking up an existing incident record where 'inc_sys_id' represents the sys_id of a incident record
    inc.caller_id.first_name = 'John';
    inc.caller_id.last_name = 'Doe';
    inc.updateWithReferences();
    }


