• 検索結果がありません。

項目内に全データを出力

ドキュメント内 MeFt V10.2 ユーザーズガイド (ページ 95-101)

第4章 印刷機能

4.13 矩形項目(帳票定義体)

4.13.12 項目内に全データを出力

レコードデータが矩形項目内に収まらない場合に、以下のどの動作を行うかを矩形項目のプロパティで指定することができます。

・ 指定なし

項目の範囲に収まるデータのみ出力します。

・ 文字ピッチなどを縮小して出力

行の高さや文字間隔を詰めたり、フォントを小さくして全データを出力します。

・ 縦幅を拡張して出力

項目の縦幅を拡張して全データを出力します。パーティションの下端まで拡張しても全データを出力できない場合、パーティショ

ンを拡張して出力するかどうかをパーティションのプロパティで指定可能です。パーティションが拡張できない場合、パーティション の下端まで項目の縦幅を拡張して出力可能なデータを出力します。

・ 縦幅の拡張および文字ピッチなどの縮小

項目の縦幅を拡張しても全データを出力できない場合、拡張後の縦幅に全データを出力できるように文字ピッチなどを縮小して 出力します。

4.13.12.1 文字ピッチなどを縮小して出力

定義された矩形項目のサイズに全データが収まるように文字間隔や行の高さ、文字サイズを自動調整する機能です。以下に述べる1.

~4.のいずれかの方法で調整を行います。

1. 文字ピッチを文字サイズと同じ幅になるまで縮小する。

文字ピッチが文字サイズより大きい場合に、文字ピッチを文字サイズと同じ幅になるまでに縮小し、全データを出力できるならば 文字ピッチを詰めて出力します。

図4.19 文字ピッチの縮小

2. 行の高さを縮小する。

行の高さが文字サイズより大きい場合に、行の高さを調整することで全データを出力できるならば行を詰めて出力します。最小 の大きさは文字サイズです。行の高さを文字サイズ未満にすることはありません。

図4.20 行の高さの縮小

3. 行の高さ、文字ピッチを文字サイズと同じ大きさまで縮小する。

1.と2.の両方の縮小を行います。

図4.21 文字ピッチと行の高さの縮小

4. 文字サイズを小さくする。

1.~3.のいずれでも全データを出力できない場合、文字サイズを小さくして出力します。その際の文字ピッチ、行の高さは小さく した文字サイズと同じです。文字サイズの縮小は3ポまで行われます。3ポでも全データを出力できない場合は出力可能なデー タだけを3ポで出力します。

図4.22 文字サイズの縮小

注意

縮小処理は文字データを均等に配置する機能ではないため、特にデータの文字数が多い場合など、各種縮小を行うことで矩 形項目の上の方に詰まって出力される場合もあります。

4.13.12.2 縦幅を拡張して出力

行の高さや文字ピッチ、文字サイズを変更することなく、項目やパーティションの縦サイズを拡張してデータをすべて出力する機能で す。

1. 項目のみ拡張する場合

以下のような場合、パーティションを拡張することなく項目の縦幅を拡張して出力されます。項目の縦幅は矩形項目のプロパティ で指定する「行の高さ」単位で拡張されます。

- 出力するデータがパーティションの下端までの範囲に収まる場合

- パーティションの拡張が許可されていない場合 図4.23 項目の拡張

パーティションの拡張が許可されていない場合の例を図に示します。

この場合、パーティション下端までに収まるだけの文字を出力します。

図4.24 項目の拡張(全データ出力できない場合)

2. パーティションも拡張する場合

定義されたパーティションの下端までに項目の全データが収まらない場合、パーティションのプロパティで「高さを拡張して出力」

がONであれば、拡張して全データを出力した矩形項目の下端がパーティションの下端となるようにパーティションを拡張してデー タを出力します。

図4.25 パーティションの拡張

[パーティションの拡張可能な範囲]

パーティションは、自由パーティション形式や集計表形式の場合は帳票定義体の下端まで、フリーフレーム形式の帳票定義体の 場合はフレームの下端まで拡張可能です。

プリンタ装置の制御でパーティション出力可能な下端情報を指定したパーティションの場合、指定位置まで拡張可能となります。

パーティション出力時に上記の拡張可能なサイズを超えた場合、以下のエラーが発生します。

- フリーフレーム形式以外の場合

パーティション拡張が発生した結果、拡張可能な下端を超える場合はMEFP_RC_MALINE(62)エラーで復帰します。段組が 指 定 さ れ て い る 場 合 、 最 終 段 で な い 場 合 に はMEFP_RC_ENDBLOCK(65)エ ラ ー で 復 帰 し ま す 。 た だ し 最 終 段 は MEFP_RC_MALINE(62)エラーで復帰します。

