Loading
メールアドレスがデフォルトのログイン方式となります 続きを読む
データマネージャー

データマネージャー

データマネージャーは、商品コンフィグレーターの状態管理およびオーケストレーションコンポーネントです。このコンポーネントは商品データを保存し、フローイベントを使用してフロー画面の他のコンポーネントにデータを伝達します。

必要なエディション

使用可能なインターフェース: Lightning Experience
使用可能なエディション: Revenue Management (旧 Revenue Cloud) の Enterprise Edition、Unlimited Edition、および Developer Edition (Revenue Cloud Growth ライセンスまたは Revenue Cloud Advanced ライセンス付属)

データ管理者の責務

  • トランザクションコンテキストと設定状態を維持する
  • コンフィグレーター API を呼び出して応答を処理する
  • UIコンポーネントからのLMS(Lightning Message Service)イベントの処理
  • UI にデータを提供し、反応型プロパティを子コンポーネントに公開する
  • お気に入りの設定の保存と読み込みをサポート

データマネージャー API 参照名

S01_DataManager

データマネージャーの入力プロパティ

データマネージャーは、ユーザーが設定した親コンポーネントまたはフローコンポーネントのプロパティからデータを受け入れます。

プロパティ タイプ 必須 説明
transactionLineId String はい ルート商品または取引品目 ID
currentTransactionLineId String はい 参照中の現在の行
transactionId String はい 販売トランザクション ID (見積、注文など)
parentName String はい 設定に関連する親トランザクションの名前またはタイトル。
origin String はい トランザクションレコードの親オブジェクトの名前。例: 「Opportunity」、「Quote」、「Order」、「Asset」など。これにより、設定を起動する Salesforce オブジェクト種別が識別されます。ナビゲーションや UI の表示ラベルなどに使用されます。
addedNodes Array いいえ 親レコード トランザクションに関連付けられた Apex ProductConfig__SalesTransactionItem レコードのコレクションが含まれるフロー リソース。
isNonBlockingEnabled Boolean いいえ ノンブロッキングモードを有効にします。有効にすると、API コールがバックグラウンドで処理されている間、ユーザーは UI の操作を続行できます。変更はキューに入れられ、UI をブロックすることなく非同期で処理されます。無効にすると、API コール中に UI がロックされます。
areMessagesFixed Boolean いいえ メッセージコンポーネントの位置が固定されているかどうか。true の場合、メッセージコンポーネントは画面の上部に固定され、スクロールしても表示されたままになります (固定位置)。false の場合、メッセージコンポーネントはページコンテンツ (相対位置) と共にスクロールします。設定時に検証エラー/警告を常に表示しておくのに便利です。
contextId 文字列 いいえ 商品コンフィグレーターに指定されたトランザクションコンテキストの ID
enableARCValidation Boolean いいえ 商品設定中に ARC (Asset Renewal Configuration) 検証を実行するかどうかを示します。
transactionLineGroupId 文字列 いいえ 設定している現在の取引品目が含まれるグループの ID。見積の場合は見積品目グループ ID、注文の場合は注文品目グループ ID です。
explainabilityEnabled Boolean いいえ [説明可能性] が有効になっている場合、商品コンフィグレーターでは、商品が非表示、無効、または推奨される理由に関する詳細な説明が提供されます。ルール実行の詳細とビジネスロジックの理由が表示されるため、ユーザーは設定の制約を理解できます。
userContext オブジェクト いいえ

ユーザー資格データが含まれるフロー変数の API 参照名。この変数は ProductConfig__UserContext 型で、ユーザー固有の属性に基づいて商品の対象資格を決定します。

1. Flow Builder で、「userContextData」などの変数 API 参照名を作成します。

2. [割り当て] 要素または [レコードを取得] 要素を使用して変数を入力し、ロール、地域、accountType などの項目を設定します。例: {!userContextData.role} = {!$User.UserRole.Name}

3. データマネージャーで、[ユーザーコンテキスト] に [{!userContextData}] を選択します。コンフィグレーター API はこのデータを使用して、適格性ルールを評価し、使用可能な商品を絞り込みます。たとえば、「エンタープライズ商品をエンタープライズの営業担当にのみ表示」などのルールがある場合、API はこのコンテキストからユーザーのロールを確認します。

ロールやテリトリーなど、ユーザー固有の属性に依存する商品評価ルールがある場合にのみ、ユーザーコンテキストを選択します。すべてのユーザーがすべての商品を使用できる場合は、この項目を空のままにします。

instantPricing Boolean いいえ インスタント価格設定がデフォルトで有効になっているかどうかを示す Boolean 値。

データマネージャーの出力プロパティ

データマネージャーは、顧客が参照できる出力プロパティを記述します。次の例のように、内部メソッドでデータが生成され、FlowAttributeChangeEventが関連するプロパティーにデータがディスパッチされます。

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

次の表に、データマネージャーが他のコンポーネントに提供するデータを示します。[データソース] 列は、データを生成する内部プロセスを識別します。

