MENU
Abo
某SIer勤務。
ITエンジニアです。
日々の学びをつらつらと書いています。
保有資格:
Salesforce認定アドミニストレーター  
Salesforce認定Platformデベロッパー
Salesforce認定上級Platformデベロッパー
カテゴリー
アーカイブ

【Salesforce】活動アーカイブとは?仕組みとアーカイブ済みレコードの参照方法をわかりやすく解説!

Salesforceを使っていると、「過去のタスクやイベントが見つからない!?」と驚いたことはありませんか?

実はSalesforceには活動(タスク・イベント)のアーカイブ機能があり、一定の条件を満たすと自動的にアーカイブされる仕組みになっています。

今回は、そのアーカイブの条件や、アーカイブされたデータを参照する方法についてわかりやすく解説します。

目次

活動(ToDo・行動)のアーカイブ条件

Salesforceでは、一定の期間が経過すると行動やToDoが自動的にアーカイブされます。

では、その「一定の期間」とはどのくらいなのでしょうか?公式ヘルプの情報をもとに、アーカイブの条件をまとめました。

活動の種類アーカイブの条件
行動終了日から365日以上経過
ToDo(完了済み・期日あり)期日から365日以上経過
ToDo(完了済み・期日なし)作成日から365日以上経過
アーカイブ済み活動の操作

つまり、タスクやイベントは完了したり、期日を迎えた後、1年以上経過すると自動的にアーカイブされるということですね。

これは、古いデータを整理してパフォーマンスを最適化するための仕組みとも言えます。

・Salesforce では、一連の定期的な ToDo や行動はアーカイブされません。
・Salesforce はアーカイブされた活動を削除しませんが、手動で削除できます。
・Sandbox を作成または更新しても、アーカイブされた活動はコピーされません。

アーカイブされるとどうなるの?

「アーカイブされる」と言われると、「データが消えてしまうの?」と不安に思う方もいるかもしれません。

しかし、アーカイブされたデータは削除されるわけではなく、適切な方法を使えばちゃんと参照できます。ただし、通常の画面やクエリでは見えなくなるので注意が必要です。

  • 通常のUIでは表示されなくなる
    • 標準のリストビューやレポートでは取得できなくなります。
  • 通常のSOQLクエリでは取得できない
    • ALL ROWS を指定しないとApexや開発者コンソールでも検索できません。
  • データは削除されるわけではない
    • アーカイブされても物理的に削除されるわけではなく、適切な方法で取得可能です。

アーカイブ済みの活動の参照方法

では、アーカイブされたデータを参照したいときはどうすればいいのでしょうか?

ここでは2つの方法をみていきましょう。

1. SOQLでALL ROWSを使用する

Salesforceでは、アーカイブ済みのデータを取得するために、SOQLの ALL ROWS キーワードを使用します。

たとえば、アーカイブ済みのToDoを取得するには以下のように記述します。

List<Task> archivedTasks = [SELECT Id, Subject, IsArchived FROM Task WHERE IsArchived = TRUE ALL ROWS];

このクエリを実行することで、通常のクエリでは取得できないアーカイブ済みのデータを参照することができます。

開発者や管理者の方は、この方法を覚えておくと、いざというときに役立ちますね。

開発者コンソールのクエリエディタではALL ROWSは使用できないのでApex内で使用します。

ちなみに、ALL ROWS を使用することで削除済みのレコード(ごみ箱に入っているデータ)を取得することもできます。

2. データローダを使用する

アーカイブ済みレコードを取得する方法の2つ目のは、データローダで「Export All」をすることです。

「Export All」を使用することでアーカイブ済みの活動を取得することができます。

詳しいエクスポート方法はサクセスナビをご覧ください。

おまけ:アーカイブされるタイミングの検証

実際に、アーカイブのタイミングについて検証してみました!

検証内容

アーカイブされたタスクのステータス(状況)を完了から変更すると、どのような挙動になるのかを調べました。

検証結果

  • アーカイブされたタスクのステータスを完了から変更すると、アーカイブが解除された
  • その後、完了に戻しても、すぐにはアーカイブされなかった
  • しかし、数日後に再びアーカイブされていることを確認

考察

アーカイブの解除と再適用には、Salesforceのバッチ処理が関係している可能性が高いです。

リアルタイムで処理されるのではなく、定期的にバッチが実行され、条件を満たすデータが再びアーカイブされる仕組みのようです。

そのため、「アーカイブされたデータを復活させたつもりが、また消えてしまった!」という場合は、アーカイブ条件を再確認しつつ、時間を置いてチェックするのが良さそうですね。

まとめ

この記事では、Salesforceの活動(ToDo・行動)のアーカイブについて詳しく解説しました。

まとめ
  • 行動やToDoは一定期間が経過すると自動的にアーカイブされる
  • アーカイブされたデータは ALL ROWS を指定すれば取得可能
  • アーカイブされたデータは データローダの「Export All」で取得可能
  • アーカイブされたタスクのステータスを変更するとアーカイブが解除される
  • しかし、再び条件を満たせば数日後に再アーカイブされる

今回は以上です。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

某SIer勤務。
Salesforceエンジニアです。
日々の学びをつらつらと書いています。
Certified Administrator
Certified Platform DeveloperⅠ
Certified Platform DeveloperⅡ
Certified Sales Cloud Consultant

コメント

コメントする

CAPTCHA


目次