dackdive's blog

新米webエンジニアによる技術ブログ。JavaScript(React), Salesforce, Python など

[Salesforce]「メールを送信」画面をポップアップウィンドウで開く方法

こちらのことです。
f:id:dackdive:20140425235526p:plain

取引先責任者や商談などのレコード詳細画面を開くと、
「活動履歴」に「メールを送信」ボタンがありますよね。

このメール画面、ポップアップで開くように設定できないかなと思ってたらありました。




英語ですが、こちらに書いてあります。
Feed Item Detail | Salesforce Trailblazer Community

さて、ここから実際にその設定方法です。
「メールを送信する」ボタンを押下した時にポップアップで開くようにする、というのは無理そうなので、
同じ画面をポップアップ画面で開くカスタムボタンを作成する方法ですね。

なお、今回は「取引先責任者」のレコードにボタンを追加する場合ですが、
他のオブジェクトに対してでも基本的な方法は変わりません。

1. カスタムボタン作成画面を開く

Salesforceにログインした後、ユーザ名の隣にある「設定」をクリック。
続いて、サイドメニューより

カスタマイズ > 活動 > Todoのボタン、リンク、およびアクション

を選択します。

続いて、「新規ボタンまたはリンク」をクリック。

2. Javascriptボタンを作成

f:id:dackdive:20140426015628p:plain

表示ラベル:メール送信(別ウィンドウ) とします。
名前:SendMail とか。
動作:Javascriptを実行
内容のソース:OnClick Javascript

そして、肝心のJavascriptを記述する欄には以下を入力します。

window.open("/_ui/core/email/author/EmailAuthor?p2_lkid={!Contact.Id}&rtype=003&retURL=%{!Contact.Id}","_blank","toolbar=yes, location=yes, directories=no, status=no, menubar=yes, scrollbars=yes, resizable=no, width=1000, height=600");

これでOK。
URLは通常の「メールを送信」ボタンをクリックした時に遷移するURLを参考にしています。

3. ページレイアウトに表示させる

最後に、先ほど作成したボタンが表示されるようにページレイアウトの設定をします。
まず、サイドメニューより

取引先責任者 > ページレイアウト

をクリック。
f:id:dackdive:20140426014317p:plain

現在使っているページレイアウトの編集画面を開いたら、
下の図に示すように「活動履歴」のカスタマイズアイコンをクリックします。
f:id:dackdive:20140426014332p:plain

私の場合、Macbook air 11インチなのでわかりづらいですが
下の方に「ボタン」という項目があるので...
f:id:dackdive:20140426014910p:plain

クリックし、先ほど作成した「メール送信(別ウィンドウ)」を選択します。
f:id:dackdive:20140426014359p:plain

これで完了!

4. 使ってみる

それでは、実際に使ってみましょう。
取引先責任者のレコードから先ほどのボタンをクリックすると...

f:id:dackdive:20140426015344p:plain

無事表示されました。
f:id:dackdive:20140426015354p:plain


レコードの情報を確認しながらメールの文面を記入する、といったことがしやすくなりましたね。
実は、URLに記載しているパラメータについては色々あるのですが、それはまた別の機会に書きます。