GlideElementDynamicAttributeStore - 전역
GlideElementDynamicAttributeStore API는 현재 Glide 기록의 동적 속성을 관리하기 위한 편리한 스크립트 메서드를 제공합니다. 이러한 메서드를 GlideRecord API와 함께 사용하여 정의된 동적 속성 값을 가져오고 설정합니다.
이 API를 사용하여 동적 속성을 작성하려면 dynamic_schema_writer 역할이 있어야 합니다. 이 API를 사용하여 동적 데이터를 읽으려면 dynamic_schema_reader 역할이 있어야 합니다.
이 API는 API를 확장합니다 GlideElement - 전역 .
동적 속성에 대한 자세한 내용은 을 참조하십시오 Dynamic Schema.
GlideElementDynamicAttributeStore - getDynamicAttribute(문자열 attributePath)
지정된 동적 속성 경로에 있는 동적 속성을 나타내는 GlideElementDynamicAttribute 객체를 반환합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| attributePath | 문자열 | 연결된 동적 스키마 속성을 찾는 데 사용할 속성 경로입니다. 형식: "group_name->attr_name"
예: |
| 유형 | 설명 |
|---|---|
| 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)
동적 특성 저장소 내의 지정된 특성 경로에 있는 동적 특성의 표시 값을 반환합니다. 표시 값을 사용할 수 없는 경우 내부 값을 반환합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| attributePath | 문자열 | 연결된 동적 스키마 속성을 찾는 데 사용할 속성 경로입니다. 형식: "group_name->attr_name"
예: |
| 유형 | 설명 |
|---|---|
| 객체 | 사용자가 읽을 수 있는 형식의 연결된 동적 속성 값입니다. 매개 변수에 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.
| 이름 | 유형 | 설명 |
|---|---|---|
| attributePath | 문자열 | 연결된 동적 스키마 속성을 찾는 데 사용할 속성 경로입니다. 형식: "group_name->attr_name"
예: |
| 유형 | 설명 |
|---|---|
| 객체 | 전달된 속성 경로가 가리키는 동적 속성의 값입니다. 매개 변수에 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: 1GlideElementDynamicAttributeStore - setDynamicAttributeValue(문자열, attributePath, 객체 값)
동적 특성 저장소의 지정된 특성 경로가 가리키는 특성을 지정된 값으로 설정합니다.
동적 속성에 대한 자세한 내용은 을 참조하십시오 Dynamic Schema.
| 이름 | 유형 | 설명 |
|---|---|---|
| attributePath | 문자열 | 연결된 동적 스키마 속성을 찾는 데 사용할 속성 경로입니다. 형식: "group_name->attr_name"
예: |
| 값 | 객체 | 지정된 속성에서 설정할 값입니다. 주: 동적 속성의 경우 다음 데이터 유형만 지원됩니다.
|
| 유형 | 설명 |
|---|---|
| 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.
| 이름 | 유형 | 설명 |
|---|---|---|
| 값 | GlideDynamicAttributeStore | 현재 요소의 동적 스키마에서 설정할 값을 포함하는 객체입니다. 이 객체에 지정되지 않은 값은 업데이트되지 않습니다. |
| 유형 | 설명 |
|---|---|
| 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 요소의 동적 속성 저장소 내 지정된 경로에 있는 동적 속성의 표시 값을 설정합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| attributePath | 문자열 | 연결된 동적 스키마 속성을 찾는 데 사용할 속성 경로입니다. 형식: "group_name->attr_name"
예: |
| 값 | 객체 | 현재 동적 특성 요소에서 설정할 값입니다. 전달된 값은 다음 데이터 유형 중 하나여야 합니다.
|
| 유형 | 설명 |
|---|---|
| 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 객체에 지정된 표시 값을 설정합니다. 현재 요소의 데이터 유형은 연결된 테이블에서 동적 특성 저장소 로 설정되어야 합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 값 | GlideDynamicAttributeStore | 현재 요소의 동적 속성 저장소에서 설정할 표시 값을 포함하는 객체입니다. 이 객체에 지정되지 않은 표시 값은 업데이트되지 않습니다. 이 객체에는 저장할 각 특성의 특성 경로와 표시 값이 모두 포함되어야 합니다. 예: |
| 유형 | 설명 |
|---|---|
| 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();
}