はじめに
この記事では、kintoneアプリカスタマイズのやること「PDFを出力する」や、Job Runnerのやること「PDFを出力する」を使ってPDF出力を行う際の、出力範囲指定についてご説明します。
明細行の多いPDF出力を行った場合
詳細画面からのPDF出力の「御見積書テンプレート」を使用して見積明細行が多い見積を出力した場合、出力は次のような形になります。
この出力内容ですと2ページ目以降には表のヘッダ部となる明細項目名が表示されないため、見づらくなってしまいます。
上記のような問題を解消する方法として、Excelのヘッダ機能を使用します。この機能を使用した「sample_御見積書テンプレート_ヘッダ」は以下のような形で出力されます。
このように、改ページを検討した上での表の出力はExcelのヘッダ機能を利用すると見やすくなります。
上記とは別の要件として、「備考」は見てもらいやすいように1ページ目にのみ出力し、残りの明細行は2ページ目以降に全て出力したいということもあると思います。
この場合は、出力する行を指定して制御することで実現が可能です。
行指定を行った「sample_御見積書テンプレート_行指定」は以下のような形で出力されます。
ここでは明細行の後に「備考」を出力したいので、出力する明細行の範囲を指定します。
※1ページ目に何行分印字することができるかは、テンプレートの行幅指定やフォーマットにより異なるため、実際に出力していただき指定行数を調整してください。
出力する行の範囲を指定する方法
テーブルに登録されている行数分を繰り返して出力するために、$FOREACH(テーブルのフィールドコード)および $ENDを使用します。今回は、1ページ目に明細行を20行分出力し、2ページ以降には21行目以降を出力するテンプレートを作成します。
$FOREACH部分を以下のように記述することで、1行目から20行目までを明示的に指定して出力することが可能です。
(1ページ目の記述)
(2ページ目の記述)
「..」の前後に数字を指定することで、どの行を出力するか制御することができます。数字を指定しない場合は、「全て」という意味になります。
今回の例ですと「(0..19)」の部分は、「0」が1行目、「19」が20行目を示しており、「(20..)」の部分は21行目以降の全てを指定する記述となります。
※この出力する範囲を指定する機能をスライスと呼びます。
このスライスはテーブルや関連レコードだけでなく、チェックボックスやユーザー選択など複数の値を入力できるフィールドで使用できます。
使用可能なフィールドについては、「Excel/PDF出力テンプレート リファレンスマニュアル」をご確認ください。
はじめに
この記事では、kintoneアプリカスタマイズのやること「PDFを出力する」や、Job Runnerのやること「PDFを出力する」を使ってPDF出力を行う際に、スライスの機能を利用することで、自在に出力範囲を制御することができる事をご説明しました。
ぜひExcel/PDF出力についても、色々と試してみてくださいね。
ご不明な点がございましたら、チャットでお問い合わせください。




