カスタムボタンから表示する方法

ここでは、Salesforceのページ上のカスタムボタンをクリックしたときにRaySheetのビューを表示する方法を説明します。カスタムボタンとは、次の図のように関連リストに配置するボタンです。たとえば、既存の関連リストに「このリストをRaySheetで開く」といったボタンを追加できます。

カスタムボタンでは、「新規ボタンまたはリンク」で「JavaScript実行」の動作が必要なためSalesforce Classicでのみ使用できます。Lightning Experienceでは使用できません。

参考:

関連リストのカスタムボタンからRaySheetのビューを呼び出す手順は次のようになります。

  1. RaySheetのビューを作成する
  2. Visualforceページを作成する
  3. Visualforceページのセキュリティを設定する
  4. カスタムボタンを作成する
  5. ページレイアウトに配置する
  6. 結果を確認する

詳細は本ページの各項目を参照してください。

1. RaySheetのビューを作成する

ユーザがカスタムボタンをクリックしたときに表示する、RaySheetのビューを作成します。ここでは「取引先」レコードを開いた時の「取引先責任者」関連リストに「RaySheetで開く」ボタンを追加することを例にします。

  1. RaySheetを開く。
  2. 左の「お気に入り」から「取引先責任者」をクリックする。「お気に入り」が表示されていない場合、左上の三本線のアイコンをクリックする。
  3. 右の「ビューの管理」をクリックする。
  4. 「ビューを追加」をクリックする。
  5. 「名前」に「カスタムボタン用のビュー」と入力し、「OK」をクリックする。
  6. 「ビューの管理」に「カスタムボタン用のビュー」が追加されることを確認する。
  7. このビューに「姓」「名」「役職」「メール」「電話」の列を追加する。参考:表示する項目を選択する[ユーザガイド]
  8. 「カスタムボタン用のビュー」の右にある下向きの三角形をクリックする。
  9. 表示されたメニューから「共有状態の変更」をクリックする。
  10. 「共有状態の編集」画面で「全員に共有」をクリックし、あわせて「ドロップダウンリストから非表示」のチェックをオンにする。

    共有するビューを非表示にすると、どこでもViewだけで使いたいビューがすべてのユーザの一覧に表示されるのを防ぐことができます。

  11. 画面右上の「ビュー情報」をクリックする。
  12. 18桁の「ビューID」をメモする。

2. Visualforceページを作成する

RaySheetのビューを表示するためのVisualforceページを作成します。

  1. Salesforce Classicの場合、「設定 > 開発 > Visualforceページ」をクリックする。Lightning Experienceの場合、歯車アイコンをクリックした後「設定 > カスタムコード > Visualforceページ」をクリックする。
  2. 「新規」ボタンをクリックする。
  3. 「表示ラベル」と「名前」に「SampleRaySheetPage」と記入する。
  4. 「説明」に「RaySheetのカスタムボタンの使用例。」または任意の説明を記入する。
  5. 「Visualforce Markup」に次の内容を入力する。
    <apex:page showHeader="true" sidebar="false">
      <div style="position: absolute; left:0; top:0; right: 0; bottom: 0">
        <gcss:Spreadsheet showTitleBar="false" showToolbar="true" allowEdit="true" allowAdd="true" allowDelete="true" allowPaste="true" allowRefresh="true"
           object="{!$CurrentPage.parameters.object}"
           viewid="{!$CurrentPage.parameters.viewid}"
           parentId="{!$CurrentPage.parameters.parentId}"
           parentField="{!$CurrentPage.parameters.parentField}"/>
      </div>
    </apex:page>
    
  6. 「保存」ボタンをクリックする。

「SampleRaySheetPage」Visualforceページを作成できたら、「プレビュー」をクリックしてRaySheetのビューがブラウザの新しいタブに表示されることを確認します。この時点では、viewidが指定されていないため最初のビューが表示されます。加えて、parentIdが与えられていないため、すべてのレコードが表示されます。

Visualforceページに表示するgcss:Spreadsheetタグの属性を変更することで、システム管理者または開発者はRaySheetのどの機能をユーザに許可するか指定できます。属性の詳細は「ビューの機能をユーザに許可する」を参照してください。

3. Visualforceページのセキュリティを設定する

