ViewFramerでは、アクション作成用のVisualforceページサンプルをダウンロードすることができますが、それは詳細ページに置くアクション用のコードになっています。リストビューページに置く場合には、コードの書き方が変わってきます。
ここでは、そのリストビューページ向けVisualforceページ例をご紹介します。基本的な設定は割愛しています。記事最下部にサンプルを添付しています。Connectorのバージョンに合わせて、そちらを編集してご利用ください。
添付のサンプルボタンを使用すると、リストビューでチェックを入れたレコードを帳票に出力する、という動作になります。
関連リンク:Lightning Experienceの詳細ページ用 ボタン作成
◎ビュー定義の出力条件設定
パラメータで抽出する条件を指定している場合、「等しい(=)」ではなく「いずれかと等しい(IN)」を選択してください。
この設定により、ビュー定義がSalesforceから複数のレコードIDを受け取って抽出することができるようになります。
ビュー定義を変更した場合、マッピング定義を再配備してください。
◎サンプルVisualforceページの変更点
この記事にサンプルコードを添付していますので、「★★★★★」の部分を以下の通り変更して利用してください。
・1行目『standardController="★★★★★"』を、アクションを置くオブジェクトのAPI参照名に変更する。
・44行目『mappingNm:'★★★★★',』に、使用するマッピング名をいれる。
・45行目『fileName:'★★★★★',』は、任意変更です。特になければマッピング名をいれてください。
・46行目『★★★★★:ids,』には、ビューで設定したパラメータ名をいれてください。
・52行目『pdf();』は出力形式です。pdfではないテンプレートを使っている場合は、以下の表に沿って値をいれてください。(ViewFramerで取得したサンプルコードを参照してください)
※Excel出力でリストビューから複数の帳票を一括で出力する場合、当FAQの次にコチラの書き換えを行ってください。
出力形式/連携方式 | 指示 |
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().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); |
D3Woker連携(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(); |
◎ボタン設定
Salesforceに作成するボタンの設定です。
・「新規ボタンまたはリンク」からボタンを作成する。(アクションではない)
・表示の種類:リストボタン
・内容のソース:Visualforceページ
・コンテンツ:作成したVisualforceページ
・「リストビューボタンレイアウト」の「リストビュー」を編集し、ボタンを選択する。
リストビューページで出力確認をします。
「最近参照したデータ」の画面にはボタンが表示されません。「すべてのデータ」などにしてください。
レコードを選択し、ボタンをクリックして出力をお試しください。
◎出力するPDFを分割する
添付のサンプルコードでPDF帳票を出力した場合、複数レコード分の帳票が1ファイルのPDFになります。
レコードごとにPDFを分割してダウンロードをする場合は、
「 ViewFramerを使用してZIPファイルでダウンロードする 」の手順で設定を行ってください。