ブログ

帳票プラグインでテーブル行数に応じて1ページ・複数ページの帳票を自動で切り替えて出力!

商品見積書パックのように、テーブルに商品の一覧を設定して見積書を作成するといったアプリは一般的で数多くありますよね。そのアプリで見積書はPDFで作成し、商品の数(テーブルの行数)が増えたら改ページをしてすべての商品を出力したいという要望も出てくるのではないでしょうか?

帳票プラグインなら、テンプレート出力条件を設定することで簡単に実現できます!
しかも、同じ帳票設定に1ページ/複数ページのテンプレートを両方登録することにより、1回の帳票出力ボタンのクリックで自動でテンプレートを切り替えて出力することができます!

この場合の帳票プラグインの設定方法と、テンプレート編集でのテーブルフィールドの項目設定のTipsについて解説します。

■設定方法

この例では、テーブル「見積詳細」の行数が10以下の場合は1ページ、行数が11以上30以下の場合は2ページの見積書を出力します。
あらかじめ、テンプレートのベースとなる1ページ用と2ページ用のPDFファイルを作成しておく必要があります。

1ページ用テンプレートの設定

帳票プラグインの設定画面を開き、「帳票追加」ボタンをクリックし、帳票名を「見積書」と入力して「テンプレートの設定へ」ボタンをクリックします。

最初に1ページ用のPDFファイルをドロップダウン領域にドラッグアンドドロップして、「項目追加」ボタンをクリックして、必要な項目を設定していきます。 テーブル「見積詳細」のフィールドは、「出力フィールド」のドロップダウンの中の「見積詳細」にグループ化されています。

テーブル内のフィールドを選択すると、テーブルデータ用の設定項目とフィールドの型に対応した設定項目が表示されます。 設定項目「開始行」を1、「終了行」を10に設定します。「行間マージン」を設定することで、帳票テンプレートの行の高さに合わせて出力位置を調整できます。数値で入力することで微調整も可能です。

テンプレートへの項目の設定が終わったら、テンプレート設定画面の「出力条件」タブを開きます。 条件としてフィールドを「見積詳細」、 比較演算子を「<(より行数が小さい)」、値を「11」に設定します。

テンプレート名を区別できるように「基本設定」タブを開き、テンプレート名を「見積書1ページ用」と設定します。

「設定して戻る」ボタンをクリックして、帳票設定ページに戻ります。

2ページ用テンプレートの設定

帳票「見積書」の「テンプレート追加」ボタンをクリックして「既存テンプレートをコピーして追加」を選択し、ドロップダウンから「見積書1ページ用」を選択して「テンプレートを追加」ボタンをクリックします。

「見積書1ページ用」で行った設定がそのままコピーされて、テンプレート編集ページが開きます。この状態で2ページ用のPDFファイルをドロップダウン領域にドラッグアンドドロップすると「テンプレートファイルを変更しますか?」というアラートが開くので「OK」ボタンをクリックします。「見積書1ページ用」で行った項目の設定を残したまま、PDFファイルだけ2ページのものに置き換わります。

この例では2ページ用のPDFの1ページ目は1ページ用PDFと内容が同じなので、1ページ目の設定はそのままで、2ページ目だけ設定すればOKです。 1ページ目のテーブルの項目フィールド全部をマウスで範囲選択し、ショートカットキーでコピーします。

2ページ目に移動してからショートカットキーでペーストすると、2ページ目にコピーした項目が貼り付けられます。そのまま項目全体をマウスで位置を調整することができます。あとは、一つずつ項目を選択して「開始行」を11、「終了行」を30に設定します。

これだけでテンプレートの編集ができました!

「出力条件」タブを開き、条件としてフィールドを「見積詳細」、 比較演算子を「>(より行数が大きい)」、値を「10」に設定します。条件追加ボタンをクリックして、フィールドを「見積詳細」、 比較演算子を「<(より行数が小さい)」、値を「31」に設定します。

テンプレート名を区別できるように「基本設定」タブを開き、テンプレート名を「見積書2ページ用」と設定します。 「設定して戻る」ボタンをクリックして、帳票設定ページに戻ります。

帳票設定ページで「保存する」ボタンをクリックし、プラグインの設定画面を抜け、アプリ更新を行います。 これで設定は完了です!

■出力してみよう!

アプリの一覧ページを開くと、「一括帳票出力ボタン」が表示されます。ドロップダウンで設定した帳票を選択できるようになっています。先ほど作成した「見積書」を表示した状態で「一括帳票出力ボタン」をクリックします。

確認のポップアップが表示され、出力対象のレコード数が4、テンプレート数が4であることが分かります。ここで表示されているテンプレート数は、テンプレートの出力条件に各レコードの値を適用してカウントされたテンプレート数になります。4つのレコードのテーブルの行数はそれぞれ9、14、18、5で設定されており、行数条件によってテンプレートが切り替えられていることが分かります。

あとは確認ポップアップの「出力」ボタンをクリックすれば、帳票出力が開始されます。

■テンプレート出力条件の応用例

この例以外にも、帳票プラグインのテンプレート出力条件設定を応用することで、様々な出力制御ができます。例えば以下のようなことも可能です。

  • 顧客のグループごとに別々のテンプレートを使用して出力内容を変える
  • 特定の時期から帳票のフォーマットを変更する
  • プロセス管理のステータスが未承認状態の場合は帳票出力しないようにする
ブログ一覧に戻る