[toc]
概要
ViewFramerでは「APIサンプル」ボタンからアクション生成用のVisualforceページサンプルをダウンロードすることができますが、そちらは詳細ページ向けのコードになっています。
リストビューページ用の Visualforce ページの場合、異なる書き方が必要になります。
本記事では、リストビュー向け Visualforceページ例をご紹介します。
サンプルを記事最下部に添付していますので、利用ツールやConnectorのバージョンに合わせて編集してご利用ください。
詳細ページ用のボタン作成手順については、下記を参照ください。
ビュー定義の出力条件設定
ViewFramer のパラメータで抽出する条件を指定している場合、出力条件設定 ビュー定義の条件設定で「等しい(=)」ではなく「いずれかと等しい(IN)」を選択します。
この設定により、ビュー定義が Salesforce から複数のレコードIDを受け取って抽出することができるようになります。
ビュー定義を変更した場合、必ずマッピング定義を再配備してください。
サンプルVisualforceページの変更点
この記事に添付しているサンプルコードをダウンロードし、「★★★★★」の部分を以下のとおり変更してください。
-
1行目:オブジェクト名の変更 アクションを置くオブジェクトのAPI参照名に変更してください。
standardController="★★★★★” -
44行目:マッピング名の設定 使用するマッピング名を入れてください。
mappingNm:'★★★★★', -
45行目:ファイル名の設定 任意で変更可能です。特に指定がない場合はマッピング名を入れてください。
fileName:'★★★★★', -
46行目:パラメータ名の設定 ビューで設定したパラメータ名を入れてください。
★★★★★:ids, -
52行目:出力形式の設定 出力形式を指定します。
「【XA】【Connector v1.X用】リストビュー用Visualfroceページサンプル」の場合は、50行目をご参照ください。例)PDF出力の場合
pdf();PDFではないテンプレートを使用している場合、以下の表に沿って値を入れてください。
出力形式/連携方式 指示 PDF pdf();OPR opr();直接印刷 print();Excel(Liveアップロード方式) excelMerge();Excel(Officeアドイン方式) excelMergeDDO();Word wordMergeDDO();PowerPoint powerPointMergeDDO();D3Worker連携 d3w();CSV出力 csv();Einstein Analytics連携 wave();Power BI連携 powerbi();PDF(CSVアップロード) pdf().uploadFileDialog(jQuery.noConflict(), ds.jqcss, ds.labels, ds.errorMessages);OPR(CSVアップロード) opr().uploadFileDialog(jQuery.noConflict(), ds.jqcss, ds.labels, ds.errorMessages);直接印刷(CSVアップロード) print().uploadFileDialog(jQuery.noConflict(), ds.jqcss, ds.labels, ds.errorMessages);Excel(Liveアップロード方式/CSVアップロード) excelMerge().uploadFileDialog(jQuery.noConflict(), ds.jqcss, ds.labels, ds.errorMessages);Excel(Officeアドイン方式/CSVアップロード) excelMergeDDO().uploadFileDialog(jQuery.noConflict(), ds.jqcss, ds.labels, ds.errorMessages);Word(Officeアドイン方式/CSVアップロード) wordMergeDDO().uploadFileDialog(jQuery.noConflict(), ds.jqcss, ds.labels, ds.errorMessages);D3Worker連携(CSVアップロード) d3w().uploadFileDialog(jQuery.noConflict(), ds.jqcss, ds.labels, ds.errorMessages);CSV出力(CSVアップロード) csv().uploadFileDialog(jQuery.noConflict(), ds.jqcss, ds.labels, ds.errorMessages);Einstein Analytics連携(CSVアップロード) wave().uploadFileDialog(jQuery.noConflict(), ds.jqcss, ds.labels, ds.errorMessages);Power BI連携(CSVアップロード) powerbi().uploadFileDialog(jQuery.noConflict(), ds.jqcss, ds.labels, ds.errorMessages);プレビュー出力 pdfPreview();
Excel出力でリストビューから複数の帳票を一括で出力する場合は、出力形式の設定後に追加の書き換えが必要になります。 書き換えの詳細については、下記の記事をご参照ください。
XA デザイナーを使用している場合
XAデザイナーを使用している場合は、下記の箇所もご確認ください。
XAデザイナーのサンプルファイルも、本記事に添付しています。
-
url('') の確認
以下の部分が正しく設定されていることを確認します。
【XA】【Connector v1.X用】リストビュー用Visualfroceページサンプル:50行目
【XA】【Connector v2用】リストビュー用Visualfroceページサンプル:52行目url('https://vfrest.ap.oproarts.com/xa_view_framer_rest/v3/action/salesforce')
ボタン設定
Salesforceに作成するボタンの設定を行います。
-
設定 > オブジェクトマネージャー から、ボタンを設置するオブジェクトを選択します。
「ボタン、リンク、およびアクション」項目をクリックして画面を表示します。
-
「新規ボタンまたはリンク」からボタンを作成します。
⚠️注意アクションではなく「ボタン」として作成してください。
-
各項目を下記のように設定します。
- 表示の種類:リストボタン
- 内容のソース:Visualforceページ
- コンテンツ:作成した Visualforce ページを選択
-
オブジェクトの「リストビューボタンレイアウト」項目をクリックして、画面を表します。
-
「リストビュー」の編集ボタンから、編集画面を表示します。
-
「利用可能なボタン」から追加したボタンを選択し、「追加 ▶」ボタンをクリックし、「選択したボタン」に追加します。
出力確認
ボタンを設置したオブジェクトのリストビューページで出力確認を行います。
-
「最近参照したデータ」ではなく「すべてのデータ」などのリストビューを表示します。
⚠️注意「最近参照したデータ」の画面にはボタンが表示されません。
- レコードを選択し、作成したボタンをクリックして出力をお試しください。
出力するPDFを分割する
添付のサンプルコードでPDF帳票を出力した場合、複数レコード分の帳票が 1ファイルのPDFになります。
例)IDが A-01, A-02, A-03 のレコードを選択した場合、Aファイルに A-01, A-02, A-03 の内容が記載される。
というように、全てのレコード情報が1つのPDF内にまとめられます。
レコードごとにPDFを分割してダウンロードする場合は、下記記事の手順で設定を行ってください。
参考:ViewFramerを使用してZIPファイルでダウンロードする