Lightning Experienceアクションから開く

ここでは、Lightning Experience(LEX)の画面で取引先のレコードを開いているとき、RaySheetによる関連する商談の一覧を「商談の一覧」ボタンからポップアップ表示する例を紹介します。具体的には、次のような画面で操作できます。

ボタンの拡大:

ボタンをクリック後に表示されるポップアップ:

ポップアップの幅はLightning Experienceで定義されているため、変更できません。 データの保存操作はRaySheet画面上の機能を使うため、ポップアップに表示される「保存」ボタンは使用しません。 Salesforce Classicでは「商談の一覧」ボタンはChatterに表示されます。

Salesforce Classicでの表示結果:

Lightning ExperienceアクションからRaySheetのビューを呼び出す手順は次のようになります。

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

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

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

ユーザが取引先レコードで「商談の一覧」ボタンをクリックしたときに表示する、RaySheetのビューを作成します。ここではRaySheetで「商談」のビューを作成します。

  1. RaySheetを開く。
  2. 左の「お気に入り」から「商談」をクリックする。「お気に入り」が表示されていない場合、左上の三本線のアイコンをクリックする。
  3. 右の「ビューの管理」をクリックする。
  4. 「ビューを追加」をクリックする。
  5. 「名前」に「カスタムボタン用のビュー」と入力し、「OK」をクリックする。
  6. 「ビューの管理」に「カスタムボタン用のビュー」が追加されることを確認する。
  7. 「カスタムボタン用のビュー」の右にある下向きの三角形をクリックする。
  8. 表示されたメニューから「共有状態の変更」をクリックする。
  9. 「共有状態の編集」画面で「全員に共有」をクリックし、あわせて「ドロップダウンリストから非表示」のチェックをオンにする。

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

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

2. Visualforceページを作成する

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

  1. Salesforce Classicの場合、「設定 > 開発 > Visualforceページ」をクリックする。Lightning Experienceの場合、歯車アイコンをクリックした後「設定 > カスタムコード > Visualforceページ」をクリックする。
  2. 「新規」ボタンをクリックする。
  3. 「表示ラベル」と「名前」に「AccountOpportunityPopup」と記入する。
  4. 「説明」に「RaySheetのLightning Experienceアクションの使用例。」または任意の説明を記入する。
  5. 「Visualforce Markup」に次の内容を入力する。
    <apex:page standardController="Account" 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="Opportunity"
           viewid="ここにビューIDを記入する"
           parentId="{!account.id}"
           parentField="AccountId"/>
      </div>
    </apex:page>
    
  6. 「保存」ボタンをクリックする。

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

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

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

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

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

4. アクションを作成する

「取引先」のLightning Experienceアクションを作成します。「商談」ではなく「取引先」なので取り違えないように注意します。

  1. Salesforce Classicの場合、「設定 > カスタマイズ > 取引先 > ボタン、リンク、およびアクション」をクリックする。Lightning Experienceの場合、歯車アイコンをクリックした後「設定 > オブジェクトマネージャ > 取引先 > ボタン、リンク、およびアクション」をクリックする。
  2. 「新規アクション」をクリックする。
  3. 「アクション種別」で「カスタムVisualforce」を選択する。
  4. 「Visualforceページ」で「AccountOpportunityPopup」を選択する。
  5. 「高さ」に「450 ピクセル」と記入する。
  6. 「表示ラベル」に「商談の一覧」と記入する。
  7. 「名前」に「OpenOpportunity」と記入する。
  8. 「説明」に「関連商談をRaySheetで開きます。」と記入する。
  9. 「保存」ボタンをクリックする。

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

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

  1. Salesforce Classicの場合、「設定 > カスタマイズ > 取引先 > ページレイアウト」をクリックする。Lightning Experienceの場合、歯車アイコンをクリックした後「設定 > オブジェクトマネージャ > 取引先 > ページレイアウト」をクリックする。
  2. 任意のページレイアウトの「編集」をクリックする。例:Account Layout
  3. ページレイアウトエディタの上部パレットから「モバイルおよびLightningのアクション」をクリックする。
  4. 前項で作成した「商談の一覧」を確認する。
  5. 「商談の一覧」を「モバイルおよびLightning Experienceアクション」にドラッグする。ここでは、例として「投稿」「ファイル」の次に配置する。
  6. 次の結果になることを確認する。
  7. ページレイアウトの「保存」をクリックする。

6. 結果を確認する

Lightning Experienceで任意の取引先レコードを開き、「商談の一覧」ボタンをクリックしてRaySheetがポップアップ表示されるかどうか確認します。

応用

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

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

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

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

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

Copyright © 2019 GrapeCity inc. All rights reserved.