Loading
데이터 관리자

데이터 관리자

데이터 관리자는 Product Configurator의 시/도 관리 및 오케스트레이션 구성 요소입니다. 이 구성 요소는 제품 데이터를 저장하고 플로 이벤트를 사용하여 플로 화면의 다른 구성 요소에 데이터를 전파합니다.

필수 Edition

지원 제품: Lightning Experience
Enterprise, Unlimited 및 Developer Edition의 Revenue Management(이전 Revenue Cloud)에서 사용 가능 Revenue Cloud Growth 라이센스 또는 Revenue Cloud Advanced 라이센스

데이터 관리자 책임

  • 트랜잭션 컨텍스트 및 구성 상태 유지
  • Configurator API 및 프로세스 응답 호출
  • UI 구성 요소에서 Lightning 메시지 서비스(LMS) 이벤트 처리
  • UI에 데이터 제공 및 하위 구성 요소에 반응형 속성 노출
  • 즐겨찾는 구성 저장 및 로드 지원

데이터 관리자 API 이름

S01_DataManager

데이터 관리자 입력 속성

데이터 관리자는 사용자가 설정한 상위 또는 플로 구성 요소 속성의 데이터를 허용합니다.

속성 유형 필수 상세 설명
transactionLineId 문자열 예 루트 제품 또는 트랜잭션 행 ID
currentTransactionLineId 문자열 예 현재 표시되는 줄
transactionId 문자열 예 세일즈 트랜잭션 ID(견적서, 주문 등)
parentName 문자열 예 구성이 속한 상위 트랜잭션의 이름 또는 직급입니다.
원본 문자열 예 트랜잭션 레코드의 상위 개체의 이름입니다. 예: '기회', '견적', '주문', '자산' 등 이는 구성을 실행하는 Salesforce 개체 유형을 식별합니다. 탐색, UI 레이블 등에 사용됩니다.
addedNodes 배열 아니요 상위 레코드 트랜잭션과 연결된 Apex ProductConfig__SalesTransactionItem 레코드의 모음을 포함하는 플로 자원입니다.
isNonBlockingEnabled 부울 아니요 비차단 모드를 설정합니다. 이렇게 설정하면 사용자가 백그라운드에서 API 호출을 처리하는 동안 UI와 계속 상호 작용할 수 있습니다. 변경 사항은 UI를 차단하지 않고 대기열에 지정되고 비동기식으로 처리됩니다. 해제하면 API 호출 시 UI가 잠깁니다.
areMessagesFixed 부울 아니요 메시지 구성 요소의 위치가 고정되어 있는지 여부입니다. true이면 메시지 구성 요소가 화면 상단에 고정된 상태로 유지되고 스크롤하는 동안 계속 표시됩니다(고정 위치). false이면 메시지 구성 요소가 페이지 콘텐츠(대상 위치)로 스크롤됩니다. 구성 중에 확인 오류/경고가 항상 표시되도록 유용
contextId 문자열 아니요 Product Configurator에 지정된 트랜잭션 컨텍스트의 ID
enableARCValidation 부울 아니요 제품 구성 중 ARC(Asset Renewal Configuration) 확인 실행 여부 표시
transactionLineGroupId 문자열 아니요 구성 중인 현재 트랜잭션 행이 포함된 그룹의 ID입니다. 견적서의 경우 견적서 행 그룹 ID입니다. 주문의 경우 주문 항목 그룹 ID입니다.
explainabilityEnabled 부울 아니요 설명 가능성이 활성화되면 제품 구성기가 제품이 숨김, 비활성화 또는 권장되는 이유에 대한 자세한 설명을 제공합니다. 사용자가 구성 제약을 이해하는 데 도움이 되는 규칙 실행 세부 사항 및 비즈니스 논리 사유가 표시됩니다.
userContext 개체 아니요

사용자 자격 증명 데이터를 포함하는 플로 변수의 API 이름입니다. 이 변수는 ProductConfig__UserContext 유형이며 사용자별 특성을 기반으로 제품 적격성을 결정합니다.

1. Flow Builder에서 변수 API 이름을 만듭니다(예: userContextData).