プロパティ データ型 説明 Data Source (データソース)
ヘッダー オブジェクト 現在の商品ヘッダー情報 mergeContexts()
メッセージ Array 検証/エラーメッセージ API 応答 + ルール
optionGroups Array 商品コンポーネントグループ (オプション) mergeContexts()
attributeCategories Array 商品属性カテゴリ mergeContexts()
summary オブジェクト 設定の概要 (マージされたトランザクションツリー) mergeContexts()
navigationRoute Array 現在のナビゲーションパスまたはブレッドクラム buildNavigationInfo()
searchInfo Array 商品カタログのデータを検索する buildSearchInfo()
タブ Array マルチルートバンドルで使用可能なタブ buildTabs()
currencyCode 文字列 価格設定の通貨コード API 応答
transactionRecord オブジェクト 取引レコードの詳細 populateTransactionRecord()
headerTitle 文字列 ヘッダータイトルテキスト generateHeaderTitle()
isInstantPricingToggleEnabled Boolean インスタント価格設定切り替えが表示されるかどうか setToggleStates()
isInstantPricingEnabled Boolean 現在のインスタント価格設定の状態 切り替え/API
isProductValidationEnabled Boolean 現在の検証状態 切り替え/API
showPrices Boolean 価格を表示するかどうか 状態ロジック
showSummaryTotalSection Boolean 集計セクションを表示するかどうか 保険の上書き
favoriteData

文字列 (JSON)

お気に入りの設定データ getFavoriteData()
isConfiguratorDisabled Boolean コンフィグレーターが無効かどうか UI の状態
isApiInProgress Boolean API コールが進行中かどうか API ライフサイクル
isPriceRampEnabled Boolean 価格上昇が有効かどうか コンテキストチェック
isGroupRampEnabled Boolean グループランプが有効かどうか グループ計算
salesTransactionItems Array すべての取引項目 API 応答
layoutMode 文字列 レイアウトモード (標準またはコンパクト) 切り替え
searchResultOptionId 文字列 選択した検索結果オプション ID 検索ナビゲーション
rootProductId 文字列 ルート商品 ID カタログデータ
currentGroupName 文字列 現在のグループ名 getCurrentGroupName()
contextMetadata オブジェクト カスタマイズ可能な販売取引品目属性のコンテキストメタデータ。UI に表示できるカスタム属性の項目定義 (表示ラベル、データ型、選択リスト値) が含まれます。 コンテキスト解析
eligiblePromotions Array 対象プロモーションリスト プロモーション API

データマネージャーがリスンするイベント

Data Manager は Lightning Message Service (LMS) イベントとワイヤー アダプタをリスンします。

LMS イベントを聞くために、データマネージャーはメッセージチャネルを登録し、他のコンポーネントがそこで公開した LMS イベントを受信します。次の表に、LMS イベントアクション、ハンドラーメソッド、およびアクションの動作を示します。

イベントアクション ハンドラメソッド 機能
valueChange setState() 設定状態 (選択、数量、属性) を更新します。
移動 navigate() バンドル階層内を移動する
closePreview closePreview() プレビューウィンドウを閉じる
toggleInstantPricing setInstantPricing() インスタント価格設定のオン/オフを切り替え
toggle説明可能性 setExplainability() 説明可能性のオン/オフを切り替え
toggleRulesValidation setProductValidation() 検証のオン/オフを切り替え
updatePrices updatePrices() 価格設定の手動トリガー
validateProduct validateProduct() 手動で検証をトリガーする
cloneItems cloneItems() トランザクション項目をコピーする
toggleCompactLayout setLayoutModeOnToggle() レイアウトモードを切り替え
contextDefinitionChanged setContextDefinition() コンテキスト定義を更新
saveFavConfiguration handleSaveConfiguration() 設定をお気に入りとして保存
loadFavorite handleLoadFavorite() お気に入りの設定を読み込む

ワイヤーアダプターは、Salesforce Platform からのデータの変更を自動的にリスンし、データの変更をデータマネージャーに渡します。次の表に、Data Manager がリスンするワイヤーアダプターイベントを示します。

ワイヤアダプタ ソース What it listen for ハンドラメソッド 目的
MessageContext Lightning/messageService LMS のメッセージコンテキスト

該当なし (コンテキストを提供)

LMS 通信を有効にします。
getContextServiceDefinition Lightning/industriesContextApi コンテキスト定義の変更

getContextDefinition()

コンテキスト定義データをリスンする
getObjectInfos (2nd) Lightning/uiObjectInfoApi 取引項目オブジェクト情報 getObjectInfos() トランザクション項目メタデータをリスンする

イベントデータマネージャーの火災

データマネージャーは、カスタムイベント、トーストイベント、フロー属性変更イベントを起動します。

次の表に、バブルイベントと構成済みイベントを含む、データマネージャーが起動するカスタムイベントを示します。

イベント名 バブル 構成済み When it Fires. 目的
読み込み中 はい はい 初期読み込み中 読み込み中の状態を親に通知する
proceed はい はい ルートでキャンセルまたはウィンドウを閉じる 保存せずにコンフィグレーターを閉じる
保存 はい はい ナビゲーションを保存して終了する 設定を保存して終了する
close_modal はい はい プレビューを閉じる プレビューウィンドウを閉じる
showConflictToast はい はい ノンブロッキング API の競合が検出されました 競合警告トーストを表示

次の表に、データマネージャーが起動するトーストイベントを示します。

イベント名 いつ起動されますか 目的
ShowToastEvent お気に入りが正常に読み込まれた後 お気に入りの読み込みが成功したことをユーザーに通知

データマネージャーは、UI の更新ごとにすべての反応型プロパティの FlowAttributeChange イベントをディスパッチします。

 
読み込み中
Salesforce Help | Article