この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

フローの finishLocation 属性の設定

finishLocation が指定されない場合、ユーザが [完了] をクリックすると、新しいインタビューが開始され、フローの最初の画面が表示されます。URLFOR 関数、$Page 変数、またはコントローラを使用して、最後の画面で [完了] をクリックするときに実行される内容を指定できます。
次のセクションでは、<flow:interview> コンポーネントの finishLocation 属性を設定する方法を示します。

URLFOR 関数を使用して finishLocation を設定する

  • Salesforce 組織の外部 URL にフローユーザをリダイレクトすることはできません。
  • 同じフロー内で Auth.SessionManagement.finishLoginFlow メソッドと finishLocation 属性をコールしないでください。Auth.SessionManagement.finishLoginFlow は、Visualforce ページのログインフローの終わりを示しています。finishLocation が同じフロー内にある場合は、フロー開始時に finishLocation が実行され、セッションへのフルアクセス権がユーザに付与されます。

メモ

ID を使用して、相対 URL、特定のレコードまたは詳細ページにユーザの経路を設定するには、URLFOR 関数を使用します。

この例では、Salesforce ホームページにユーザの経路を設定します。
1<apex:page>
2    <flow:interview name="MyUniqueFlow" finishLocation="{!URLFOR('/home/home.jsp')}"/>
3</apex:page>
この例では、ID が 001D000000IpE9X である詳細ページにユーザの経路を設定します。
1<apex:page>
2    <flow:interview name="MyUniqueFlow" finishLocation="{!URLFOR('/001D000000IpE9X')}"/>
3</apex:page>

URLFOR の詳細は、「関数」を参照してください。

$Page 変数を使用して finishLocation を設定する

URLFOR を使用しないで別の Visualforce ページにユーザの経路を設定するには、{!$Page.pageName} の形式で finishLocation を宛先ページの名前に設定します。
1<apex:page>
2    <flow:interview name="MyUniqueFlow" finishLocation="{!$Page.MyUniquePage}"/>
3</apex:page>

$Page の詳細は、「グローバル変数」を参照してください。

コントローラを使用して finishLocation を設定する

カスタムコントローラを使用したいくつかの方法で finishLocation を設定できます。

このサンプルコントローラは、3 つの異なる方法でフローの完了動作を設定します。
1public class myFlowController {
2    
3    public PageReference getPageA() {
4        return new PageReference('/300');
5    }
6    
7    public String getPageB() {
8        return '/300';
9    }
10    
11    public String getPageC() {
12        return '/apex/my_finish_page';
13    }
14}
次は、コントローラを参照し、フローの完了動作を最初のオプションに設定する Visualforce ページの例です。
1<apex:page controller="myFlowController">
2    <h1>Congratulations!</h1> This is your new page.
3    <flow:interview name="flowname" finishLocation="{!pageA}"/>
4</apex:page>

標準コントローラを使用して同じページにフローとしてレコードを表示する場合、ユーザが [完了] をクリックすると、新しいフローインタビューが開始され、レコードのないフローの最初の画面が表示されます。これは、id クエリ文字列パラメータが、ページ URL に保持されないためです。必要な場合は、ユーザをレコードに戻すように finishLocation を設定します。