ここでは、「どこでもView」の利用例の1つとしてSalesforce標準画面で「関連リスト」の代わりにRaySheetのビューを表示する方法を説明します。関連リストとは、次の図のように取引先レコードにおける「取引先責任者」などを表示する一覧です。「関連リスト」ではレコードの更新などはできませんが、RaySheetと置き換えることでExcelライクな選択操作、コピー&ペースト、レコードの保存操作などが可能になります。
RaySheetのビューを置き換えた結果は、Salesforce ClassicとLightning Experienceの両方で使用できます。
関連リストを置き換えるにはページレイアウトを編集します。ページレイアウトでRaySheetのビューを置き換える手順は次のようになります。
取引先ページに取引先責任者の一覧をRaySheetのビューを表示する方法を例として以下に説明します。
「商談」などの他の標準オブジェクトやユーザー固有のカスタムオブジェクトなどもすべて同じ手順で「関連リスト」の代わりにRaySheetのビューを表示することができます。
Lightning Experienceの場合は、Lightningアプリケーションビルダーを使用してより柔軟に組み込むことができます。
ユーザーが取引先ページを開いたときに、関連する取引先責任者の一覧をRaySheetで表示するためのビューを作成します。
RaySheetのビューを表示するためのVisualforceページを作成します。
<apex:page standardController="Account" showHeader="true" sidebar="false">
<div style="position: absolute; left:0; top:0; right: 0; bottom: 0">
<gcss:Spreadsheet
ShowTitleBar="false"
Object="contact"
ViewId="ここにビューIDを記入する"
ParentId="{!account.id}"
ParentField="AccountId"/>
</div>
</apex:page>
「RaySheetContactList」Visualforceページを作成できたら、「プレビュー」をクリックしてRaySheetのビューがブラウザーの新しいタブに表示されることを確認します。
このVisualforceページはオブジェクトモードが前提です。フォルダーモードの場合は、gcss:Spreadsheetコンポーネントの属性”Object”の部分を”FolderId”に変更してください。”FolderId”属性に指定する18桁のIDの値の取得方法についてフォルダーのプロパティを参照してください。
Visualforceページに表示するgcss:Spreadsheet
タグの属性を変更することで、RaySheetのどの機能をユーザーに許可するか指定できます。詳細は「どこでもViewの基本」を参照してください。
前項で作成したVisualforceページは、既定ではシステム管理者のプロファイルを割り当てられたユーザーだけが表示できます。システム管理者以外のプロファイルにも許可するには、Visualforceページのセキュリティを設定します。
RaySheetを表示するには、少なくとも300ピクセルの高さが必要です。推奨される高さは500ピクセル以上です。
任意の取引先レコードを開き、「取引先責任者(RaySheet)」セクションを確認します。Excelと同様のセル選択やツールバーやキーボードを使った編集操作が可能なことを確認します。
「2.visualforceページを作成する」のVisualforceページを流用する場合の修正箇所を説明します。例として以下のようなカスタムオブジェクトへの流用を想定します。
修正を加える箇所は以下の5つの箇所です。
修正例
<apex:page standardController="ObjA__c" showHeader="true" sidebar="false">
<div style="position: absolute; left:0; top:0; right: 0; bottom: 0">
<gcss:Spreadsheet
ShowTitleBar="false"
Object="ObjB__c"
ViewId="ここにビューIDを記入する"
ParentId="{!ObjA__c.id}"
ParentField="ObjAField__c"/>
</div>
</apex:page>