GlideElementDynamicAttributeStore - 전역
GlideElementDynamicAttributeStore API는 현재 Glide 기록에서 동적 속성을 관리하기 위한 편리한 스크립트 메서드를 제공합니다. 이러한 메서드를 GlideRecord API와 함께 사용하여 정의된 동적 속성 값을 가져오고 설정합니다.
이 API를 사용하여 동적 속성을 만들려면 dynamic_schema_writer 역할이 있어야 합니다. 이 API를 사용하여 동적 데이터를 읽으려면 dynamic_schema_reader 역할이 있어야 합니다.
이 API는 API를 확장합니다 GlideElement - 전역 .
Dynamic Schema 또한 참조하십시오.
GlideElementDynamicAttributeStore - getDynamicAttributeDisplayValue(String attributePath)
동적 속성 스토어 내의 지정된 속성 경로에 위치한 동적 속성의 표시 값을 반환합니다. 표시 값을 사용할 수 없는 경우 내부 값을 반환합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| attributePath | 문자열 | 연결된 동적 스키마 속성을 찾는 데 사용할 속성 경로입니다. 형식:
테이블: 동적 속성 [dynamic_attribute] 테이블의 속성 필드에 있습니다. |
| 유형 | 설명 |
|---|---|
| 객체 | 사람이 읽을 수 있는 형식으로된 연결된 동적 속성의 값입니다. 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()
스토어에 대해 구성된 스키마에 있는 동적 속성 경로 집합을 반환합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 안 함 |
| 유형 | 설명 |
|---|---|
| 배열 | 문자열로 된 속성 경로 배열입니다. |
다음 예제에서는 스키마에 있고 저장소에 대해 구성된 동적 속성 경로를 반환하는 방법을 보여줍니다.
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()
스토어에 있는 동적 속성 경로 집합을 반환합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 안 함 |
| 유형 | 설명 |
|---|---|
| 배열 | 문자열로 된 속성 경로 배열입니다. |
다음 예제에서는 저장소에 있는 동적 속성 경로를 반환하는 방법을 보여 줍니다.
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()
필드에 현재 저장되어 있는 동적 속성 정의 집합을 반환합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 안 함 |
| 유형 | 설명 |
|---|---|
| 배열 | 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()
스키마에서 가리키는 동적 속성 정의 집합을 반환합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 안 함 |
| 유형 | 설명 |
|---|---|
| 배열 | 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 또한 참조하십시오.
| 이름 | 유형 | 설명 |
|---|---|---|
| attributePath | 문자열 | 연결된 동적 스키마 속성을 찾는 데 사용할 속성 경로입니다. 형식:
테이블: 동적 속성 [dynamic_attribute] 테이블의 속성 필드에 있습니다. |
| 유형 | 설명 |
|---|---|
| 객체 | 전달된 속성 경로가 가리키는 동적 속성의 값입니다. 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: 1GlideElementDynamicAttributeStore - getDynamicNamespace()
스토어에 대해 구성된 동적 네임스페이스를 반환합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 안 함 |
| 유형 | 설명 |
|---|---|
| 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()
스토어에 대해 구성된 동적 네임스페이스의 이름을 가져옵니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 안 함 |
| 유형 | 설명 |
|---|---|
| 문자열 | 동적 네임스페이스의 이름입니다. |
다음 예제에서는 스토어에 대해 구성된 동적 네임스페이스의 이름을 반환하는 방법을 보여줍니다.
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 또한 참조하십시오.
| 이름 | 유형 | 설명 |
|---|---|---|
| attributePath | 문자열 | 연결된 동적 스키마 속성을 찾는 데 사용할 속성 경로입니다. 형식:
테이블: 동적 속성 [dynamic_attribute] 테이블의 속성 필드에 있습니다. |
| 값 | 객체 | 지정된 속성에서 설정할 값입니다. 주: 동적 속성의 경우 다음 데이터 유형만 지원됩니다.
|
| 유형 | 설명 |
|---|---|
| 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 또한 참조하십시오.
| 이름 | 유형 | 설명 |
|---|---|---|
| 값 | GlideDynamicAttributeStore | 현재 요소의 동적 스키마에서 설정할 값이 포함된 객체입니다. 이 객체에 지정되지 않은 값은 업데이트되지 않습니다. |
| 유형 | 설명 |
|---|---|
| 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 요소의 동적 속성 저장소 내에 있는 지정된 경로에 위치한 동적 속성의 표시 값을 설정합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| attributePath | 문자열 | 연결된 동적 스키마 속성을 찾는 데 사용할 속성 경로입니다. 형식:
테이블: 동적 속성 [dynamic_attribute] 테이블의 속성 필드에 있습니다. |
| 값 | 객체 | 현재 동적 속성 요소에서 설정할 값입니다. 전달된 값은 다음 데이터 유형 중 하나여야 합니다.
|
| 유형 | 설명 |
|---|---|
| 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 요소의 동적 속성으로 설정합니다. 현재 요소의 데이터 유형은 연결된 테이블에서 동적 속성 스토어 로 설정되어야 합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 값 | GlideDynamicAttributeStore | 현재 요소의 동적 속성 저장소에서 설정할 표시 값을 포함하는 객체입니다. 이 객체에 지정되지 않은 표시 값은 업데이트되지 않습니다. 이 객체에는 저장할 각 속성의 속성 경로와 표시 값이 모두 포함되어야 합니다. 예: |
| 유형 | 설명 |
|---|---|
| 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"}