出力するデータを指定する
出力するデータを指定するためには、データの取得条件を指定して、プレビュー画面を生成するVisualforce ページ「PreviewPage」を呼び出します。
アクセス権を付与する
ボタンの呼び出しを開発するユーザーや、実際にボタンを使うユーザーは、次のリソースにアクセスできる必要があります。
Salesforceオブジェクト
Salesforceオブジェクトの項目
Visualforce ページ
Salesforce API(APIアクセス権がない場合)
アクセスできない場合は、「アクセス権を付与する」を参照してアクセス権を付与してください。
SVF Cloud Managerでボタンを作成する
SVF Cloud Managerでボタンを作成します。
手順の詳細は、『SVF Cloud 管理ガイド』の「帳票を出力する」を参照してください。
ボタンの名前を確認する
SVF Cloud Managerで作成したボタンの名前を確認します。
SVF Cloud Managerにログインします。
[SVFボタン設定]をクリックします。
Salesforceログイン画面が表示された場合は、ログイン情報を入力してログインします。
[SVFボタン]の一覧から、作成したボタンを選択します。
[SVFボタン情報]-[名前]の値を、メモ等に控えます。
以上で、ボタンの名前の確認は完了です。
Visualforce ページを呼び出す
プレビュー画面を生成するVisualforce ページ「PreviewPage」を呼び出します。
呼び出しには、「PreviewPage」とは別のVisualforce ページでGETメソッドを使います。
JavaScriptかApexで、次のパラメーターを設定します。
パラメーター
パラメーター
説明
buttonFullName
SVF Cloud Managerで作成したボタンの名前を指定します。
q1~9
出力するデータの取得条件を、SOQLで指定します。
1つのボタンに複数の帳票レイアウトを設定した場合は、帳票レイアウトごとにSOQLを記述します。ただし、次のことに留意してください。
q1~9では、同じ出力対象のidを指定します。
SVF Cloud Managerの
[SVFボタン設定]-[帳票レイアウト]での帳票レイアウトの並び順と、q1~9での帳票レイアウトの指定順は、同じ順序で指定します(下図参照)。
注意
SELECTする列は、ボタンを作成したSalesforceオブジェクトのAPI参照名を指定します(取引先オブジェクトの例:Account)。
SELECT句には、次の項目を含める必要があります。
出力対象のレコードのID
ボタンの[フィールド]で指定した、すべてのSalesforce項目
ボタンの生成ファイル名に「Salesforce項目」を指定した場合は、そのSalesforce項目
生成ファイル名は、[SVFボタン情報]-
-[ファイル]-[生成ファイル名]で指定します。
Virtual Relationは使用できません。
1つの帳票出力ファイルの作成で利用可能な総レコード数の上限は、SVF Cloudの契約プランによって異なります。上限の詳細は、「総レコード数の上限」を参照してください。
名前空間は「svfcloud」です。必要に応じて付与してください。
記述例
取引先オブジェクトのデータを2種類の帳票に出力して、プレビュー画面を表示する例です。
(ボタンの名前が「SVFAccountButton20160809101821379I5J」、データのidが「001N000000SunVb」の例です)
以下は、Salesforce Classicでの記述例です。
例 1. JavaScriptwindow.open('https://ap2.salesforce.com/apex/svfcloud__PreviewPage?buttonFullName=SVFAccountButton20160809101821379I5J&q1=SELECT Id, Name FROM Account WHERE Id = "001N000000SunVb"&q2=SELECT Id, Name,(SELECT Id, Name FROM Opportunities) FROM Account WHERE Id = "001N000000SunVb"');
例 2. ApexPublic PageReference preview(){ return new PageReference('/apex/svfcloud__PreviewPage?buttonFullName=SVFAccountButton20160809101821379I5J&q1=SELECT Id, Name FROM Account WHERE Id = "001N000000SunVb"&q2=SELECT Id, Name,(SELECT Id, Name FROM Opportunities) FROM Account WHERE Id = "001N000000SunVb"'); }
以上で、出力するデータを指定してSVF Cloud for Salesforceのプレビュー画面を呼び出すための作業は完了です。