UI 정책 API - ServiceNow Fluent
UI 정책 API는 양식의 정보 동작을 동적으로 변경하고 작업에 대한 사용자 지정 프로세스 플로우를 제어하는 사용자 인터페이스(UI) 정책[sys_ui_policy]을 정의합니다.
UI 정책은 특정 조건이 충족될 때 필드를 필수 항목, 읽기 전용, 표시, 숨김 또는 지우기로 설정할 수 있습니다. 클라이언트 스크립트를 사용하여 이러한 모든 작업을 수행할 수도 있지만 로드 시간을 단축하려면 가능하면 UI 정책을 사용하십시오.
UI 정책에 대한 일반적인 정보는 다음 문서를 참조하십시오 Using UI policies.
UiPolicy 객체
UI 정책 sys_ui_policy 을 생성하여 양식 동작을 구성합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| $id | 문자열 또는 숫자 | 필수 메타데이터 객체의 고유 ID입니다. 애플리케이션을 빌드할 때 이 ID는 고유한 sys_id으로 해시됩니다. 자세한 내용은 ServiceNow Fluent 언어 구성 문서를 참조하십시오. 형식: |
| 테이블 | 문자열 | 필수 수정할 양식의 테이블입니다. |
| shortDescription | 문자열 | 필수 정책 및 그 목적에 대한 설명입니다. |
| 활성 | 부울 | 정책이 양식에 적용되는지 여부를 나타내는 플래그입니다. 기본값: true |
| 전역 | 부울 |
정책이 어떤 양식 뷰에 적용되는지 여부를 나타내는 플래그입니다. 값이 true이면 테이블의 모든 뷰에 정책이 적용됩니다. false인 경우 정책은 뷰 속성으로 지정된 양식 뷰에만 해당됩니다. 기본값: true |
| onLoad | 부울 | 정책이 실행되는 시기를 나타내는 플래그입니다. true인 경우, 조건이 충족되면 양식이 로드될 때마다 정책이 실행됩니다. 기본값: true |
| reverseIfFalse | 부울 | 조건이 false로 평가될 때 정책 동작을 반전할지 여부를 나타내는 플래그입니다. true인 경우 정책 조건이 false로 평가되면 정책 작업이 실행 취소됩니다. 기본값: true |
| 상속 | 부울 | 현재 테이블을 확장하는 테이블이 정책을 상속하는지 여부를 나타내는 플래그입니다. 예일 경우 확장된 테이블이 정책을 상속합니다. 하위 테이블에 상위 테이블에서 상속된 정책이 있는 경우 하위 테이블의 정책이 먼저 실행됩니다. 이 이벤트는 정책의 순서에 관계없이 True입니다. 기본값: false |
| isolateScript | 부울 | 격리된 범위에서 스크립트를 실행할지 여부를 나타내는 플래그입니다. 예일 경우 스크립트가 격리된 범위에서 실행됩니다. 이 속성은 runScripts 가 true로 설정된 경우에만 적용됩니다. 기본값: false |
| 조건 | 문자열 | 사용자가 객체에 액세스하려면 예여야 하는 필드와 값을 지정하는 필터 쿼리입니다. 자세한 내용은 Operators available for filters and queries 문서를 참조하십시오. 스크립트를 사용하여 조건을 설정하려면 대신 클라이언트 스크립트를 사용하십시오. 사용자가 양식의 필드를 수동으로 변경한 경우에만 조건이 다시 확인됩니다. UI 작업, 컨텍스트 메뉴 작업 또는 목록 편집기를 통해 변경한 경우에는 평가되지 않습니다. |
| 실행 스크립트 | 부울 | 예 및 아니오 조건 모두에 대해 고급 동작을 스크립팅할 수 있는지 여부를 나타내는 플래그입니다. 속성이 true이면 scriptTrue, scriptFalse, uiType 및 isolateScript 속성으로 정의된 스크립트가 해당하는 경우 실행됩니다. 기본값: false |
| scriptTrue | 문자열 | 정책 조건이 충족될 경우 실행되는 클라이언트 측 스크립트입니다. runScripts 속성이 true로 설정된 경우 이 속성이 필요합니다. 형식: 기본값: |
| scriptFalse | 문자열 | 정책 조건이 충족되지 않고 reverseIfFalse 속성이 true로 설정된 경우 실행되는 클라이언트 쪽 스크립트입니다. runScripts 속성이 true로 설정된 경우 이 속성이 필요합니다. 형식: 기본값: |
| uiType | 문자열 | 정책이 적용되는 사용자 인터페이스의 유형입니다. runScripts 속성이 true로 설정된 경우 이 속성이 필요합니다. 유효한 값은 다음과 같습니다.
기본값: 데스크톱 |
| 작업 | 배열 | 조건이 충족될 경우 적용할 필드 작업 목록입니다. 자세한 내용은 작업 배열 문서를 참조하십시오. |
| relatedListActions | 배열 | 관련 목록에 대한 가시성 통제 목록입니다. 자세한 내용은 relatedListActions 배열 문서를 참조하십시오. |
| 설명 | 문자열 | 정책에 대한 추가 정보입니다. |
| modelId | 문자열 | 이 정책이 상속될 때 정책이 적용되는 상위 UI 정책의 sys_id입니다. 이 속성은 model_table 속성과 함께 작동합니다. |
| modelTable | 문자열 | UI 정책이 상위 테이블에서 상속될 때 정책이 적용되는 상위 테이블의 이름입니다. 이 속성은 model_id 속성과 함께 작동합니다. |
| 순서 | 번호 | 둘 이상의 정책이 조건을 충족하는 경우 정책을 적용할 실행 순서입니다. 상속된 UI 정책의 경우 확장된 테이블의 정책이 먼저 실행됩니다. 그런 다음 기본 테이블 정책이 실행됩니다. 기본값: 100 |
| 값 설정 | 문자열 | (사용하지 않음) 인코딩된 문자열 형식을 사용하여 설정할 필드 값입니다. 대신 UI 정책 작업 [sys_ui_policy_action]을 사용하십시오. |
| 뷰 | 참조 또는 문자열 | 필수 적용되는 UI 뷰 [sys_ui_view] 또는 기본 뷰의 변수 식별자 또는 이름입니다. UI 뷰를 정의하려면 다음 문서를 참조하십시오 기록 API - ServiceNow Fluent. 기본 뷰( default_view)를 사용하려면 다음을 임포트해야 합니다. |
import { UiPolicy } from '@servicenow/sdk/core';
export const securityIncidentPolicy = UiPolicy({
$id: Now.ID['security_incident_policy'],
table: 'incident',
shortDescription: 'Lock critical fields for security incidents',
active: true,
onLoad: true,
conditions: 'category="security"',
actions: [
{
field: 'security_notes',
mandatory: true,
visible: true
},
{
field: 'caller_id',
readOnly: true // Lock caller field when category is security
},
{
field: 'assignment_group',
readOnly: true // Lock assignment group when category is security
},
{
field: 'priority',
readOnly: true // Lock priority when category is security
}
],
relatedListActions: [
{
// Using plain GUID for system relationships
list: 'b9edf0ca0a0a0b010035de2d6b579a03', // Attachments
visible: false
},
{
// Using table.field format for reference fields
list: 'x_snc_17sepapp1_expenseitem.expensereport', // Example reference field
visible: true
}
]
})
작업 배열
UI 정책이 필드에서 수행하는 작업 [sys_ui_policy_action]을 구성합니다.
UiPolicy 객체 내에서 actions 배열을 사용합니다. 작업은 배열에 나타나는 순서대로 처리됩니다. 배열의 각 작업에 대해 visible, readOnly, 필수 또는 cleared 속성 중 하나 이상을 지정해야 합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 필드 | 문자열 | 필수 작업이 적용되는 필드의 이름입니다. 주: 지정된 필드를 양식에서 찾을 수 없는 경우 UI 정책은 동일한 이름의 변수에 대해 작업을 수행합니다. |
| 표시 | 부울 또는 문자열 | 필드의 가시성을 제어하는 옵션입니다. 유효한 값은 다음과 같습니다.
기본값: 무시 |
| readOnly | 부울 또는 문자열 | 필드 편집에 대한 액세스를 제어하는 옵션입니다. 유효한 값은 다음과 같습니다.
기본값: 무시 |
| 필수 | 부울 또는 문자열 | 필드가 필수인지 여부를 제어하는 옵션입니다. 유효한 값은 다음과 같습니다.
기본값: 무시 |
| 지워짐 | 부울 | 정책 조건이 충족되는 경우 필드를 지워야 하는지 여부를 나타내는 플래그입니다. 기본값: false |
| 테이블 | 문자열 | 정책에 의해 지정된 테이블을 재정의하는 작업이 적용되는 테이블입니다. 비어 있으면 정책에 지정된 테이블이 적용됩니다. |
| 값 | 문자열 | 정책 조건이 충족되는 경우 필드를 설정할 값입니다. |
| 필드메시지 | 문자열 | 정책 조건이 충족될 경우 필드에 대해 표시할 메시지입니다. |
| fieldMessageType | 문자열 | 필드 메시지가 표시되는 방식을 결정하는 메시지 유형입니다. 유효한 값은 다음과 같습니다.
기본값: 없음 |
| 값작업 | 문자열 | 필드 값에 대해 수행할 작업입니다. 유효한 값은 다음과 같습니다.
기본값: 무시 |
actions: [
{
field: 'assignment_group',
mandatory: true,
value: 'Critical Response Team', // Set default value
fieldMessage: 'This incident requires immediate attention from the Critical Response Team',
fieldMessageType: 'error' // Show as error message
},
{
field: 'urgency',
value: '1', // Set to High urgency
fieldMessage: 'Urgency has been automatically set to High',
fieldMessageType: 'info'
},
{
field: 'impact',
value: '1', // Set to High impact
fieldMessage: 'Impact has been automatically set to High',
fieldMessageType: 'warning'
}
]
relatedListActions 배열
UI 정책의 양식에서 관련 목록 [sys_ui_policy_rl_action]의 표시 여부를 구성합니다.
UiPolicy 객체 내에서 relatedListActions 배열을 사용합니다. 관련 목록 작업은 배열에 나타나는 순서대로 처리됩니다. 배열의 각 관련 목록 작업에 대해 목록 또는 visible 속성을 지정해야 합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 목록 | 문자열 | 양식의 관련 목록에 대한 참조입니다. 비어 있으면 작업이 모든 관련 목록에 적용됩니다. visible 속성이 설정되지 않은 경우 이 속성이 필요합니다. 체재:
|
| 표시 | 부울 또는 문자열 | 관련 목록의 가시성을 제어하는 옵션입니다. 목록 속성이 설정되지 않은 경우 이 속성이 필요합니다. 유효한 값은 다음과 같습니다.
기본값: 무시 |
relatedListActions: [
{
// Using plain GUID for system relationships
list: 'b9edf0ca0a0a0b010035de2d6b579a03', // Attachments
visible: false
},
{
// Using table.field format for reference fields
list: 'x_snc_17sepapp1_expenseitem.expensereport', // Example reference field
visible: true
}
]