こんにちは、ジョイゾーでエンジニアをしています、大木です。
今回は、kintoneのデータをPDF形式で出力することができる帳票出力サービス、
「k-Report」を使って、鑑付きの帳票を作成する方法をご紹介します。
※鑑とは
見積書の明細は時に数十行以上になることもありますが、読み手が最初に知りたいのは「結局いくらなのか?」という金額の総額や、「どのような内容の見積なのか」という概要です。そうした情報をひと目でまとめて提示できるのが 「鑑」です。「鑑」は見積書全体の要約や総括を1枚にまとめて提示する“表紙”のような役割を果たします。
見積書を作るとき、こんなことで困ったことはありませんか?
「明細はしっかり載せたいけど、1枚目にはまとめの鑑だけ出したい」
「明細が多くなるとごちゃごちゃしてしまって見づらい…」
そんな時は、
- 1ページ目には、商品種別ごとの小計だけを一覧で出して全体の概要を提示
- 2ページ目以降に、各小計を構成する明細一覧を展開
といったように、「概要 → 詳細」の流れを作ることで、読み手が情報を整理しやすく、見やすい帳票になります。
上記のような帳票を実現するのに便利なのが、k-Reportの「ビジュアルフィルタ」機能です。
この機能を使うことで、データを加工して、ページごとに表示内容を切り替えることができます。
弊社では初回開発無料の定額39万円でkintoneアプリを開発する定額型開発サービス「システム39」を提供しております。kintoneの導入やアプリ開発でお困りの方は、お気軽にご相談ください。
*Webでの打ち合わせも可能です。
ビジュアルフィルタとは
「ビジュアルフィルタ」は、kintoneから送られてくるデータに対して、k-Reportに渡す前に加工をすることができる機能です。
操作はkintoneと同様に、サイドバーのコマンド一覧からドラッグ&ドロップで行います。
ビジュアルフィルタでは、以下のような処理が可能です。
・明細テーブルのデータを、商品名の昇順で並べ替える
・商品種別ごとに小計を出す
・特定の条件に合ったデータだけを抽出する など
このように、出力前のデータを柔軟に加工できるため、帳票の見た目や構成を用途に合わせてわかりやすく仕上げることができます。
今回ご紹介する設定の全体イメージ
ここからは、食品・日用品の見積書を例に、鑑を用いた帳票の設定方法をご紹介します。
以下は今回出力するkintoneレコードのサンプルデータです。

今回の帳票では、1つの帳票内でページごとに表示内容を切り替える構成になっています。
ページ | 表示内容 |
---|---|
1ページ目 | 商品種別ごとの小計のみを表示 |
2ページ目以降 | 各明細+商品種別ごとの小計を表示 |
1ページ目ではサマリー情報でざっくり把握し、そのあとに詳細を掘り下げるという構成です。
見積書を明細だけで構成すると、明細が数十行以上ある際には、「どのような内容の見積なのか」という概要が分かりづらくなってしまいます。
そんなときは、k-Reportのビジュアルフィルタを使うことで、1ページ目にはカテゴリごとの小計のみを表示し、2ページ目以降に明細を展開するといったレイアウトの出し分けが簡単に実現できます。
出力結果のイメージと設定方法
まずは、今回の設定によって出力される帳票のイメージをご覧ください。

上記のような帳票を実現するための、ビジュアルフィルタの設定内容がこちらです。

全体のイメージをつかんでいただいたところで、
ここからはページごとにどのような設定を行っているのか、詳しく見ていきましょう!
■ 1ページ目:小計一覧
このページでは、各商品種別の小計のみを一覧表示します。
「不要な明細をあえて見せない」ことにより、帳票の可読性をぐっと高めることができます。
ビジュアルフィルタで行っている設定は、以下の3つです。
①明細の複製
②並び替え
③商品種別ごとの小計を算出

【①明細の複製】
小計一覧と、後述の明細リストでは、同じ明細に対してそれぞれ異なる処理をビジュアルフィルタで行う必要があります。
kintoneでは明細は1つのテーブルフィールドになっているため、
グループ複製コマンドを使って明細を複製することで、別々の処理をそれぞれに適用できるようにします。