- フリーフレーム形式の場合

フレームの出力方向が「縦」のフレームではフレームの下端、「横」のフレームでは右端を超えると、リンクフレームがある場合は MEFP_RC_ENDFRAME(6C)エラーで、リンク先がある場合にはMEFP_RC_ENDFRAMELINK(6B)エラーで復帰します。

[パーティション罫線の連動]

拡張時、パーティションの下端に接する(罫線の縦の終了位置=パーティションの縦幅※)場合、パーティション罫線も連動します。

ただし、パーティションの縦幅が帳票定義体の行ピッチより小さい場合、パーティションが拡張してもパーティション罫線は連動せ ず、帳票定義体に定義された位置/サイズで出力されます。

※罫線の縦の終了位置とパーティションの縦幅の値はドット単位で一致している必要があります。帳票定義体の設計時には、その 表示上でこれらの値がインチ単位やミリメートル単位では一致している場合でもドット単位では微妙に異なっていることがあります。

その場合には罫線は連動しないので単位をドット単位に変更して一致させるようにしてください。

- 罫線

縦方向の開始位置または終了位置の下端に接している方が、拡張された位置に変わります。横線の場合、縦方向の開始位置 および終了位置の両方が変わります。

- 枠

拡張されたサイズ分拡張します。網がけが指定されている場合、網も拡張します。

下記の例では2番目のDEが矩形項目(「ディスプレイ」というデータ)の拡張により拡張されたため、パーティション下端に接するパー ティション罫線も連動して拡張されています。

図4.26 パーティション罫線の連動

[他の項目との関係]

拡張される矩形項目と同じパーティション上の他の項目は、定義された位置/サイズで出力されます。矩形項目の拡張と連動して 位置やサイズが変わることはありません。その結果、他の項目と重なって出力される場合があります。

図4.27 他項目との関連

ひとつのパーティション内で複数の矩形項目があり、それぞれがパーティションの縦幅を超えて拡張する場合、項目の下端が一番 下の項目が収まるようにパーティションを拡張します。

図4.28 複数の項目が拡張する場合

[余白について]

項目を拡張した場合でも、下端の余白は有効です。

従って、余白がパーティションに収まらないことによりパーティションが拡張されたり、余白が拡張可能な範囲を超えることで MEFP_RC_MALINE(62)、MEFP_RC_ENDBLOCK(65)、MEFP_RC_ENDFRAME(6C)、MEFP_RC_ENDFRAMELINK(6B)エ ラーとなる場合があります。

4.13.12.3 縦幅の拡張および文字などの縮小

拡張可能な範囲までに収まる場合には矩形項目を拡張します。収まらない場合は縮小を行います。縮小は、拡張した項目の大きさを 基準として行われます。

図4.29 縦幅の拡張および文字ピッチなどの縮小

パーティションのサイズが拡張する場合に利用者プログラムで注意すべき点があります。

固定パーティション(PH,PF)と浮動パーティション(DE)を定義した集計表形式の帳票定義体を例に説明します。

図4.30 パーティションの定義例

PHとPFの間にDEを複数出力する場合、DEの縦幅が固定なら、PH-PF間に出力できるDEの個数は固定であるため、DEの出力回数による 1ページの出力制御が可能です。

パーティション拡張によりDEの縦幅が可変の場合、レコードデータの内容によってパーティションの縦幅が変わる可能性があり出力可 能なパーティションの個数を特定することができないため、上記のように固定的な数値を使用した1ページの出力制御を行うことができ ません。

図4.31 パーティションの出力例

利用者プログラムでは、データ量によりパーティションが拡張することを想定する必要があります。例えば、データの最大バイト数をあら かじめ決めておくことで最大の拡張量を限定し、最大に拡張した場合に出力可能なパーティション個数分出力するなどの制御が必要 となります。

なお、プリンタ装置の制御で下端情報設定を実施することで、最大の拡張量を限定することなく制御することも可能です。

プ リ ン タ 装 置 の 制 御 で 下 端 情 報 設 定 を 実 施 し た 場 合 、 特 定 の 位 置 を 超 え て パ ー テ ィ シ ョ ン を 配 置 し よ う と す る と MEFP_RC_MALINE(62)、MEFP_RC_ENDBLOCK(65)、MEFP_RC_ENDFRAME(6C)、MEFP_RC_ENDFRAMELINK(6B)エラー を通知できるようになります。

例のような帳票定義体を使用する場合、以下の手順となります。

ドキュメント内 MeFt V10.2 ユーザーズガイド (ページ 95-101)