【Salesforce】項目履歴管理を利用する前に確認したい設定と条件

【Salesforce】項目履歴管理を利用する前に確認したい設定と条件
🛡️ 超解決

Salesforceを運用していると、特定の項目の変更履歴が残っていない、思ったように記録されないといった問題に直面することがあります。項目履歴管理は、データの追跡や監査のために重要な機能ですが、設定や利用条件を正しく理解していないと期待通りに動作しません。本記事では、項目履歴管理の基本設定と利用条件を整理し、困ったときに何を確認すればよいかを具体的に解説します。管理者権限がない方でも、切り分けのポイントを押さえることで適切な対応が可能になります。

【要点】この記事で確認すること

  • 最初に見る場所: 設定画面の「項目履歴管理」メニューで、対象の項目が有効になっているか。
  • 切り分けの軸: オブジェクトごとの有効化、項目のデータ型、ユーザの権限、API利用の有無。
  • 注意点: 項目履歴管理は一度有効にすると無効にできないオブジェクトがあるため、事前に計画を立てる。また、履録データの保存期間にも制限がある。

ADVERTISEMENT

項目履歴管理の基本機能と仕組み

項目履歴管理は、Salesforceオブジェクトの項目値が変更された際に、変更前後の値とタイムスタンプ、変更者を記録する機能です。標準オブジェクトとカスタムオブジェクトの両方で利用できますが、追跡できる項目の種類や数には制限があります。まずはこの機能の基本的な仕組みを押さえておきましょう。

標準項目履歴とカスタム項目履歴の違い

標準オブジェクトでは、あらかじめ項目履歴管理が有効になっているものと、手動で有効化するものがあります。例えば「取引先」や「商談」では標準で履歴が取れる項目が限定されています。一方、カスタムオブジェクトはデフォルトで項目履歴管理が無効になっており、管理者が明示的に有効化する必要があります。また、カスタム項目については、それぞれの項目に対して個別に履歴管理をオンにしなければなりません。

追跡可能な項目の制限

すべてのデータ型が履歴管理の対象となるわけではありません。標準のテキスト、数値、日付、選択リスト、チェックボックスなどは追跡可能ですが、複数選択リスト、ロングテキストエリア、リッチテキストエリア、暗号化テキストなどは基本的に追跡できません。また、参照項目のうち、主従関係や参照関係によって動作が異なる場合があります。この制限を理解しておかないと、履歴が記録されない原因を見誤る可能性があります。

項目履歴が記録されない原因の切り分け

項目履歴が期待通りに記録されない場合、原因は大きく分けて設定、権限、API利用の3つに分類できます。以下に具体的な確認手順を示します。

設定の確認(項目履歴管理の有効化)

まず、対象のオブジェクトで項目履歴管理が有効になっているかを確認します。設定画面から「オブジェクトマネージャ」→該当オブジェクト→「項目履歴管理」と進み、一覧に追跡したい項目が含まれているか確認してください。もし項目が一覧にない場合は、そのデータ型が追跡対象外である可能性があります。また、標準オブジェクトの場合、特定の項目のみしか履歴管理できないことがあるため、制限を確認する必要があります。

権限とアクセスレベルの確認

項目履歴の記録自体はシステムが行うため、ユーザの権限に依存しませんが、履歴データを参照する権限は別です。履歴関連オブジェクト(例:AccountHistory)への読み取り権限がプロファイルまたは権限セットで付与されているか確認してください。特に参照のみのプロファイルでは、履歴データが見えないことがあります。

API使用時の注意点

API経由でレコードを更新する場合、項目履歴管理は標準の画面からの更新と同様に動作しますが、更新方法によっては履歴が記録されないケースがあります。例えば、一括更新(Data Loaderなど)を使用した場合も履歴は残りますが、APIのバージョンや呼び出し方法によっては、一部の項目がスキップされる可能性があります。最新のAPIバージョンを使用し、対象の項目がAPIで更新可能かどうかを確認してください。

