見積書や請求書で明細がとても長くなるケースがあります。


gusuku Customineの、やること「Excelを出力する」「PDFを出力する」(画面のカスタマイズ)や、やること「Excelを出力する」「PDFを出力する」(Job Runner)では、Excelでテンプレートを作るので、もし明細が長くなってしまう帳票出力でも、Excelのページ設定オプションにある印刷タイトルの設定を行う事で、2ページ目以降の出力ページにもヘッダを含めた明細が作れます。


Excelの行ヘッダで作成する場合

長い明細をExcelの印刷タイトル設定を使って出力すると、次のような形になります。


※Excelの印刷タイトル設定については 印刷される各ページで特定の行または列を繰り返す - Microsoft サポート を併せてご覧ください。


gusuku Customineで複数のレコードやテーブル行、関連レコードを出力する場合には「$FOREACH~$END」という指示を使いますので、明細を出力する部分では、$FOREACH〜$ENDを使って次のように出力しています。


この方法でも複数ページには綺麗に出せるのですが、合計と一番下にある備考欄は見てもらいやすいように1ページ目に出したいということはよくあると思います。


ただ、そのような場合は、Excelの印刷タイトル設定だけではうまくできません。

この場合、やりたいことは次のようになります。

  • 1ページ目に出す明細は、決まった行数だけにして、その下に合計や明細を出したい

  • 残りは2ページ目に全て出したい


出力する行の範囲を指定する方法

この$FOREACHには出力する範囲を指定する機能があります(この機能をスライスと呼んでいます)。

スライスを使うと、以下のような指定ができます。

  • $FOREACH(0..9)


これは1件目から10件目まで出力するという意味の指定になります。この時、開始が0からであることに注意してください。


テーブルや関連レコードの場合は、どのテーブルや関連レコードを出すかを指定しないといけないので、次のようになります

  • $FOREACH(テーブル名)(0..9)

  • $FOREACH(関連レコード名)(0..9)


「..」の前後の数字は、省略することが可能で省略すると「全て」の意味になります。ですので「5..」と指定すると、6行目から後ろ全てという指定になります。


スライスを利用した出力

このスライスを使うと、最初の例の見積書出力を次のように変えることができます。


スライスを利用することで、1ページ目に10行、2ページ目にそれ以降の明細を出力しています。

※2ページ目に10行以降の明細を出力する場合は、 $FOREACH(10..) となります。


テンプレートでは、スライスを使って、出す行を制御しています。


1ページ目を出力するFOREACHの例

具体的な$FOREACH~$ENDの例は次のようになります。


なお、テンプレート全体だと次のようになります。


2ページ目以降を出力するFOREACHの例

具体的な$FOREACH~$ENDの例は次のようになります。


なお、テンプレート全体だと次のようになります。


スライスの活用方法

見ていただいたようにスライスは自在に出力する範囲を制御できるため、1ページ目と2ページ目でレイアウトが変わるような帳票を実現したい場合に、便利にご活用いただけます。


さらに、このスライスは、レコードやテーブル、関連レコード以外にも、チェックボックス、ユーザー選択、組織選択、グループ選択にも使えます。例えば、ユーザー選択の1人目だけを代表者として特定の項目に出力して、2人目以降をメンバーとして別の項目に出力するなんてことも可能です。


加えて、このスライスは、文字列複数行にも使うことができ、スライスすると文字列を行ごとにバラバラにできます。


スライスはかなり応用がきく機能ですので、みなさんぜひ活用してください!


(補足)他の明細表の出力方法

明細表の行を常に固定数の表示としたい場合は、テーブルを明細表にして帳票出力したい を参考にテンプレートを作成してください。


おわりに

見積書や請求で明細がとても長いケースにおいて、gusuku CustomineのExcel/PDF出力でのレイアウト設定例についてご説明しました。どうだったでしょうか?


Customineドキュメントサポートページもぜひご活用ください。

また、ご不明点等ございましたら、チャットにてご質問ください!