用 Salesforce CPQ 属性个性化智能手表(Personalize Smartwatches with Salesforce CPQ Attributes)

本模块是一个 CPQ 动手实践项目,带你为 AW Computing 的智能手表避免 SKU 激增:创建配置属性(Size/Accent/Engraving/Outlet Standard)和全局属性(Material/Color/Accent)与属性集,用公式默认雕刻值、用字段依赖限制颜色、创建报价行与订单产品的孪生字段,实现数百种定制、仅用少数产品。...

📅 2026/12/7 ✍️ ponybai 🏷️ salesforce, sales

一、设置启用 CPQ 的组织(Set Up a CPQ-enabled org)

slide_2

AW Computing 的定制难题(AW Computing's Customization Conundrum)

slide_3

AW Computing 以销售各种消费科技产品著称,现在想加入智能手表潮流。作为第一步,公司的 Salesforce 管理员运用在「Salesforce CPQ 中的可配置捆绑包」学到的技能,创建了一个智能手表捆绑包(bundle)——一组打算一起销售的相关产品。这个智能手表捆绑包有一个已含在价格里的表带选项,和一个加 30 美元的可选备用表带,还有一些充电相关项目。

但智能手表也是时尚配饰,一个尺寸不适合所有人,客户期望高度定制。

如果 AW Computing 计划提供两种材质、10 种颜色、三种点缀的表带,就是 60 种组合,再乘以两种尺寸就是 120 种组合。难道要创建 120 个产品吗?再加一种材质又要 60 个产品?这就是SKU 激增(SKU proliferation)——相似产品数量膨胀到难以维护。

答案是用配置属性(configuration attributes)和全局属性(global attributes)。它们就像出现在产品配置页面上的字段,让销售代表实时捕获定制信息。表带的属性叫全局属性(可复用),顶部的 Size、Accent、Engraving 叫配置属性(仅此捆绑包专用)。

注册一个带 Salesforce CPQ 的 Developer Edition 组织(Sign Up for a Developer Edition Org with Salesforce CPQ)

slide_4

要完成本项目,你需要一个包含 Salesforce CPQ 和示例数据的特殊 Developer Edition 组织。注册免费的 Developer Edition 并连接到 Trailhead:

  1. 注册一个带 Salesforce CPQ 的免费 Developer Edition 组织。
  2. 填写表单:Email 填有效邮箱;Username 填一个看起来像邮箱、唯一但不必是真实邮箱的用户名。
  3. 点击 Sign me up,收到激活邮件后点击 Verify Account。
  4. 设置密码和密保问题,登录 Developer Edition。
  5. 回到 Trailhead,在 Challenge 区点击 playground 名称 → Connect Org,输入用户名密码,Allow,Yes! Save it。

在新 CPQ 组织中启用全局属性(Enable Global Attributes in a New CPQ Org)

slide_5

你还需要做几个一次性的简单步骤来启用全局属性支持。

  1. 进入 Setup,Quick Find 输入 profiles,点击 Profiles → System Administrator。
  2. 在 Custom Record Type Settings 下,为 Configuration Attributes 点击 Edit,把 Configuration Attribute 和 Global Attribute 两个记录类型都 Add 进去。
  3. 确认 Configuration Attribute 是默认记录类型,点击 Save。
  4. Quick Find 输入 packages,点击 Installed Packages → Salesforce CPQ 包 → Configure → Additional Settings,勾选 Enable Product Option Drawer,点击 Save。

现在你的 CPQ 组织也启用了全局属性,可以开始创建属性了。

二、为尺寸和点缀创建智能手表属性(Create Smartwatch Attributes for Size and Accent)

slide_6

创建产品选项字段(Create Product Option Fields)

slide_7

先理解一个关键概念:配置属性不是字段,而是字段的可见表现。产品配置页面本身不是记录,因此不能有自己的字段;它只能有一个字段的「表现」,这就是配置属性。

所以创建表现之前,先创建作为灵感来源的字段,且总是在 Product Option 对象上创建。先创建 Size 选项列表字段:Object Manager → Product Option → Fields & Relationships → New → Picklist,Field Label 填 Size,输入两个值 40mm 和 44mm,勾选 Use first value as default value。

再用 Save & New 创建 Accent 选项列表:Field Label Accent,输入 Light Gray、Dark Gray、Gold(注意本项目必须拼写 gray 而非 grey)。

接着让 CPQ 知道新字段:Object Manager → Configuration Attribute → Fields & Relationships → Target Field,在 Values 中 New,输入 Size__c 和 Accent__c,勾选 Record Type Name。

创建配置属性记录(Create Configuration Attribute Records)

slide_8

配置属性通过查找关系关联到其出现的捆绑包,所以从捆绑包的 Product 记录导航创建最方便:App Launcher → Salesforce CPQ → Products → Smartwatch → Related → Configuration Attributes → New。

  1. Size 属性:Attribute Name Size、Target Field Size__c、勾选 Required、Row Order 10。
  2. Accent 属性:Attribute Name Accent、Target Field Accent__c、Required、Row Order 20。

可用预制的 Q-00045 报价测试:Quotes → Q-00045 → Edit Lines → Add Products → 勾选 Smartwatch → Select,即可看到两个可配置属性。

每次创建配置属性都要走同样三步:在 Product Option 上建字段 → 把字段 API 名加到 Target Field → 在捆绑包产品上建配置属性记录。

三、为雕刻属性设置默认值(Set a Default Value for an Engraving Attribute)

slide_9

不止是选项列表(More Than Just Picklists)

slide_10

配置属性可以用很多数据类型的字段作为灵感来源:Checkbox、Currency、Date、Email、Number、Percent、Picklist、Text、Text Area、URL、Lookup 等。本步创建一个基于文本、名为 Engraving 的配置属性,让客户在手表背面刻上自定义信息。

在 Product Option 上创建字段:Text 类型,Field Label Engraving,Length 100。然后把 Engraving__c 加到 Target Field(勾选 Record Type Name)。最后创建配置属性记录:Attribute Name Engraving、Target Field Engraving__c、Row Order 10、Column Order 2(产品配置页面分三列,选 2 表示放到中间列)。

用公式字段提供默认值(Use a Formula Field to Supply a Default Value)

slide_11

你想让 CPQ 预填 Engraving 属性,那数据从哪来?在 Quote 对象上创建一个公式字段:Object Manager → Quote → Fields & Relationships → New → Formula → Text,Field Label EngravingDefault,公式填 SBQQ__PrimaryContact__r.FirstName + " " + SBQQ__PrimaryContact__r.LastName。

然后告诉 CPQ 数据源:Products → Smartwatch → Related → Configuration Attributes → Engraving → Edit,Default Object 选 Quote,Default Field 填 EngravingDefault__c,Save。

现在 Engraving 属性会自动填充报价主要联系人的姓名。公式默认值有局限:公式字段只能返回某些数据类型,所以无法用公式默认选项列表、文本区域和邮件地址等。要默认邮件地址,可在 Quote 上建普通 email 字段,再用 Flow Builder 填充,然后同样设置 Default Object/Field。

四、将插座属性放入功能中(Place an Outlet Attribute into a Feature)

slide_12

功能首秀(A Feature Premier)

slide_13

功能(feature)用于组织捆绑包中的选项,便于看出哪些产品相关。智能手表捆绑包有个充电选项功能,AW Computing 想为全球客户提供墙式充电器,就要支持各种插座标准。

与其为北美、德国等各建一个充电器 SKU,不如建一个 SKU,用一个配置属性来标识插座标准,并把它放进 Charging Options 功能。

本步复用现成的 Outlet Standard 全局选项列表值集,但要排除 Type L。步骤:在 Product Option 建 Picklist 字段,Field Label Outlet Standard,Values 选 Outlet Standard(字段名应为 Outlet_Standard);把 Outlet_Standard__c 加到 Target Field;再创建配置属性记录:Attribute Name Outlet Standard、Target Field Outlet_Standard__c、Required、Row Order 10、Feature Charging Options、Hidden Values TypeL。

用 Hidden Values 列出不该出现的值,或用 Shown Values 列出可显示的值——二者只能用一个(同时用会默认 Hidden Values)。可选值很多、只有少数要排除时用 Hidden Values;可允许值有限、且不希望未来新增值被包含时用 Shown Values。

五、为表带样式创建属性(Create Attributes for Watch Band Styles)

slide_14

适合任何场合的表带(A Band for Any Occasion)

slide_15

AW Computing 想提供四种材质、12 种颜色、三种点缀的表带。这里用全局属性(global attributes)。全局属性最大的优势是可复用到任意多个选项(甚至跨捆绑包)。与配置属性的区别:全局属性出现在选项的可展开抽屉里,可关联到多个选项,需要四个对象上的四条记录,且目前不能配置默认值等特殊行为。

和配置属性一样,先建字段:在 Product Option 上建 Material(Silicone、Canvas、Stainless Steel、Leather)和 Color(Light Gray、Dark Gray、Gold、Black、White、Brown、Red、Blue、Green、Purple、Pink、Yellow)两个选项列表字段(Accent 字段之前已建)。把 Material__c、Color__c 加到 Target Field。

再创建三个全局属性(直接导航到 Configuration Attributes tab → New → Global Attribute 记录类型):Material、Color、Accent。

然后创建属性集(attribute set)把它们组合:Attribute Sets → New,名称 Watch Band Style;在 Related → Attribute Items 中依次添加 Material(Sequence 10)、Color(20)、Accent(30)。属性项通过 junction 对象连接全局属性与属性集,并决定从左到右的顺序(每行最多三个属性)。

最后用另一个 junction 对象 Product Attribute Set 把属性集关联到两个表带选项:进入 PO-00076 和 PO-00077,各新建 Product Attribute Set,选 Watch Band Style,Sequence 10,并分别为每个选项设置 Material/Color/Accent 的默认值(第一个运动风 Silicone/Dark Gray/Light Gray,第二个正式风 Leather/Brown/Gold)。

六、基于材质限制颜色选择(Limit Color Choices Based on Material)

slide_16

使用核心 Salesforce 功能(Use Core Salesforce Functionality)

slide_17

AW Computing 只在不锈钢上提供浅灰、深灰、金色,只在皮革上提供黑、白、棕色,必须防止销售代表选择不存在的组合。方法是在两个字段间创建字段依赖(field dependency)——这是可应用于 CPQ 的核心 Salesforce 管理员任务。

Object Manager → Product Option → Fields & Relationships → Field Dependencies → New:Controlling Field 选 Material,Dependent Field 选 Color。然后在矩阵中双击配置:Silicone 和 Canvas 选除 Gold 外的所有颜色;Stainless Steel 选 Light Gray、Dark Gray、Gold;Leather 选 Black、White、Brown。

注意:依赖只在同一层级上生效——作为控制字段的配置属性无法控制产品选项上的全局属性;第一个表带的 Material 只控制第一个表带的 Color。如果未来某选项的颜色不应受此依赖限制,可另建一个无依赖的 Color2__c 字段。

七、在报价行上创建孪生字段(Create Twin Fields on the Quote Line)

slide_18

为属性数据安家(Make a Home for Attribute Data)

slide_19

产品配置页面不是记录、属性不是字段,那销售代表选完 40mm 后数据存到哪?需要在 Quote Line 对象上创建字段作为属性的接收容器,且 API 名和数据类型必须完全一致——这叫孪生字段(twin fields),CPQ 会自动复制数据。

在 Quote Line 对象上创建六个孪生字段:Size(40mm/44mm)、Accent(Light Gray/Dark Gray/Gold)、Engraving(Text 长度 100)、Outlet Standard(用 Outlet Standard 值集)、Material(四种材质)、Color(12 种颜色)。

但配置属性(如 Size)的值默认只存到主产品的报价行,全局属性(如 Material/Color)存到各自产品的报价行。表带报价行缺 Size 数据会出问题,所以要对 Size 和 Outlet Standard 两个配置属性勾选 Apply to Product Options,让值也保存到捆绑包内各选项的报价行。

八、在订单产品上创建孪生字段(Create Twin Fields on the Order Product)

slide_20

将信息一路传递下去(Pass Information Down the Line)

slide_21

Order Fulfillment(订单履约)可能无法访问报价行数据,所以还要在 Order Product 对象上再建一轮孪生字段,让生成订单时数据能传到 Order Product 记录。步骤与报价行相同,在 Order Product 上创建 Size、Accent、Engraving、Outlet Standard、Material、Color 六个字段。

关于选项列表,建议使用全局选项列表值(Global Picklist Values):不仅省时,还能保证跨对象值一致。否则新增一种颜色就要同时更新 Product Option、Quote Line、Order Product 三个选项列表。如果忘了更新「下游」选项列表,由于「Restrict picklist to the values defined in the value set」默认勾选,CPQ 保存新值会被阻止而报错。

戴上销售代表的帽子(Put on Your Sales Rep Hat)

slide_22

最后端到端测试:Quotes → Q-00046 → Edit Lines → Add Products → 勾选 Smartwatch → Select,确认 Size、Accent、Outlet Standard 以及表带的 Material、Color、Accent 都有值,Save 两次。

然后点击 Edit → 勾选 Ordered → Save。CPQ 会创建 Order 记录和基于报价行的 Order Product 记录,同时把属性值复制到 Order Product 的孪生字段。在 Related → Orders 中打开订单,检查 Smartwatch 的 Size/Accent/Outlet Standard 和 Smartwatch Band 的 Size/Accent/Material/Color 都有值。

至此,你让 AW Computing 只用少数产品就支持了数百种手表定制,像高手一样避免了 SKU 激增。


文章来源:Trailhead - Personalize Smartwatches with Salesforce CPQ Attributes