意外と知らないかも?数式項目の復元について

はじめに

こんにちは!株式会社オプトプランニングです。
Salesforce(Salesforce.com/セールスフォース・ドットコム、略してSFDC)で気づいたことを書いていきます。

今回は、たまたまデータ型が数式のカスタム項目を削除した後に復元しなければいけないことがあり、初めて遭遇した画面だったので書いてみます。

実は、以前書いた削除後のデータについての気づきで数式項目を復元したことはあります。
その時は、「復元できるかどうか」しか着目していなかったため、今回の内容に気づけませんでした…

数式項目を復元したらどうなる…?

数式項目を削除した後に復元し、オブジェクトマネージャから対象の項目の詳細情報を確認してみると、数式オプション部分に以下のような文面が表示されます。

この数式は、項目が削除されたときに無効になりました。もう一度有効にするには、編集して保存してください。

図1 復元後の数式項目詳細画面
図1 復元後の数式項目詳細画面

復元後にひと手間

復元した数式項目を有効にするには、数式オプションに書かれているように「編集して保存」するひと手間が必要になります。

やり方はいたって簡単。

文面通り「編集」ボタンを押して「保存」するだけです。

編集画面を開いても特にエラーは出ず、何かする必要もありませんので「保存」をクリックします。
(もちろん、何か編集しても構いません)

図2 復元後の数式項目編集画面
図2 復元後の数式項目編集画面

保存後は項目詳細画面に戻ります。
数式オプションを見てみると先ほどの文面が消えているのが確認できます。

これで有効化の完了です!!

図3 復元後、有効化された数式項目詳細画面
図3 復元後、有効化された数式項目詳細画面

項目削除についての補足

削除時の表示について

項目を削除する時の表示内容について、削除後のデータについての気づきではどんな画面が表示されるか載せただけだったので、内容について見ておきたいと思います。

この表示は数式項目だけでなく、どのデータ型のカスタム項目を削除しても表示される内容です。

まずは、削除する際の内容です。

図4 項目削除時のポップアップ
図4 項目削除時のポップアップ

項目を削除しようとすると、このようなポップアップが出ます。

連動項目や制御項目、割り当てルールやエスカレーションルールに削除予定の項目が使用されていないか把握しておく必要があることが分かります。

復元時の表示について

次に、項目の復元時に表示される内容です。
削除時と同様、どのデータ型のカスタム項目を復元しても表示されます。

図5 項目復元時に表示される画面
図5 項目復元時に表示される画面

実は、ここに数式について言及があります!!
また、手動で変更を戻す必要があることも記載があります。

他にも、

  • ページレイアウトからは削除されたまま
  • API参照名は「×××_del」に変更される
  • すべてのレポート・レポートタイプから削除されたまま
  • AppExchangeパッケージに直接含まれている場合、削除されたまま

などがありますので、注意が必要です。

ページレイアウトに関しては復元後すぐに気づいて対応しそうですが、レポートに関しては作成しているものがない場合、削除されたままになっていることに気づかず、修正しないまま後から困りそうな部分です。

また、すでにレポートを作成している場合で、削除予定の項目をレポートで使用していてもエラーが出ることなく削除できてしまう点は注意が必要です。
しかも、列や行での使用だけでなく絞り込み条件として項目を使用している場合でもエラーが出ることなく削除できてしまいます。

対処法としては、削除前に項目の使用場所を確認しておくぐらいしかないと思います。

API参照名について

項目の復元時に表示される内容のうち、

  • API参照名が ×××_del に変更されました。

という部分について、少し言及したいと思います。

API参照名(項目名)は、削除した時に「×××_del」に自動で変更されます。
このことは、項目を削除した後に「削除済み項目」の一覧を見ると分かります。

図6 削除前のAPI参照名
図6 削除前のAPI参照名
図7 削除後のAPI参照名
図7 削除後のAPI参照名

