Salesforceボタン

SalesforceのClassicでは、ボタンにJavascriptを利用することができますね。

JavascriptをSalesforceボタンで実行するメリットとしてはApex開発が不要になります。

テストクラスソースも不要になるので、本番移行が簡単になりますね。

 

今回は、カレントユーザからプロファイル名を取得し、プロファイル名を判断して

実行する処理内容を分岐させる方法を考えてみました。

プロファイル名を判断して処理を分岐することにより、ボタンを複数用意しなくてすむので、

画面レイアウトも共通で利用することが可能になります。

プロファイルごとに処理を分岐するSalesforceボタンのサンプル

{!REQUIRESCRIPT("/soap/ajax/30.0/connection.js")}
var profile_name = " {!User.Profile}"
window.alert( 'ユーザプロファイル: ' + profile_name );

//対象プロファイル判定後に処理を実行
if (window.confirm ('初期 確認メッセージ')){
//Profile Check
var reg = new RegExp( /システム管理者/ );
var regresult = reg.test(profile_name ) ;

//対象プロファイルの場合に実行
if ( regresult ) {
if ( window.confirm( '実行してよろしいですか?: ' + profile_name + ':[' + regresult + ']' ) ) {
//処理実行
window.alert( '実行しました。' );

}else{
//処理中断
window.alert( '中断しました。' );
}
}else {
window.alert( '実行できません。終了します。:[' + profile_name +']' );
}
}

注意が必要な点

セキュリティの観点から、今後はSalesforceではJavascriptに利用制限がかかる可能性があります。

 

Leave a Reply:

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA