Loading
数据管理器

数据管理器

数据管理器是产品配置器的状态管理和编排组件。此组件存储产品数据,并使用流事件将数据传播到流屏幕上的其他组件。

所需的 Edition

适用于:Lightning Experience
适用于:具有 Revenue Cloud Growth 许可证或 Revenue Cloud Advanced 许可证的 Revenue Management Enterprise、Unlimited 和 Developer Edition(以前称为 Revenue Cloud)

数据管理员职责

  • 维护事务上下文和配置状态
  • 调用配置器 API 并处理响应
  • 从 UI 组件处理 Lightning 消息服务 (LMS) 事件
  • 向 UI 提供数据,并向子组件公开反应性属性
  • 支持保存和加载收藏夹配置

数据管理器 API 名称

S01_DataManager

数据管理器输入属性

数据管理器接受来自用户设置的父级或流组件属性的数据。

属性 类型 必填 描述
transactionLineId 字符串 是 根产品或交易行 ID
currentTransactionLineId 字符串 是 正在查看的当前行
transactionId 字符串 是 销售交易 ID(报价、订单等)
父名称 字符串 是 配置相关的父交易的名称或标题。
来源 字符串 是 交易记录的父对象的名称。示例:“业务机会”、“报价”、“订单”、“资产”等。这将标识哪个 Salesforce 对象类型启动配置。用于导航、UI 标签等。
addedNodes 阵列 否 包含与父记录事务关联的 Apex ProductConfig__SalesTransactionItem 记录集合的流资源。
isNonBlockingEnabled 布尔值 否 打开非阻止模式。当打开时,这允许用户在后台处理 API 调用时继续与 UI 交互。更改会异步排队和处理,而不会阻止 UI。关闭时,UI 会在 API 调用期间锁定。
areMessagesFixed 布尔值 否 消息组件是否有固定的位置。为真时,消息组件会固定在屏幕顶部,并在滚动时保持可见(粘滞定位)。为假时,消息组件会随页面内容滚动(相对定位)。用于在配置期间保持验证错误/警告始终可见
contextId 字符串 否 为产品配置器指定的事务上下文的 ID
enableARCValidation 布尔值 否 表示 ARC(资产续订配置)验证是否在产品配置期间运行
transactionLineGroupId 字符串 否 包含正在配置的当前交易行的组的 ID。对于报价,这是报价行组 ID。对于订单,这是订单项目组 ID。
explainabilityEnabled 布尔值 否 在启用可解释性时,产品配置器会详细说明隐藏、禁用或推荐产品的原因。显示规则执行详细信息和业务逻辑推理,以帮助用户了解配置约束。
userContext 对象 否

包含用户资格数据的流变量的 API 名称。此变量的类型为 ProductConfig__UserContext,根据用户特定的属性确定产品资格。

1. 在 Flow Builder 中,创建变量 API 名称,例如 userContextData。

2. 使用“分配”或“获取记录”元素填充变量,并设置字段,例如角色、区域、accountType 等。例如,{!userContextData.role} = {!$User.UserRole.Name}

3. 在数据管理器中,对于用户上下文,选择{!userContextData}。配置器 API 使用此数据评估资格规则,并筛选哪些产品可用。例如,如果您有“仅向企业销售代表显示企业产品”这样的规则,API 会从此上下文中检查用户的角色。

仅当您的产品资格规则取决于特定于用户的属性(例如角色、区域等)时,才选择用户上下文。如果所有产品对所有用户可用,请将此字段留空。

InstantPricing 布尔值 否 一个布尔值,指示即时定价是否默认打开。

数据管理器输出属性

数据管理器写入客户可以读取的输出属性。内部方法生成数据,FlowAttributeChangeEvent将数据发送到相关属性,如本例所示。

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

此表显示了数据管理器向其他组件提供的数据。数据源列标识生成数据的内部流程。

