Listビューで選択したレコードIDを渡す方法だよ!
classic環境のListビューからIDを取得するやり方を、Listビューボタンのon JavaScriptで作成してみてね!!
JavaScript.btn
{!REQUIRESCRIPT("/soap/ajax/59.0/connection.js")}
{!REQUIRESCRIPT("/soap/ajax/59.0/apex.js")}
var objApiName = "Account";
var records = {!GETRECORDIDS($ObjectType.Account)};
if (!records || records.length === 0) {
alert("レコードが選択されていません。");
} else {
alert(
"■ 選択されたレコードID: " + records.join(", ") + "\n" +
"■ オブジェクトAPI名: " + objApiName
);
}
解説
{!GETRECORDIDS(...)} を実行している時点で、Salesforceは自動的に「現在チェックボックスに選択されたレコードID」を JavaScript配列として注入してくれるよ!ちなみに・・・
var objApiName = "Account";
var records = {!GETRECORDIDS($ObctType.Account)};
ここだけ、Object API名をハードコードしてね!
どうやら取得する方法はないみたいで、静的にするしかないみたい・・・残念!
こうしたらAccout=001のようなキー・プレフィックス(先頭3桁)は取得できるけどね~!
var objApiName = window.location.pathname.split('/')[1]
レコードID取得できれば、色々できるね!
Lightningでの実装は、JavaScriptボタン作成出来ないから工夫が必要だよ!
その場合、一つ工夫が必要なんだ!
反響次第で需要があれば公開するよ!その方法はまた後日ね!!