Salesforce CPQ 中的产品规则(Product Rules in Salesforce CPQ)

本模块介绍 Salesforce CPQ 产品规则:用警报、验证、选择、筛选四种规则帮助销售代表把正确的产品放进报价。你将学会用错误条件与动作、设置 Scope/评估事件/评估顺序、为特定捆绑包创建规则、用汇总变量与查找查询,以及用筛选规则制作动态捆绑包。...

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

一、开始使用产品规则(Get Started with Product Rules)

slide_2

用产品规则让报价井然有序(Bring Order to Quotes with Product Rules)

slide_3

销售代表只是普通人,有时会忘记在报价中加上必要产品,更糟的是加入不兼容的产品。错误报价变成错误订单,让客户沮丧、各方浪费时间。产品规则(product rules)就像护栏,帮销售代表在复杂的产品组合中保持正轨,第一次就把正确的产品放进报价。

适用于各种场合的产品规则(Product Rules for All Occasions)

slide_4

产品规则有四种类型:

  • Alert(警报):显示潜在问题消息,但允许忽略(如提醒追加销售机会)。
  • Validation(验证):显示必须修复才能保存的问题(如选错墨盒阻止保存非法配置)。
  • Selection(选择):自动添加、移除或隐藏选项,也可自动向报价添加产品。
  • Filter(筛选):在动态选择的功能中只显示特定产品。

产品规则是团队协作(Product Rules Are a Team Effort)

slide_5

产品规则记录是容器,四个相关对象查找它:

  • Error Condition(错误条件):控制规则何时触发。
  • Action(动作):保存 CPQ 如何改变捆绑包配置的指令,多用于选择规则。
  • Lookup Query(查找查询):把规则绑定到数据源对象。
  • Configuration Rule(配置规则):告诉 CPQ 规则应用于特定可配置捆绑包。

其他贡献者(Other Contributors)

slide_6

还有两个对象常参与产品规则:配置属性(Configuration Attributes)(代表在配置中设置的字段,常用于错误条件)和汇总变量(Summary Variables)(跨记录汇总数值,常用于错误条件/动作)。

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

slide_7

需要带 Salesforce CPQ 和示例数据的特殊 Developer Edition 组织:注册、填表、验证邮箱、设置密码、连接 Trailhead。

二、给规则加上条件(Put Conditions on Rules)

slide_8

在正确条件下(Under the Right Conditions)

slide_9

产品规则通过阻止错误来帮代表创建准确报价。例如 AW Computing 的 Cloud Storage 因不符合 HIPAA,不能卖给医疗行业客户。错误条件(error condition)是「通过/失败」式测试,比较两段数据(如报价行的产品代码是否等于 CLOUDSTORAGE)。有多个错误条件时,用产品规则的 Conditions Met 字段告诉 CPQ 需满足「any」还是「all」。

创建你的第一个错误条件(Create Your First Error Condition)

slide_10

创建验证规则 No cloud storage for healthcare industry(Type Validation、Evaluation Event Always、Active、Conditions Met All、Message 填错误文案)。然后创建错误条件:Tested Object Quote Line、Tested Field SBQQ__ProductCode__c、Operator equals、Filter Value CLOUDSTORAGE。

把数据拉到可测试对象中(Pulling Data into a Testable Object)

slide_11

错误条件只能测试六个对象上的数据:Quote、Quote Line、Quote Line Group、Product Option、Configuration Attributes、Upgraded Asset。要测试账户行业,需在 Quote 上建公式字段 AccountIndustry__c 拉取值。第二个条件:Tested Object Quote、Tested Field AccountIndustry__c、equals Healthcare。Tested Field 是依赖选项列表,值取决于 Tested Object。

高级条件(Advanced Conditions)

slide_12

用 Index 给错误条件编号,再把 Conditions Met 设为 Custom,在 Advanced Condition 中写 AND/OR 表达式,如 10 AND (20 OR 30)(产品 = Cloud Storage,且行业为 Healthcare 或 Banking)。

三、决定规则何时评估(Decide When Rules Evaluate)

slide_13

每个测试的时间和地点(A Time and Place for Every Test)

slide_14

错误条件评估太频繁会很烦人。好在你可以精确控制 CPQ 何时评估错误条件——例如只在代表点击 Save 时测试,而不是每次小改动都弹出。

