使用标准与自定义字段
本单元是项目的第一步:创建标准字段和自定义字段,配置配置文件(Profile),并为对象做好数据录入准备。
介绍与设置
AW Computing 已经建立了一个 Salesforce 环境,用户、配置文件和权限都已配置好。但还需要进一步自定义,确保用户拥有捕获业务信息所需的字段——这就是你这位管理员的任务。
第一个请求来自销售运营负责人 Yuko Ishikawa:她的团队用 Account Rating 字段做销售线索挖掘,但担心客户负责人因为没有理解字段用途而填错。为帮助她的团队正确使用该字段,你需要:
- 把 Rating 字段重命名为 Prospect Rating。
- 给字段添加帮助文本(Help Text),说明「Hot/Warm/Cold」分别代表什么。
- 在 Account Rating 选项列表中添加一个新值
Not Known。 - 通过字段级安全(Field-Level Security)限制谁能编辑。
动手前,先为销售团队和支持团队创建配置文件:从 Setup 进入 Profiles,克隆 Standard User,分别创建 Sales User 和 Support User 两个配置文件。
接着创建两个自定义字段:
- Has Support Plan(复选框):销售用户用来告知支持团队哪些客户拥有支持计划。
- Support Plan Expiration Date(日期):记录当前支持计划的到期日。
两个字段都只对 Sales User 和 Support User 可编辑,其余用户只读。
创建选项列表与字段依赖
本单元创建选项列表(Picklist)字段和字段依赖(Field Dependencies),用受控的值和级联筛选提升数据质量。
创建选项列表
选项列表(Picklist)为字段提供一组预定义的选项,用户从列表中选择单个值,而不是直接输入,从而减少错误、保持数据干净。
销售运营把销售区域划分为多个 Region(区域)和 Zone(片区)。你需要:
- 创建一个全局选项列表值集(Global Picklist Value Set)
Region,包含 APAC、EMEA、LATAM、US、Canada 五个值。 - 在 Lead 和 Account 对象上创建自定义选项列表字段
Region,引用这个全局值集。 - 在 Account 上创建自定义选项列表字段
Zone,手动录入 21 个片区值(如 East Asia、Europe、Midwest US、Northern Canada 等)。
副总裁 Allison Wheeler 还想跟踪商机赢单/丢单的原因。在 Opportunity 上创建一个多选选项列表(Picklist Multi-Select)字段 Close Reason,包含以「Won:」「Lost:」开头的值(如 Won: Competitor、Lost: Price、Lost: Product Features 等),并把可见行数设为 6。
创建字段依赖
字段依赖(Field Dependencies)是一个过滤器,可以根据另一个字段的值来改变某个选项列表显示的内容。例如选择某个 Region 后,Zone 字段只显示该区域下的片区,帮助用户更快找到正确选项。
在 Account 上创建 Region → Zone 的依赖关系:
- APAC → East Asia、Oceania、Southeast Asia
- EMEA → Africa、Europe、Middle East、UK + Ireland
- LATAM → Mexico、Caribbean、Central America、South America
- US → Midwest US、Northeast US、Southeast US、Southwest US、West US
- Canada → Northern Canada、Mountains and the West、The Prairies、Central Canada、East Coast
再在 Opportunity 上创建 Stage → Close Reason 的依赖:当 Stage 为 Closed Won 时只显示以「Won」开头的值,Closed Lost 时只显示以「Lost」开头的值。注意不是所有 Stage 值都有对应的 Close Reason。
创建查找筛选器
本单元创建查找关系(Lookup Relationship),并添加查找筛选器(Lookup Filter)限制用户可选的相关记录。
创建查找关系
查找关系(Lookup Relationship)把一条记录链接到另一条记录。例如 Case 上的 Backup Agent 字段查找(Lookup)到 User 对象,代表当 Case 负责人外出时的备份支持代表。
服务副总裁 Noah Larkin 想让代表能在外出时记录备份代表的名字,并确保新 Case 只能关联到同一客户账户下的联系人。你需要:
- 在 Case 上创建
Backup Agent字段,查找关系指向 User 对象,并用查找筛选器限制只能选择Profile = Support User的用户。 - 给 Case 的 Contact Name 字段添加查找筛选器:
Contact Name: Account ID等于Case: Account ID,这样用户只能选择与 Case 中 Account 相关联的联系人。
查找筛选器能引用同一记录上的字段(源)、查找对象记录上的字段(目标)、用户/配置文件/角色上的字段,以及与目标对象直接关联的记录字段,从而在数据录入时就执行业务规则。
创建公式字段
本单元创建公式字段(Formula Fields),用声明式计算自动生成值——无需触发器、无需 Apex。
计算佣金与自定义公式
公式字段(Formula Fields)是只读字段,根据其他字段、表达式和函数计算值,当源数据变化时自动更新。
Allison Wheeler 想让销售和管理层看到赢单商机的佣金,还想在商机上显示账户的 Region/Zone,以及折扣后的金额。你需要创建三个公式字段:
- Commission(货币):计算 10% 佣金。基础公式是
Amount * 0.1,再用高级公式限定只在赢单时计算:IF( ISPICKVAL( StageName, "Closed Won"), Amount * 0.1, 0)。 - Region/Zone(文本):从账户记录拼接区域和片区:
TEXT(Account.Region__c) & "/" & TEXT(Account.Zone__c)。 - Amount After Discount(货币):先创建一个百分比字段
Discount Percentage,再写公式Amount * ( 1 - Discount_Percentage__c )。
公式支持算术运算、文本拼接、日期计算、条件逻辑和跨对象引用,是平台最强大的声明式功能之一。
创建记录类型
本单元创建记录类型(Record Types),为不同类别的记录提供不同的业务流程、选项列表值和页面布局。
创建记录类型
记录类型(Record Types)让同一个对象在不同业务流程下有不同的表现。Noah 希望咨询团队查看客户账户时不会看到合作伙伴账户,也不要在 Industry 字段里翻找一大堆无关值。
在 Account 对象上创建两个记录类型:
- Customer Account:面向客户和潜在客户,Industry 选项列表移除 Consulting 和 Education。
- Partner Account:面向咨询合作伙伴,Industry 只保留 Consulting 和 Education;Type 选项列表只保留 Channel Partner/Reseller、Installation Partner、Technology Partner、Other。
每个记录类型都可以拥有不同的选项列表值、页面布局和必填字段。这样既保持了数据模型的干净(一个 Account 对象),又支持不同类型的账户走不同的业务流程。
自定义记录页面
本单元用 Lightning App Builder 和页面布局自定义记录页面——调整字段位置、配置相关列表,并为不同记录类型创建专属页面。
调整字段与相关列表
Noah 担心咨询团队看到的账户页面里有些字段不适用于合作伙伴账户,希望移除所有销售相关信息;Allison 则希望把新增的账户字段按主题分到不同分区,方便团队查找。
在 Lightning App Builder 中编辑账户页面:
- 把页面升级到 Dynamic Forms,这样就能单独添加、移除和调整每个字段的位置。
- 创建 Sales Region 和 Support Plan Information 两个字段分区,把 Region、Zone、Has Support Plan、Support Plan Expiration Date 分别拖入。
- 把这两个分区移到页面右侧更显眼的位置,并把 Prospect Rating 设为必填。
相关列表的调整要在页面布局编辑器(Page Layout Editor)里做:给 Contacts 相关列表添加 Do Not Call 列,并把 Opportunities 相关列表移到最上方。
激活并创建记录专属页面
页面保存后不会自动推送给用户,必须激活(Activate)才能生效。把 Customer Account Page 分配给 Sales 应用下的 Customer Account 记录类型,以及 Sales User 和 Support User 两个配置文件。
再为合作伙伴创建一个专属页面 Partner Account Page:克隆 Customer Account Page,然后移除 Prospect Rating、Region、Zone、Has Support Plan、Support Plan Expiration Date 这些销售相关字段,保存并激活到 Partner Account 记录类型。
「记录类型 + 页面布局」的组合提供了量身定制的体验:客户用户看到客户字段,合作伙伴经理看到合作伙伴字段——同一个对象,不同的视图,展示正确的信息。
启用字段历史跟踪
本单元启用字段历史跟踪(Field History Tracking),维护关键字段的审计轨迹——谁在何时把什么改成了什么。
启用字段历史跟踪
字段历史跟踪会记录对所选字段的每一次变更:旧值、新值、变更人和时间。Noah 想知道每周哪些账户被标记为拥有支持计划,以跟踪哪些账户缺少支持计划到期日。
在 Account 上启用字段历史跟踪,跟踪 Has Support Plan 和 Support Plan Expiration Date 两个字段(一个对象最多可跟踪 20 个标准或自定义字段)。
然后把 Account History 相关列表添加到 Customer Account Page 的页面布局中,用户就能在记录页面的 History 相关列表或历史报表中查看变更轨迹。
字段历史跟踪常用于合规审计、问题排查和数据治理——但要有策略地选择字段,只跟踪对合规和审计真正重要的字段,否则会消耗大量存储。
创建验证规则
最后一个单元创建验证规则(Validation Rules),在数据录入时就强制数据质量。
创建验证规则
验证规则(Validation Rules)在满足指定条件时阻止记录保存。公式描述的是「什么情况是无效的」——公式为 TRUE 就阻止保存并显示错误。
Noah 希望今后所有用户在勾选 Has Support Plan 时都必须填写支持计划到期日;Allison 则希望销售代表在商机丢单时必须填写 Close Reason。创建两条验证规则:
- 账户验证规则:
Has_Support_Plan__c = True && ISBLANK(Support_Plan_Expiration_Date__c),错误提示「账户拥有支持计划时必须填写到期日」。 - 商机验证规则:
ISPICKVAL( StageName, "Closed Lost") && ISBLANK(Close_Reason__c),错误提示「商机标记为 Closed Lost 时必须填写关闭原因」。
最佳实践:写清晰的错误消息(既说明问题又说明如何修正)、把错误定位到具体字段、用有效和无效数据都测试一遍,并且不要过度验证——每条规则都会增加数据录入的摩擦,要在数据质量和用户体验之间取得平衡。

