復元したときにAPI参照名が変わるというよりは、削除したときに変更されたAPI参照名「×××_del」のまま復元される、といった方が正しいような気がしますが、復元前後でAPI参照名が変わってしまうことに注意してください。

もちろん、項目を削除してから復元するまでの間に同じAPI参照名の項目を作成していない場合は、復元後に編集する(「_del」部分を消す)ことで、削除前と同じAPI参照名に戻すことができます。

あとがき

フローやApexなどで使用している項目は、削除しようとしてもエラーが出て削除ができませんが、レポートの場合、エラーが出ることなく削除できてしまいます。

そのため、削除項目を復元後にレポートやダッシュボードの動作がおかしい場合は復元した項目を該当レポートで使用していないかの確認を行った方がいいと思います。

また、復元した項目をレポートで使用したいのに見つからない場合は、レポートタイプ設定から項目を再設定する必要があることにも注意が必要です。

やはり、復元が簡単にできるからといっても万能なわけではないので(削除時点でAPI参照名は変わってしまうし)安易に削除・復元しないことが一番よさそうだな、というのが個人的な感想です。

それでは、またお会いしましょう!!

関連記事
削除後のデータについての気づき

削除後のデータについての気づき

気づき

はじめに

こんにちは!株式会社オプトプランニングです。
Salesforceでいろいろやってみた中での「ちょっとした気づき」を書いていこうと思います。

Salesforceの削除は、基本的に物理削除ではなく論理削除です。
このことについては多くの先輩方が詳しく説明して下さっているので私からの説明は割愛させていただきます。
論理削除ということで、レコード・カスタム項目・カスタムオブジェクトについて削除した後のデータについて気づいたことを書いていこうと思います。

また、普段Lightning Experienceを利用している場合の内容です。

レコードの削除後

削除後のレコードの行方は?

レコードの削除後、削除したレコードはどこにいくか知っていますか??
削除したレコードは一定期間「ごみ箱」にいます。

間違って削除した!!という時は「ごみ箱」を見てみましょう。

ごみ箱の場所は?

ごみ箱はアプリケーションランチャー内にあります。

左上にあるカラフルな9つの「・」をクリックすると表示されるポップアップの一番下にある「すべて表示」をクリックします。

図1 9つの「・」をクリック後に出現するポップアップ
図1 9つの「・」をクリック後に出現するポップアップ

アプリケーションランチャーが開くので、「すべての項目」を見てみましょう。
「ごみ箱」を見つけることができました。

図2 アプリケーションランチャー内にあるごみ箱
図2 アプリケーションランチャー内にあるごみ箱

削除したレコードはすべてこの「ごみ箱」の中に一定期間保管されています。
間違って削除したレコードはここから復元することができますし、完全に削除することもできます。

図3 ごみ箱の一覧
図3 ごみ箱の一覧

カスタム項目の削除後

削除後のカスタム項目の行方は?

カスタム項目の削除後、削除したカスタム項目はどこに行くか知っていますか??
削除したカスタム項目は一定期間「削除済みの項目」にいます。

間違って削除した!!という時は「削除済みの項目」を見てみましょう。

削除済みの項目の場所は?

削除済みの項目は各オブジェクトの「項目とリレーション」の右上にあります。

削除したカスタム項目は、カスタム項目を作成したオブジェクト詳細の「削除済みの項目」からでしか見ることができないことに注意してください。
レコードとは違い、削除後一か所に集約されているわけではありません。

図4 項目とリレーション右上にある「削除済みの項目」
図4 項目とリレーション右上にある「削除済みの項目」

間違って削除したカスタム項目はここから復元することができますし、完全に削除することもできます。

図5 削除済みの項目の一覧
図5 削除済みの項目の一覧

カスタムオブジェクトの削除後

削除後のカスタムオブジェクトの行方は?

カスタムオブジェクトの削除後、削除したカスタムオブジェクトはどこに行くか知っていますか??
削除したカスタムオブジェクトは一定期間「削除済みオブジェクトリスト」にいます。