2. 할당 또는 레코드 가져오기 요소를 사용하여 변수를 채우고 role, region, accountType 등과 같은 필드를 설정합니다. 예를 들어, {!userContextData.role} = {!$User.UserRole.Name}

3. 데이터 관리자에서 사용자 컨텍스트로 {!userContextData}를 선택합니다. Configurator API는 이 데이터를 사용하여 자격 규칙을 평가하고 사용 가능한 제품을 필터링합니다. 예를 들어, "엔터프라이즈 세일즈 담당자에게만 엔터프라이즈 제품 표시"와 같은 규칙이 있는 경우 API가 이 컨텍스트에서 사용자의 역할을 확인합니다.

역할, 영역 등과 같은 사용자별 특성에 의존하는 제품 자격 규칙이 있는 경우에만 사용자 컨텍스트를 선택합니다. 모든 사용자가 모든 제품을 사용할 수 있는 경우 이 필드를 비워 둡니다.

instantPricing 부울 아니요 인스턴스 가격 책정이 기본적으로 설정되었는지 여부를 나타내는 부울 값입니다.

데이터 관리자 출력 속성

데이터 관리자가 고객이 읽을 수 있는 출력 속성을 작성합니다. 내부 방법이 데이터를 생성하고, FlowAttributeChangeEvent은 이 예에 표시된 대로 데이터를 관련 속성으로 발송합니다.

this.dispatchEvent(
   new FlowAttributeChangeEvent(FLOW_REACTIVITY_MESSAGES, messages)
);

이 표는 데이터 관리자가 다른 구성 요소에 제공하는 데이터를 보여줍니다. 데이터 소스 열은 데이터를 생성하는 내부 프로세스를 식별합니다.

속성 데이터 유형 상세 설명 데이터 소스
머리글 개체 현재 제품 머리글 정보 mergeContexts()
메시지 배열 확인/오류 메시지 API 응답 + 규칙
optionGroups 배열 제품 구성 요소 그룹(옵션) mergeContexts()
attributeCategories 배열 제품 특성 범주 mergeContexts()
summary 개체 구성 요약(병합 트랜잭션 트리) mergeContexts()
navigationRoute 배열 현재 탐색 경로 또는 브레드크럼 buildNavigationInfo()
searchInfo 배열 제품 카탈로그에 대한 데이터 검색 buildSearchInfo()
탭 배열 다중 루트 번들에 사용 가능한 탭 buildTabs()
currencyCode 문자열 가격 책정을 위한 통화 코드 API 응답
transactionRecord 개체 트랜잭션 레코드 세부 사항 populateTransactionRecord()
headerTitle 문자열 머리글 제목 텍스트 generateHeaderTitle()
isInstantPricingToggleEnabled 부울 인스턴트 가격 책정 토글 표시 여부 setToggleStates()
isInstantPricingEnabled 부울 현재 인스턴트 가격 책정 상태 토글/API
isProductValidationEnabled 부울 현재 확인 상태 토글/API
표시가격 부울 가격 표시 여부 상태 논리
showSummaryTotalSection 부울 요약 총 섹션 표시 여부 보험 재정의
즐겨찾기 데이터

문자열(JSON)

즐겨찾기에 대한 구성 데이터 getFavoriteData()
isConfiguratorDisabled 부울 구성기가 비활성화되어 있는지 여부 UI 상태
isApiInProgress 부울 API 호출이 진행 중인지 여부 API 수명 주기
isPriceRampEnabled 부울 가격 차등이 활성화되어 있는지 여부 컨텍스트 확인
isGroupRampEnabled 부울 그룹 램프가 활성화되어 있는지 여부 그룹 계산
salesTransactionItems 배열 모든 트랜잭션 항목 API 응답
레이아웃모드 문자열 레이아웃 모드(표준 또는 축소) Toggle(전환)
searchResultOptionId 문자열 선택된 검색 결과 옵션 ID 검색 탐색
rootProductId 문자열 루트 제품 ID 카탈로그 데이터
currentGroupName 문자열 현재 그룹 이름 getCurrentGroupName()
contextMetadata 개체 사용자 정의 가능한 세일즈 트랜잭션 항목 특성에 대한 컨텍스트 메타데이터입니다. UI에 표시할 수 있는 사용자 정의 특성에 대한 필드 정의(레이블, 데이터 유형, 선택 목록 값)가 포함됩니다. 컨텍스트 구문 분석
eligiblePromotions 배열 적격 프로모션 목록 프로모션 API

