「項目履歴管理」周りの仕様まとめ

By | December 3, 2020

前提

今回の記事内容は専ら標準機能の「項目履歴管理(Field History Tracking)」に関するものです。

有償のSalesforce Shieldの一機能としての「項目監査履歴(Field Audit Trail)」に関するものではありません。

「項目履歴管理」を有効化するとどうなるか

・1オブジェクトあたり最大20項目まで変更履歴を追跡できる

・記録されるのは下記の情報

  • 対象のレコードID
  • 変更前の値
  • 変更後の値
  • 変更したユーザ
  • 変更された日時

・データが保存される期間は18カ月(※厳密には18カ月でアーカイブされ、24ヶ月で物理削除)

・255文字以上の項目(つまり事実上「リッチテキストエリア」や「ロングテキストエリア」)は当機能(=変更履歴追跡)の対象外

「項目履歴管理」の設定方法

1.右上の歯車ボタン>設定>オブジェクトマネージャ>有効化対象のオブジェクト>詳細から「項目履歴管理」にチェックを入れ「保存」をクリック

2.「項目とリレーション」から「項目履歴管理の設定」をクリック

3. 追跡したい項目にチェックを入れ「保存をクリック」

4.ページレイアウトから関連リストに項目履歴管理を追加(※任意)

以上で、項目履歴管理の設定は完了です。

レコードページの関連リストから以下のように変更履歴を確認することが可能です。もちろん、SOQLでデータを取得することもできます。

「項目履歴管理」の仕様詳細

・各オブジェクトで項目履歴管理を有効化すると、項目履歴オブジェクトが生成される。

  • 「リード(Lead)」のような標準オブジェクトの場合は、「リード履歴(LeadHistory)」という名前の項目履歴オブジェクトが生成される
  • 「カスタムオブジェクト(CustomObject__c)」のようなカスタムオブジェクトの場合は、「カスタムオブジェクト履歴(CustomObject__History)」という名前の項目履歴オブジェクトが生成される

・標準オブジェクトの項目履歴データ(=項目履歴のレコード)はレポートやデータローダで出力可能

・カスタムオブジェクトの項目履歴データ(=項目履歴のレコード)はデータローダで出力不可(=レポートでの出力およびSOQLでのクエリは可能)

  • カスタムオブジェクトの項目変更履歴データのレポート出力はオブジェクトの設定で「レポートを許可(Allow Reports)」にチェックを入れている場合のみ可
  • カスタムオブジェクトの項目変更履歴データのレポート出力は、当該カスタムオブジェクトが主従関係における従になっている場合は不可