★★★:よくある

以前「固定帳票と可変帳票とは?」の記事で、SVFで可変帳票のような複雑な帳票を作る設計方法に「レポートライター機能」があると紹介しましたが、読んでもらえましたでしょうか?まだという方は、まず先に読んでみてください。

固定帳票と可変帳票とは?

さて今回は、SVFの帳票制御に深く関わるレポートライター機能について簡単に紹介します。

情報量が多い帳票は見づらいですよね?帳票の役割の一つは情報の伝達なので見やすさが求められます。例えばこんなことってありませんか?
・このページは全体の何分の何ページ目だっけ?書いてくれたら分かりやすいのに。
・お客様単位で鑑ページと明細ページは分けて印刷したいんだよね。でもお客様単位の合計金額は鑑ページに出力して欲しいな。
・同じデータばっかり明細に並んでると見づらいよ。重複する値や罫線はいらないな。
・お客様番号順で確認したいんだけど。                             などなど

レポートライター機能ってなぁに?

そもそもレポートライターとはどのような機能なのでしょう?

仮にレポートライター機能がなかったら、総ページ数を印字する場合は明細行を数えて総ページ数を計算するプログラムを作らないといけないですし、長い品名の商品を印字するには、文字数を数えて改行するプログラムを作らないといけません。改行したら明細行数が変わりますので、総ページ数を再計算しないといけなくなりますね。
このように、プログラミングだと複雑になってしまう出力コントロールを自動で行い、見やすい帳票出力がかんたんに実現できるのがレポートライター機能になります。

レポートライター機能はデータから明細のデータ量や、あらかじめ指定されたキー項目の値の変化(例えばお客様番号が変わったなど)を確認し、値の変化に応じて動作をコントロールすることができます。そのキー項目の値が変化することを「キーブレイク」といい、キーブレイクによって改ページ・明細のソート・グルーピングや、小計・合計を出力したりできます。

レポートライター機能の主な特徴

レポートライター機能を使うと次のようなことが簡単にできてしまいます。

  • データのソート出力(降順、昇順設定可能)
  • キーブレイクによる改ページ制御
  • 品名などが変わったタイミングでヘッダ行や小計行を挿入
  • 先頭ページのみ、最終ページのみ、グループの最後だけ、文字を印字する
  • くり返される明細行では、エクセルのセル結合のように見やすく表示
  • 累計値のクリア(売上合計金額などをお客様番号が変わった際にクリアする)
  • キーブレイクのタイミングででページ番号を1からふり直し         などなど・・・

SVFが複雑な帳票をかんたんに作れるのは、レポートライターがデータによって動作を変化させてくれているからなのです。

残念ながらここで、すべての機能を紹介することができません。これ以外にも、色々な設定をすることで柔軟な帳票を作成することができるのがSVFの長所です。SVFを使えば、ほぼ出力できない帳票はないはず!?(でも日本の帳票の種類は幅が広いからなぁ・・・でも、それに答えるのがSVFですよね!)

このような細かなご要望を実現するのが、「レポートライター機能」です!

WingArc TECH BLOG では、「SVFX-Designer」や 「SVF Cloud Designer」のコーナーで、レポートライターを使った色々な設計Tipsをご紹介しています。是非参考にしてくださいね。

購入日の月毎に改ページして帳票を出力したい

明細数が増減する帳票を作りたい(可変行)

レポートライター機能が苦手な帳票

レポートライター機能は、とても賢くいろんな帳票を作成することができますが苦手なこともあります。それは、一つの帳票内で複数のレポートライター機能(明細行)を別々に動作させることです。苦手なことは、おおまかに言えばにこれだけです。

レポートライター帳票出力サンプル

レポートライターで出力した帳票を見てみたいという人には、こちらにレポートライターを使った帳票出力のデモサイトがありますので、「実行」をクリックして実際にPDFを出力してみてください。(出力する得意先コードや得意先を変更することによって、明細部分が変化していることを確認できます)

レポートライター機能を使った帳票デザインサンプル

いかがでしたでしょうか?SVFのレポートライター機能を使って出力された帳票は皆さんの身近に沢山あります。帳票を見るときに、「この帳票はレポートライターを使っているのかな?」と思いを巡らせてもらえたら嬉しいです。

普通ではできないと思いがちな帳票も、テクニックを駆使することで実現できることがありますので諦める前に是非、弊社のサポートチームまでご相談ください。