前項で作成したVisualforceページは、既定ではシステム管理者のプロファイルを割り当てられたユーザだけが表示できます。システム管理者以外のプロファイルにも許可するには、Visualforceページのセキュリティを設定します。

  1. Salesforce Classicで「設定 > 開発 > Visualforceページ」をクリックする。
  2. 前項で作成した「SampleRaySheetPage」を見つける。
  3. 「SampleRaySheetPage」の左側に表示される「セキュリティ」をクリックする。
  4. 左のリストから割り当てるプロファイル、たとえば「標準ユーザ」をクリックして選択し、「>」ボタンをクリックして右のリストに追加する。
  5. 「保存」ボタンをクリックする。

4. カスタムボタンを作成する

「取引先責任者」のカスタムボタンを作成します。「取引先」ではなく「取引先責任者」なので取り違えないように注意します。

  1. Salesforce Classicで「設定 > カスタマイズ > 取引先責任者 > ボタン、リンク、およびアクション」をクリックする。
  2. 「新規ボタンまたはリンク」をクリックする。
  3. 「表示ラベル」に「RaySheetで開く」と記入する。
  4. 「名前」に「Open_in_RaySheet」と記入する。
  5. 「説明」に「RaySheetのカスタムボタンの使用例。」または任意の説明を記入する。
  6. 「表示の種類」で「リストボタン」をオンにする。
  7. 「チェックボックスの表示(複数レコード選択用)」をオフにする。
  8. 「動作」で「JavaScript実行」を選択する。
  9. 「内容のソース」が「OnClick JavaScript」となっていることを確認する。
  10. 中央の入力欄に次のコードを記入する。
    window.open("{!$Site.BaseUrl}/apex/SampleRaySheetPage?object=Contact&viewid=ここにビューIDを記入する&parentId={!Account.Id}&parentField=AccountId", "_blank", "width=800,height=600");
    
  11. 「ここにビューIDを記入する」の部分に、前項でメモしたビューIDを記入する。
  12. 「構文を確認」ボタンをクリックする。
  13. 「保存」ボタンをクリックする。

「SampleRaySheetPage」は作成したVisualforceページの名前です。「AccountId」は取引先レコードのIDのAPI名です。「Account.Id」は取引先レコードのページを開いたとき、そのレコードのIDを示します。「width=800,height=600」はブラウザのポップアップウィンドウのサイズです。このサイズは、ブラウザの新しいタブで表示される場合は適用されません。

5. ページレイアウトに配置する

作成したカスタムボタンを「取引先」の関連リストに表示します。「取引先責任者」ではなく「取引先」なので取り違えないように注意します。

  1. Salesforce Classicで「設定 > カスタマイズ > 取引先 > [ページレイアウト」をクリックする。
  2. 任意のページレイアウトの「編集」をクリックする。例:Account Layout
  3. 「取引先責任者」の関連リストで工具アイコンをクリックする。
  4. 「関連リストのプロパティ-取引先責任者」が表示されることを確認する。
  5. 「ボタン」と表示されているバーをクリックする。
  6. 「カスタムボタン」の「利用可能なボタン」から「RaySheetで開く」をクリックし、「追加する」ボタンをクリックして右のリストに移動する。
  7. 「OK」ボタンをクリックする。
  8. ページレイアウトの「保存」をクリックする。

6. 結果を確認する

任意の取引先レコードを開き、取引先責任者の関連リストを確認します。「RaySheetで開く」ボタンをクリックし、関連リストと同じ内容がブラウザの新しいウィンドウまたは新しいタブで開き、Excelと同様の編集操作が可能なことを確認します。 このウィンドウを閉じるには、右上の「×」をクリックします。Macの場合は、左上の赤丸をクリックします。

応用

Visualforceページに表示するgcss:Spreadsheetタグの属性を変更することで、システム管理者または開発者はRaySheetのどの機能をユーザに許可するか指定できます。属性の詳細は「ビューの機能をユーザに許可する」を参照してください。

新しいレコードの追加に関する仕様

RaySheet内で「新規」または「複製」によって新しいレコードを追加すると、parentFieldに指定した項目に対して、parentIdが自動的に割り当てられます。つまり、ある取引先のレコードの画面内でRaySheetを使って取引先責任者を追加すると、追加された取引先責任者はその取引先に関連付けられます。 ただし、「新しいウィンドウ」で取引先責任者を追加した場合は、新しい取引先責任者はその取引先に関連付けられません。この場合、Salesforceの画面で取引先責任者の取引先を明示的に入力します。

クリックジャック保護のセキュリティ設定

カスタムボタンからRaySheetのビューを呼び出す機能は、関連リストを置き換える場合とは異なり、クリックジャック保護のセキュリティ設定の有無に関係なく使用できます。

Copyright © 2018 GrapeCity inc. All rights reserved.