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

Visualforce ページへのフローの埋め込み

フローのデザインをカスタマイズするか、機能を強化するには、フローを Visualforce ページに埋め込みます。組織のサイトとポータルでフローが有効になっている場合、Visualforce ページを使用してフローを Force.com サイト、ポータル、またはコミュニティに提供できます。

ユーザは、有効なバージョンを含むフローしか実行できません。埋め込んだフローに有効なバージョンが含まれていない場合は、エラーメッセージが表示されます。埋め込んだフローにサブフロー要素がある場合、サブフロー要素から参照およびコールされるフローは有効バージョンである必要があります。

メモ

フローを Visualforce ページに追加するには、次のように <flow:interview> コンポーネントを使用してフローを埋め込みます。
  1. フローの一意の名前を検索します。
    1. [設定] から、[クイック検索] ボックスに「フロー」と入力し、[フロー] を選択します。
    2. 埋め込むフローの名前をクリックします。
  2. 新しい Visualforce ページを定義するか、編集するページを開きます。
  3. <apex:page> タグ間の任意の場所に <flow:interview> コンポーネントを追加します。
  4. name 属性をフローの一意の名前に設定します。次に例を示します。
    1<apex:page>
    2<flow:interview name="MyUniqueFlowName"/>
    3</apex:page>

    管理パッケージのフローである場合、name 属性は namespace.flowuniquename の形式で指定する必要があります。

    メモ

  5. フローを含む Visualforce ページのページセキュリティを設定することで、フローを実行できるユーザを制限します。
    外部ユーザ (コミュニティの外部ユーザなど) がフローを実行するには、Visualforce ページへのアクセス権が必要です。内部ユーザがフローを実行するには、Visualforce ページへのアクセス権と次のいずれかが必要です。
    • 「フローを実行」権限
    • ユーザ詳細ページの [Force.com Flow ユーザ] 項目が有効になっている

フローの変数値の設定

この例では、カスタマーサポートエージェントがケースを作成してモデムの問題をトラブルシューティングできるようにする、単純なフローを作成します。<apex:param> コンポーネントを使用してフローを開始するときに変数の値を設定できます。この例では、フローの読み込み時に vaCaseNumber というケース番号変数を初期値の 01212212 に設定するために、次のマークアップを使用します。
1<apex:page>
2    <flow:interview name="ModemTroubleShooting">
3        <apex:param name="vaCaseNumber" value="01212212"/>
4    </flow:interview>
5</apex:page>
また、標準 Visualforce コントローラを活用して変数を設定することもできます。たとえば、Visualforce ページが standardCase コントローラを使用している場合、標準コントローラからデータを渡すようにページの機能を強化できます。
1<apex:page standardController="Case" tabStyle="Case" >
2    <flow:interview name="ModemTroubleShooting">
3        <apex:param name="vaCaseNumber" value="{!Case.CaseNumber}"/>
4    </flow:interview>
5</apex:page>

変数値のその他の設定例については、「Visualforce ページからのフロー変数値の設定」を参照してください。Visualforce ページで表示するフローの変数値の取得については、「Visualforce ページへのフロー変数値の取得」を参照してください。

finishLocation 属性の設定

モデムのトラブルシューティングの例に基づいて、ユーザがフローの終わりにある [完了] ボタンをクリックしたときに Salesforce ホームページにリダイレクトされるように、finishLocation 属性を設定することもできます。
1<apex:page standardController="Case" tabStyle="Case" >
2    <flow:interview name="ModemTroubleShooting" finishLocation="{!URLFOR('/home/home.jsp')}">
3        <apex:param name="vaCaseNumber" value="{!case.CaseNumber}"/>
4    </flow:interview>
5</apex:page>

finishLocation のその他の設定例については、「フローの finishLocation 属性の設定」を参照してください。