カスタマインでPDF帳票を一括出力する
本記事は Customine Advent Calendar 2023 23日目の記事です。
記事概要
カスタマインを使用することで、kintoneの詳細画面からPDF帳票を出力することができます。当記事では一覧画面から複数レコードのPDF帳票を一括出力して、ZIPでダウンロードしてみます。
自社でもこの記事の内容を実現してみたい。という方がおみえでしたら、kintoneスポット開発無料相談フォームから、ぜひお問い合わせください。
詳細画面からのPDF出力
単一のPDF出力は下記ページを参考に実装することができました。
下図の様に詳細画面から単一のPDFを出力することができます。
一覧画面から複数レコード分を一括出力してZIPでダウンロード
一覧画面からの一括出力にトライします。最後にまとめてZIPでダウンロードする流れです。
最終的な動作イメージです。
カスタマイン全体の流れ
- ボタンを設置
- 一覧表示条件でレコードを取得
- 上限数を超えていないかをチェック
- 一括出力前の確認メッセージ
- 出力テンプレートを取得
- リストから要素を取り出すでループを組む(PDF出力→該当レコードの添付ファイル更新)
- ループが終わったら、一覧表示条件でレコードを再取得
- 添付ファイルをまとめてダウンロード
1.ボタンを設置
一覧画面に一括出力ボタンを設置します。
2.一覧表示条件でレコードを取得
一覧表示条件でレコードを全件取得します。後から判定で使いますので、取得したレコードの件数をカウントしておきます。
3.上限数を超えていないかをチェック
必ず上限数を設けて、チェックをしましょう。これをしないと、大量のレコードが表示された状態で一括出力ボタンを押したときに、恐らく全件分のPDFが出力されてしまいます。
上限を超えていたら警告メッセージを出して処理終了。上限以内であれば出力前の確認メッセージを出します。
4.一括出力前の確認メッセージ
下図のようなメッセージですね。
5.出力テンプレートを取得
PDF出力のためのテンプレートを取得します。
6.リストから要素を取り出すでループを組む(PDF出力→該当レコードの添付ファイル更新)
下図の様に、レコードを取得→PDF出力→添付ファイル更新を繰り返します。
カスタマインのループ処理に関しては、下記の記事でも書いていますので、参考になればと思います。
カスタマインの一覧画面でループ処理(リストから要素を取り出すを使用)
7.ループが終わったら、一覧表示条件でレコードを再取得
リストからの取り出しが終了したら、添付ファイルが格納された最新の状態を再取得します。
8.添付ファイルをまとめてダウンロード
添付ファイルをまとめてダウンロードします。ファイル名も任意でつけられます。
動作イメージ
一括出力ボタンをおすと、
ZIPがダウンロードされます。
ZIPの中にはレコード件数分のフォルダが生成されており、中にはPDFが格納されています。
おわり
今年はじめてカスタマインを触る機会を頂いて、いろいろと触ってみたのですが、本当にいろいろできて楽しいですね。これからも勉強していきたいと思います。
Discussion