产品配置 vs 报价行编辑器(Product Configuration vs Quote Line Editor)

slide_15

一条产品规则要么在产品配置页、要么在报价行编辑器上运行,不能两者都跑。Scope 字段告诉 CPQ 规则在哪里运行:Product(配置期间)或 Quote(报价行编辑器)。

评估事件(Evaluation Event)

slide_16

Scope 说「哪里」,Evaluation Event 说「何时」。不同 Scope/Event 组合支持不同规则类型:Product 的 Load(Selection/Filter)、Edit(Selection/Validation)、Save(Alert/Validation);Quote 的 Load(Selection)、Save(Alert/Validation)。「Always」不是真的一直评估,而是「所有适用」。

别等,立即应用!(Don't Wait, Apply Immediately!)

slide_17

Edit 事件规则只评估特定编辑。要让它即时触发,在选项记录或配置属性记录上勾选 Apply Immediately。还有 Apply Rules 按钮可一次性评估所有 Edit 事件规则。注意:Validation 规则若不设 Apply Immediately,至少设 Always;Selection 规则在 Save 时从不评估,别只依赖 Apply Rules。

评估顺序(Evaluation Order)

slide_18

Evaluation Order 用于排序选择规则(数字顺序)。通用规则设 10、专门规则设 20,通用先跑。建议用 10 的增量,方便以后插入。

四、为特定捆绑包制定规则(Make Rules for Specific Bundles)

slide_19

按自己规则玩的捆绑包(A Bundle That Plays by Its Own Rules)

slide_20

有时规则只在配置特定捆绑包时需要。例如 Telecommuter Workstation 捆绑包,代表常卖出没有麦克风的配置。创建一条只在此捆绑包内运行的规则。

汇总变量(Summary Variable)

slide_21

汇总变量把一组数据汇总成单一数值。创建 Microphone Sum:Target Object Product Option、Aggregate Function Sum、Aggregate Field Quantity、Filter Field Product Code、Operator ends with、Filter Value MIC。

创建捆绑包专属规则(Create a Bundle-Specific Rule)

slide_22

创建验证规则 Prevent missing microphones(Type Validation、Scope Product、Evaluation Event Save、Active、Conditions Met All、Message 填文案)。错误条件用汇总变量:Tested Variable Microphone Sum、equals 0。最后创建 Configuration Rule 记录(Active、Product 选 Telecommuter Workstation),把规则关联到该捆绑包。

测试产品选项字段的局限(Limits of Testing Product Option Fields)

slide_23

CPQ 对产品选项字段的测试方式是逐个遍历已选中选项。两个注意点:1) 只测试已选中选项,无法测试「未选中」的东西(所以要用汇总变量)。2) 在同一条规则里测试两个不同选项会失败(一个选项不可能同时是两者)。解决方法仍是用汇总变量计数其中一个。

五、用选择规则控制选项(Control Options with Selection Rules)

slide_24

选择规则的援手(The Helping Hand of Selection Rules)

slide_25

选择规则(selection rules)自动改变配置。动作类型包括:Add(勾选)、Remove(取消勾选)、Disable(置灰不可勾)、Enable(可勾)、Disable & Remove、Enable & Add、Hide(完全移除)、Show(恢复)、Hide & Remove、Show & Add。

创建两条相反的选择规则(Create Two Opposing Selection Rules)

slide_26

Home Automation Hub 场景:创建汇总变量 Outlet Sum(Product Option、Sum、Product Code ends with OUTLET)。规则 1「Disable and remove electrical installation」:当 Outlet Sum = 0 时,动作 Disable & Remove Electrical Installation。规则 2「Enable and add electrical installation」:用 Clone with Related 克隆再反转——Outlet Sum > 0 时,动作 Enable & Add。给 Smart Outlet 选项勾选 Apply Immediately。

六、发现选择规则的其他用法(Discover Other Ways to Use Selection Rules)

slide_27

一个动作统治一切(One Action to Rule Them All)

slide_28

用动作里的筛选信息一次性影响多个产品,而不是每个产品一个动作。例如对乳糖不耐客户禁用所有含 Dairy__c 的产品:动作 Type Disable,Filter Field Dairy__c、equals true。注意:若同时填了 Product 查找和筛选,只有查找的产品受影响;用筛选就留空 Product。

用选择规则向报价添加产品(Add Products to a Quote with Selection Rules)