項目履歴管理の設定手順(管理者向け)

  1. Salesforceの設定画面にログインし、「オブジェクトマネージャ」を開きます。
  2. 履歴管理を設定したいオブジェクトを選択し、左側のメニューから「項目履歴管理」をクリックします。
  3. 「項目履歴管理を有効化」ボタンが表示される場合、クリックして有効にします。すでに有効になっている場合は、その下の「設定可能な項目」一覧が表示されます。
  4. 「設定可能な項目」の中から履歴を記録したい項目の隣にある「履歴を記録」チェックボックスをオンにします。注意:一度有効にした項目を無効にすることは可能ですが、削除はできません。
  5. 設定後、「保存」ボタンをクリックします。反映までに数分かかる場合があります。
  6. 必要に応じて、履歴データを参照するユーザに対して、該当オブジェクトの履歴オブジェクトへの読み取り権限をプロファイルまたは権限セットで付与します。

利用条件と制限事項

項目履歴管理には、以下に挙げるような制限があります。事前に把握しておくことで、設定時のトラブルを防げます。

項目 条件
追跡可能な項目数 標準オブジェクトは20個、カスタムオブジェクトは最大100個(エディションにより異なる)
データ型の制限 追跡不可:ロングテキストエリア、リッチテキストエリア、複数選択リスト、暗号化テキスト、数式項目、自動採番など
履歴の保存期間 標準の履歴オブジェクトは無制限だが、アーカイブやデータストレージの制限あり。詳細はSalesforceのドキュメント参照
親子関係の追跡 参照関係の項目は、親レコードの変更は子の履歴に記録されない(子側の項目値が変わった場合のみ記録)

トラブルシューティング:よくある失敗パターン

実際に発生しがちな失敗例とその対処法をいくつか紹介します。

  • パターン1:履歴が一切記録されない。 オブジェクト自体の項目履歴管理が有効になっていない可能性が高いです。管理者に確認を依頼してください。
  • パターン2:特定の項目だけ記録されない。 その項目のデータ型が追跡対象外であるか、項目履歴管理の設定で履歴記録がオフになっている可能性があります。
  • パターン3:API更新だけ履歴が残らない。 APIバージョンが古い、または一部の項目がAPIで更新されていないかもしれません。API呼び出しログを確認しましょう。
  • パターン4:参照先の項目が変わっても履歴に反映されない。 参照関係の項目は、あくまで参照元のレコードの項目値が変更された場合のみ履歴が残ります。親レコードの変更は子の履歴には記録されない仕様です。

管理者への確認事項と社内ポリシー

項目履歴管理の問題解決には、管理者と協力することが不可欠です。以下の情報を整理して管理者に伝えると、原因特定がスムーズになります。

  • 問題が発生しているオブジェクト名と項目名
  • 履歴が記録されない操作の種類(画面操作かAPIか)
  • 該当ユーザのプロファイル名
  • 問題が発生した日時と、再現手順

また、企業によっては項目履歴管理の有効化に社内ポリシーが関わることがあります。例えば、個人情報を含む項目は履歴管理を無効にする、一定期間経過後に履歴を削除するなどのルールが存在するかもしれません。そのようなポリシーが自社にあるかどうかを事前に確認しておきましょう。

よくある質問(FAQ)

  • Q: 項目履歴管理を有効にしたのに、過去の変更履歴は表示されません。なぜですか?
    A: 項目履歴管理は有効化した時点からの変更を記録します。過去の変更を遡って記録することはできません。
  • Q: 一度有効にした項目履歴管理を無効にできますか?
    A: オブジェクト単位での有効化は、一部のオブジェクトを除き無効にできません。項目単位での無効化は可能ですが、既存の履歴データは削除されず残ります。
  • Q: 複数選択リストの変更を追跡したい場合はどうすればよいですか?
    A: 複数選択リストは標準では履歴管理できません。代替手段として、変更をトリガーで別のテキスト項目に記録するなどのカスタマイズが必要です。
  • Q: 履歴データをエクスポートできますか?
    A: 履歴オブジェクトに対してレポートやSOQLクエリでアクセスできます。管理画面からCSVエクスポートも可能です。

まとめ

項目履歴管理が期待通りに動作しない場合、まずはオブジェクトと項目の設定が有効かどうかを確認しましょう。データ型の制限や権限設定も重要なポイントです。API連携時にはバージョンや更新方法にも注意が必要です。本記事で紹介した切り分けの手順を参考に、問題の原因を特定し、適切な対応を取ってください。もし管理者権限が必要な設定は、速やかに管理者へ連絡しましょう。


この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。