GlideDynamicAttribute - グローバル

  • リリースバージョン: Australia
  • 更新日 2026年03月12日
  • 所要時間:22分
  • GlideDynamicAttribute API は動的属性メタデータへのアクセスを提供します。

    この API は、動的属性 [dynamic_attribute] テーブルで定義された動的スキーマ値を取得できるようにするメソッドを提供します。動的属性には、定義済みのデータタイプとsys_idがあります。動的属性の詳細については、「 動的スキーマ」を参照してください。

    この API を使用して動的属性を作成するには、dynamic_schema_writer ロールが必要です。この API を使用して動的データを読み取るには、dynamic_schema_reader ロールが必要です。

    GlideAggregate - グローバル 動的スキーマで使用できるメソッド:
    • addAggregate()
    • addHaving()
    • getDynamicAttributeValue()
    • getDynamicAttributeDisplayValue()
    • getValue()
    • groupBy()
    • orderBy()
    • orderByAggregate()
    GlideRecord - グローバル 動的スキーマで使用できるメソッド:
    • addQuery()
    • getDisplayValue()
    • getDynamicAttribute()
    • getDynamicAttributeDisplayValue()
    • getDynamicAttributeValue()
    • getValue()
    • orderBy()
    • orderByDesc()
    • setDisplayValue()
    • setDynamicAttributeDisplayValue()
    • setDynamicAttributeValue()
    • setDynamicAttributeValues()
    • setValue()

    GlideDynamicAttribute - getGroupName()

    動的属性オブジェクトのグループ名プロパティの値を取得します。

    Zurich リリースの時点で、動的グループは動的スキーマから削除されています。Zurich リリースより前の関連する動的属性グループで定義された動的属性の場合、このメソッドは下位互換性のために引き続き機能します。お客様は、現在の動的属性定義に移行して、将来の機能改善を利用することをお勧めします。

    移行の詳細については、Now Support ナレッジベースの 「Dynamic Schema Zurich Migration Guide (動的スキーマ チューリッヒ移行ガイド)」[KB2146133] の記事を参照してください。
    注:
    このメソッドは、移行された属性と新しく作成された属性に対して null を返します。

    動的カテゴリで動的属性を使用すると、管理を簡素化し、動的スキーマのユーザーエクスペリエンスを向上させることができます。詳細については、「Working with Dynamic Schema」を参照してください。

    表 : 1. パラメーター
    名前 タイプ 説明
    なし
    表 : 2. 返される内容
    タイプ 説明
    文字列 動的属性のグループ名プロパティの値。

    次の例では、動的属性オブジェクトグループ名の値が a と表示されます。

    var das = new GlideDynamicAttributeStore();
    das.setDynamicAttributeValue('a->b', 5);    // transient (adding here)
    das.setDynamicAttributeValue('a->c', 10);   // defined in dynamic_attribute table
    
    var attributes = das.getDynamicAttributes();
    gs.info(attributes);
    
    for (var i = 0; i < attributes.length; i++) {
        var attr = attributes[i];
    	
        gs.info("");
        gs.info("[" + i + "].getPath()      = " + attr.getPath());
        gs.info("[" + i + "].getName()      = " + attr.getName());
        gs.info("[" + i + "].getGroupName() = " + attr.getGroupName());
        gs.info("[" + i + "].isTransient()  = " + attr.isTransient());
        gs.info("[" + i + "].getType()      = " + attr.getType());
    }

    出力:

    *** Script: a->c,a->b
    *** Script: 
    *** Script: [0].getPath()      = a->c
    *** Script: [0].getName()      = c
    *** Script: [0].getGroupName() = a
    *** Script: [0].isTransient()  = false
    *** Script: [0].getType()      = integer
    *** Script: 
    *** Script: [1].getPath()      = a->b
    *** Script: [1].getName()      = b
    *** Script: [1].getGroupName() = a
    *** Script: [1].isTransient()  = true
    *** Script: [1].getType()      = string

    GlideDynamicAttribute:getName()

    動的属性オブジェクトの name プロパティの値を取得します。

    表 : 3. パラメーター
    名前 タイプ 説明
    なし
    表 : 4. 返される内容
    タイプ 説明
    文字列 動的属性の名前プロパティの値。

    次の例は、動的属性オブジェクト名の値を返す方法を示しています。

    var used_car = new GlideDynamicAttributeStore('u_product/u_car_inventory');
    used_car.setDynamicAttributeValue('mfg_year', 2014);       // transient (adding here)
    used_car.setDynamicAttributeValue('u_total_miles', 53246); // defined in dynamic_attribute table
    
    var attributes = used_car.getDynamicAttributes();
    gs.info(attributes);
    
    for (var i = 0; i < attributes.length; i++) {
        var attr = attributes[i];
        gs.info("");
        gs.info("[" + i + "].getPath()           = " + attr.getPath());
        gs.info("[" + i + "].getName()           = " + attr.getName());
        gs.info("[" + i + "].getNamespaceName()  = " + attr.getNamespaceName());
        gs.info("[" + i + "].getNamespacedName() = " + attr.getNamespacedName());
        gs.info("[" + i + "].isTransient()       = " + attr.isTransient());
        gs.info("[" + i + "].getType()           = " + attr.getType());
    }

    出力:

    *** Script: mfg_year,u_total_miles
    *** Script: 
    *** Script: [0].getPath()           = mfg_year
    *** Script: [0].getName()           = mfg_year
    *** Script: [0].getNamespaceName()  = u_product/u_car_inventory
    *** Script: [0].getNamespacedName() = u_product/u_car_inventory/mfg_year
    *** Script: [0].isTransient()       = true
    *** Script: [0].getType()           = string
    *** Script: 
    *** Script: [1].getPath()           = u_total_miles
    *** Script: [1].getName()           = u_total_miles
    *** Script: [1].getNamespaceName()  = u_product/u_car_inventory
    *** Script: [1].getNamespacedName() = u_product/u_car_inventory/u_total_miles
    *** Script: [1].isTransient()       = false
    *** Script: [1].getType()           = integer

    GlideDynamicAttribute:getNamespacedName()

    名前空間内の動的属性の名前を取得します。

    表 : 5. パラメーター
    名前 タイプ 説明
    なし
    表 : 6. 返される内容
    タイプ 説明
    文字列 名前空間内の動的属性の名前。

    形式: namespace_name/attribute_name

    次の例は、 u_product/u_car_inventory という名前空間内で動的属性名を返す方法を示しています。

    var used_car = new GlideDynamicAttributeStore('u_product/u_car_inventory');
    used_car.setDynamicAttributeValue('mfg_year', 2014);       // transient (adding here)
    used_car.setDynamicAttributeValue('u_total_miles', 53246); // defined in dynamic_attribute table
    
    var attributes = used_car.getDynamicAttributes();
    gs.info(attributes);
    
    for (var i = 0; i < attributes.length; i++) {
        var attr = attributes[i];
        gs.info("");
        gs.info("[" + i + "].getPath()           = " + attr.getPath());
        gs.info("[" + i + "].getName()           = " + attr.getName());
        gs.info("[" + i + "].getNamespaceName()  = " + attr.getNamespaceName());
        gs.info("[" + i + "].getNamespacedName() = " + attr.getNamespacedName());
        gs.info("[" + i + "].isTransient()       = " + attr.isTransient());
        gs.info("[" + i + "].getType()           = " + attr.getType());
    }

    出力:

    *** Script: mfg_year,u_total_miles
    *** Script: 
    *** Script: [0].getPath()           = mfg_year
    *** Script: [0].getName()           = mfg_year
    *** Script: [0].getNamespaceName()  = u_product/u_car_inventory
    *** Script: [0].getNamespacedName() = u_product/u_car_inventory/mfg_year
    *** Script: [0].isTransient()       = true
    *** Script: [0].getType()           = string
    *** Script: 
    *** Script: [1].getPath()           = u_total_miles
    *** Script: [1].getName()           = u_total_miles
    *** Script: [1].getNamespaceName()  = u_product/u_car_inventory
    *** Script: [1].getNamespacedName() = u_product/u_car_inventory/u_total_miles
    *** Script: [1].isTransient()       = false
    *** Script: [1].getType()           = integer

    GlideDynamicAttribute:getNamespaceName()

    動的属性名前空間の名前を取得します。

    表 : 7. パラメーター
    名前 タイプ 説明
    なし
    表 : 8. 返される内容
    タイプ 説明
    文字列 動的属性名前空間の名前。

    次の例は、動的属性の名前空間 u_product/u_car_inventory を返す方法を示しています。

    var used_car = new GlideDynamicAttributeStore('u_product/u_car_inventory');
    used_car.setDynamicAttributeValue('mfg_year', 2014);       // transient (adding here)
    used_car.setDynamicAttributeValue('u_total_miles', 53246); // defined in dynamic_attribute table
    
    var attributes = used_car.getDynamicAttributes();
    gs.info(attributes);
    
    for (var i = 0; i < attributes.length; i++) {
        var attr = attributes[i];
        gs.info("");
        gs.info("[" + i + "].getPath()           = " + attr.getPath());
        gs.info("[" + i + "].getName()           = " + attr.getName());
        gs.info("[" + i + "].getNamespaceName()  = " + attr.getNamespaceName());
        gs.info("[" + i + "].getNamespacedName() = " + attr.getNamespacedName());
        gs.info("[" + i + "].isTransient()       = " + attr.isTransient());
        gs.info("[" + i + "].getType()           = " + attr.getType());
    }

    出力:

    *** Script: mfg_year,u_total_miles
    *** Script: 
    *** Script: [0].getPath()           = mfg_year
    *** Script: [0].getName()           = mfg_year
    *** Script: [0].getNamespaceName()  = u_product/u_car_inventory
    *** Script: [0].getNamespacedName() = u_product/u_car_inventory/mfg_year
    *** Script: [0].isTransient()       = true
    *** Script: [0].getType()           = string
    *** Script: 
    *** Script: [1].getPath()           = u_total_miles
    *** Script: [1].getName()           = u_total_miles
    *** Script: [1].getNamespaceName()  = u_product/u_car_inventory
    *** Script: [1].getNamespacedName() = u_product/u_car_inventory/u_total_miles
    *** Script: [1].isTransient()       = false
    *** Script: [1].getType()           = integer

    GlideDynamicAttribute:getPath()

    動的属性オブジェクトのパスプロパティの値を取得します。

    表 : 9. パラメーター
    名前 タイプ 説明
    なし
    表 : 10. 返される内容
    タイプ 説明
    文字列 動的属性のパスの値。

    次の例は、動的属性オブジェクトパスの値を返す方法を示しています。

    var used_car = new GlideDynamicAttributeStore('u_product/u_car_inventory');
    used_car.setDynamicAttributeValue('mfg_year', 2014);       // transient (adding here)
    used_car.setDynamicAttributeValue('u_total_miles', 53246); // defined in dynamic_attribute table
    
    var attributes = used_car.getDynamicAttributes();
    gs.info(attributes);
    
    for (var i = 0; i < attributes.length; i++) {
        var attr = attributes[i];
        gs.info("");
        gs.info("[" + i + "].getPath()           = " + attr.getPath());
        gs.info("[" + i + "].getName()           = " + attr.getName());
        gs.info("[" + i + "].getNamespaceName()  = " + attr.getNamespaceName());
        gs.info("[" + i + "].getNamespacedName() = " + attr.getNamespacedName());
        gs.info("[" + i + "].isTransient()       = " + attr.isTransient());
        gs.info("[" + i + "].getType()           = " + attr.getType());
    }

    出力:

    *** Script: mfg_year,u_total_miles
    *** Script: 
    *** Script: [0].getPath()           = mfg_year
    *** Script: [0].getName()           = mfg_year
    *** Script: [0].getNamespaceName()  = u_product/u_car_inventory
    *** Script: [0].getNamespacedName() = u_product/u_car_inventory/mfg_year
    *** Script: [0].isTransient()       = true
    *** Script: [0].getType()           = string
    *** Script: 
    *** Script: [1].getPath()           = u_total_miles
    *** Script: [1].getName()           = u_total_miles
    *** Script: [1].getNamespaceName()  = u_product/u_car_inventory
    *** Script: [1].getNamespacedName() = u_product/u_car_inventory/u_total_miles
    *** Script: [1].isTransient()       = false
    *** Script: [1].getType()           = integer

    GlideDynamicAttribute:getType()

    動的属性オブジェクトの type プロパティの値を取得します。

    表 : 11. パラメーター
    名前 タイプ 説明
    なし
    表 : 12. 返される内容
    タイプ 説明
    文字列 動的属性のデータタイプの値。

    次の例では、動的属性オブジェクトタイプの値が、一時属性の場合は 文字列 、非一時属性の場合は 整数 として表示されます。

    var used_car = new GlideDynamicAttributeStore('u_product/u_car_inventory');
    used_car.setDynamicAttributeValue('mfg_year', 2014);       // transient (adding here)
    used_car.setDynamicAttributeValue('u_total_miles', 53246); // defined in dynamic_attribute table
    
    var attributes = used_car.getDynamicAttributes();
    gs.info(attributes);
    
    for (var i = 0; i < attributes.length; i++) {
        var attr = attributes[i];
        gs.info("");
        gs.info("[" + i + "].getPath()           = " + attr.getPath());
        gs.info("[" + i + "].getName()           = " + attr.getName());
        gs.info("[" + i + "].getNamespaceName()  = " + attr.getNamespaceName());
        gs.info("[" + i + "].getNamespacedName() = " + attr.getNamespacedName());
        gs.info("[" + i + "].isTransient()       = " + attr.isTransient());
        gs.info("[" + i + "].getType()           = " + attr.getType());
    }

    出力:

    *** Script: mfg_year,u_total_miles
    *** Script: 
    *** Script: [0].getPath()           = mfg_year
    *** Script: [0].getName()           = mfg_year
    *** Script: [0].getNamespaceName()  = u_product/u_car_inventory
    *** Script: [0].getNamespacedName() = u_product/u_car_inventory/mfg_year
    *** Script: [0].isTransient()       = true
    *** Script: [0].getType()           = string
    *** Script: 
    *** Script: [1].getPath()           = u_total_miles
    *** Script: [1].getName()           = u_total_miles
    *** Script: [1].getNamespaceName()  = u_product/u_car_inventory
    *** Script: [1].getNamespacedName() = u_product/u_car_inventory/u_total_miles
    *** Script: [1].isTransient()       = false
    *** Script: [1].getType()           = integer

    GlideDynamicAttribute:isTransient()

    オブジェクトが一時動的属性かどうかを返します。

    表 : 13. パラメーター
    名前 タイプ 説明
    なし
    表 : 14. 返される内容
    タイプ 説明
    ブーリアン 動的属性が一時的かどうかを示すフラグ。
    有効な値:
    • true:動的属性は一時的です。 動的属性は、データタイプとsys_idを使用して動的属性 [dynamic_attribute] テーブルで定義されます。「 GlideDynamicAttribute」を参照してください。
    • false:動的属性は一時的ではありません。 一時的な動的属性は、動的属性 [dynamic_attribute] テーブルに定義なしで DynamicAttributeStore フィールドに追加された動的属性です。一時的な動的属性は文字列として処理され、sys_idはありません。

    次の例では、 isTransient() メソッドは非一時オブジェクトに対して false を返します。

    var used_car = new GlideDynamicAttributeStore('u_product/u_car_inventory');
    used_car.setDynamicAttributeValue('mfg_year', 2014);       // transient (adding here)
    used_car.setDynamicAttributeValue('u_total_miles', 53246); // defined in dynamic_attribute table
    
    var attributes = used_car.getDynamicAttributes();
    gs.info(attributes);
    
    for (var i = 0; i < attributes.length; i++) {
        var attr = attributes[i];
        gs.info("");
        gs.info("[" + i + "].getPath()           = " + attr.getPath());
        gs.info("[" + i + "].getName()           = " + attr.getName());
        gs.info("[" + i + "].getNamespaceName()  = " + attr.getNamespaceName());
        gs.info("[" + i + "].getNamespacedName() = " + attr.getNamespacedName());
        gs.info("[" + i + "].isTransient()       = " + attr.isTransient());
        gs.info("[" + i + "].getType()           = " + attr.getType());
    }

    出力:

    *** Script: mfg_year,u_total_miles
    *** Script: 
    *** Script: [0].getPath()           = mfg_year
    *** Script: [0].getName()           = mfg_year
    *** Script: [0].getNamespaceName()  = u_product/u_car_inventory
    *** Script: [0].getNamespacedName() = u_product/u_car_inventory/mfg_year
    *** Script: [0].isTransient()       = true
    *** Script: [0].getType()           = string
    *** Script: 
    *** Script: [1].getPath()           = u_total_miles
    *** Script: [1].getName()           = u_total_miles
    *** Script: [1].getNamespaceName()  = u_product/u_car_inventory
    *** Script: [1].getNamespacedName() = u_product/u_car_inventory/u_total_miles
    *** Script: [1].isTransient()       = false
    *** Script: [1].getType()           = integer