slide_29

报价范围的选择规则可直接向报价添加产品。例如买显示器送免费 USB 拇指盘:Type Selection、Scope Quote、Evaluation Event Always、Conditions Met Any;条件 Product Code starts with monitor;动作 Type Add、Product USB Thumb Drive、勾选 Required。Add 是唯一必须勾选 Required 的动作类型(Hide/Disable/Remove 则绝不能勾)。报价范围的选择规则每次返回报价行编辑器都会运行。

选择规则 vs 选项约束(Selection Rules Versus Option Constraints)

slide_30

选项约束更简单但局限。产品规则更好的理由:可应用于无限个捆绑包、可用 Add 动作勾选选项、可有多个条件评估捆绑包外信息、可作用于多个选项。

选择规则 vs 验证规则(Selection Rules Versus Validation Rules)

slide_31

选择规则自动引导代表到正确配置;验证规则用消息阻止保存。根据想要的体验选择,并在试点后收集代表反馈。

七、用自定义对象的数据驱动规则(Use Data from a Custom Object to Drive Rules)

slide_32

规则之山(A Mountain of Rules)

slide_33

相似规则会堆积成山。例如按国家限制电源选项,为每个国家建一条规则很麻烦。改用查找查询(lookup query),一条规则处理所有变体,由自定义对象的数据驱动。

一切始于数据(It All Starts with Data)

slide_34

查找规则需要一个描述所有场景的数据源。本示例用自定义对象 Outlet Locales(字段 OLCountry、OLProduct、OLType、OLRequired),记录每个国家应启用的产品。

创建查找产品规则(Create a Lookup Product Rule)

slide_35

创建选择规则 Limit power options(Scope Product、Evaluation Event Load)。在 Lookup Query Information 区设置:Lookup Object OutletLocale__c、Lookup Type Field OLType__c、Lookup Product Field OLProduct__c、Lookup Required Field OLRequired__c。创建 Lookup Query:Match Type Field Value、Tested Object Quote、Tested Field SBQQ__ShippingCountry__c、equals、Lookup Field OLCountry__c。动作 Disable & Remove,Filter Field Product Code、contains power。选择规则中动作先于查找查询执行(先全禁用,再启用正确的)。

验证和警报查找规则(Validation and Alert Lookup Rules)

slide_36

验证/警报查找规则更简单:只需自定义对象上的一个查找字段和一个文本字段存放消息,在规则上设置 Lookup Message Field 指向该文本字段即可,无需在规则记录里写消息。

八、用筛选规则制作动态捆绑包(Make a Dynamic Bundle with Filter Rules)

slide_37

动态捆绑包的理由(The Case for Dynamic Bundles)

slide_38

动态捆绑包(dynamic bundles)自动纳入新相关产品、剔除不再需要的产品。它有一个特殊功能:显示「添加选项」链接,点击进入一个筛选后的迷你选品页。优势是无需为虚拟选项创建选项记录;局限是失去了对虚拟选项行为的控制(如最大数量)。

如此出众的产品!(Such Distinguished Products!)

slide_39

用一个自定义字段标识动态捆绑包应包含的产品。本示例用产品上的 Extras__c 复选框标记常见附加项。

设置后门通道(Set Up a Back Channel)

slide_40

在 Product Option 对象上创建同名的 Extras 字段(名称必须与产品字段匹配),这样 CPQ 把产品数据复制到虚拟选项列表时就有地方放,才能用它筛选。

设置动态二重奏(Set Up the Dynamic Duo)

slide_41

动态捆绑包需要特殊功能和筛选规则配合。创建功能 Upsells(Min Options 0、Number 50、Option Selection Method Dynamic)。创建筛选规则 Extras filter(Type Filter、Scope Product、Evaluation Event Load、Active、Conditions Met All),动作 Type Default Filter、Filter Field Extras__c、equals true。最后创建 Configuration Rule 关联到 Telecommuter Workstation 的 Upsells 功能。

默认筛选 vs 可选筛选(Default Filter Versus Optional Filter)

slide_42

动作 Type 选 Default Filter 时,即使代表点 Clear Fields,筛选仍保持(列表锁定);选 Optional Filter 时,Clear Fields 会清除筛选、显示全部产品。根据是否想锁定列表谨慎选择。


文章来源:Trailhead - Product Rules in Salesforce CPQ