GlideElementDynamicAttributeStore - 전역

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

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

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

    동적 속성에 대한 자세한 내용은 을 참조하십시오 Dynamic Schema.

    GlideElementDynamicAttributeStore - getDynamicAttribute(문자열 attributePath)

    지정된 동적 속성 경로에 있는 동적 속성을 나타내는 GlideElementDynamicAttribute 객체를 반환합니다.

    표 1. 매개변수
    이름 유형 설명
    attributePath 문자열 연결된 동적 스키마 속성을 찾는 데 사용할 속성 경로입니다.
    형식: "group_name->attr_name"
    • group_name: 속성이 연결된 그룹의 이름입니다. 동적 속성 그룹 [dynamic_attribute_group] 테이블의 이름 필드 또는 동적 속성 [dynamic_attribute] 테이블의 그룹 필드에 있습니다.
    • attr_name: 동적 그룹 내의 동적 속성 이름입니다. 동적 속성 [dynamic_attribute] 테이블의 이름 필드에 있습니다.

    예: "car->color"

    표 2. 반환
    유형 설명
    GlideElementDynamicAttribute 지정된 동적 속성을 포함하는 객체입니다.

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

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

    //Gets all the values of the make attribute from the u_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.getDynamicAttribute('inc_dynamic_schema->cars->make');
        gs.info(attr.getValue());
    }
    
    //You can also use if(gr_Inc.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.getDynamicAttribute('inc_dynamic_schema->cars->make');
        gs.info(attr.getValue());
    }

    GlideElementDynamicAttributeStore - getDynamicAttributeDisplayValue(문자열 attributePath)

    동적 특성 저장소 내의 지정된 특성 경로에 있는 동적 특성의 표시 값을 반환합니다. 표시 값을 사용할 수 없는 경우 내부 값을 반환합니다.

    표 3. 매개변수
    이름 유형 설명
    attributePath 문자열 연결된 동적 스키마 속성을 찾는 데 사용할 속성 경로입니다.
    형식: "group_name->attr_name"
    • group_name: 속성이 연결된 그룹의 이름입니다. 동적 속성 그룹 [dynamic_attribute_group] 테이블의 이름 필드 또는 동적 속성 [dynamic_attribute] 테이블의 그룹 필드에 있습니다.
    • attr_name: 동적 그룹 내의 동적 속성 이름입니다. 동적 속성 [dynamic_attribute] 테이블의 이름 필드에 있습니다.

    예: "car->color"

    표 4. 반환
    유형 설명
    객체 사용자가 읽을 수 있는 형식의 연결된 동적 속성 값입니다.

    매개 변수에 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->cars->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->cars->luxury');
        gs.info(attr);
    }

    GlideElementDynamicAttributeStore - getDynamicAttributeValue(문자열 attributePath)

    동적 특성 저장소 내에서 전달된 특성 경로가 가리키는 동적 특성의 내부 값을 반환합니다.

    동적 속성에 대한 자세한 내용은 을 참조하십시오 Dynamic Schema.

    표 5. 매개변수
    이름 유형 설명
    attributePath 문자열 연결된 동적 스키마 속성을 찾는 데 사용할 속성 경로입니다.
    형식: "group_name->attr_name"
    • group_name: 속성이 연결된 그룹의 이름입니다. 동적 속성 그룹 [dynamic_attribute_group] 테이블의 이름 필드 또는 동적 속성 [dynamic_attribute] 테이블의 그룹 필드에 있습니다.
    • attr_name: 동적 그룹 내의 동적 속성 이름입니다. 동적 속성 [dynamic_attribute] 테이블의 이름 필드에 있습니다.

    예: "car->color"

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

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

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

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

    GlideElementDynamicAttributeStore - setDynamicAttributeValue(문자열, attributePath, 객체 값)

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

    동적 속성에 대한 자세한 내용은 을 참조하십시오 Dynamic Schema.

    표 7. 매개변수
    이름 유형 설명
    attributePath 문자열 연결된 동적 스키마 속성을 찾는 데 사용할 속성 경로입니다.
    형식: "group_name->attr_name"
    • group_name: 속성이 연결된 그룹의 이름입니다. 동적 속성 그룹 [dynamic_attribute_group] 테이블의 이름 필드 또는 동적 속성 [dynamic_attribute] 테이블의 그룹 필드에 있습니다.
    • attr_name: 동적 그룹 내의 동적 속성 이름입니다. 동적 속성 [dynamic_attribute] 테이블의 이름 필드에 있습니다.

    예: "car->color"

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

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

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

    //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->cars->make', 'Ford');
    gr_Inc.insert();

    GlideElementDynamicAttributeStore - setDynamicAttributeValues(GlideDynamicAttributeStore 값)

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

    동적 속성에 대한 자세한 내용은 을 참조하십시오 Dynamic Schema.

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

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

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

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

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

    GlideElementDynamicAttributeStore - setDynamicAttributeDisplayValue(문자열 attributePath)

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

    표 11. 매개변수
    이름 유형 설명
    attributePath 문자열 연결된 동적 스키마 속성을 찾는 데 사용할 속성 경로입니다.
    형식: "group_name->attr_name"
    • group_name: 속성이 연결된 그룹의 이름입니다. 동적 속성 그룹 [dynamic_attribute_group] 테이블의 이름 필드 또는 동적 속성 [dynamic_attribute] 테이블의 그룹 필드에 있습니다.
    • attr_name: 동적 그룹 내의 동적 속성 이름입니다. 동적 속성 [dynamic_attribute] 테이블의 이름 필드에 있습니다.

    예: "car->color"

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

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

    var grFleet = new GlideRecord('u_car_fleet');
    grFleet.setDynamicAttributeValue('u_dyn_attr_store', 'car->color', 'Yellow');
    grFleet.setDynamicAttributeValue('u_dyn_attr_store', 'car->make', 'Ford');
    var sysId = grFleet.insert();
    gs.info("Inserted: " + grFleet.u_dyn_attr_store);
    
    var daStore = new GlideDynamicAttributeStore();
    daStore.setDynamicAttributeValue('car->color', 'Green');
    daStore.setDynamicAttributeValue('car->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: {"car":{"color":"Yellow","make":"Ford"}}
    *** Script: Updated:  {"car":{"color":"Green","make":"Ford","model":"Bronco"}}

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

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

    반환된 값:

    {
      "u_cars" : {
        "u_luxury" : "true"
      }
    }

    GlideElementDynamicAttributeStore - setDynamicAttributeDisplayValues(GlideDynamicAttributeStore 값)

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

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

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

    var daStore = new GlideDynamicAttributeStore();
    daStore.setDynamicAttributeValue('car->make', 'Ford');
    daStore.setDynamicAttributeValue('car->model', 'Mustang');
    daStore.setDynamicAttributeValue('car->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();
    }