---
sourceDocument: 호주 애플리케이션 빌드 또는 수정
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ko-KR/application-development

 Release :

    - australia

ft:locale :

    - ko-KR

ft:publication_title :

    - 호주 애플리케이션 빌드 또는 수정

ft:clusterId :

    - cadev

bundleId :

    - cadev

workflow :

    - Development, Data, and Analytics


---

# 서비스 카탈로그 API

# 서비스 카탈로그 API - ServiceNow Fluent {#fluent-service-catalog-api__fluent-api-title}

* 릴리스 버전: Australia
* 
* 업데이트 날짜 2026년 03월 12일
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 소요 시간: 48분

API는 서비스 카탈로그 카탈로그 항목\[sc_cat_item\], 기록 생성자\[sc_cat_item_producer\] 및 서비스 카탈로그의 관련 측면을 정의합니다.
주:  
최신 ServiceNow Fluent API 설명서 및 예제는 [ServiceNow Fluent API 참조](https://servicenow.github.io/sdk/) 및 [ServiceNow SDK 예제 리포지토리](https://github.com/ServiceNow/sdk-examples) 는 의 위치에 있습니다 GitHub.

서비스 카탈로그에 대한 일반적인 정보는 다음 문서를 참조하십시오 [Service Catalog](https://www.servicenow.com/docs/access?context=service-catalog&version=australia&pubname=australia-servicenow-platform&ft:locale=en-US).{#fluent-service-catalog-api__fluent-api-general-info}
**관련 개념**   

* [ServiceNow Fluent](https://servicenow-prod.fluidtopics.net/LkgjsL6Ogxn6hUPsJ73QXQ "도메인별 프로그래밍 언어를 사용하여 소스 코드에서 애플리케이션 메타데이터를 정의합니다.ServiceNow Fluent")

## CatalogItem 객체 {#fluent-catalog-item-object__fluent-object-title}

사용자가 서비스 카탈로그에서 요청할 수 있는 카탈로그 항목\[sc_cat_item\]을 작성합니다.
카탈로그 항목은 항목 요청이 이행되는 방법을 정의하는 플로우, 워크플로우 또는 실행 계획을 참조해야 합니다.
{#fluent-catalog-item-object__table_rsp_5rh_33c__entry__3}{#fluent-catalog-item-object__now-id-desc2}

| 이름 | 유형 | 설명 |
|-|-|-|
| $id | 문자열 또는 숫자 | 필수 메타데이터 객체의 고유 ID입니다. 애플리케이션을 빌드할 때 이 ID는 고유한 sys_id으로 해시됩니다. 자세한 내용은 [ServiceNow Fluent 언어 구성](https://servicenow-prod.fluidtopics.net/bd4_Ogu8TJjhKosNwonOfw "ServiceNow Fluent 언어 구문은 API를 사용하여 ServiceNow Fluent 소스 코드에서 개발하기 위한 추가 기능을 제공합니다.") 문서를 참조하십시오. 형식: `Now.ID['문자열' 또는 숫자]` |
| 이름 | 문자열 | 필수 카탈로그에 표시되는 항목의 이름입니다. |
| 활성 | 부울 | 항목이 활성 상태이고 주문할 수 있는지 여부를 나타내는 플래그입니다. 기본값: true |
| 가용성 | 문자열 | 항목이 표시되는 장치의 유형입니다. 유효한 값은 다음과 같습니다. * desktopOnly: 항목이 데스크톱 장치에만 표시됩니다. * mobileOnly: 항목이 모바일 장치에만 표시됩니다. * 모두: 항목이 데스크톱과 모바일 장치 모두에 표시됩니다. {#fluent-catalog-item-object__ul_u12_qyz_m3c} 기본값: desktopOnly |
| 체크 아웃됨 | 부울 | 항목이 편집을 위해 체크아웃되었는지 여부를 나타내는 플래그입니다. 기본값: false |
| 설명 | 문자열 | 사용자가 항목 또는 연결된 미리 보기 링크를 선택할 때 카탈로그에 표시되는 항목에 대한 자세한 설명입니다. 비디오, 이미지, 지식베이스(KB) 문서에 대한 링크, 외부 정보 및 지침 설명서 소스에 대한 링크를 포함할 수 있습니다. |
| 메타 | 배열 | 항목과 관련된 검색을 지원하는 데 사용되는 메타데이터 태그 목록입니다. 주: 메타 속성은 Zing 텍스트 인덱싱 및 검색 엔진에만 사용되며 AI 검색. |
| 모델 | 참조 또는 문자열 | 변수 식별자 또는 항목과 연결된 제품 모델 \[cmdb_model\]의 sys_id입니다. 제품 모델을 정의하려면 을 사용합니다 [기록 API - ServiceNow Fluent](https://servicenow-prod.fluidtopics.net/hyuCHlsrqrpWvohjEtzJiA#record-api-now-ts "기록 API는 모든 테이블의 기록을 정의합니다. 기록 API를 사용하여 전용 ServiceNow Fluent API가 없는 애플리케이션 메타데이터를 정의합니다."). |
| 순서 | 번호 | 항목이 해당 범주 내에 표시되는 순서입니다. 기본값: 0 |
| 소유자 | 참조 또는 문자열 | 항목을 소유하고 편집 권한이 있는 사용자 \[sys_user\]의 변수 식별자 또는 sys_id입니다. 사용자를 정의하려면 을 사용합니다 [기록 API - ServiceNow Fluent](https://servicenow-prod.fluidtopics.net/hyuCHlsrqrpWvohjEtzJiA#record-api-now-ts "기록 API는 모든 테이블의 기록을 정의합니다. 기록 API를 사용하여 전용 ServiceNow Fluent API가 없는 애플리케이션 메타데이터를 정의합니다."). |
| 역할 | 배열 | 항목에 액세스할 수 있는 역할 개체 또는 역할 \[sys_user_role\] sys_ids의 변수 식별자 목록입니다. 자세한 내용은 다음 문서를 참조하십시오 [역할 API - ServiceNow Fluent](https://servicenow-prod.fluidtopics.net/p7a0JJeQZFTB_DlS7zHXUg#role-api-now-ts "역할 API는 애플리케이션의 사용자에게 특정 권한을 부여하는 역할 [sys_user_role]을 정의합니다."). |
| shortDescription | 문자열 | 카탈로그 홈페이지, 검색 결과, 주문 양식의 제목 표시줄에 표시되는 항목에 대한 짧은 설명입니다. |
| showVariableHelpOnLoad | 부울 | 항목에 기본적으로 변수 도움말 텍스트가 표시되는지 여부를 나타내는 플래그입니다. 기본값: false |
| 시작종결됨 | 부울 | 항목을 축소된 상태로 시작할지 여부를 나타내는 플래그입니다. 기본값: false |
| 상태 | 문자열 | 초안 또는 게시됨과 같은 항목의 게시 상태입니다. |
| variables | 객체 | 요청 옵션을 제공하는 항목에 대한 변수 정의입니다. 각 변수 유형에는 특정 기능이 있습니다. 예: variables: { laptopType: SelectBoxVariable({ question: "Laptop Type", choices: { standard: { label: "Standard Laptop", sequence: 1 }, developer: { label: "Developer Workstation", sequence: 2 } }, mandatory: true, order: 100 }), justification: MultiLineTextVariable({ question: "Business Justification", mandatory: true, order: 200 }) } 카탈로그 변수에 대한 일반적인 정보는 다음 문서를 참조하십시오 [Service catalog variables](https://www.servicenow.com/docs/access?context=c_ServiceCatalogVariables&version=australia&pubname=australia-servicenow-platform&ft:locale=en-US). |
| 버전 | 번호 | 항목의 버전입니다. 기본값: 1 |
| 이미지 | 문자열 | 더 이상 사용되지 않음 항목의 이미지입니다. |
| 아이콘 | 문자열 | 카탈로그에서 항목 이름 옆에 아이콘으로 표시되는 이미지 파일입니다. 27x27 픽셀 이미지를 사용합니다. 업로드된 이미지가 없으면 기본 아이콘이 나타납니다. |
| picture | 문자열 | 항목의 그림으로 표시할 이미지 파일입니다. |
| mobilePicture | 문자열 | 모바일 장치에 항목의 그림으로 표시할 이미지입니다. 이 속성은 mobilePictureType 의 값이 `mobilePicture`인 경우에만 적용됩니다. |
| mobilePictureType | 문자열 | 모바일 장치에서 항목에 대해 표시할 그림의 유형입니다. 유효한 값은 다음과 같습니다. * desktopPicture: picture 속성의 이미지를 사용합니다. * mobilePicture: mobilePicture 속성의 이미지를 사용합니다. * noPicture: 항목이 모바일 장치에 그림을 표시하지 않습니다. {#fluent-catalog-item-object__ul_wpx_nwy_l3c} 기본값: desktopPicture |
| 카트에 추가 숨기기 | 부울 | 카트에 추가 버튼을 숨길지 여부를 나타내는 플래그입니다. 기본값: false |
| 숨기기AddToWishList | 부울 | 희망 목록에 추가 버튼을 숨길지 여부를 나타내는 플래그입니다. 기본값: false |
| 숨기기 전달 시간 | 부울 | 제공 시간을 숨길지 여부를 나타내는 플래그입니다. 기본값: false |
| hideQuantitySelector | 부울 | 수량 필드를 숨길지 여부를 나타내는 플래그입니다. 기본값: false |
| 초안으로 저장 숨기기 | 부울 | 초안으로 저장 버튼을 숨길지 여부를 나타내는 플래그입니다. 기본값: false |
| 숨기기SP | 부울 | 에서 항목을 서비스 포털숨길지 여부를 나타내는 플래그입니다. 기본값: false |
| mandatoryAttachment | 부울 | 요청을 제출하기 위해 첨부 파일을 추가해야 하는지 여부를 나타내는 플래그입니다. 기본값: false |
| 첨부 파일 숨기기 | 부울 | 첨부 파일 섹션을 숨길지, 첨부 파일 추가를 지원하지 않을지를 나타내는 플래그입니다. 기본값: false |
| 할당된 주제 | 배열 | 포털에서 항목의 가시성을 제어하는 기존 분류 주제의 sys_ids 목록입니다 직원 센터 . 자세한 내용은 [Associate a catalog item with a taxonomy topic in Employee Center](https://www.servicenow.com/docs/access?context=associate-cat-item-taxonomy-ec&version=australia&pubname=australia-servicenow-platform&ft:locale=en-US) 문서를 참조하십시오. 주: 이 속성은 Employee Experience Taxonomy 플러그인(sn_ect)이 활성 상태인 경우에만 사용할 수 있습니다. |
| 사용 가능 | 배열 | 항목에 액세스할 수 있는 사용자를 정의하는 사용자 기준 \[user_criteria\] sys_ids 목록입니다. |
| notAvailableFor | 배열 | 항목에 액세스할 수 없는 사용자를 정의하는 사용자 기준 \[user_criteria\] sys_ids 목록입니다. 이 속성은 availableFor 속성을 재정의합니다. |
| 변수 세트 | 배열 | 항목에 첨부할 변수 세트 객체의 변수 식별자 목록 또는 변수 세트 \[item_option_new_set\]의 sys_ids입니다. 자세한 내용은 [변수 세트 객체](https://servicenow-prod.fluidtopics.net/Aiy31JHbQCdmbMnWNoNLQA#fluent-catalog-variable-set-object "여러 카탈로그 항목과 기록 생성자에서 사용할 재사용 가능한 변수를 그룹화하는 변수 세트 [item_option_new_set]를 만듭니다.") 문서를 참조하십시오. 형식: `{ variableSet, order }` |
| 플로우 | 참조 또는 문자열 | 플로우 객체의 변수 식별자 또는 요청이 이행되는 방법을 정의하는 플로우 \[sys_hub_flow\]의 sys_id입니다. 플로우를 정의하려면 을 사용합니다.[플로우 API - ServiceNow Fluent](https://servicenow-prod.fluidtopics.net/~EPbcCZeQDadlteh~Rt7iQ#fluent-flow-api "플로우 API는 재사용 가능한 다단계 구성요소로 비즈니스 프로세스를 자동화하는 플로우 및 하위 플로우[sys_hub_flow]를 정의합니다.") 주: 카탈로그 항목의 이행 방법으로 플로우를 사용해야 합니다. 플로우, 워크플로우 및 executionPlan이 모두 지정되면 시스템에서 플로우를 사용합니다. |
| executionPlan | 참조 또는 문자열 | 요청이 이행되는 방법을 정의하는 실행 계획\[sc_cat_item_delivery_plan\]의 변수 식별자 또는 sys_id입니다. 실행 계획을 [기록 API - ServiceNow Fluent](https://servicenow-prod.fluidtopics.net/hyuCHlsrqrpWvohjEtzJiA#record-api-now-ts "기록 API는 모든 테이블의 기록을 정의합니다. 기록 API를 사용하여 전용 ServiceNow Fluent API가 없는 애플리케이션 메타데이터를 정의합니다.")정의하려면 . |
| 워크플로우 | 문자열 | 항목 요청이 이행되는 방법을 정의하는 레거시 워크플로우 \[wf_workflow\]의 sys_id입니다. 새 구현에 플로우 속성을 사용합니다. |
| 접근 유형 | 문자열 | 항목을 요청하는 데 필요한 사용자 액세스 권한입니다. 유효한 값은 다음과 같습니다. * 제한됨: 항목에 액세스할 수 있는 사용자만 항목을 요청할 수 있습니다. * 위임됨: 항목에 액세스할 수 없는 사용자는 위임된 요청 환경을 사용하여 다른 사람을 대신하여 항목을 요청할 수 있습니다. 자세한 내용은 [Delegated request experience](https://www.servicenow.com/docs/access?context=delegated-request-exp&version=australia&pubname=australia-servicenow-platform&ft:locale=en-US) 문서를 참조하십시오. {#fluent-catalog-item-object__ul_n5f_1l1_hmb} 주: 이 기능은 항목에 요청 대상 변수가 있는 경우에만 적용할 수 있습니다. 기본값: 제한됨 |
| 위치 | 참조 또는 문자열 | 변수 식별자 또는 항목이 제공되는 위치\[cmn_location\]의 sys_id입니다. 위치를 정의하려면 을 사용합니다 [기록 API - ServiceNow Fluent](https://servicenow-prod.fluidtopics.net/hyuCHlsrqrpWvohjEtzJiA#record-api-now-ts "기록 API는 모든 테이블의 기록을 정의합니다. 기록 API를 사용하여 전용 ServiceNow Fluent API가 없는 애플리케이션 메타데이터를 정의합니다."). |
| 벤더 | 참조 또는 문자열 | 변수 식별자 또는 항목과 연결된 벤더의 sys_id입니다. 벤더를 정의하려면 을 사용합니다.[기록 API - ServiceNow Fluent](https://servicenow-prod.fluidtopics.net/hyuCHlsrqrpWvohjEtzJiA#record-api-now-ts "기록 API는 모든 테이블의 기록을 정의합니다. 기록 API를 사용하여 전용 ServiceNow Fluent API가 없는 애플리케이션 메타데이터를 정의합니다.") |
| deliveryPlanScript | 스크립트 | 더 이상 사용되지 않음 대신 executionPlan 속성을 사용합니다. |
| 제공 시간 | 객체 | 항목 제공 예상 시간입니다. 형식: `deliveryTime: {일: 숫자, 시간: 숫자})` |
| entitlementScript | 스크립트 | 항목의 권리를 정의하는 스크립트. |
| makeItemNonConversational | 부울 | 대화 환경(예 가상 에이전트: )에서 항목을 요청하는 기능을 차단할지 여부를 나타내는 플래그입니다. 예일 경우 대화형 환경에서 항목을 요청할 수 있습니다. 기본값: false |
| visible번들 | 부울 | 저장된 번들에서 항목을 볼 수 있는지 여부를 나타내는 플래그입니다. 기본값: true |
| visibleGuide | 부울 | 항목이 주문 가이드에 표시되는지 여부를 나타내는 플래그입니다. 기본값: true |
| visibleStandalone | 부울 | 독립 실행형 뷰가 표시되는지 여부를 나타내는 플래그입니다. 기본값: true |
| fulfillmentAutomationLevel | 문자열 | 요청에 대한 이행 자동화 수준입니다. 유효한 값은 다음과 같습니다. * unspecified: 항목의 자동화 수준이 지정되지 않았습니다. * 수동: 카탈로그 항목이 자동화되지 않습니다. * 반자동: 카탈로그 항목이 반자동화되어 있습니다. * fullyAutomated: 카탈로그 항목이 완전히 자동화되었습니다. {#fluent-catalog-item-object__ul_ysq_gcz_l3c} |
| fulfillmentGroup | 참조 또는 문자열 | 항목 제공을 담당하는 그룹 \[sys_user_group\]의 변수 식별자 또는 sys_id입니다. 사용자 그룹을 정의하려면 을 사용합니다 [기록 API - ServiceNow Fluent](https://servicenow-prod.fluidtopics.net/hyuCHlsrqrpWvohjEtzJiA#record-api-now-ts "기록 API는 모든 테이블의 기록을 정의합니다. 기록 API를 사용하여 전용 ServiceNow Fluent API가 없는 애플리케이션 메타데이터를 정의합니다."). |
| 카탈로그 | 배열 | 항목이 표시되는 카탈로그 \[sc_catalog\]의 sys_ids 목록입니다. |
| categories | 배열 | 항목이 속한 범주 \[sc_category\]의 sys_ids 목록입니다. 범주를 할당하려면 먼저 카탈로그 속성에 카탈로그를 지정해야 합니다. Service Portal에서 카탈로그 검색은 범주에 할당된 항목만 찾습니다. Employee Center에서 카탈로그 검색은 분류 주제와 연결된 항목만 찾습니다. 자세한 내용은 [Associate a catalog item with a taxonomy topic in Employee Center](https://www.servicenow.com/docs/access?context=associate-cat-item-taxonomy-ec&version=australia&pubname=australia-servicenow-platform&ft:locale=en-US) 문서를 참조하십시오. |
| 비용 | 번호 | 항목의 일회성 비용을 나타내는 숫자입니다. 기본값: 0 |
| displayPrice속성 | 문자열 | 항목 가격이 표시되는 방식을 제어하는 시스템 속성입니다. |
| 가격 무시 | 부울 | 카트와 카탈로그 목록에서 항목 가격을 숨길지 여부를 나타내는 플래그입니다. 기본값: true |
| mobileHidePrice | 부울 | 모바일 장치에서 항목 가격을 숨길지 여부를 나타내는 플래그입니다. 기본값: false |
| 생략가격 | 부울 | 항목의 모든 뷰에서 가격을 완전히 생략할지 여부를 나타내는 플래그입니다. 기본값: false |
| 청구 가능 | 부울 | 항목이 청구 가능한지 여부를 나타내는 플래그입니다. 기본값: false |
| pricingDetails | 배열 | 항목의 가격 책정 항목 목록입니다. 유효한 값은 다음과 같습니다. * 가격: 항목의 일회성 가격입니다. * recurring_price: 정기적으로 반복되는 가격입니다. 이 값을 사용하는 경우 recurringFrequency 속성이 필요합니다. 형식: `{ 금액, currencyType, 필드 }` |
| recurringFrequency | 문자열 | 매월 또는 매년과 같이 반복되는 가격이 반복되는 시간 간격입니다. pricingDetails에 `recurring_price` 필드 항목 이 포함된 경우 이 속성이 필요합니다. |
| 요청메서드 | 문자열 | 제출 버튼 및 주문 제출 환경의 레이블입니다. 유효한 값은 다음과 같습니다. * order: 지금 주문 버튼을 표시합니다. 확인 대화 상자가 표시되고 배송 정보를 편집할 수 있습니다. * 요청: 요청 버튼을 표시합니다. 확인 대화 상자는 표시되지만 배송 정보는 표시되지 않습니다. 코드 액세스 요청과 같이 제공 정보가 미리 결정된 시나리오에 사용합니다. * 제출: 제출 버튼을 표시합니다. 확인 대화 상자나 제공 정보가 표시되지 않습니다. 암호 재설정과 같이 추가 요청 정보가 필요하지 않은 시나리오에 사용합니다. 기본값: order |
| 커스텀카트 | 참조 또는 문자열 | 카트 렌더링에 사용할 사용자 지정 UI 매크로의 변수 식별자 또는 sys_id입니다. 사용자 지정 카트를 정의하려면 을 사용합니다 [기록 API - ServiceNow Fluent](https://servicenow-prod.fluidtopics.net/hyuCHlsrqrpWvohjEtzJiA#record-api-now-ts "기록 API는 모든 테이블의 기록을 정의합니다. 기록 API를 사용하여 전용 ServiceNow Fluent API가 없는 애플리케이션 메타데이터를 정의합니다."). |
| useScLayout 사용 | 부울 | 항목이 표시에 레이아웃을 서비스 카탈로그 사용하는지 여부를 나타내는 플래그입니다. 기본값: true |
| 카트 없음 | 부울 | 더 이상 사용되지 않음 쇼핑 카트를 숨길지 여부를 나타내는 플래그입니다. 기본값: false |
| 순서 없음 | 부울 | 더 이상 사용되지 않음 주문 옵션을 숨길지 여부를 나타내는 플래그입니다. 기본값: false |
| noOrderNow | 부울 | 더 이상 사용되지 않음 지금 주문 옵션을 숨길지 여부를 나타내는 플래그입니다. 기본값: false |
| noProceedCheckout | 부울 | 더 이상 사용되지 않음 체크 아웃 프로세스를 숨길지 여부를 나타내는 플래그입니다. 기본값: false |
| 수량 없음 | 부울 | 더 이상 사용되지 않음 수량 필드를 숨길지 여부를 나타내는 플래그입니다. 기본값: false |
| 검색 안 함 | 부울 | 더 이상 사용되지 않음 검색을 숨길지 여부를 나타내는 플래그입니다. 기본값: false |
| $meta | 객체 | 애플리케이션 메타데이터의 메타데이터입니다. installMethod 속성을 사용하면 애플리케이션 메타데이터를 특정 상황에서만 로드되는 출력 디렉터리에 매핑할 수 있습니다. $meta: { installMethod: 'String' } installMethod에 유효한 값: * demo: 데모 데이터 로드 옵션을 선택한 경우 애플리케이션과 함께 설치할 metadata/unload.demo 디렉터리에 애플리케이션 메타데이터를 출력합니다. * 첫 번째 설치: 애플리케이션이 인스턴스에 처음 설치될 때만 설치할 메타데이터 /언로드 디렉터리에 애플리케이션 메타데이터를 출력합니다. {#fluent-catalog-item-object__ul_n3q_y3s_42c} |
[표 1. 속성]

{#fluent-catalog-item-object__table_rsp_5rh_33c}  

    import { CatalogItem } from "@servicenow/sdk/core";

    export const softwareLicenseRequest = CatalogItem({
      $id: Now.ID["software_license_request"],
      name: "Software License Request",
      shortDescription: "Request a software license",

      catalogs: [serviceCatalog],
      categories: [softwareCategory],

      // Attach reusable variable sets
      variableSets: [
        { variableSet: contactInfoSet, order: 100 },
        { variableSet: approvalInfoSet, order: 200 }
      ],

      // Item-specific variables
      variables: {
        software_name: SingleLineTextVariable({
          question: "Software Name",
          mandatory: true,
          order: 100
        }),
        license_type: SelectBoxVariable({
          question: "License Type",
          choices: {
            individual: { label: "Individual", sequence: 1 },
            team: { label: "Team (5 seats)", sequence: 2 },
            enterprise: { label: "Enterprise (unlimited)", sequence: 3 }
          },
          mandatory: true,
          order: 200
        }),
        number_of_licenses: SingleLineTextVariable({
          question: "Number of Licenses",
          defaultValue: "1",
          order: 300
        }),
        justification: MultiLineTextVariable({
          question: "Business Justification",
          mandatory: true,
          order: 400
        })
      },

      // Pricing with recurring charges
      pricingDetails: [
        { amount: 0, currencyType: "USD", field: "price" },
        { amount: 99, currencyType: "USD", field: "recurring_price" }
      ],
      recurringFrequency: "monthly",

      flow: "523da512c611228900811a37c97c2014",
      deliveryTime: { days: 3, hours: 0 }
    })

## CatalogItemRecordProducer 객체 {#fluent-catalog-record-producer-object__fluent-object-title}

사용자가 서비스 카탈로그에서 인시던트 또는 변경 요청 기록과 같은 작업 기반 기록을 생성할 수 있도록 기록 생성자 \[sc_cat_item_producer\]를 생성합니다.
기록 생성자와 동일한 범위에 있는 테이블 및 데이터베이스 뷰를 위한 기록 생성자를 만들 수 있습니다. 다른 범위에 있는 애플리케이션에서 접근 권한 생성을 허용하는 기록 생성자를 만들 수도 있습니다.
{#fluent-catalog-record-producer-object__table_rsp_5rh_33c__entry__3}{#fluent-catalog-record-producer-object__now-id-desc2}

| 이름 | 유형 | 설명 |
|-|-|-|
| $id | 문자열 또는 숫자 | 필수 메타데이터 객체의 고유 ID입니다. 애플리케이션을 빌드할 때 이 ID는 고유한 sys_id으로 해시됩니다. 자세한 내용은 [ServiceNow Fluent 언어 구성](https://servicenow-prod.fluidtopics.net/bd4_Ogu8TJjhKosNwonOfw "ServiceNow Fluent 언어 구문은 API를 사용하여 ServiceNow Fluent 소스 코드에서 개발하기 위한 추가 기능을 제공합니다.") 문서를 참조하십시오. 형식: `Now.ID['문자열' 또는 숫자]` |
| 테이블 | 참조 또는 문자열 | 필수 테이블 객체의 변수 식별자 또는 기록 생성자가 인시던트나 change_request과 같은 기록을 작성하는 테이블의 이름입니다. |
| 이름 | 문자열 | 필수 카탈로그에 표시되는 항목의 이름입니다. |
| 활성 | 부울 | 항목이 활성 상태이고 주문할 수 있는지 여부를 나타내는 플래그입니다. 기본값: true |
| 가용성 | 문자열 | 항목이 표시되는 장치의 유형입니다. 유효한 값은 다음과 같습니다. * desktopOnly: 항목이 데스크톱 장치에만 표시됩니다. * mobileOnly: 항목이 모바일 장치에만 표시됩니다. * 모두: 항목이 데스크톱과 모바일 장치 모두에 표시됩니다. {#fluent-catalog-record-producer-object__ul_u12_qyz_m3c} 기본값: desktopOnly |
| 체크 아웃됨 | 부울 | 항목이 편집을 위해 체크아웃되었는지 여부를 나타내는 플래그입니다. 기본값: false |
| 설명 | 문자열 | 사용자가 항목 또는 연결된 미리 보기 링크를 선택할 때 카탈로그에 표시되는 항목에 대한 자세한 설명입니다. 비디오, 이미지, 지식베이스(KB) 문서에 대한 링크, 외부 정보 및 지침 설명서 소스에 대한 링크를 포함할 수 있습니다. |
| 메타 | 배열 | 항목과 관련된 검색을 지원하는 데 사용되는 메타데이터 태그 목록입니다. 주: 메타 속성은 Zing 텍스트 인덱싱 및 검색 엔진에만 사용되며 AI 검색. |
| 모델 | 참조 또는 문자열 | 변수 식별자 또는 항목과 연결된 제품 모델 \[cmdb_model\]의 sys_id입니다. 제품 모델을 정의하려면 을 사용합니다 [기록 API - ServiceNow Fluent](https://servicenow-prod.fluidtopics.net/hyuCHlsrqrpWvohjEtzJiA#record-api-now-ts "기록 API는 모든 테이블의 기록을 정의합니다. 기록 API를 사용하여 전용 ServiceNow Fluent API가 없는 애플리케이션 메타데이터를 정의합니다."). |
| 순서 | 번호 | 항목이 해당 범주 내에 표시되는 순서입니다. 기본값: 0 |
| 소유자 | 참조 또는 문자열 | 항목을 소유하고 편집 권한이 있는 사용자 \[sys_user\]의 변수 식별자 또는 sys_id입니다. 사용자를 정의하려면 을 사용합니다 [기록 API - ServiceNow Fluent](https://servicenow-prod.fluidtopics.net/hyuCHlsrqrpWvohjEtzJiA#record-api-now-ts "기록 API는 모든 테이블의 기록을 정의합니다. 기록 API를 사용하여 전용 ServiceNow Fluent API가 없는 애플리케이션 메타데이터를 정의합니다."). |
| 역할 | 배열 | 항목에 액세스할 수 있는 역할 개체 또는 역할 \[sys_user_role\] sys_ids의 변수 식별자 목록입니다. 자세한 내용은 다음 문서를 참조하십시오 [역할 API - ServiceNow Fluent](https://servicenow-prod.fluidtopics.net/p7a0JJeQZFTB_DlS7zHXUg#role-api-now-ts "역할 API는 애플리케이션의 사용자에게 특정 권한을 부여하는 역할 [sys_user_role]을 정의합니다."). |
| shortDescription | 문자열 | 카탈로그 홈페이지, 검색 결과, 주문 양식의 제목 표시줄에 표시되는 항목에 대한 짧은 설명입니다. |
| showVariableHelpOnLoad | 부울 | 항목에 기본적으로 변수 도움말 텍스트가 표시되는지 여부를 나타내는 플래그입니다. 기본값: false |
| 시작종결됨 | 부울 | 항목을 축소된 상태로 시작할지 여부를 나타내는 플래그입니다. 기본값: false |
| 상태 | 문자열 | 초안 또는 게시됨과 같은 항목의 게시 상태입니다. |
| variables | 객체 | 요청 옵션을 제공하는 항목에 대한 변수 정의입니다. 각 변수 유형에는 특정 기능이 있습니다. 예: variables: { laptopType: SelectBoxVariable({ question: "Laptop Type", choices: { standard: { label: "Standard Laptop", sequence: 1 }, developer: { label: "Developer Workstation", sequence: 2 } }, mandatory: true, order: 100 }), justification: MultiLineTextVariable({ question: "Business Justification", mandatory: true, order: 200 }) } 카탈로그 변수에 대한 일반적인 정보는 다음 문서를 참조하십시오 [Service catalog variables](https://www.servicenow.com/docs/access?context=c_ServiceCatalogVariables&version=australia&pubname=australia-servicenow-platform&ft:locale=en-US). |
| 버전 | 번호 | 항목의 버전입니다. 기본값: 1 |
| 뷰 | 참조 또는 문자열 | 필수 적용되는 UI 뷰 \[sys_ui_view\] 또는 기본 뷰의 변수 식별자 또는 이름입니다. UI 뷰를 정의하려면 을 사용합니다 [기록 API - ServiceNow Fluent](https://servicenow-prod.fluidtopics.net/hyuCHlsrqrpWvohjEtzJiA#record-api-now-ts "기록 API는 모든 테이블의 기록을 정의합니다. 기록 API를 사용하여 전용 ServiceNow Fluent API가 없는 애플리케이션 메타데이터를 정의합니다."). 기본 뷰(`default_view`)를 사용하려면 다음을 임포트해야 합니다. import { default_view } from '@servicenow/sdk/core' |
| 아이콘 | 문자열 | 카탈로그에서 항목 이름 옆에 아이콘으로 표시되는 이미지 파일입니다. 27x27 픽셀 이미지를 사용합니다. 업로드된 이미지가 없으면 기본 아이콘이 나타납니다. |
| picture | 문자열 | 항목의 그림으로 표시할 이미지 파일입니다. |
| mobilePicture | 문자열 | 모바일 장치에 항목의 그림으로 표시할 이미지입니다. 이 속성은 mobilePictureType 의 값이 `mobilePicture`인 경우에만 적용됩니다. |
| mobilePictureType | 문자열 | 모바일 장치에서 항목에 대해 표시할 그림의 유형입니다. 유효한 값은 다음과 같습니다. * desktopPicture: picture 속성의 이미지를 사용합니다. * mobilePicture: mobilePicture 속성의 이미지를 사용합니다. * noPicture: 항목이 모바일 장치에 그림을 표시하지 않습니다. {#fluent-catalog-record-producer-object__ul_wpx_nwy_l3c} 기본값: desktopPicture |
| 할당된 주제 | 배열 | 포털에서 항목의 가시성을 제어하는 기존 분류 주제의 sys_ids 목록입니다 직원 센터 . 자세한 내용은 [Associate a catalog item with a taxonomy topic in Employee Center](https://www.servicenow.com/docs/access?context=associate-cat-item-taxonomy-ec&version=australia&pubname=australia-servicenow-platform&ft:locale=en-US) 문서를 참조하십시오. 주: 이 속성은 Employee Experience Taxonomy 플러그인(sn_ect)이 활성 상태인 경우에만 사용할 수 있습니다. |
| 사용 가능 | 배열 | 항목에 액세스할 수 있는 사용자를 정의하는 사용자 기준 \[user_criteria\] sys_ids 목록입니다. |
| notAvailableFor | 배열 | 항목에 액세스할 수 없는 사용자를 정의하는 사용자 기준 \[user_criteria\] sys_ids 목록입니다. 이 속성은 availableFor 속성을 재정의합니다. |
| 변수 세트 | 배열 | 항목에 첨부할 변수 세트 객체의 변수 식별자 목록 또는 변수 세트 \[item_option_new_set\]의 sys_ids입니다. 자세한 내용은 [변수 세트 객체](https://servicenow-prod.fluidtopics.net/Aiy31JHbQCdmbMnWNoNLQA#fluent-catalog-variable-set-object "여러 카탈로그 항목과 기록 생성자에서 사용할 재사용 가능한 변수를 그룹화하는 변수 세트 [item_option_new_set]를 만듭니다.") 문서를 참조하십시오. 형식: `{ variableSet, order }` |
| 카트에 추가 숨기기 | 부울 | 카트에 추가 버튼을 숨길지 여부를 나타내는 플래그입니다. 기본값: false |
| 숨기기AddToWishList | 부울 | 희망 목록에 추가 버튼을 숨길지 여부를 나타내는 플래그입니다. 기본값: false |
| 숨기기 전달 시간 | 부울 | 제공 시간을 숨길지 여부를 나타내는 플래그입니다. 기본값: false |
| hideQuantitySelector | 부울 | 수량 필드를 숨길지 여부를 나타내는 플래그입니다. 기본값: false |
| 초안으로 저장 숨기기 | 부울 | 초안으로 저장 버튼을 숨길지 여부를 나타내는 플래그입니다. 기본값: false |
| 숨기기SP | 부울 | 에서 항목을 서비스 포털숨길지 여부를 나타내는 플래그입니다. 기본값: false |
| mandatoryAttachment | 부울 | 요청을 제출하기 위해 첨부 파일을 추가해야 하는지 여부를 나타내는 플래그입니다. 기본값: false |
| 첨부 파일 숨기기 | 부울 | 첨부 파일 섹션을 숨길지, 첨부 파일 추가를 지원하지 않을지를 나타내는 플래그입니다. 기본값: false |
| 허용편집 | 부울 | 사용자가 제출 후 생성된 기록을 편집할 수 있는지 여부를 나타내는 플래그입니다. 기본값: false |
| 캔 취소 | 부울 | 기록 생성자 양식에 취소 버튼을 표시할지 여부를 나타내는 플래그입니다. 사용자는 취소를 선택하여 기록 생성자를 취소하고 마지막으로 본 화면으로 돌아갈 수 있습니다. 기본값: false |
| postInsertScript | 스크립트 | 연결된 테이블에 기록이 삽입된 후 실행되는 서버 측 스크립트입니다. 이 스크립트에서 `current.update()` 를 호출할 수 있습니다. 주: 이 스크립트는 대상 기록 값과 기록 생성자 템플릿 값을 재정의합니다. 이 속성은 인라인 JavaScript 또는 스크립트가 포함된 애플리케이션의 다른 파일에 대한 참조를 지원합니다. 체재: * 다른 파일의 텍스트 콘텐츠를 사용하려면 `Now.include('경로/대상/파일')` 형식을 사용하여 애플리케이션에서 파일을 참조합니다. 자세한 내용은 [ServiceNow Fluent 언어 구성](https://servicenow-prod.fluidtopics.net/bd4_Ogu8TJjhKosNwonOfw "ServiceNow Fluent 언어 구문은 API를 사용하여 ServiceNow Fluent 소스 코드에서 개발하기 위한 추가 기능을 제공합니다.") 문서를 참조하십시오. * 인라인 스크립트를 제공하려면 여러 줄의 코드에 문자열 리터럴 또는 템플릿 리터럴을 사용합니다( `'Script' 또는 'Script'`). {#fluent-catalog-record-producer-object__ul_zr2_zvg_5fc} 기본값: /** * This script is executed after the record is generated. * `current` Is the GlideRecord produced by Record Producer. Use `current.update()` to update the record * To access the variables, use `producer.var1` where var1 is the name of the variable * To access the Record Producer use `cat_item` */ |
| 리디렉션 URL | 문자열 | 기록이 생성된 후의 리디렉션 대상입니다. 유효한 값은 다음과 같습니다. * generatedRecord: 기록 생성자가 만든 작업 기록으로 리디렉션합니다. * catalogHomePage: 서비스 카탈로그로 리디렉션합니다. 기본값: generatedRecord |
| saveOptions | 문자열 | 기록 생성자 저장을 위한 고급 구성 옵션입니다. |
| saveScript | 스크립트 | 카탈로그 작성기에서 모든 단계에서 실행되는 스크립트 저장. 이 속성은 인라인 JavaScript 또는 스크립트가 포함된 애플리케이션의 다른 파일에 대한 참조를 지원합니다. 체재: * 다른 파일의 텍스트 콘텐츠를 사용하려면 `Now.include('경로/대상/파일')` 형식을 사용하여 애플리케이션에서 파일을 참조합니다. 자세한 내용은 [ServiceNow Fluent 언어 구성](https://servicenow-prod.fluidtopics.net/bd4_Ogu8TJjhKosNwonOfw "ServiceNow Fluent 언어 구문은 API를 사용하여 ServiceNow Fluent 소스 코드에서 개발하기 위한 추가 기능을 제공합니다.") 문서를 참조하십시오. * 인라인 스크립트를 제공하려면 여러 줄의 코드에 문자열 리터럴 또는 템플릿 리터럴을 사용합니다( `'Script' 또는 'Script'`). {#fluent-catalog-record-producer-object__d2794e508} 기본값: /** * This script is executed at every step save in Catalog Builder. * This script is executed before `Script` is executed. * `current` Is the GlideRecord produced by Record Producer. * To access the variables, use `producer.var1` where var1 is the name of the variable * To access the Record Producer use `cat_item` */ |
| 스크립트 | 스크립트 | 기록이 생성되기 전에 실행되는 서버 측 스크립트입니다. 이 스크립트를 사용하여 기록의 필드에 동적으로 값을 할당합니다. 이 스크립트에서 `current.update()` 또는 `current.insert()` 를 호출하지 마십시오. 이 속성은 인라인 JavaScript 또는 스크립트가 포함된 애플리케이션의 다른 파일에 대한 참조를 지원합니다. 체재: * 다른 파일의 텍스트 콘텐츠를 사용하려면 `Now.include('경로/대상/파일')` 형식을 사용하여 애플리케이션에서 파일을 참조합니다. 자세한 내용은 [ServiceNow Fluent 언어 구성](https://servicenow-prod.fluidtopics.net/bd4_Ogu8TJjhKosNwonOfw "ServiceNow Fluent 언어 구문은 API를 사용하여 ServiceNow Fluent 소스 코드에서 개발하기 위한 추가 기능을 제공합니다.") 문서를 참조하십시오. * 인라인 스크립트를 제공하려면 여러 줄의 코드에 문자열 리터럴 또는 템플릿 리터럴을 사용합니다( `'Script' 또는 'Script'`). {#fluent-catalog-record-producer-object__d2794e508} 기본값: /** This script is executed before the Record is generated * `current`- GlideRecord produced by Record Producer * Don't use `current.update()` or `current.insert()` as the record is generated by Record Producer * Don't use `current.setValue('sys_class_name', 'xxx')` as this will trigger reparent flow and can cause data loss * Avoid `current.setAbortAction()` and generate a separate record * Use `producer.var1` to access variables */ |
| 이미지 | 문자열 | 더 이상 사용되지 않음 항목의 이미지입니다. |
| $meta | 객체 | 애플리케이션 메타데이터의 메타데이터입니다. installMethod 속성을 사용하면 애플리케이션 메타데이터를 특정 상황에서만 로드되는 출력 디렉터리에 매핑할 수 있습니다. $meta: { installMethod: 'String' } installMethod에 유효한 값: * demo: 데모 데이터 로드 옵션을 선택한 경우 애플리케이션과 함께 설치할 metadata/unload.demo 디렉터리에 애플리케이션 메타데이터를 출력합니다. * 첫 번째 설치: 애플리케이션이 인스턴스에 처음 설치될 때만 설치할 메타데이터 /언로드 디렉터리에 애플리케이션 메타데이터를 출력합니다. {#fluent-catalog-record-producer-object__ul_n3q_y3s_42c} |
[표 2. 속성]

{#fluent-catalog-record-producer-object__table_rsp_5rh_33c}  

    import { CatalogItemRecordProducer } from "@servicenow/sdk/core";

    const serviceCatalog = "e0d08b13c3330100c8b837659bba8fb4";
    const itServicesCategory = "d258b953c611227a0146101fb1be7c31";

    export const comprehensiveIncidentProducer = CatalogItemRecordProducer({
      $id: Now.ID["comprehensive_incident_producer"],
      name: "Report Incident with Full Configuration",
      shortDescription: "Complete incident producer with variables and scripts",
      table: "incident",

      catalogs: [serviceCatalog],
      categories: [itServicesCategory],

      variables: {
        short_description: SingleLineTextVariable({
          question: "Brief Summary",
          mandatory: true,
          mapToField: true,
          field: "short_description",
          order: 100
        }),
        urgency: SelectBoxVariable({
          question: "Urgency",
          mandatory: true,
          mapToField: true,
          field: "urgency",
          choices: {
            "1": { label: "High", sequence: 1 },
            "2": { label: "Medium", sequence: 2 },
            "3": { label: "Low", sequence: 3 }
          },
          order: 200
        }),
        assignment_group: ReferenceVariable({
          question: "Assignment Group",
          mapToField: true,
          field: "assignment_group",
          referenceTable: "sys_user_group",
          order: 300
        })
      },

      script: Now.include("../../scripts/rp-pre-insert.js"),
      postInsertScript: Now.include("../../scripts/rp-post-insert.js"),

      redirectUrl: "generatedRecord",
      view: "ess",
      allowEdit: true
    })

## CatalogUiPolicy 객체 {#fluent-catalog-ui-policy-object__fluent-object-title}

카탈로그 UI 정책 \[catalog_ui_policy\]을 구성하여 조건에 따라 카탈로그 항목 양식의 변수 동작을 제어합니다.
카탈로그 UI 정책은 지정된 조건이 충족될 때 변수를 필수, 읽기 전용, 표시 또는 숨김으로 설정할 수 있습니다. 확인, 계산 또는 비동기 호출의 경우 카탈로그 클라이언트 스크립트를 대신 사용합니다.
{#fluent-catalog-ui-policy-object__table_rsp_5rh_33c__entry__3}{#fluent-catalog-ui-policy-object__now-id-desc2}

| 이름 | 유형 | 설명 |
|-|-|-|
| $id | 문자열 또는 숫자 | 필수 메타데이터 객체의 고유 ID입니다. 애플리케이션을 빌드할 때 이 ID는 고유한 sys_id으로 해시됩니다. 자세한 내용은 [ServiceNow Fluent 언어 구성](https://servicenow-prod.fluidtopics.net/bd4_Ogu8TJjhKosNwonOfw "ServiceNow Fluent 언어 구문은 API를 사용하여 ServiceNow Fluent 소스 코드에서 개발하기 위한 추가 기능을 제공합니다.") 문서를 참조하십시오. 형식: `Now.ID['문자열' 또는 숫자]` |
| shortDescription | 문자열 | 필수 카탈로그 UI 정책이 수행하는 작업에 대한 짧은 설명입니다. |
| 카탈로그 항목 | 참조 또는 문자열 | variableSet 속성이 사용되지 않는 경우에만 필요합니다. CatalogItem 또는 CatalogItemRecordProducer 객체의 변수 식별자, 또는 UI 정책이 적용되는 카탈로그 항목 \[sc_cat_item\] 또는 기록 생성자 \[sc_cat_item_producer\]의 sys_id변수 식별자입니다. 자세한 내용은 [CatalogItem 객체](https://servicenow-prod.fluidtopics.net/Aiy31JHbQCdmbMnWNoNLQA#fluent-catalog-item-object "사용자가 서비스 카탈로그에서 요청할 수 있는 카탈로그 항목[sc_cat_item]을 작성합니다.") 또는 [CatalogItemRecordProducer 객체](https://servicenow-prod.fluidtopics.net/Aiy31JHbQCdmbMnWNoNLQA#fluent-catalog-record-producer-object "사용자가 서비스 카탈로그에서 인시던트 또는 변경 요청 기록과 같은 작업 기반 기록을 생성할 수 있도록 기록 생성자 [sc_cat_item_producer]를 생성합니다.") 문서를 참조하십시오. |
| 변수 세트 | 참조 또는 문자열 | catalogItem 속성이 사용되지 않는 경우에만 필요합니다. VariableSet 객체의 변수 식별자 또는 UI 정책이 적용되는 변수 세트 \[item_option_new_set\]의 sys_id입니다. 자세한 내용은 [변수 세트 객체](https://servicenow-prod.fluidtopics.net/Aiy31JHbQCdmbMnWNoNLQA#fluent-catalog-variable-set-object "여러 카탈로그 항목과 기록 생성자에서 사용할 재사용 가능한 변수를 그룹화하는 변수 세트 [item_option_new_set]를 만듭니다.") 문서를 참조하십시오. |
| appliesTo | 문자열 | UI 정책이 적용되는 범위입니다. 유효한 값은 다음과 같습니다. * item: 정책이 카탈로그 항목에 적용됩니다. * set: 정책이 변수 집합에 적용됩니다. 기본값: item |
| 활성 | 부울 | 카탈로그 UI 정책이 활성 상태인지 여부를 나타내는 플래그입니다. 기본값: true |
| 전역 | 부울 | 카탈로그 UI 정책이 실행되는 테이블 뷰를 나타내는 플래그입니다. 기본값: true |
| 로드 시 | 부울 | 양식이 로드될 때 카탈로그 UI 정책이 실행되는지 여부를 나타내는 플래그입니다. false인 경우 변수 값이 변경될 때만 정책이 적용됩니다. 기본값: true |
| reverseIfFalse | 부울 | 카탈로그 조건이 false로 평가될 때 UI 정책 작업을 취소할지 여부를 나타내는 플래그입니다. 기본값: true |
| 상속 | 부울 | 카탈로그 UI 정책이 상속되는지 여부를 나타내는 플래그입니다. 기본값: false |
| isolateScript | 부울 | 정책 스크립트가 격리된 범위에서 실행되는지 여부를 나타내는 플래그입니다. 기본값: true |
| 카탈로그 조건 | 문자열 | UI 정책을 트리거하는 카탈로그 항목 변수 값을 기반으로 인코딩된 쿼리 조건입니다. 예: catalogCondition: `${catalogItem.variables.singleLineText}=catalogitem^${catalogItem.variables.reference}ISNOTEMPTY^EQ` |
| appliesOnCatalogItemView | 부울 | 주문 화면에 표시되는 카탈로그 항목에 UI 정책이 적용되는지 여부를 나타내는 플래그입니다. 이 뷰는 요청자가 사용할 수 있습니다. 기본값: true |
| appliesOnTargetRecord | 부울 | 기록 생성자를 통해 작업 확장 테이블에 대해 생성된 기록에 UI 정책이 적용되는지 여부를 나타내는 플래그입니다. 기본값: false |
| appliesOnCatalogTasks | 부울 | UI 정책이 카탈로그 작업 양식에 적용되는지 여부를 나타내는 플래그입니다. 이행자가 이 뷰를 사용할 수 있습니다. 기본값: false |
| appliesOnRequestedItems | 부울 | UI 정책이 요청된 항목 양식에 적용되는지 여부를 나타내는 플래그입니다. 이행자가 이 뷰를 사용할 수 있습니다. 기본값: false |
| 실행 스크립트 | 부울 | 이 UI 정책에 대해 executeIfTrue 및 executeIfFalse 스크립트를 실행할지 여부를 나타내는 플래그입니다. 스크립트를 사용하여 특정 역할을 대상으로 지정하는 등 읽기 전용, 필수 또는 표시 이외의 동작을 적용합니다. 기본값: false |
| executeIfTrue | 문자열 | 카탈로그 조건이 true로 평가될 때 실행되는 클라이언트 측 스크립트입니다. 스크립트는 `onCondition() {} 함수` 에 래핑되어야 합니다. |
| executeIfFalse | 문자열 | 카탈로그 조건이 false로 평가될 때 실행되는 클라이언트 측 스크립트입니다. 스크립트는 `onCondition() {} 함수` 에 래핑되어야 합니다. |
| runScriptsInUiType | 문자열 | 정책 스크립트가 실행되는 UI 유형입니다. 유효한 값은 다음과 같습니다. * desktop: 스크립트가 데스크톱 인터페이스에서 실행됩니다. * mobileOrServicePortal: 스크립트는 모바일 및 서비스 포털 인터페이스에서 실행됩니다. * all: 스크립트가 모든 인터페이스에서 실행됩니다. 기본값: 데스크톱 |
| va지원 | 부울 | 가상 에이전트 대화에서 UI 정책이 지원되는지 여부를 나타내는 플래그입니다. 기본값: false |
| 작업 | 배열 | 카탈로그 조건이 충족될 때 수행할 변수 작업의 목록입니다. 자세한 내용은 [작업 배열](https://servicenow-prod.fluidtopics.net/Aiy31JHbQCdmbMnWNoNLQA#fluent-catalog-uipolicy-actions-array "조건이 충족될 때 카탈로그 UI 정책이 변수에 대해 수행하는 변수 작업[catalog_ui_policy_action]을 구성합니다.") 문서를 참조하십시오. |
| $meta | 객체 | 애플리케이션 메타데이터의 메타데이터입니다. installMethod 속성을 사용하면 애플리케이션 메타데이터를 특정 상황에서만 로드되는 출력 디렉터리에 매핑할 수 있습니다. $meta: { installMethod: 'String' } installMethod에 유효한 값: * demo: 데모 데이터 로드 옵션을 선택한 경우 애플리케이션과 함께 설치할 metadata/unload.demo 디렉터리에 애플리케이션 메타데이터를 출력합니다. * 첫 번째 설치: 애플리케이션이 인스턴스에 처음 설치될 때만 설치할 메타데이터 /언로드 디렉터리에 애플리케이션 메타데이터를 출력합니다. {#fluent-catalog-ui-policy-object__ul_n3q_y3s_42c} |
[표 3. 속성]

{#fluent-catalog-ui-policy-object__table_rsp_5rh_33c}  

    import { CatalogUiPolicy } from "@servicenow/sdk/core";
    import { hardwareRequestItem } from "./catalog-items/HardwareRequest.now";

    export const managerApprovalPolicy = CatalogUiPolicy({
      $id: Now.ID["manager_approval_policy"],
      shortDescription: "Show manager approval when high priority selected",
      catalogItem: hardwareRequestItem,
      catalogCondition: `${hardwareRequestItem.variables.priority}=high^EQ`,
      actions: [
        {
          variableName: hardwareRequestItem.variables.manager_approval,
          visible: true,
          mandatory: true
        }
      ]
    })

### 작업 배열 {#fluent-catalog-uipolicy-actions-array__fluent-object-title}

조건이 충족될 때 카탈로그 UI 정책이 변수에 대해 수행하는 변수 작업\[catalog_ui_policy_action\]을 구성합니다.
배열의 각 동작은 변수를 지정하며, UI 정책 조건이 true로 평가되면 속성이 변경되어 해당 변수에 적용됩니다.
{#fluent-catalog-uipolicy-actions-array__table_pm4_ysh_33c__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| variableName | 문자열 | 필수 동작이 적용되는 변수입니다. |
| 표시 | 부울 | 변수를 표시할지 여부를 나타내는 플래그입니다. 기본값: false |
| 사용 안 함 | 부울 | 변수를 끌지 여부를 나타내는 플래그입니다. 기본값: false |
| 필수 | 부울 | 변수를 필수로 설정할지 여부를 나타내는 플래그입니다. 기본값: false |
| 지워짐 | 부울 | 조건이 충족될 때 변수 값을 지울지 여부를 나타내는 플래그입니다. 기본값: false |
| 변수메시지 | 문자열 | 조건이 충족될 때 변수에 표시할 메시지입니다. 이 속성은 variableMessageType 속성에 값이 있는 경우에만 적용됩니다. |
| variableMessageType | 문자열 | 필드 메시지의 유형입니다. 유효한 값은 다음과 같습니다. * 정보 * 경고 * 오류 {#fluent-catalog-uipolicy-actions-array__ul_ms4_t31_n3c} |
| 값 | 문자열 | 조건이 충족될 때 변수에 설정할 값입니다. 이 속성은 valueAction 속성이 `setValue`로 설정된 경우에만 적용됩니다. |
| 값작업 | 문자열 | 조건이 충족될 때 변수 값에 대해 수행할 작업입니다. 유효한 값은 다음과 같습니다. * setValue: 변수를 값 속성에 지정된 값으로 설정합니다. * clearValue: 변수 값을 지웁니다. |
| 순서 | 번호 | 다른 작업을 기준으로 작업이 평가되는 순서입니다. 기본값: 100 |
| readOnly | 부울 | 변수를 읽기 전용으로 설정할지 여부를 나타내는 플래그입니다. 기본값: false |
[표 4. 속성]

{#fluent-catalog-uipolicy-actions-array__table_pm4_ysh_33c}  

    actions: [
        {
          variableName: laptopRequest.variables.justification,
          mandatory: true,
          variableMessage: "Justification required for urgent requests",
          variableMessageType: "info",
          order: 100
        },
        {
          variableName: laptopRequest.variables.manager_approval,
          visible: true,
          mandatory: true,
          order: 200
        },
        {
          variableName: laptopRequest.variables.delivery_date,
          visible: true,
          order: 300
        }
    ]

## CatalogClientScript 객체 {#fluent-catalog-client-script-object__fluent-object-title}

카탈로그 항목 양식의 동작을 제어하도록 클라이언트 측에서 실행되는 카탈로그 클라이언트 스크립트\[catalog_script_client\]를 구성합니다.
카탈로그 클라이언트 스크립트를 사용하여 사용자 입력의 유효성을 검사하고, 필드를 자동으로 채우고, 카탈로그 항목 양식에 경보를 표시하십시오. 단순 표시/숨기기, 필수 및 읽기 전용 논리의 경우 카탈로그 UI 정책을 대신 사용합니다.
{#fluent-catalog-client-script-object__table_rsp_5rh_33c__entry__3}{#fluent-catalog-client-script-object__now-id-desc2}

| 이름 | 유형 | 설명 |
|-|-|-|
| $id | 문자열 또는 숫자 | 필수 메타데이터 객체의 고유 ID입니다. 애플리케이션을 빌드할 때 이 ID는 고유한 sys_id으로 해시됩니다. 자세한 내용은 [ServiceNow Fluent 언어 구성](https://servicenow-prod.fluidtopics.net/bd4_Ogu8TJjhKosNwonOfw "ServiceNow Fluent 언어 구문은 API를 사용하여 ServiceNow Fluent 소스 코드에서 개발하기 위한 추가 기능을 제공합니다.") 문서를 참조하십시오. 형식: `Now.ID['문자열' 또는 숫자]` |
| 이름 | 문자열 | 필수 카탈로그 클라이언트 스크립트의 고유한 이름입니다. |
| 스크립트 | 스크립트 | 카탈로그 항목 양식에서 실행할 클라이언트 측 스크립트입니다. 이 속성은 인라인 JavaScript 또는 스크립트가 포함된 애플리케이션의 다른 파일에 대한 참조를 지원합니다. 체재: * 다른 파일의 텍스트 콘텐츠를 사용하려면 `Now.include('경로/대상/파일')` 형식을 사용하여 애플리케이션에서 파일을 참조합니다. 자세한 내용은 [ServiceNow Fluent 언어 구성](https://servicenow-prod.fluidtopics.net/bd4_Ogu8TJjhKosNwonOfw "ServiceNow Fluent 언어 구문은 API를 사용하여 ServiceNow Fluent 소스 코드에서 개발하기 위한 추가 기능을 제공합니다.") 문서를 참조하십시오. * 인라인 스크립트를 제공하려면 여러 줄의 코드에 문자열 리터럴 또는 템플릿 리터럴을 사용합니다( `'Script' 또는 'Script'`). {#fluent-catalog-client-script-object__ul_zr2_zvg_5fc} |
| 유형 | 문자열 | 클라이언트 스크립트 실행을 트리거하는 이벤트입니다. 유효한 값은 다음과 같습니다. * onLoad: 양식이 로드될 때 실행됩니다. 필드 상태, 기본값 및 가시성 설정과 같은 초기 설정에 사용합니다. * onChange: 특정 변수가 변경될 때 실행됩니다. `if (isLoading) return ;` guard를 포함합니다. * onSubmit: 양식이 제출될 때 실행됩니다. 제출을 차단하려면 `아니오` 를 반환합니다. 비동기 문제 때문에 이 형식에서 GlideAjax 를 사용하지 마십시오. |
| uiType | 문자열 | 클라이언트 스크립트가 실행되는 UI 유형입니다. 유효한 값은 다음과 같습니다. * 데스크톱: 데스크톱 인터페이스에 적용됩니다. * mobileOrServicePortal: 모바일 및 서비스 포털 인터페이스에 적용됩니다. * all: 모든 인터페이스에 적용됩니다. 기본값: 데스크톱 |
| 활성 | 부울 | 클라이언트 스크립트를 사용할 수 있는지 여부를 나타내는 플래그입니다. 기본값: true |
| appliesTo | 문자열 | variableSet 속성을 사용하는 경우 필요합니다. 카탈로그 클라이언트 스크립트가 적용되는 범위입니다. 유효한 값은 다음과 같습니다. * item: 스크립트가 카탈로그 항목에 적용됩니다. * set: 스크립트가 변수 세트에 적용됩니다. 기본값: item |
| 카탈로그 항목 | 참조 또는 문자열 | variableSet 속성이 사용되지 않는 경우에만 필요합니다. CatalogItem 또는 CatalogItemRecordProducer 객체의 변수 식별자 또는 클라이언트 스크립트가 적용되는 카탈로그 항목 \[sc_cat_item\] 또는 기록 생성자 \[sc_cat_item_producer\]의 sys_id입니다. 자세한 내용은 [CatalogItem 객체](https://servicenow-prod.fluidtopics.net/Aiy31JHbQCdmbMnWNoNLQA#fluent-catalog-item-object "사용자가 서비스 카탈로그에서 요청할 수 있는 카탈로그 항목[sc_cat_item]을 작성합니다.") 또는 [CatalogItemRecordProducer 객체](https://servicenow-prod.fluidtopics.net/Aiy31JHbQCdmbMnWNoNLQA#fluent-catalog-record-producer-object "사용자가 서비스 카탈로그에서 인시던트 또는 변경 요청 기록과 같은 작업 기반 기록을 생성할 수 있도록 기록 생성자 [sc_cat_item_producer]를 생성합니다.") 문서를 참조하십시오. |
| 변수 세트 | 참조 또는 문자열 | catalogItem 속성이 사용되지 않는 경우에만 필요합니다. VariableSet 객체의 변수 식별자 또는 UI 정책이 적용되는 변수 세트 \[item_option_new_set\]의 sys_id입니다. 자세한 내용은 [변수 세트 객체](https://servicenow-prod.fluidtopics.net/Aiy31JHbQCdmbMnWNoNLQA#fluent-catalog-variable-set-object "여러 카탈로그 항목과 기록 생성자에서 사용할 재사용 가능한 변수를 그룹화하는 변수 세트 [item_option_new_set]를 만듭니다.") 문서를 참조하십시오. |
| variableName | 문자열 | 유형 속성의 값이 `onChange`인 경우 필요합니다. 값이 변경될 때 스크립트를 트리거하는 카탈로그 변수의 이름입니다. |
| appliesOnCatalogItemView | 부울 | 서비스 카탈로그의 주문 화면에 표시되는 카탈로그 항목에 클라이언트 스크립트가 적용되는지 여부를 나타내는 플래그입니다. 이 뷰는 요청자가 사용할 수 있습니다. 기본값: true |
| appliesOnRequestedItems | 부울 | 항목이 요청된 후 클라이언트 스크립트가 요청된 항목 양식에 적용되는지 여부를 나타내는 플래그입니다. 이행자가 이 뷰를 사용할 수 있습니다. 기본값: false |
| appliesOnCatalogTasks | 부울 | 클라이언트 스크립트가 항목의 카탈로그 작업 양식에 적용되는지 여부를 나타내는 플래그입니다. 이행자가 이 뷰를 사용할 수 있습니다. 기본값: false |
| appliesOnTargetRecord | 부울 | 클라이언트 스크립트가 기록 생성자를 통해 작업 확장 테이블에 대해 생성된 기록에 적용되는지 여부를 나타내는 플래그입니다. 기본값: false |
| 전역 | 부울 | 클라이언트 스크립트가 전역 범위에서 실행되는지 여부를 나타내는 플래그입니다. 기본값: true |
| va지원 | 부울 | 가상 에이전트 대화에서 클라이언트 스크립트가 지원되는지 여부를 나타내는 플래그입니다. 기본값: false |
| publishedRef | 문자열 | 이 클라이언트 스크립트가 참조하는 게시된 카탈로그 항목\[sc_cat_item\] 또는 기록 생성자\[sc_cat_item_producer\]의 sys_id입니다. |
| $meta | 객체 | 애플리케이션 메타데이터의 메타데이터입니다. installMethod 속성을 사용하면 애플리케이션 메타데이터를 특정 상황에서만 로드되는 출력 디렉터리에 매핑할 수 있습니다. $meta: { installMethod: 'String' } installMethod에 유효한 값: * demo: 데모 데이터 로드 옵션을 선택한 경우 애플리케이션과 함께 설치할 metadata/unload.demo 디렉터리에 애플리케이션 메타데이터를 출력합니다. * 첫 번째 설치: 애플리케이션이 인스턴스에 처음 설치될 때만 설치할 메타데이터 /언로드 디렉터리에 애플리케이션 메타데이터를 출력합니다. {#fluent-catalog-client-script-object__ul_n3q_y3s_42c} |
[표 5. 속성]

{#fluent-catalog-client-script-object__table_rsp_5rh_33c}  

    import { CatalogClientScript } from "@servicenow/sdk/core";
    import { laptopRequest } from "../catalog-items/laptop-request.now";

    CatalogClientScript({
      $id: Now.ID["laptop_onload"],
      name: "Laptop Request - OnLoad",
      script: Now.include("../../client/laptop-onload.js"),
      type: "onLoad",
      catalogItem: laptopRequest,
      active: true,
      appliesOnCatalogItemView: true
    });

클라이언트 스크립트는 스크립트 속성에서 참조하는 laptop-onload.js 파일에 정의됩니다. 예:

    function onLoad() {
      // Set initial field states
      g_form.setReadOnly("estimated_cost", true);
      g_form.setValue("estimated_cost", "$0");
      g_form.setMandatory("justification", true);
    }

## 변수 세트 객체 {#fluent-catalog-variable-set-object__fluent-object-title}

여러 카탈로그 항목과 기록 생성자에서 사용할 재사용 가능한 변수를 그룹화하는 변수 세트 \[item_option_new_set\]를 만듭니다.
변수 세트는 카탈로그 항목과 기록 생성자에 첨부할 수 있는 재사용 가능한 변수 모음입니다. `appliesTo` 속성을 `설정할` 수 있도록 설정하여 카탈로그 UI 정책 및 클라이언트 스크립트의 범위를 변수 세트로 지정할 수 있습니다.  
주:  
* 카탈로그 항목 내의 변수 세트는 내부 이름이 같을 수 없습니다.
* 카탈로그 항목 내에서 변수의 이름은 변수 세트의 제목 또는 내부 이름과 같을 수 없습니다.
* 카탈로그 클라이언트 스크립트와 카탈로그 UI 정책 스크립트는 제목이나 표시 이름이 아닌 변수 세트의 내부 이름을 참조해야 합니다.
{#fluent-catalog-variable-set-object__table_rsp_5rh_33c__entry__3}{#fluent-catalog-variable-set-object__now-id-desc2}

| 이름 | 유형 | 설명 |
|-|-|-|
| $id | 문자열 또는 숫자 | 필수 메타데이터 객체의 고유 ID입니다. 애플리케이션을 빌드할 때 이 ID는 고유한 sys_id으로 해시됩니다. 자세한 내용은 [ServiceNow Fluent 언어 구성](https://servicenow-prod.fluidtopics.net/bd4_Ogu8TJjhKosNwonOfw "ServiceNow Fluent 언어 구문은 API를 사용하여 ServiceNow Fluent 소스 코드에서 개발하기 위한 추가 기능을 제공합니다.") 문서를 참조하십시오. 형식: `Now.ID['문자열' 또는 숫자]` |
| 직위 | 문자열 | 필수 변수 세트의 표시 제목입니다. 이 제목은 displayTitle 속성이 true로 설정된 경우에만 나타납니다. |
| internalName | 문자열 | g_form API 및 서버 측 스크립트를 통한 프로그래밍 액세스에 사용되는 변수 세트의 내부 이름입니다. 이름을 입력하지 않으면 title 속성에서 내부 이름이 자동으로 생성됩니다. |
| 설명 | 문자열 | 변수 세트 및 사용 목적에 대한 설명입니다. |
| 유형 | 문자열 | 변수 세트의 유형입니다. 유효한 값은 다음과 같습니다. * singleRow: 변수가 단일 행으로 정렬됩니다. * multiRow: 변수는 사용자가 추가하거나 제거할 수 있는 여러 행으로 정렬됩니다. 기본값: singleRow |
| 레이아웃 | 문자열 | 변수 세트의 열 레이아웃입니다. 유효한 값은 다음과 같습니다. * normal: 변수가 단일 열에 표시됩니다. * 2down: 변수가 한 면과 다른 면의 두 열에 표시됩니다. * 2across: 변수가 두 열에 번갈아 가며 표시됩니다. 기본값: 일반 |
| 순서 | 번호 | 변수 세트가 양식의 다른 변수 세트를 기준으로 표시되는 순서입니다. 기본값: 100 |
| displayTitle | 부울 | 변수 세트에 대해 축소 가능한 섹션 헤더를 표시할지 여부를 나타내는 플래그입니다. true이면 title 속성 값이 축소 가능한 헤더로 표시됩니다. 주: 확인란 변수는 옵션의 기본 제목 아래 그룹화됩니다. 사용자 지정 제목을 사용하려면 확인란 변수 바로 위에 배치하는 순서 값으로 레이블 변수를 추가합니다. 기본값: false |
| 속성 설정 | 문자열 | 쉼표로 구분된 문자열로 설정된 변수에 대한 추가 구성 속성입니다 `(예: max_rows=10,collapsible=true`). `max_rows` 속성을 사용하여 여러 행의 변수 세트에 대한 최대 행 수를 설정합니다. 주: AttachmentVariable, ContainerVariable, HtmlVariable 및 CustomVariable 형식은 여러 행의 변수 집합에서 지원되지 않습니다. |
| readRoles | 배열 | 변수 세트를 볼 수 있는 역할 개체 또는 역할 sys_ids\[sys_user_role\]의 변수 식별자 목록입니다. 자세한 내용은 다음 문서를 참조하십시오 [역할 API - ServiceNow Fluent](https://servicenow-prod.fluidtopics.net/p7a0JJeQZFTB_DlS7zHXUg#role-api-now-ts "역할 API는 애플리케이션의 사용자에게 특정 권한을 부여하는 역할 [sys_user_role]을 정의합니다."). |
| writeRoles | 배열 | 집합에서 변수 값을 수정할 수 있는 역할 개체 또는 역할 \[sys_user_role\] sys_ids의 변수 식별자 목록입니다. 자세한 내용은 [역할 API - ServiceNow Fluent](https://servicenow-prod.fluidtopics.net/p7a0JJeQZFTB_DlS7zHXUg#role-api-now-ts "역할 API는 애플리케이션의 사용자에게 특정 권한을 부여하는 역할 [sys_user_role]을 정의합니다.") 문서를 참조하십시오. |
| createRoles | 배열 | 행 인스턴스를 작성할 수 있는 역할 객체 또는 역할 \[sys_user_role\] sys_ids의 변수 식별자 목록입니다. 자세한 내용은 [역할 API - ServiceNow Fluent](https://servicenow-prod.fluidtopics.net/p7a0JJeQZFTB_DlS7zHXUg#role-api-now-ts "역할 API는 애플리케이션의 사용자에게 특정 권한을 부여하는 역할 [sys_user_role]을 정의합니다.") 문서를 참조하십시오. 이 속성은 유형 속성의 값이 `multiRow`인 경우에만 적용됩니다. |
| variables | 객체 | 요청 옵션을 제공하는 항목에 대한 변수 정의입니다. 각 변수 유형에는 특정 기능이 있습니다. 예: variables: { laptopType: SelectBoxVariable({ question: "Laptop Type", choices: { standard: { label: "Standard Laptop", sequence: 1 }, developer: { label: "Developer Workstation", sequence: 2 } }, mandatory: true, order: 100 }), justification: MultiLineTextVariable({ question: "Business Justification", mandatory: true, order: 200 }) } 카탈로그 변수에 대한 일반적인 정보는 다음 문서를 참조하십시오 [Service catalog variables](https://www.servicenow.com/docs/access?context=c_ServiceCatalogVariables&version=australia&pubname=australia-servicenow-platform&ft:locale=en-US). |
| 이름 | 문자열 | 변수 세트를 추가로 식별하기 위한 선택적 이름입니다. |
| 버전 | 번호 | 변수 세트의 버전입니다. 기본값: 0 |
| $meta | 객체 | 애플리케이션 메타데이터의 메타데이터입니다. installMethod 속성을 사용하면 애플리케이션 메타데이터를 특정 상황에서만 로드되는 출력 디렉터리에 매핑할 수 있습니다. $meta: { installMethod: 'String' } installMethod에 유효한 값: * demo: 데모 데이터 로드 옵션을 선택한 경우 애플리케이션과 함께 설치할 metadata/unload.demo 디렉터리에 애플리케이션 메타데이터를 출력합니다. * 첫 번째 설치: 애플리케이션이 인스턴스에 처음 설치될 때만 설치할 메타데이터 /언로드 디렉터리에 애플리케이션 메타데이터를 출력합니다. {#fluent-catalog-variable-set-object__ul_n3q_y3s_42c} |
[표 6. 속성]

{#fluent-catalog-variable-set-object__table_rsp_5rh_33c}  

    import {
      VariableSet,
      EmailVariable,
      SingleLineTextVariable,
      ReferenceVariable
    } from "@servicenow/sdk/core";

    export const contactInfoSet = VariableSet({
      $id: Now.ID["contact_info_set"],
      title: "Contact Information",
      description: "Standard contact information fields",
      type: "singleRow",
      layout: "2across",
      order: 100,
      displayTitle: true,
      variables: {
        email: EmailVariable({
          question: "Email Address",
          mandatory: true,
          order: 100
        }),
        phone: SingleLineTextVariable({
          question: "Phone Number",
          mandatory: true,
          order: 200
        }),
        department: ReferenceVariable({
          question: "Department",
          referenceTable: "cmn_department",
          referenceQualCondition: "active=true",
          order: 300
        })
      }
    })


