概要
Salesforceでオブジェクトのメタデータをデプロイした際に、追加したカスタム項目の項目セキュリティがデフォルトでオフになっている。
例えばテスト用に大量のカスタム項目をデプロイした際に、それらの項目をすべてオンにするとなると・・・途方に暮れることがあります。(500項目とか・・・)
そんな時にちょっとした小技で一気にそれらをオンまたオフにすることができます。
*注意・・・当方法はWinter'17時点で有効なもので、今後のアップデートで変更される可能性もありますので、あらかじめご了承ください
方法
お使いのブラウザの開発者コンソールで以下のコマンドを入力する
Classicの場合
初期ユーザインターフェイスの場合
// readonlyCol・・・参照アクセス権
// displayedCol・・・編集アクセス権
var targetClass = "readonlyCol";
// オフにしたい場合は、false
// オンにしたい場合は、true
var isChecked = false;
Array.prototype.forEach.call(document.querySelectorAll("."+targetClass+ " input"), function(node) {
node.checked = isChecked;
});
拡張プロファイルユーザインターフェースの場合
// fls_read_ck・・・参照アクセス権
// fls_edit_ck・・・編集アクセス権
var targetId = "fls_read_ck";
// オフにしたい場合は、false
// オンにしたい場合は、true
var isChecked = true;
Array.prototype.forEach.call(document.querySelectorAll("input[id*=" + targetId + "]"), function(node) {
node.checked = isChecked;
});
Lightning Experience(LEX)の場合
LEXの場合は、下記のコマンド以外に一度ブラウザのセレクター選択機能で要素を選択する必要があります。(原因は読み込み?)
// fls_read_ck・・・参照アクセス権
// fls_edit_ck・・・編集アクセス権
var targetId = "fls_read_ck";
// オフにしたい場合は、false
// オンにしたい場合は、true
var isChecked = true;
Array.prototype.forEach.call(document.querySelectorAll("input[id*=" + targetId + "]"), function(node) {
node.checked = isChecked;
});