属性 数据类型 描述 数据源
标题 对象 当前产品标题信息 mergeContexts()
消息 阵列 验证/错误消息 API 响应 + 规则
选项组 阵列 产品组件组(选项) mergeContexts()
attributeCategories 阵列 产品属性类别 mergeContexts()
summary 对象 配置摘要(合并事务树) mergeContexts()
navigationRoute 阵列 当前导航路径或踪迹 buildNavigationInfo()
搜索信息 阵列 搜索产品目录的数据 buildSearchInfo()
选项卡 阵列 多根捆绑包的可用选项卡 buildTabs()
currencyCode 字符串 定价的货币代码 API 响应
交易记录 对象 交易记录详细信息 populateTransactionRecord()
HeadTitle 字符串 页眉标题文本 generationHeaderTitle()
isInstantPricingToggleEnabled 布尔值 是否显示即时定价切换 setToggleStates()
isInstantPricingEnabled 布尔值 当前即时定价状态 切换/API
isProductValidationEnabled 布尔值 当前验证状态 切换/API
showPrices 布尔值 是否显示价格 状态逻辑
showSummaryTotalSection 布尔值 是否显示汇总总计部分 保险覆盖
favoriteData

字符串 (JSON)

收藏夹的配置数据 getFavoriteData()
isConfiguratorDisabled 布尔值 是否禁用配置器 UI 状态
isApiInProgress 布尔值 API 调用是否正在进行 API 生命周期
isPriceRampEnabled 布尔值 是否启用价格斜坡 上下文检查
isGroupRampEnabled 布尔值 是否启用小组坡道 小组计算
salesTransactionItems 阵列 所有交易项目 API 响应
布局模式 字符串 布局模式(标准或紧凑) 切换
searchResultOptionId 字符串 选定搜索结果选项 ID 搜索导航
rootProductId 字符串 根产品 ID 目录数据
currentGroupName 字符串 当前小组名称 getCurrentGroupName()
context元数据 对象 可自定义销售交易项目属性的上下文元数据。包含可在 UI 中显示的自定义属性的字段定义(标签、数据类型、选项列表值)。 上下文解析
合格促销 阵列 合格促销列表 促销 API

事件数据管理器监听

数据管理器监听 Lightning 消息服务 (LMS) 事件和有线适配器。

为了监听 LMS 事件,数据管理器订阅消息渠道,并接收其他组件在那里发布的 LMS 事件。此表显示了 LMS 事件操作、它们的处理程序方法以及操作的功能。

事件操作 处理程序方法 它的作用
valueChange setState() 更新配置状态(选择、数量、属性)
导航 navigate() 在捆绑层次结构中导航
closePreview closePreview() 关闭预览窗口
toggleInstantPricing setInstantPricing() 打开/关闭即时定价
toggleExplaiability setExplainability() 打开/关闭可解释性
toggleRulesValidation setProductValidation() 打开/关闭验证
updatePrices updatePrices() 手动触发定价
验证产品 validateProduct() 手动触发验证
cloneItems cloneItems() 复制交易项目
toggleCompactLayout setLayoutModeOnToggle() 切换布局模式
contextDefinitionChanged setContextDefinition() 更新上下文定义
saveFavConfiguration handleSaveConfiguration() 将配置保存为收藏夹
loadFavorite handleLoadFavorite() 加载收藏夹配置

有线适配器自动监听 Salesforce Platform 中的数据更改,并将数据更改传输到数据管理器。此表显示了数据管理器监听的电线适配器事件。

电线适配器 源 它监听的内容 处理程序方法 目标
MessageContext Lightning/messageService LMS 的消息上下文

不适用(提供上下文)

启用 LMS 通信
getContextServiceDefinition Lightning/industriesContextApi 上下文定义更改

gotContextDefinition()

监听上下文定义数据
getObjectInfos (2nd) Lightning/uiObjectInfoApi 交易项目对象信息 getObjectInfos() 监听交易项目元数据

事件数据管理器触发

数据管理器触发自定义事件、吐司事件和流属性更改事件。

此表显示了自定义事件数据管理器火灾,包括冒泡和合成事件。

事件名称 泡沫 组成 何时触发 目标
加载 是 是 在初始加载期间 通知父级加载状态
继续 是 是 在根位置取消或关闭窗口 关闭配置器而不保存
保存 是 是 保存并退出导航 保存配置并退出
close_modal 是 是 关闭预览 关闭预览窗口
showConflictToast 是 是 检测到非阻止 API 冲突 显示冲突警告吐司

此表显示了数据管理器触发的吐司事件。

事件名称 何时解雇 目标
ShowToastEvent 成功加载收藏夹后 通知用户收藏夹加载成功

数据管理器会在每次 UI 更新时为所有反应性属性派遣 FlowAttributeChange 事件。

 
正在加载
Salesforce Help | Article