一時停止中のフローインタビューをユーザーが再開する方法のカスタマイズ
デフォルトでは、ユーザーはホームページの [一時停止中のインタビュー] コンポーネントから一時停止中のインタビューを再開できます。ユーザーがインタビューを再開できる方法と場所をカスタマイズするには、<flow:interview> コンポーネントの pausedInterviewId 属性を使用します。
次の例は、ページレイアウトのボタンから、インタビューを再開したり新しいインタビューを開始したりする方法を示しています。ユーザーが取引先責任者レコードから [調査顧客] をクリックすると、ユーザーに「調査顧客」フローで一時停止中のインタビューがあるかどうかに応じて、Visualforce ページで次の 2 つのいずれかが実行されます。
- ユーザーに一時停止中のインタビューがある場合、最初のインタビューが再開される。
- ユーザーに一時停止中のインタビューがない場合、新しいインタビューが開始される。
Visualforce および Apex コントローラーの作成
Visualforce ページは取引先責任者固有のボタンで参照されるため、その標準コントローラーを使用する必要があります。Apex でコントローラー拡張を使用して、ページにロジックを追加します。このロジックで、再開するインタビューの ID がページに渡されます。
この Apex コントローラー拡張は、SOQL クエリを実行して一時停止中のインタビューのリストを取得します。クエリから何も返されない場合、getPausedId() は null 値を返し、Visualforce ページで新しいインタビューが開始されます。クエリから 1 つ以上のインタビューが返されると、Visualforce ページでそのリスト内の最初のインタビューが再開されます。
ページレイアウトからの Visualforce ページの参照
この Visualforce ページを実際にユーザーに公開するには、取引先責任者ページレイアウトからページを使用できるようにします。
まず、Visualforce ページにリンクする取引先責任者オブジェクトのカスタムボタンを作成します。次の項目値を使用してボタンを作成します。
| 項目 | 値 |
|---|---|
| ラベル | 調査顧客 |
| 表示の種類 | 詳細ページボタン |
| 内容のソース | Visualforce ページ |
| 内容 | YourVisualforcePage |
最後に、取引先責任者ページレイアウトにボタンを追加します。