Q&A

回答の並べ替え:
投稿新規に質問を投稿する

帳票のページの切り替え、ヘッダーなどについて

zoe7010 zoe7010

2019-11-07 16:32

こんにちは。アドバイスをいただきたく投稿させていただきます。

現在アプリを用いて、通知書のようなものを作成しようとしております。

やりたいこととして、1枚目に契約先などの情報がある表紙を作成、
2ページ目から契約の明細を記載したいと思っております。

2ページ目以降のページ上部すべてに、契約先などの情報があるヘッダーのようなものを2行ほど表示し、
さらに、契約の中にもグループがあるため、グループごとに、グループ情報を4行ほど表示後、その下に明細を出力したいと考えております。

最初は、グループごとにシートを出力するようにしていたのですが
できれば、1回の出力でできればと思って、試行錯誤しております。

その際、アクションの作成方法として、
〇回繰り返すアクションを用いて、グループ情報を除いた明細の出力に関しては
1ページに出力可能な回数を繰り返して、ヘッダーの行数分を足した行に再度出力を開始することで、
ヘッダーを飛ばして、明細を出力することができました。

グループと明細の出力項目が2個ある場合、
上記の方法がとれず、どのようにページを切り替えればいいかわからず、困っております。
契約毎にグループ数、明細数が異なるため、行数の指定などできず、
グループ情報が途中で切れてしまったり、その結果、ヘッダ部分がグループ情報によって
上書きされてしまうことを懸念しております。
グループごとにページが変わることは大丈夫ですので、
ヘッダの部分に、グループ情報を入れることも考えましたが
明細の数が多く、次ページまでに明細がまたがる場合もあるので、
その場合の表示について、悩んでいます。

質問がわかりづらく申し訳ございませんが、よろしくお願いいたします。

以前コミュニティで回答があった以下の方法も考えましたが
グループごとの切り替え方法がわからず、、、
下記の方法+グループごとに表示することができればできそうですかね?

帳票を作成している方で、なにか方法があればご教授いただけますでしょうか。

見積書など複数ページ(1枚目と2枚目が異なるレイアウト)の作成方法について
<https://developer.celf.biz/questions/4252/>

zoe7010 zoe7010
> Yexiongmao さん

ご回答いただきありがとうございます。

帳票の出し方は、みなさん苦労されているみたいですね、、、
いただいた方法で取り組んでみます!
ありがとうございました。
Yexiongmao Yexiongmao
メダルベストアンサー
こんにちは。

わたくしは以下のような考え方で作成しています。
ループを回して、先頭行からヘッダを出力し、明細行を明細が無くなるまで出力しますが、その際「データカウンタ」とは別に「出力行カウンタ」をインクリメントして現在行とします。
ヘッダ出力は別のアクションセットを作成して、メインのアクションセットから呼び出すようにします。

次のヘッダ出力の条件として、
①現在行がページの最終行。
②グループが変る(データはグループでソート済)

②の場合に「行カウンタ」を次のページの先頭に移行させ、そこからヘッダ出力→明細出力とします。

具体的には、まず、書式付きでヘッダーと明細を出力した場合のシートを改ページプレビューで、1ページの行数を確認します。

①現在行が最終行になると、「=MOD(現在行,1ページの行数)=0」がTRUEになりますので、ヘッダを出力します。
②明細データのグループが変わった場合、「行カウンタ」を次ページの先頭行にセットしてヘッダを出力します。
次ページの先頭行をセットするには、上の図(1ページが40行の場合)のような表を用意して、 =VLOOKUP(現在行,B2:C18,2,TRUE)とすれば次ページの先頭行が返ります。

以上のような方法でグループ別出力ができます。
アクションで改ページが入れらる機能があればもっと簡単になるのですが。