SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

5分でわかるActiveReports帳票

5分で"もっと"わかるActiveReports帳票(2008年度版)-帳票完成時にチェックしておきたいポイント集

第3回 テスト時に気をつけたい印刷物のチェックポイント

  • このエントリーをはてなブックマークに追加

改ページとセクションレイアウトのテスト

 出力項目1つ1つの確認が終わったら、次は「各セクションの配置と改ページ制御のテスト」に移ります。

 標準出力へ結果を書き出す「コンソールアプリケーション」や、出力したHTMLをWebブラウザ表示する「Webアプリケーション」とは異なり、帳票アプリケーションの出力には「ページ」という概念を考慮に入れなければなりません。

セクションのページ分割を避ける

 ActiveReportsでは1件分のデータを出力する単位として「Detailセクション」が使われますが、この他にもDetailセクションに列ヘッダを付与したり、グループ単位で集計結果を出力するための各種ヘッダ、フッタセクションも用意されています。

 ヘッダ・フッタセクションには1回だけ出力される「レポートヘッダ・フッタ」、毎ページの先頭・末尾に必ず出力される「ページヘッダ・フッタ」、Detailセクションの集計単位で出力される「グループヘッダ・フッタ」の3種類があります。

 ActiveReportsでは出力先の用紙サイズに合わせてこれらの各セクションを配置していきますが、ページの残りサイズが少ない場合は1つのセクションが途中で改ページされ、2ページに分割されてしまいます。セクション途中の改ページを避けるには、各セクションのKeepTogetherプロパティをTrueにします。

セクションが分割されてしまった例(商品説明が次ページへ持ち越されている)
セクションが分割されてしまった例(商品説明が次ページへ持ち越されている)

ページ下部の余白を避ける

 各セクションのKeepTogetherプロパティをTrueに設定すると、1つのセクションが2ページに分割されるのを避けることができます。しかしこの方法でセクション分割を避けると、各ヘッダ、フッタセクションの高さやDetailセクションの数によっては、ページの下部に余白ができてしまうことがあります。

 帳票の要件によっては、このような余白は好まれないこともあります。特に罫線の多い帳票では余白の領域が目立つため、出力ミスのように見えてしまうこともあります。

セクションの高さによっては、ページ下部に余白ができる(2ページ目のページフッタ上)
セクションの高さによっては、ページ下部に余白ができる(2ページ目のページフッタ上)

 改ページによる余白の発生を避けるには、できるだけ各セクションの高さを揃え、各ヘッダ・フッタの出現回数やDetailセクションの出力数によってページの「あまり」が発生しないように工夫する必要があります。同時に、各セクションは高さを固定し、出力データの文字列長にあわせてコントロールが拡張されないように設定してください。

セクションの高さをそろえて、余白を減らす
セクションの高さをそろえて、余白を減らす

 このようにセクションを調整したうえで、ヘッダ・フッタの出現パターンを網羅したテストケースを作成して、1つ1つ確認していきます。

ページの先頭に来るヘッダセクションの組み合わせ例
  • レポートヘッダ+ページヘッダ
  • ページヘッダ+グループヘッダ
  • ページヘッダのみ
ページの末尾に来るフッタセクションの組み合わせ例
  • ページフッタのみ
  • グループフッタ+ページフッタ
  • レポートフッタ+ページフッタ
  • グループフッタ+レポートフッタ+ページフッタ

 この他、Detailセクションの件数がゼロ件のときに発生する「ヘッダだけのセクション」や「フッタだけのセクション」、改ページ制御のミスが原因で発生する「白紙の出力ページ」がないかも確認してください。

次のページ
印刷のテスト

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
5分でわかるActiveReports帳票連載記事一覧

もっと読む

この記事の著者

宮本奈紗(ミヤモトナサ)

株式会社システムインテグレータ ERPソリューション部所属。ERPシステムの設計・開発に従事。業務でActiveReportsを使用。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

渡辺俊史(ワタナベトシフミ)

株式会社システムインテグレータ パッケージ開発部所属。ECサイト構築パッケージの設計・開発に従事。VSUG(Visual Studio User Group) データベース・データアクセスフォーラムリーダー。blog...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/2618 2015/06/04 12:59

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング