欲しいのになぜかない一括削除ボタン。
1つ1つポチポチと消したくないので実装してみました。
Classicの時と同じ手法が使えるか
一括削除を実行するためのカスタムボタンの作成:https://help.salesforce.com/apex/HTViewHelpDoc?id=sf.links_useful_custom_buttons_mass_delete.htm&language=ja
ClassicではJavaScriptカスタムボタンを作成して一括削除することができたみたいですが、残念ながらLightningには対応していませんでした。
念の為作成してリストビューに配置してみましたが、Classicでは表示されるもののLightningではボタン自体が表示されませんでした。
「Mass Delete」を利用する
Mass Delete:https://appexchange.salesforce.com/appxListingDetail?listingId=a0N300000016YuDEAU
同名の古いアプリもあるので注意してください。
インストールすると下記のOBJに削除ボタン(Mass Delete)が作成されます。
- リード
- 商談
- 契約
- 商品
- ソリューション
- 納入商品
- キャンペーン
- 取引先
- 取引先責任者
- ケース
あとはボタンを配置すれば使用可能です。
削除したいレコードを選択してMass Deleteボタンを押します。
VFの確認画面に遷移します。
削除ボタンを押すと選択したレコードが削除されました。
「Mass Delete」のカスタマイズ
とはいえこのままだと上記の標準OBJしか使えず、ボタンや確認画面の表記も英語のままなので修正します。
未管理パッケージをイジることになるので気をつけてください。
「Mass Delete」の中身
[インストール済みパッケージ]-[Lightning Mass Delete]-[コンポーネントを表示]から中身を確認できます。
これを基に追加・編集します。
Visualforceの作成&日本語化
中身をコピーして編集してください。
特にこだわりがなければstandardControllerや文言の修正だけでOKです。
ボタンの作成
中身のボタンを参考に作成してください。
カスタムOBJで動作確認
まとめ
一部VFの作成や編集が必要なものの、簡単な変更なのでコードを書いたことがない方でも一括削除を実装できそうですね。
今回の方法以外にVFからフローに値を渡して処理するなどもできるので、そっちで実装するのもありだと思います。