이벤트 데이터 관리자가 수신

Data Manager는 Lightning 메시지 서비스(LMS) 이벤트 및 유선 어댑터를 들을 수 있습니다.

LMS 이벤트를 듣기 위해 데이터 관리자가 메시지 채널을 구독하고 다른 구성 요소가 게시한 LMS 이벤트를 수신합니다. 이 표는 LMS 이벤트 작업, 처리기 메서드, 작업이 수행하는 작업을 보여줍니다.

이벤트 작업 핸들러 방법 그것이 하는 일
valueChange setState() 구성 상태 업데이트(선택, 수량, 특성)
탐색 navigate() 번들 계층을 탐색합니다.
closePreview closePreview() 미리 보기 창 닫기
toggleInstantPricing setInstantPricing() 인스턴트 가격 책정 켜기/꺼기 토글
토글Explainability setExplainability() 설명 가능성 켜기/끄기 토글
toggleRulesValidation setProductValidation() 확인 켜기/ 해제 토글
updatePrices updatePrices() 수동으로 가격 책정 트리거
validateProduct validateProduct() 수동으로 유효성 검사 트리거
cloneItems cloneItems() 트랜잭션 항목 복제
toggleCompactLayout setLayoutModeOnToggle() 토글 레이아웃 모드
contextDefinitionChanged setContextDefinition() 컨텍스트 정의 업데이트
saveFavConfiguration handleSaveConfiguration() 구성을 즐겨찾기로 저장
loadFavorite handleLoadFavorite() 즐겨찾기 구성 로드

유선 어댑터는 Salesforce Platform에서 데이터 변경 사항을 자동으로 듣고 데이터 변경 사항을 데이터 관리자에게 전달합니다. 이 표는 Data Manager가 수신하는 유선 어댑터 이벤트를 보여줍니다.

선 어댑터 소스 수신 내용 핸들러 방법 목적
MessageContext lightning/messageService LMS의 메시지 컨텍스트

해당되지 않음(컨텍스트 제공)

LMS 통신 활성화
getContextServiceDefinition lightning/industriesContextApi 컨텍스트 정의 변경 사항

gotContextDefinition()

컨텍스트 정의 데이터를 수신
getObjectInfos (2nd) lightning/uiObjectInfoApi 트랜잭션 항목 개체 정보 getObjectInfos() 트랜잭션 항목 메타데이터를 수신

이벤트 데이터 관리자 Fire

데이터 관리자는 사용자 정의 이벤트, 토스트 이벤트, 플로 특성 변경 이벤트를 실행합니다.

이 표는 거품 및 작성된 이벤트를 포함하여 사용자 정의 이벤트 데이터 관리자 실행을 보여줍니다.

이벤트 이름: 풍선 구성 발생 시점 목적
로드 예 예 초기 로드 중 로딩 상태 상위에 알림
진행 예 예 루트 시 취소 OR 닫기 창 저장하지 않고 구성기 닫기
저장 예 예 탐색 저장 및 종료 구성 저장 및 종료
close_modal 예 예 미리 보기 닫기 미리 보기 창 닫기
showConflictToast 예 예 차단되지 않는 API 충돌이 감지됨 충돌 경고 토스트 표시

다음 표는 토스트 이벤트 데이터 관리자 시작을 보여줍니다.

이벤트 이름: 해고 시기 목적
ShowToastEvent 즐겨찾기를 성공적으로 로드한 후 사용자에게 즐겨찾기에 성공한 로드 알림

데이터 관리자는 모든 UI 업데이트에서 모든 반응형 속성에 대한 FlowAttributeChange 이벤트를 발송합니다.

 
로드 중
Salesforce Help | Article