【②並び替え】
手順③の小計算出のための下準備です。
例えば、明細の入力順が、「野菜→飲み物→野菜」といったように、バラバラだった場合、そのままでは商品種別ごとに集計できません。

この状態で小計を出すと、同じ商品種別が途中で分断されたまま集計されてしまいます。

k-Reportの「指定フィールドをキーに上から集計する」コマンドでは、明細を上から順番に見て種別が変わるタイミングで集計される仕組みのため、同じカテゴリがまとまっていないと、正確な小計が出せなくなります。
そこで、商品種別であらかじめ並び替えを行っておくことで、期待通りの小計出力ができるようになるというわけです。

【③商品種別ごとの小計を算出】
並び替えが済んだ明細に対して、
「指定フィールドをキーに上から集計する」コマンドを使って、商品種別が切り替わるたびに小計を算出します。

帳票出力時には「商品種別」と「金額」のみを使用するので、気にしなくてOKです。
集計をしたら、あとはk-Report上で表示するだけ!
ビジュアルフィルタの設定を保存することで、手順①で複製したテーブルの情報も、k-Report上で選択ができるようになります。

設定後、PDFを出力すると、以下のような出力結果になります。

これで1ページ目に表示する小計一覧が設定できました!
■ 2ページ目以降:商品種別ごとの明細リスト
2ページ目以降では、各商品種別に対応した明細行を展開して表示します。
ここにも小計行は含まれているため、
「どの明細が、1ページ目のどの小計に対応しているのか」がひと目でわかる構成になります。
また、商品種別ごとに明細をまとめて表示することで、
帳票全体が整理され、見たい情報をすぐに見つけられるすっきりしたレイアウトになります。
この明細リストのページで行っているビジュアルフィルタの設定は、以下の3つです。
①並び替え
②商品種別ごとの小計を算出
③おまけ:同じ商品種別をまとめて表示

【①並び替え】
1ページ目の小計一覧では、コピーした明細に対して処理を行いましたが、
ここでは元の明細データそのものに対して設定を適用します。
並び替えの目的は小計一覧と同様で、
同じ商品種別が連続して並ぶように整えておくことで、後続の小計処理が正しく行われるようにするためです。
【②商品種別ごとの小計を算出】
ここでは、「小計行を差し込み」コマンドを使用します。
小計一覧のときに使用した「指定フィールドをキーに上から集計する」コマンドでは、集計結果をk-Report上の任意の位置に差し込む形式で出力していましたが、今回使用する「小計行を差し込み」では、明細行の中に小計を自動的に挿入することができます。
商品種別が切り替わるタイミングで、対応する小計行が自動的に計算・挿入されるため、どの明細がどの金額にまとまるのかを視覚的に把握しやすくなります。

【③おまけ:同じ商品種別をまとめて表示】
明細の中に同じ商品種別の商品が複数ある場合は、「ヘッダライズ」コマンドを使用することで、表示をまとめることができます。
明細の視認性を簡単に高めることができるので、ぜひ試してみてください!

以上で、ビジュアルフィルタを用いたすべての設定が完了しました!
k-Report上で設定後、PDFを出力すると、以下のような出力結果になります。

明細と小計がカテゴリごとに整理された帳票が、意図通りに出力されているのが確認できました。
まとめ
今回は、k-Reportのビジュアルフィルタ機能を活用して、鑑を用いた帳票の設定方法をご紹介しました。
「1ページ目に商品種別ごとの小計」「2ページ目以降に各明細を展開」といった構成をとることで、見積書全体の見通しがよくなり、内容を把握しやすくなるというメリットがあります。
ビジュアルフィルタを使えば、明細の並び替えや小計の自動算出など、用途に応じた柔軟な出力が可能になります。
設定次第でさまざまな見せ方が実現できるので、今回のような鑑つき見積書以外にも、ぜひ色々なパターンで試してみてください!
弊社では初回開発無料の定額39万円でkintoneアプリを開発する定額型開発サービス「システム39」を提供しております。kintoneの導入やアプリ開発でお困りの方は、お気軽にご相談ください。
*Webでの打ち合わせも可能です。