🖨️

カスタマインでPDF帳票を一括出力する

2023/12/20に公開

本記事は Customine Advent Calendar 2023 23日目の記事です。

記事概要

カスタマインを使用することで、kintoneの詳細画面からPDF帳票を出力することができます。当記事では一覧画面から複数レコードのPDF帳票を一括出力して、ZIPでダウンロードしてみます。

自社でもこの記事の内容を実現してみたい。という方がおみえでしたら、kintoneスポット開発無料相談フォームから、ぜひお問い合わせください。

詳細画面からのPDF出力

単一のPDF出力は下記ページを参考に実装することができました。

カンタン!PDF出力入門

下図の様に詳細画面から単一のPDFを出力することができます。

一覧画面から複数レコード分を一括出力してZIPでダウンロード

一覧画面からの一括出力にトライします。最後にまとめてZIPでダウンロードする流れです。

最終的な動作イメージです。

カスタマイン全体の流れ

  1. ボタンを設置
  2. 一覧表示条件でレコードを取得
  3. 上限数を超えていないかをチェック
  4. 一括出力前の確認メッセージ
  5. 出力テンプレートを取得
  6. リストから要素を取り出すでループを組む(PDF出力→該当レコードの添付ファイル更新)
  7. ループが終わったら、一覧表示条件でレコードを再取得
  8. 添付ファイルをまとめてダウンロード

1.ボタンを設置

一覧画面に一括出力ボタンを設置します。

2.一覧表示条件でレコードを取得

一覧表示条件でレコードを全件取得します。後から判定で使いますので、取得したレコードの件数をカウントしておきます。

3.上限数を超えていないかをチェック

必ず上限数を設けて、チェックをしましょう。これをしないと、大量のレコードが表示された状態で一括出力ボタンを押したときに、恐らく全件分のPDFが出力されてしまいます。
上限を超えていたら警告メッセージを出して処理終了。上限以内であれば出力前の確認メッセージを出します。

4.一括出力前の確認メッセージ

下図のようなメッセージですね。

5.出力テンプレートを取得

PDF出力のためのテンプレートを取得します。

6.リストから要素を取り出すでループを組む(PDF出力→該当レコードの添付ファイル更新)

下図の様に、レコードを取得→PDF出力→添付ファイル更新を繰り返します。

カスタマインのループ処理に関しては、下記の記事でも書いていますので、参考になればと思います。

カスタマインの一覧画面でループ処理(リストから要素を取り出すを使用)

7.ループが終わったら、一覧表示条件でレコードを再取得

リストからの取り出しが終了したら、添付ファイルが格納された最新の状態を再取得します。

8.添付ファイルをまとめてダウンロード

添付ファイルをまとめてダウンロードします。ファイル名も任意でつけられます。

動作イメージ

一括出力ボタンをおすと、

ZIPがダウンロードされます。

ZIPの中にはレコード件数分のフォルダが生成されており、中にはPDFが格納されています。

おわり

今年はじめてカスタマインを触る機会を頂いて、いろいろと触ってみたのですが、本当にいろいろできて楽しいですね。これからも勉強していきたいと思います。

https://www.qloba.com/forms/9841

Discussion