GlideElementDynamicAttributeStore - 전역

  • 릴리스 버전: Australia
  • 업데이트 날짜 2026년 03월 12일
  • 소요 시간: 17분
  • GlideElementDynamicAttributeStore API는 현재 Glide 기록에서 동적 속성을 관리하기 위한 편리한 스크립트 메서드를 제공합니다. 이러한 메서드를 GlideRecord API와 함께 사용하여 정의된 동적 속성 값을 가져오고 설정합니다.

    이 API를 사용하여 동적 속성을 만들려면 dynamic_schema_writer 역할이 있어야 합니다. 이 API를 사용하여 동적 데이터를 읽으려면 dynamic_schema_reader 역할이 있어야 합니다.

    이 API는 API를 확장합니다 GlideElement - 전역 .

    Dynamic Schema 또한 참조하십시오.

    GlideElementDynamicAttributeStore - getDynamicAttributeDisplayValue(String attributePath)

    동적 속성 스토어 내의 지정된 속성 경로에 위치한 동적 속성의 표시 값을 반환합니다. 표시 값을 사용할 수 없는 경우 내부 값을 반환합니다.

    표 1. 매개변수
    이름 유형 설명
    attributePath 문자열 연결된 동적 스키마 속성을 찾는 데 사용할 속성 경로입니다.

    형식: "attr_name"

    attr_name: 동적 속성의 이름입니다.

    테이블: 동적 속성 [dynamic_attribute] 테이블의 속성 필드에 있습니다.

    표 2. 반환
    유형 설명
    객체 사람이 읽을 수 있는 형식으로된 연결된 동적 속성의 값입니다.

    attributePath 매개 변수에 잘못된 정보가 포함되어 있으면 null을 반환합니다.

    다음 코드 예제에서는 이 메서드를 호출하는 방법을 보여 줍니다.

    //Gets all the display values of the luxury attribute from the inc_dynamic_schema dynamic attribute store column on the incident table
    var gr_Inc = new GlideRecord('incident');
    gr_Inc.query();
    while(gr_Inc.next()) {
        var attr = gr_Inc.getDynamicAttributeDisplayValue('inc_dynamic_schema->luxury');
        gs.info(attr);
    }
    
    //You can also use if(gr.next()) if you don't want all the values
    var gr_Inc = new GlideRecord('incident');
    gr_Inc.query();
    
    if(gr_Inc.next()) {
        var attr = gr_Inc.getDynamicAttributeDisplayValue('inc_dynamic_schema->luxury');
        gs.info(attr);
    }

    GlideElementDynamicAttributeStore - getDynamicAttributePathsInSchema()

    스토어에 대해 구성된 스키마에 있는 동적 속성 경로 집합을 반환합니다.

    표 3. 매개변수
    이름 유형 설명
    안 함
    표 4. 반환
    유형 설명
    배열 문자열로 된 속성 경로 배열입니다.

    다음 예제에서는 스키마에 있고 저장소에 대해 구성된 동적 속성 경로를 반환하는 방법을 보여줍니다.

    var gr_Inc = new GlideRecord('incident');
    gr_Inc.get('number', 'INC0009009');
    gs.info(gr_Inc.inc_dynamic_schema.getDynamicAttributePathsInSchema());

    출력:

    number,short_description,active

    GlideElementDynamicAttributeStore - getDynamicAttributePathsInStore()

    스토어에 있는 동적 속성 경로 집합을 반환합니다.

    표 5. 매개변수
    이름 유형 설명
    안 함
    표 6. 반환
    유형 설명
    배열 문자열로 된 속성 경로 배열입니다.

    다음 예제에서는 저장소에 있는 동적 속성 경로를 반환하는 방법을 보여 줍니다.

    var gr_Inc = new GlideRecord('incident');
    gr_Inc.get('number', 'INC0009009');
    gs.info(gr_Inc.inc_dynamic_schema.getDynamicAttributePathsInStore());

    출력:

    severity,number,opened_at,short_description,urgency,opened_by,impact,active,description,state,priority

    GlideElementDynamicAttributeStore - getDynamicAttributesInStore()

    필드에 현재 저장되어 있는 동적 속성 정의 집합을 반환합니다.

    표 7. 매개변수
    이름 유형 설명
    안 함
    표 8. 반환
    유형 설명
    배열 GlideDynamicAttribute 객체의 배열입니다.

    다음 예제에서는 저장된 동적 속성의 내용을 검색하고, 저장된 속성과 스키마의 속성을 나열하는 방법을 보여 줍니다.

    var record = new GlideRecord('cool_thing');
    record.get('number', 'COOL0000005');
    
    gs.info("Store Contents:\n" + JSON.stringify(JSON.parse(record.store1), null, 2) + "\n");
    gs.info("Attributes in Store:\n" + record.store1.getDynamicAttributesInStore() + "\n");
    gs.info("Attributes in Schema:\n" + record.store1.getDynamicAttributesInSchema() + "\n");

    출력:

    *** Script: Store Contents:
    {
      {
        "b": "hello world"
      },
      {
        "integer1": "5"
      },
      {
        "integer1": "10",
        "string1": "hello"
      }
    }
    
    *** Script: Attributes in Store: b,integer1,integer1,string1
    
    *** Script: Attributes in Schema:
    integer1,string1,integer1

    GlideElementDynamicAttributeStore - getDynamicAttributesInSchema()

    스키마에서 가리키는 동적 속성 정의 집합을 반환합니다.

    표 9. 매개변수
    이름 유형 설명
    안 함
    표 10. 반환
    유형 설명
    배열 GlideDynamicAttribute 객체의 배열입니다.

    다음 예제에서는 저장된 동적 속성의 내용을 검색하고, 저장된 속성과 스키마의 속성을 나열하는 방법을 보여 줍니다.

    var record = new GlideRecord('cool_thing');
    record.get('number', 'COOL0000005');
    
    gs.info("Store Contents:\n" + JSON.stringify(JSON.parse(record.store1), null, 2) + "\n");
    gs.info("Attributes in Store:\n" + record.store1.getDynamicAttributesInStore() + "\n");
    gs.info("Attributes in Schema:\n" + record.store1.getDynamicAttributesInSchema() + "\n");

    출력:

    *** Script: Store Contents:
    {
      {
        "b": "hello world"
      },
      {
        "integer1": "5"
      },
      {
        "integer1": "10",
        "string1": "hello"
      }
    }
    
    *** Script: Attributes in Store: b,integer1,integer1,string1
    
    *** Script: Attributes in Schema:
    integer1,string1,integer1

    GlideElementDynamicAttributeStore - getDynamicAttributeValue(String attributePath)

    동적 속성 스토어 내에서 전달된 속성 경로가 가리키는 동적 속성의 내부 값을 반환합니다.

    Dynamic Schema 또한 참조하십시오.

    표 11. 매개변수
    이름 유형 설명
    attributePath 문자열 연결된 동적 스키마 속성을 찾는 데 사용할 속성 경로입니다.

    형식: "attr_name"

    attr_name: 동적 속성의 이름입니다.

    테이블: 동적 속성 [dynamic_attribute] 테이블의 속성 필드에 있습니다.

    표 12. 반환
    유형 설명
    객체 전달된 속성 경로가 가리키는 동적 속성의 값입니다.

    attributePath 매개 변수에 잘못된 정보가 포함되어 있으면 null을 반환합니다.

    다음 코드 예제에서는 이 메서드를 호출하는 방법을 보여 줍니다.

    var gr_Inc = new GlideRecord('incident');
    gr_Inc.query();
    
    while(gr_Inc.next()) {
        var attr = gr_Inc.getDynamicAttributeValue('inc_dynamic_schema->luxury');
        gs.info(attr);
    }
    출력:
    
    *** Script: 1

    GlideElementDynamicAttributeStore - getDynamicNamespace()

    스토어에 대해 구성된 동적 네임스페이스를 반환합니다.

    표 13. 매개변수
    이름 유형 설명
    안 함
    표 14. 반환
    유형 설명
    IDynamicNamespace 동적 네임스페이스 객체 정보입니다.

    다음 예제에서는 저장소에 대해 구성된 동적 네임스페이스 개체를 반환하는 방법을 보여 줍니다.

    var gr_Inc = new GlideRecord('incident');
    gr_Inc.query();
    if (gr_Inc.next()) {
        var namespace = gr_Inc.inc_dynamic_schema.getDynamicNamespace();
     
        gs.info("toString:    " + namespace);
        gs.info("name:        " + namespace.getName());
        gs.info("isActive:    " + namespace.isActive());
        gs.info("isTransient: " + namespace.isTransient());
    }

    출력:

    toString:    incident/inc_dynamic_schema
    name:        incident/inc_dynamic_schema
    isActive:    true
    isTransient: false

    GlideElementDynamicAttributeStore - getDynamicNamespaceName()

    스토어에 대해 구성된 동적 네임스페이스의 이름을 가져옵니다.

    표 15. 매개변수
    이름 유형 설명
    안 함
    표 16. 반환
    유형 설명
    문자열 동적 네임스페이스의 이름입니다.

    다음 예제에서는 스토어에 대해 구성된 동적 네임스페이스의 이름을 반환하는 방법을 보여줍니다.

    var gr_Inc = new GlideRecord('incident');
    gr_Inc.query();
    if (gr_Inc.next()) {
        gs.info(gr_Inc.inc_dynamic_schema.getDynamicNamespaceName());
    }

    출력:

    incident/inc_dynamic_schema

    GlideElementDynamicAttributeStore - setDynamicAttributeValue(String attributePath, Object value)

    동적 속성 저장소에서 지정된 속성 경로가 가리키는 속성을 지정된 값으로 설정합니다.

    Dynamic Schema 또한 참조하십시오.

    표 17. 매개변수
    이름 유형 설명
    attributePath 문자열 연결된 동적 스키마 속성을 찾는 데 사용할 속성 경로입니다.

    형식: "attr_name"

    attr_name: 동적 속성의 이름입니다.

    테이블: 동적 속성 [dynamic_attribute] 테이블의 속성 필드에 있습니다.

    객체 지정된 속성에서 설정할 값입니다.
    주:
    동적 속성의 경우 다음 데이터 유형만 지원됩니다.
    • 부울(예/아니오)
    • 10진수
    • 부동 소수점 숫자
    • GlideDate
    • GlideDateTime
    • 정수
    • 문자열
    표 18. 반환
    유형 설명
    GlideElementDynamicAttributeStore 지정된 값을 포함하는 GlideElementDynamicAttributeStore 객체를 반환합니다.

    매개변수에 attributePath 잘못된 정보가 포함되어 있으면 속성이 업데이트되지 않습니다.

    다음 코드 예제에서는 이 메서드를 호출하는 방법을 보여 줍니다.

    //This simple example inserts a make attribute on the inc_dynamic_schema column where the value of the make attribute is Ford.
    var gr_Inc = new GlideRecord('incident');
    gr_Inc.setDynamicAttributeValue('inc_dynamic_schema->make', 'Ford');
    gr_Inc.insert();

    GlideElementDynamicAttributeStore - setDynamicAttributeValues(GlideDynamicAttributeStore 값)

    현재 GlideRecord 요소의 동적 속성 저장소에 전달된 GlideElementDynamicAttributeStore 객체에 지정된 값을 설정합니다. 현재 요소의 데이터 유형은 동적 속성 스토어로 설정해야 합니다.

    Dynamic Schema 또한 참조하십시오.

    표 19. 매개변수
    이름 유형 설명
    GlideDynamicAttributeStore 현재 요소의 동적 스키마에서 설정할 값이 포함된 객체입니다. 이 객체에 지정되지 않은 값은 업데이트되지 않습니다.
    표 20. 반환
    유형 설명
    GlideElementDynamicAttributeStore GlideElementDynamicAttributeStore 객체를 업데이트했습니다.

    다음 코드 예제에서는 이 메서드를 호출하는 방법을 보여 줍니다.

    var gr_Inc = new GlideRecord('incident');
    var das = new GlideDynamicAttributeStore();
    das.setDynamicAttributeValue("color", "black");
    das.setDynamicAttributeValue("make","Honda");
    das.setDynamicAttributeValue("model","CRV");
    gr_Inc.setDynamicAttributeValues('inc_dynamic_schema', das);
    gr_Inc.insert();

    이 코드 예제에서는 u_inc_dynamic_schema 열에 다음을 삽입합니다.

    {
      "color" : "black",
      "make" : "Honda",
      "model" : "CRV"
    }

    GlideElementDynamicAttributeStore - setDynamicAttributeDisplayValue(String attributePath)

    현재 GlideRecord 요소의 동적 속성 저장소 내에 있는 지정된 경로에 위치한 동적 속성의 표시 값을 설정합니다.

    표 21. 매개변수
    이름 유형 설명
    attributePath 문자열 연결된 동적 스키마 속성을 찾는 데 사용할 속성 경로입니다.

    형식: "attr_name"

    attr_name: 동적 속성의 이름입니다.

    테이블: 동적 속성 [dynamic_attribute] 테이블의 속성 필드에 있습니다.

    객체 현재 동적 속성 요소에서 설정할 값입니다.
    전달된 값은 다음 데이터 유형 중 하나여야 합니다.
    • 부울(예/아니오)
    • 10진수
    • 부동 소수점 숫자
    • GlideDate
    • GlideDateTime
    • 정수
    • 문자열
    표 22. 반환
    유형 설명
    GlideElementDynamicAttributeStore 업데이트된 Glide 요소를 포함하는 객체입니다.

    다음 코드 예제에서는 이 메서드를 호출하는 방법을 보여 줍니다.

    var grFleet = new GlideRecord('u_car_fleet');
    grFleet.setDynamicAttributeValue('u_dyn_attr_store', 'color', 'Yellow');
    grFleet.setDynamicAttributeValue('u_dyn_attr_store', 'make', 'Ford');
    var sysId = grFleet.insert();
    gs.info("Inserted: " + grFleet.u_dyn_attr_store);
    
    var daStore = new GlideDynamicAttributeStore();
    daStore.setDynamicAttributeValue('color', 'Green');
    daStore.setDynamicAttributeValue('model', 'Bronco');
    
    var geDynAttrStore = grFleet.getElement('u_dyn_attr_store');
    geDynAttrStore.setDynamicAttributeDisplayValues(daStore);
    grFleet.update();
    gs.info("Updated:  " + grFleet.u_dyn_attr_store);

    출력:

    *** Script: Inserted: {"color":"Yellow","make":"Ford"}
    *** Script: Updated:  {"color":"Green","make":"Ford","model":"Bronco"}

    다음 코드 예제에서는 부울 표시 값이 "1"로 저장되지만 "true"로 다시 전달되는 방법을 보여 줍니다.

     var gr_Inc = new GlideRecord('incident');
    gr_Inc.setDynamicAttributeDisplayValue('u_inc_dynamic_schema->u_luxury', '1');
    gr_Inc.insert()

    반환된 값:

    {
      "u_luxury" : "true"
    }

    GlideElementDynamicAttributeStore - setDynamicAttributeDisplayValues(GlideDynamicAttributeStore 값)

    전달된 GlideDynamicAttributeStore 객체에 지정된 표시 값을 현재 GlideRecord 요소의 동적 속성으로 설정합니다. 현재 요소의 데이터 유형은 연결된 테이블에서 동적 속성 스토어 로 설정되어야 합니다.

    표 23. 매개변수
    이름 유형 설명
    GlideDynamicAttributeStore 현재 요소의 동적 속성 저장소에서 설정할 표시 값을 포함하는 객체입니다. 이 객체에 지정되지 않은 표시 값은 업데이트되지 않습니다. 이 객체에는 저장할 각 속성의 속성 경로와 표시 값이 모두 포함되어야 합니다.
    예:
    {
      "color":"Blue",
      "make":"Ford",
      "model":"Mustang"
    }
    표 24. 반환
    유형 설명
    GlideElementDynamicAttributeStore 업데이트된 Glide 요소를 포함하는 객체입니다.

    다음 코드 예제에서는 이 메서드를 호출하는 방법을 보여 줍니다.

    var daStore = new GlideDynamicAttributeStore();
    daStore.setDynamicAttributeValue('make', 'Ford');
    daStore.setDynamicAttributeValue('model', 'Mustang');
    daStore.setDynamicAttributeValue('color', 'Blue');
    gs.info("daStore: " + daStore);
    
    var gr_Car = new GlideRecord('u_car_fleet');
    gr_Car.query();
    while(gr_Car.next()) {
      var glideElement = gr_Car.getElement('u_dyn_attr_store');
      glideElement.setDynamicAttributeValues(daStore);
      gr_Car.update();
    }

    출력:

    daStore: {"color":"Blue","model":"Mustang","make":"Ford"}