間違って削除した!!という時は「削除済みオブジェクトリスト」を見てみましょう。

削除済みオブジェクトリストの場所は?

この「削除済みオブジェクトリスト」ですが、レコードやカスタム項目と違いLightning Experienceでは表示することができません。

ではどうすれば表示できるかというと…

Salesforce Classicだと表示できます!!!

長い道のり

まず、Salesforce Classicに切り替えましょう。

切り替えはプロファイルを参照すると表示される「オプション」内にある「Salesforce Classicに切り替え」をクリックするとできます。

図6 プロファイルからSalesforce Classicに切り替え
図6 プロファイルからSalesforce Classicに切り替え

Salesforce Classicに切り替えるとホーム画面が表示されます。

画面上部にある「設定」をクリックすると、

図7 Salesforce Classicホーム画面
図7 Salesforce Classicホーム画面

次のような設定画面に変わります。

この画面を下にスクロールしていくと左の赤枠部分に「ビルド」が出てくるので、その中の「作成」内に「オブジェクト」があるのでクリックします。

図8 Salesforce Classic設定画面
図8 Salesforce Classic設定画面
図9 「作成」内の「オブジェクト」
図9 「作成」内の「オブジェクト」

カスタムオブジェクトの一覧が表示され、最下部に「削除済みオブジェクト」というのが確認できます。
この「削除済みオブジェクト」ですが、削除したカスタムオブジェクトがない場合、表示されません。

図10 カスタムオブジェクトリスト
図10 カスタムオブジェクトリスト

こちらが探していた「削除済みオブジェクトリスト」です。
やっと見つかりました…!

削除したカスタムオブジェクトはすべてこの「削除済みオブジェクトリスト」の中に一定期間保管されています。
間違って削除したカスタムオブジェクトはここから復元することができますし、完全に削除することもできます。

図11 削除済みオブジェクトリスト
図11 削除済みオブジェクトリスト

おまけ

15日間以上削除されない…?

カスタム項目やカスタムオブジェクトを削除する前、注意事項がかかれたポップアップが出現すると思います。
以下はカスタム項目を削除する前に表示されるものです。

図12 カスタム項目削除時の注意事項
図12 カスタム項目削除時の注意事項

15日を過ぎると、自動的に項目とそのすべてのデータが完全に削除されます。

とありますが…
15日経過後も残っていました~

2021年12月1日に削除した項目が、2022年2月7日の時点で残っていることが確認できます。
約二か月経過していますね!

図13 削除後15日以降も残っていた削除済み項目
図13 削除後15日以降も残っていた削除済み項目

「15日を過ぎると」とありますが、「15日後」ではないのです。
もちろん、15日経過後はいつまでデータが残っているかはわかりませんので、あくまで「こんな事例もあったよ」という参考までに。

もし、15日以上経過後に削除したものを復元したい場合は念のため削除後の各データ保存場所を確認してみたほうがいいかもしれません。

また、15日以上経過していても完全削除されているとは限らない、という点は留意しておいたほうがいいと思います。

念のため復元できるか試したところ、復元できました!!

図14 削除済み項目復元
図14 削除済み項目復元

あとがき

今回きっかけとなったのは、削除したものの復元のためではなく、削除したものの完全削除のためでした。

データが残っている状態だと作業が進まず、完全削除を行おうにも「削除済みオブジェクトリスト」がみつからなかったのです。
私がSalesforceに携わった時には既にLightning Experienceが存在したので、Classicはあまりなじみがないのも原因ですぐに見つけることができませんでした。

プロファイルの設定を行っても一部権限が付与されている場合はSalesforce Classicに切り替えるスイッチャを非表示にできません。
今まで何故だろう?と思っていましたが、まだLightning Experienceで使用できない機能があるからなのだと身をもって体験でき、いい勉強になりました。

カスタムオブジェクトやカスタム項目の作成は近いうちに「やってみた」で書いていこうと思います。

それではまた会いましょう!!