字段历史跟踪
选择要跟踪的特定字段,并在对象历史列表中显示字段历史。在关闭字段审计跟踪时,Salesforce 会将字段历史数据保留最多 18 个月,并通过 API 保留最多 24 个月。如果打开字段审计跟踪,Salesforce 会保留字段历史数据,直到您手动删除它。保留值用作提醒,字段历史数据可以随时删除。字段历史跟踪数据不计入存储限制。
所需的 Edition
| 适用于:Salesforce Classic、Lightning Experience 和 Salesforce 应用程序 |
适用于:Contact Manager、Group、Essentials、Professional、Enterprise、Performance、Unlimited、Developer 和 Database.com Edition 标准对象在 Database.com Edition 中不可用 |
您可以跟踪大多数自定义和标准对象的字段历史。当您修改受支持对象上的字段时,Salesforce 会将条目添加到“历史”相关列表。所有条目都包含更改的日期、时间、性质及更改人。不是所有的字段类型都可以用于历史趋势报告。系统会始终跟踪某些更改(如个案升级)。
Salesforce 会将对象的跟踪字段历史存储到名为 StandardObjectNameHistory 或 CustomObjectName__History 的相关对象。例如,AccountHistory 代表对客户记录字段值的更改历史。同样,MyCustomObject__History 会跟踪 MyCustomObject__c 自定义对象的字段历史。
您可以为定义为详细信息对象的自定义对象创建字段历史跟踪报表。在报表中,您可以分组或筛选数据,以显示特定被跟踪字段、用户或时间的记录。
一般注意事项
在使用字段历史跟踪时,请考虑这些一般要点。
- Salesforce 从您在字段中启用字段历史记录的日期和时间开始跟踪字段历史记录。Salesforce 排除在此日期和时间之前所做的更改,并且不会在“历史”相关列表中创建条目。
- 使用 Data Loader 或
queryAll()API 检索 18-24 个月前的字段历史。 - 当对长文本字段(超过 255 个字符的字段)进行更改时,Salesforce 只记录该字段被编辑并发生了更改,但不存储或显示该字段值前后的实际值。
- 字段历史跟踪时间戳精确到秒。换句话说,如果两个用户在同一秒钟内更新同一条记录上的同一跟踪字段,则两次更新具有相同的时间戳。Salesforce 不能保证这些更改提交到数据库的顺序。因此,显示值可能会看起来无序。
- 您不能在标准或自定义对象上创建记录类型,也不能在同一元数据 API 部署中打开记录类型的字段历史跟踪。相反,在一个部署中创建记录类型,并在单独的部署中对其启用历史记录跟踪。
- Salesforce 不会在 {StandardObjectName}History 或 {CustomObjectName}__History 对象中打开最近查看或引用的功能。因此,您不能在这些历史对象的 SOQL 查询中使用 FOR VIEW 或 FOR Reference 子句。例如,此 SOQL 查询无效:
SELECT AccountId, Field FROM AccountHistory LIMIT 1 FOR VIEW - 联系人姓名字段是包含称谓字段的多列字段。在联系人姓名字段上启用字段历史跟踪,并更改称谓字段时,联系人姓名字段的选项列表值翻译不会应用到旧值或新值列。
- 在 Lightning Experience 中,数字字段的历史相关列表会将任何小数舍入到千分之一。在 Salesforce Classic 中,相同历史相关列表会显示小数点后的所有值。
- 在您为用户对象启用字段历史跟踪时,标准字段(合格)可通过元数据 API 获得。
与其他 Salesforce 功能交互
- 在 Lightning 中,您可以查看创建日期和 ID 字段中数字顺序的不同。Salesforce 仍会提交,并在审计日志中记录所有跟踪的更改。但是,这些更改在数据库中发生的确切时间可能会有很大差异,Salesforce 不能保证它们在同一毫秒内发生。例如,触发或更新字段会延长提交时间,您可以看到时间差异。在该时间周期内,Salesforce 将按照数字增加顺序创建 ID,但出于相同原因也可能存在差异。
- 如果进程构建器、Apex 触发器或流导致当前用户无权编辑的对象发生更改,Salesforce 不会跟踪该更改。字段历史尊重当前用户的权限,不记录系统上下文中发生的更改。
- Salesforce 尝试跟踪对历史记录跟踪字段的所有更改,即使特定更改从未存储在数据库中。例如,管理员在将邮政编码字段值从 12345 更改为 94619 的对象上定义了一个 Apex 触发器。用户向对象添加记录,并将邮政编码字段设置为 12345。由于 Apex 触发器,数据库中存储的实际邮政编码值为 94619。虽然数据库中最终只存储了一个值,但邮政编码字段的跟踪历史记录有两个新条目:
- 没有值到 12345(用户在插入新记录时所做的更改)
- 12345至94619(Apex 触发器所做的更改)
事件和任务历史注意事项
- 更改需要几分钟才可以显示在历史中。
- 您最多可以跟踪事件或任务上每个对象的六个字段。
- 字段历史跟踪仅适用于标准事件和任务字段。它不适用于事件或任务中的自定义字段。
- 删除活动后,可以通过 API 查询查看活动的历史记录,最多可查看几天。历史仍然可用,因为它被从活动中异步删除。
- Salesforce 不会跟踪对重复事件和子事件的所有更改。
- 您无法删除特定字段历史记录。
- 在启用字段历史跟踪时,批量进程(例如批量 API 事务或事件同步)会延迟。如果进程延迟,请考虑关闭活动字段历史跟踪。
- Salesforce 会在活动历史记录更新时锁定活动的父记录。例如,如果活动链接到数千个客户,则在历史更新时每个客户都将被锁定。作为最佳实践,请避免数据不对称。如果进程由于父-子行锁定而失败,请考虑关闭活动字段历史跟踪。
- Salesforce 会跟踪活动历史中由进程构建器、Apex 触发器或流引起的字段值更改。只有在其字段级安全设置允许的情况下,用户才能看到更改。在其他对象中,仅当当前用户有权编辑已修改的字段时,Salesforce 才会跟踪来自流程、触发器和流的字段更改。
- 如果您取消加密用于跟踪的字段,Salesforce 不会显示字段加密时跟踪的值。Salesforce 会跟踪历史记录中的未加密字段值。
- 只有具有修改所有数据权限的管理员才可以使用 API 中的活动历史记录。
- 活动历史记录不支持 Salesforce ID。ID 字段在描述和选择呼叫中仍具有值
000000000000000AAA。 - 对于活动,字段历史显示在类似相关列表的 Lightning 组件中。您无需在页面布局上管理历史,而是在 Lightning 页面中为事件和任务记录添加活动记录历史组件。您可将活动记录历史组件添加到自定义事件和任务页面,或将其从默认页面中移除。在您打开对象管理器中的字段历史跟踪之前,历史列表保持为空。
- 字段历史跟踪不支持显示小数值的字段,例如货币和百分比字段类型。
- 历史列表在 Salesforce Classic 或移动应用程序中不可用。
- 组织每天最多可以跟踪 60,000 个任务和事件字段历史事务。如果您的组织每天有超过 80,000 个字段历史事务,我们建议您避免使用字段历史跟踪,以防止未来变更历史的延迟和丢失。
联系人历史注意事项
- 在将潜在客户转换为新联系人或现有联系人时,contactCreatedFromLead 或 contactUpdatedByLead 字段会显示在联系人的“历史”相关列表中。联系人历史中出现这些字段表示该联系人从潜在客户创建或更新而来。字段值始终为空。
翻译和区域设置注意事项
- Salesforce 不会翻译被跟踪字段值,而是以输入的语言显示它们。例如,如果您将字段从 绿色 更改为 Verde,则 Salesforce 会显示 Verde,而不论用户的语言如何,除非您使用翻译工作台将该字段值翻译为其他语言。此行为也适用于记录类型和选项列表值。
- Salesforce 以查看“历史”相关列表的用户的区域设置显示对您使用翻译工作台翻译的自定义字段标签的更改。例如,如果自定义字段标签为 Red 并被翻译为西班牙语 Rojo,则使用西班牙区域的用户将看到的自定义字段标签为 Rojo。否则,用户将看到的自定义字段标签为 Red。
- Salesforce 以查看“历史”相关列表的用户的区域设置显示对日期字段、数字字段和标准字段的更改。例如,日期更改为 August 5, 2012 对使用英语(美国)区域设置的用户会显示为 8/5/2012,而对使用英语(英国)区域设置的用户则显示为 5/8/2012。
用户注意事项 (Beta)
备注 用户字段历史跟踪是一项试用或 Beta 服务,它受协议 - Salesforce.com 中的 Beta 服务条款或书面统一试用协议(如果由客户执行)以及产品条款目录中的适用条款的约束。客户可自行决定使用此试用或 Beta 版服务。
- 字段历史跟踪仅为内部用户启用。
- 如果您启用用户字段历史跟踪 (Beta) 设置,然后将其禁用,则在启用时所做的任何更改都将被记录下来。当您再次启用组织首选项时,以前选择用于跟踪的字段仍然被选中。
- 这些字段可用于跟踪。您最多可以选择 20 个字段:
- 名称
- 别名
- 公司名称
- 分部
- 部门
- 标题
- 地址
- 电话
- 扩展
- 时间
- 区域
- 语言
- 手机
- 开始日期
- 结束日
- 电子邮件
- 经理
- 联系人
- 启用
- 简档
- 角色
- 用户名
- 委派批准人
- 当您在“角色设置”页面上分配角色时,不会跟踪更改。在您直接编辑用户以更新其角色时,系统会跟踪角色更改。
- 不会跟踪具有自动编号、公式、富文本区域和长文本区域数据类型的自定义字段。
- 电子邮件字段仅在验证后可用于跟踪。
- 字段列支持精确匹配搜索。用户列支持前缀搜索,这将返回以输入的文本开头的结果。
- 启用用户字段历史跟踪后,请在用户的访问汇总页面上查看跟踪数据。
- 跟踪对象字段历史
在字段历史跟踪设置中,打开标准或自定义对象的字段历史跟踪。对字段所做的更改会添加到对象的“历史”相关列表中。您可以监控对业务关键字段的更改,或审核文本字段中可能需要额外安全性、隐私或访问控制的值。 - 示例
以下是字段历史工作流的一些示例。 - 字段审计跟踪
字段审计跟踪扩展了字段历史跟踪的功能,因此您可以无限期保留字段历史数据。使用字段审计跟踪来维护字段更改的全面历史记录(每个对象最多 200 个被跟踪字段),并确保数据完整性和符合行业标准。字段历史跟踪数据和字段审计跟踪数据不计入数据存储限制。 - 启用对简档历史对象的访问权限
要查看与对象相关的更改历史(例如,查看客户或个案的历史),请在对象的页面布局中包含历史列表字段,为对象启用字段历史跟踪,并在与用户关联的简档上定义对象级和字段级权限。 - 字段历史资源管理器
搜索特定记录,以通过字段审计跟踪的字段历史资源管理器功能查看该记录上所有被跟踪字段的历史更改。该信息提供了详细的审计跟踪,显示谁更改了什么以及何时更改,为您提供可视化历史更改的内置体验,并将简化审计工作流。
本文章是否解决您的问题?
请与我们共享您的想法,以便我们进行改进!

