EURで提供しているサンプルを使用して,複数様式での帳票出力例を示します。
サンプルは,次に示すフォルダに格納されています。
「請求書」は,「表紙次紙形式の帳票_表紙」と「表紙次紙形式の帳票_次紙」の2様式を一組にして出力します。
サンプル帳票「請求書」を出力したときの一組の出力例を次に示します。
図1-6 サンプル帳票「請求書.fms」の出力例(1ページ目)
図1-7 サンプル帳票「請求書.fms」の出力例(2ページ目)
「表紙次紙形式の帳票_表紙」は必ず出力しますが,「表紙次紙形式の帳票_次紙」は,「表紙次紙形式の帳票_表紙」に納まらなかったデータを出力します。請求先のデータが変わるまで「表紙次紙形式の帳票_次紙」に出力します。請求先のデータが変わった時点で「表紙次紙形式の帳票_表紙」に戻ります。
ページ番号は,2様式を通して請求先ごとのページ番号(n/m形式)を出力します。請求先のデータが変わった時点で,「表紙次紙形式の帳票_表紙」は「1/m」に初期化されます。
サンプル帳票「請求書」を出力する手順を次に示します。
group 1 {
formtransfercondition {
keybreaktopform=ON …フィールド「請求書番号」が
キーブレイクしたら,
先頭の様式(表紙)に戻ります
このとき,ページ番号を
初期化します
fieldname="請求書番号"
}
formfilename "表紙次紙形式の帳票_表紙(複数様式帳票例1).fms" {
transfercondition=NPNF …表紙を1ページ出力すると
次紙に移ります
printnewpaper=OFF ※
resetpagenumber=ON …次紙から表紙に戻ったとき,
ページ番号を初期化します
}
formfilename "表紙次紙形式の帳票_次紙(複数様式帳票例1).fms" {
transfercondition=KBNF …キーブレイクしたら,
表紙に戻るようにします
printnewpaper=OFF
resetpagenumber=OFF …表紙からの続きのページ番号を
出力します
}
}
図1-8 サンプル帳票「請求書.fms」の両面印刷時の出力例
apgrpt /l print
/mrs "C:¥TEMP¥formset01(複数様式帳票例1).txt"
/mfd "C:¥TEMP¥formdef01(複数様式帳票例1).txt"
「従業員勤務歴カード」は,「従業員勤務歴カード[I]」と「従業員勤務歴カード[I](続き)」の2様式と,「従業員勤務歴カード[II]」の1様式を合わせて一組にして出力します。
サンプル帳票「従業員勤務歴カード」を出力したときの一組の出力例を次に示します。
図1-9 サンプル帳票「従業員勤務歴カード[I]」の出力例
図1-10 サンプル帳票「従業員勤務歴カード[I](続き)」の出力例
図1-11 サンプル帳票「従業員勤務歴カード[II]」の出力例
サンプル帳票「従業員勤務歴カード」は,従業員番号ごとに一組の帳票を出力します。
「従業員勤務歴カード[I]」は必ず出力しますが,「従業員勤務歴カード[I](続き)」は,「従業員勤務歴カード[I]」に納まらなかったデータを出力します。従業員番号のデータが変わったとき,「従業員勤務歴カード[II]」の様式に移るようにします。「従業員勤務歴カード[II]」の出力で従業員番号のデータが変わった時点で「従業員勤務歴カード[I]」に戻ります。
ページ番号は,3様式を通して従業員番号ごとのページ番号(n/m形式)を出力します。従業員番号のデータが変わった時点で,「従業員勤務歴カード[I]」は「1/m」に初期化されます。
サンプル帳票「従業員勤務歴カード」を出力する手順を次に示します。
図1-12 従業員勤務歴1(複数様式帳票例2).fmsの出力例
図1-13 従業員勤務歴1-次紙(複数様式帳票例2).fmsの出力例
図1-14 従業員勤務歴2(複数様式帳票例2).fmsの出力例
図1-15 サンプル帳票「従業員勤務歴カード」を印刷した場合の出力例
group 1 { …「従業員勤務歴カード[I]」と,
「従業員勤務歴カード[I](続き)」の
様式グループです
grouptransfercondition {
transfercondition=KBNF …二つの様式は,
フィールド「従業員番号」が
キーブレイクしたら,
様式を切り替えます
fieldname="従業員番号"
}
formfilename "従業員勤務歴1(複数様式帳票例2).fms" {
transfercondition=NPNF
…従業員勤務歴1が出力されると
次紙に移ります
次紙を出力しないで済む場合は
group 2の従業員勤務歴2に移ります
printnewpaper=OFF ※
resetpagenumber=ON …従業員勤務歴1を出力するときは,
ページ番号を初期化します
}
formfilename "従業員勤務歴1-次紙(複数様式帳票例2).fms" {
transfercondition=KBNF …フィールド「従業員番号」が
キーブレイクしたら,
従業員勤務歴2に移ります
printnewpaper=OFF
resetpagenumber=OFF …従業員勤務歴1からの
続きのページ番号を出力します
}
}
group 2 { …「従業員勤務歴カード[II]」の
様式グループです
grouptransfercondition {
transfercondition=KBNF …フィールド「従業員番号」が
キーブレイクしたら,group 1の
従業員勤務歴1に戻ります
fieldname="従業員番号"
}
formfilename "従業員勤務歴2(複数様式帳票例2).fms" {
transfercondition=KBNF
printnewpaper=OFF
resetpagenumber=OFF …従業員勤務歴1,または次紙からの
続きのページ番号を出力します
}
}
図1-16 サンプル帳票「従業員勤務歴カード」を両面印刷した場合の出力例
apgrpt /l print
/mrs "C:¥TEMP¥formset02(複数様式帳票例2).txt"
/mfd "C:¥TEMP¥formdef02(複数様式帳票例2).txt"
「保険申込書」は,「保険申込書」,「保険申込書_代理店控」,および「保険申込書_契約者控」の3様式を一組の連票形式にして出力します。
サンプル帳票「保険申込書」を出力したときの一組の出力例を次に示します。
図1-17 サンプル帳票「保険申込書」の出力例
図1-18 サンプル帳票「保険申込書_代理店控」の出力例
図1-19 サンプル帳票「保険申込書_契約者控」の出力例
サンプル帳票「保険申込書」は,契約者ごとに一組の帳票を出力します。「保険申込書」,「保険申込書_代理店控」,「保険申込書_契約者控」の順に一組の帳票を出力したあと,次の契約者の帳票を出力します。
ページ番号は,3様式を通して契約者ごとのページ番号(n/m形式)を出力します。契約者のデータが変わった時点で,「保険申込書」は「1/3」に初期化されます。
サンプル帳票「保険申込書」を出力する手順を次に示します。
図1-20 保険申込書(複数様式帳票例3).fmsの出力例
図1-21 保険申込書_代理店控(複数様式帳票例3).fmsの出力例
図1-22 保険申込書_契約者控(複数様式帳票例3).fmsの出力例
group 1 {
formfilename "保険申込書(複数様式帳票例3).fms" {
transfercondition=KBNF …キーブレイクしたら,
group 2の代理店控に移ります
printnewpaper=OFF
resetpagenumber=ON …保険申込書を出力するときは,
ページ番号を初期化します
}
}
group 2 {
formfilename "保険申込書_代理店控(複数様式帳票例3).fms" {
transfercondition=KBNF …キーブレイクしたら,
group 3の契約者控に移ります
printnewpaper=OFF
resetpagenumber=OFF …前の様式からの続きのページ番号を
出力します
}
}
group 3 {
formfilename "保険申込書_契約者控(複数様式帳票例3).fms" {
transfercondition=KBNF …キーブレイクしたら,
group 1の保険申込書に戻ります
printnewpaper=OFF
resetpagenumber=OFF …前の様式からの続きのページ番号を
出力します
}
}
apgrpt /l print
/mrs "C:¥TEMP¥formset03(複数様式帳票例3).txt"
/mfd "C:¥TEMP¥formdef03(複数様式帳票例3).txt"