ファイルメーカーの開発のヒント(初心者向け編)「ポータルを使ってみよう!(印刷編)」

2012年05月16日 08:55 PM

ファイルメーカーのTips


今回はポータルを利用し、定型フォーマットで印刷する方法をご紹介します。

※ここでいきなり読み始めた方は、よく分からないかもしれません。 よろしければ、過去の内容をご覧くださいませ。

1回目:ファイルメーカーの開発のヒント(初心者向け編)「ポータルを使ってみよう!」
2回目・ファイルメーカーの開発のヒント(初心者向け編)「ポータルを使ってみよう!(挿入編)」
3回目・ファイルメーカーの開発のヒント(初心者向け編)「ポータルを使ってみよう!(削除編)」

 

ポータル行を印刷する場合、 最大行数が決まっているなら、入力画面と同様のレイアウトを用意すればいいのですが 行数が多くなる場合は困ってしまいますね。

「ポータルのテーブルを元にして、リスト表示で印刷」という手もありますが 今回は入力画面と同じような見た目で、行が増えたときには複数枚印刷される方法を ご紹介します。(あくまで、一例ですので参考までにお読みください) 印刷イメージは下図のようになります。 (左1P目、右2P目)

※フォーマットは同じですが、各ページは25行までなので、 26行以降は2P目に印刷されています。

 

では、実際につくってみましょう!

1. 見積明細テーブルに「ページ」フィールドを作成します。
今回は計算タイプで作成し、下記の計算式を設定します。 Ceiling ( 行番号 / 25 )

25で割って切り上げた結果を返すので、その行が何ページに表示されるのか を取得できます。

2. 見積テーブルに「印刷ページ_g」フィールドを作成します。
数字タイプでグローバルに設定します。

3. 印刷用のリレーションを作成します。
見積明細のテーブルオカレンスを追加し、「出力_見積明細」とします。
(キーは 見積書ID⇔見積書 と 印刷ページ_g⇔ページ )

設定はここまででOKです。

 

また、印刷用のレイアウトですが、見た目は入力画面と同じに見えますが ポータルのテーブルオカレンスが 「出力_見積明細」 となります。

 

では、印刷するスクリプトを作成しましょう。

考え方としては

印刷ページ_gを 1 に設定して印刷
印刷ページ_gを 2 に設定して印刷
印刷ページ_gを 3 に設定して印刷


という風に1ページずつ印刷していきます。
ただし、このままだと永遠に印刷し続けるので 明細の行数から何ページあるのかをあらかじめ算出しておき
印刷ページ_gがそれを超えたらストップするように設定します。 スクリプトを見てみましょう。

 

印刷フォーマットは、1ページ目を今回ご紹介したような形にし、2ページ目以降を明細のみにする ということも可能ですので、是非チャレンジしてみてください。

また、今回のフォーマットでは、お見積り金額は1ページ目のみに表示し、 2ページ目以降は「****」と表示されるようにしましたが、これらは計算式や、条件付書式などを 使って表示が変わるようになっています。

ぜひ、いろいろ工夫して、美しいフォーマットを作ってください!