ビュー固有のカスタムアクションを追加する方法を説明します。カスタムアクションでは複数の選択したレコードをパラメーターとしてURLに渡して開くことができます。URLとして指定できるVisualforceページ、フローおよび外部サイトとの連携を行うことができます。
カスタムアクションは「高度なデザイン」画面の「アクション」タブから追加することができ、「+アクション」をクリックすることでカスタムアクションを追加できます。「+アクション」をクリックして表示された「アクションの追加」画面で設定を行います。
「アクションの追加」画面 > 「一般設定」タブ:
設定項目 | 詳細 |
---|---|
ラベル | カスタムアクションの表示名です。 |
URL | 開くURLです。絶対パスおよび相対パスのどちらも指定可能です。 |
URLリクエストメソッド | URLにアクセスする際のHTTPメソッドです。「GET」と「POST」を指定できます。 |
配列値のシリアライズ方法 | 複数レコードが選択されている場合のパラメーターの渡し方です。「カンマ区切り」と「パラメーターを多重化」、「配列インデックスを付与」を指定できます。 |
カンマ区切り - 値をカンマ区切りで連結してパラメーターを渡します。例えば、パラメーター名が「id」で、値が「111」「222」「333」の場合は「id=111,222,333」となります。
パラメーターを多重化 - 同じパラメーター名で複数のパラメーターを渡します。例えば、パラメーター名が「id」で、値が「111」「222」「333」の場合は「id=111&id=222&id=333」となります。
配列インデックスを付与 - パラメーター名に配列のインデックスをつけてパラメーターを渡します。例えば、パラメーター名が「id」で、値が「111」「222」「333」の場合は「id[0]=111&id[1]=222&id[2]=333」となります。
「アクションの追加」画面 > 「パラメーター」タブ:
カスタムアクションのパラメーターにはRaySheetの列の値とRaySheetを埋め込んだレコードページのIDをパラメーターとして使用することが出来ます。
①列の値をパラメーターに設定:
設定項目 | 詳細 |
---|---|
パラメーター名 | URLに渡すパラメーターの名前です。 |
パラメーター値 | URLに渡すパラメーターの値です。値として設定するレコードの項目を指定します。必要に応じてURLエンコードやExcel関数を使用できます。「fx」をクリックするとExcel数式などを指定する画面が開きます。 |
パラメーターは複数設定できます。「+パラメーター」と「×」で追加と削除ができます。
パラメーター値に設定する項目はRaySheetのビューに列として追加が必要です。
②レコードページのIDをパラメーターに設定:
設定項目 | 詳細 |
---|---|
レコードページのIdをパラメーターに含める | チェックを付けるとレコードページのIDを使用できます。このカスタムアクションのビューがレコードページに埋め込まれていない場合はNULLになります。 |
パラメーター名 | URLに渡すレコードページのIDのパラメーターの名前です。 |
URLには絶対パスおよび相対パスのどちらも指定できます。ただし、Visualforceページ及びフローの相対パス指定時には注意が必要です。名前空間のある場合とない場合、VisualforceページとフローのどちらかによりURLの指定方法が異なります。
種類 | フロー、Visualforceページの名前例 | 名前空間例 | 相対パスの指定例 |
---|---|---|---|
Visualforcreページ | vf1 | ns1 | apex/ns1__vf1 |
Visualforcreページ | vf1 | なし | apex/c__vf1 |
フロー | flow1 | ns1 | flow/ns1/flow1 |
フロー | flow1 | なし | flow/flow1 |
カスタムアクションは「ツールバー」の「アクション」または行の「コンテキストメニュー」から実行できます。
「ツールバー」 > 「アクション」:
行の「コンテキストニュー」:
Visualforceページの実行例として、取引先レコードから取引先名をVisualforce画面に表示します。
Visualforceページの実行例:
次のように設定します。
Visualforceを作成する。Visualforceページの表示名と名前を「WelcomeToRaySheet」とし、以下のコードを記述する。
<apex:page standardController="Account">
Welcome to RaySheet world, {!$CurrentPage.parameters.name}!
</apex:page>
取引先のビューを開き、「高度なデザイン」画面の「アクション」タブを表示する。
「+アクション」をクリックして「アクションの追加」画面を表示する。
「一般設定」タブに以下の画面のように入力する。
設定項目 | 設定値 |
---|---|
ラベル | 取引先の表示 |
URL | apex/c__WelcomeToRaySheet |
URLリクエストメソッド | GET |
配列値のシリアライズ方法 | カンマ区切り |
「パラメーター」タブに以下の画面のように入力する。
設定項目 | 設定値 |
---|---|
パラメーター名 | name |
パラメーター値 | ENCODEURL([取引先名]) |
「アクションの追加」画面の「OK」をクリックし設定を保存する。
実行結果を確認する。取引先レコードを選択し「取引先名の表示」をクリックすることで、選択した取引先レコードの取引先名がVisualforce画面に表示されます。
フローの実行例として、選択した商談レコードの完了予定日を翌月末に更新します。
「一般設定」タブに以下の画面のように入力する。
設定項目 | 設定値 |
---|---|
ラベル | 完了予定日の設定 |
URL | flow/SetCloseDate_flow |
URLリクエストメソッド | GET |
配列値のシリアライズ方法 | パラメーターを多重化 |
「パラメーター」タブに以下の画面のように入力する。
設定項目 | 設定値 |
---|---|
パラメーター名 | OpportunityIDs |
パラメーター値 | [商談 ID] |
「アクションの追加」画面の「OK」をクリックし設定を保存する。
実行結果を確認する。商談レコードを選択し「完了予定日の設定」をクリックすることで、選択した商談レコードの完了予定日が翌月末に更新されます。
外部サイトの実行例として、選択した取引先レコードの取引先名で検索します。
「一般設定」タブに以下の画面のように入力する。
設定項目 | 設定値 |
---|---|
ラベル | WEBサイトの検索 |
URL | https://www.google.com/search? |
URLリクエストメソッド | GET |
配列値のシリアライズ方法 | カンマ区切り |
「パラメーター」タブに以下の画面のように入力する。
設定項目 | 設定値 |
---|---|
パラメーター名 | q |
パラメーター値 | ENCODEURL([取引先名]) |
「アクションの追加」画面の「OK」をクリックし設定を保存する。
実行結果を確認する。取引先レコードを選択し「WEBサイトの検索」をクリックすることで、選択した取引先レコードの取引先名で検索が行われます。
RaySheetのカスタムアクションはSalesforceのフローと連携することができます。「フローの実行例」で使用したサンプルフローの作成手順は以下の通りです。
このフローは商談IDのコレクションを入力として、コレクション内の商談IDと一致する商談レコードの完了予定日を翌月末に更新するフローです。
フローで使用する新規リソースを3つ作成する。
商談IDのコレクション:
設定項目 | 設定値 |
---|---|
リソース種別 | 変数 |
API 参照名 | OpportunityIDs |
データ型 | テキスト |
複数の値を許可(コレクション) | ON |
入力で使用可能 | ON |
商談ID:
設定項目 | 設定値 |
---|---|
リソース種別 | 変数 |
API 参照名 | OpportunityID |
データ型 | テキスト |
複数の値を許可(コレクション) | OFF |
入力で使用可能 | OFF |
完了予定日:
設定項目 | 設定値 |
---|---|
リソース種別 | 数式 |
API 参照名 | CloseDate |
データ型 | 日付 |
数式 | IF( MONTH( TODAY() ) <= 10, DATE( YEAR( TODAY() ), MONTH( TODAY() ) + 2,1) -1, DATE( YEAR( TODAY() ) +1,MONTH( TODAY() )-10, 1) -1) |
「ループ」をドラッグアンドドロップして以下のように設定する。
設定項目 | 設定値 |
---|---|
表示ラベル | opp_loop |
API 参照名 | opp_loop |
コレクション変数 | {!OpportunityIDs} |
方向 | 最初の項目から最後の項目へ |
ループ変数 | {!OpportunityID} |
「レコードを更新」をドラッグアンドドロップして以下のように設定する。
設定項目 | 設定値 |
---|---|
表示ラベル | SetCloseDate |
API 参照名 | SetCloseDate |
更新するレコードを検索してその値を設定する方法 | レコードを識別する条件を指定し、項目を個別に設定 |
オブジェクト | 商談 |
条件の要件 | 条件を満たしている |
項目(絞り込み) | Id |
演算子(絞り込み) | 次の文字列と一致する |
値(絞り込み) | {!OpportunityID} |
項目(項目値) | CloseDate |
値(項目値) | {!CloseDate} |
「開始」と「ループ」をつなぐ。
「ループ」と「レコードを更新」つなぐ。「ループコネクタ」は「コレクション内の項目ごと」を選択する。
「レコードを更新」と「ループ」をつなぐ
保存をクリックして以下のように設定する。
設定項目 | 設定値 |
---|---|
フローの表示ラベル | SetCloseDate_flow |
フローのAPI 参照名 | SetCloseDate_flow |
種別 | 自動起動フロー |