可変型の明細がある帳票を作成して出力した場合に、下記のように項目同士が重なって印字されたり、項目が配置した場所に正しく印字されていないことがあると思います。
今回はそういった場合の修正方法を紹介していきたいと思います。※可変型の明細がある帳票については「明細数が増減する帳票を作りたい(可変行)」を参照して下さい。
【正しく印字されている例】
【誤って印字されている例】
階層とは何か
SVFには階層というものがあります。階層構造は3段階となっていて、それぞれの階層により出力時の振る舞いが変わります。各項目がどの階層に属しているは左プロパティの[アイテム]→[階層構造]をクリックで確認することができます。
①階層なし:固定位置
②サブフォーム:固定位置に出力 サブフォームの移動や削除時に同時に動作する
③レコード:レコードと共に印字位置が移動する
フィールド階層の移動方法
また作成した項目が意図した階層に配置されているかは設計フォーム上からも確認することができますよ。今回はフィールド「購入日付」が明細レコードの階層に属しているかどうかという例で説明していきます。
現状の階層を確認する
正しい階層に属しているかどうかの確認方法として、「購入日付」をクリックして動かしてみた時に明細レコードの外に移動できるかできないかで判断することもできます。明細レコードの階層に「購入日付」が属していないと明細レコードの領域から「購入日付」を移動できてしまいます。
明細レコードの階層に「購入日付」が正しく属していると明細レコードから移動させよとしても明細レコードの領域から移動することができなくなっています。
階層を移動させる
次に、階層を正しく修正する方法を紹介していきます。まずは階層移動させたい項目をクリックし、左クリックでナビゲーターを表示させ、[階層移動]をクリックします。
階層移動画面が表示されるので、今回は明細レコードに移動させるので「明細」を選択し[OK]をクリックし画面を閉じます。
階層移動画面を閉じると、項目が自動的に選択した階層に移動していることが確認できます。
階層移動の方法は以上になります。
設計時のポイント
また設計時のポイントですが、固定文字やフィールドを新規作成する場合に予め配置したい階層の領域内で、固定文字やフィールドを作成することで意図してない階層に属されているということを回避することができるので設計の際にはその点に気を付けながら作成していくとより良いでしょう。
まとめ
もし設計した帳票を出力した時に「正しい位置に印字できない」「項目同士が重なって印字される」「帳票に項目が印字されていない」などといった場合には真っ先に項目の階層を疑ってみて下さいね。