10-1 帳票フォーム書式
納品書や請求書の印刷形式を指定するには帳票フォームを記述する必要があります。帳票フォームは一つの帳票の書式を定義したテキストファイルです。メモ帳等のテキストエディタで作成できます。
10-1-1 一般規則
帳票フォームの拡張子は .Rs5 です。
帳票フォームは会社設定フォルダに保存して下さい。
帳票フォームで各行の「'」以降は注釈となります。
語句の前後の空白はいくつでも構いません。
エディタのTab間隔は4文字を推奨します。
10-1-2 用紙
印刷スクリプトは1枚の複数のページがあるような用紙をサポートしています。
また各頁には複数列の明細を持つことができます。
1つの物理的な用紙をシート、シート上の各頁を面と呼びます。
シート上の頁は①②③④の順に印刷されます。
頁上の明細は1.2.3.4の順に印刷されます。
10-1-3 セクション構成
スクリプトは次の10のセクションより構成されます。
1. データセクション
2. 用紙セクション
3. フォントセクション
4. ペンセクション
5. ブラシセクション
6. ピクチャセクション
7. オプションセクション
8. 初期値セクション
9. 頁印刷セクション
10. 明細印刷セクション
セクションの順序は不同ですが、なるべくこの順に記述して下さい。
1セクションは1つのスクリプトで1つだけ記述できます。
セクションの始まりは [セクション名] ではじまります。
1~7の各セクションにはセクション記述を書きます。
セクション記述は
キー名 = 値1, 値2, ....
の形式です。
9~10のセクションはMyBasic言語による印刷内容の定義です。
1. データセクション
このスクリプトで使用する外部データを記述します。
セクション名はデータです。
Raiser以外の外部データを印刷したい場合などに使用します。
外部データが不要の場合は省略可能です。
データとして利用できるファイルは現在
1.ヘッダなしCSVファイル
2.ヘッダ付きCSVファイル
の2種類のみです。
ヘッダ付きの場合はヘッダ項目内容が各列の項目名になります。
ヘッダ無しの場合はA,B,C....が各列の項目名になります。
(注)このセクションはRaiser以外のデータを印刷するためのものです。
現在は未対応です。
○記述例
[データ]
形式 = HCSV ' CSV:ヘッダ無しCSV HCSV:ヘッダ付CSV
ファイル = C:\Data\宛名.CSV ' データファイル名
2. 用紙セクション
このスクリプトで使用する用紙の形式を記述します。
セクション名は用紙です。
用紙名 | 使用する用紙の説明です。 (例)用紙名 = 宛名ラベル |
用紙サイズ | 用紙サイズをA4 ' A2, A3, A4, A5, B4, B5, はがきより選んで下さい。現バージョンでは実行時の印刷設定で選ばれる用紙が優先されますので、上記の用紙サイズにない場合は近い用紙を選んでおいて下さい。 (例)用紙サイズ = A4 |
用紙方向 | 縦または横を選んで下さい。 (例)用紙方向 = 縦 |
座標単位 | 印字位置指定のための座標の単位を指定します。0:インチ 1:ミリ 2:グリッドより番号で選んで下さい。グリッドは任意の大きさに設定できる座標単位で、次のグリッドで設定します。 (例)座標単位 = 2 |
グリッド | 座標単位にグリッドを指定した場合のグリッドの大きさを指定します。インチあたりのグリッド数を指定します。水平方向、垂直方向別にしていします。 (例)グリッド = 1/10, 1/6? '(水平方向は1/10インチ、垂直方向1/6インチ) |
用紙マージン | 印字位置のオフセットを指定します。座標単位で指定します。左マージン、上マージンで指定します。 (例)用紙マージン = 1.5, 1.3 |
面サイズ | 1シートに複数頁がある場合に、一つの面の大きさを指定します。面の大きさは隣の面との間隔で指定します。横方向、縦方向の順で指定します。 (例)面サイズ = 9.5, 5.4 |
面数 | 1シートに複数頁がある場合に、面の数を指定します。横方向、縦方向の順で指定します。 (例)面数 = 2, 5 |
明細位置 | 最初の明細の位置を座標単位で指定します。最初の明細の領域の左上の座標です。 (例) 明細位置 = 0, 10 |
明細サイズ | 1つの明細領域の大きさを指定します。明細領域の大きさは隣の明細領域との間隔で指定します。横方向、縦方向の順で指定します。 (例)明細サイズ = 9, 0.8 |
明細数 | 1頁の明細数を指定します。列数,行数,先頭頁減少行数,末尾頁減少行数の順で指定します。 先頭頁減少行数は最初の頁にヘッダ情報等を印刷するために明細行が減る場合に指定します。 末尾頁減少行数は最後の頁にフッタ情報等を印刷するために明細行が減る場合に指定します。 (例)明細数 = 2, 40, 0, 0 |
印刷開始位置 | 1シートに複数頁がある場合に、途中の面から印字する場合に面番号で指定します。 0を指定すると実行時の印刷設定で指定できるようになります。 (例)印刷開始位置 = 1 |
印刷部数 | 印刷部数を設定します。 0を指定すると実行時の印刷設定で指定できるようになります。 (例)印刷部数 = 1 |
3. フォントセクション
このスクリプトで使用するフォントを記述します。
セクション名はフォントです。
8つのフォントまで使用できます。
フォント記述は
フォントn(1~8) = フォント名,ポイント,修飾1,修飾2...
です。
ポイントは1/10ポイント単位です。
修飾は BOLD, ITALIC, UNDERLINE, STRIKEOUT の組み合わせです。
縦書きの場合はフォント名の前に@を付けて下さい。
○記述例
[フォント]
フォント1 = MS明朝, 11
フォント2 = MSゴシック, 11, 0.5
フォント3 = MS明朝, 11, 0, BOLD, ITALIC
4. ペンセクション
このスクリプトで使用するペンを記述します。
セクション名はフォントです。
8つのペンまで使用できます。
ペン記述は
ペンn(1~8) = スタイル, 幅, 色指定
です。
スタイルは SOLID, DASH, DOT, DASHDOT, DASHDOTDOT のいづれかです。
幅は1/1000インチ単位で記述します。
色指定は(RED,GREEN,BLUE)で記述します。
○記述例
[ペン]
ペン1 = SOLID, 20, RGB(0, 0, 0)
ペン2 = DASH, 1, RGB(128, 255, 255)
ペン3 = DOT, 1, RGB(128, 255, 255)
5. ブラシセクション
このスクリプトで使用するブラシを記述します。
セクション名はフォントです。
8つのブラシまで使用できます。
ブラシ記述は
ブラシn(1~8) = スタイル, 色指定, ハッチ
です。
スタイルは SOLID, NULL, HATCHED のいづれかです。
色指定は(RED,GREEN,BLUE)で記述します。
スタイルは HORIZONTAL, VERTICAL, FDIAGONAL, BDIAGONAL, CROSS, DIAGCROSS のいづれかです。
○記述例
[ブラシ]
ブラシ1 = SOLID, RGB(128, 255, 255)
ブラシ2 = SOLID, RGB(128, 255, 255)
ブラシ3 = HATCHED, RGB(128, 255, 255), CROSS
6. ピクチャマップセクション
このスクリプトで使用するピクチャを記述します。
セクション名はフォントです。
8つのピクチャまで使用できます。
ピクチャ記述は
ピクチャn(1~8) = ファイル名
です。
○記述例
[ピクチャ]
ピクチャ1 = C:\Projects\PrintStudio\Data\yahoo.bmp
ピクチャ2 = C:\Projects\PrintStudio\Data\norika.bmp
7. オプションセクション
呼び出し側で使用するオプションを設定します。
セクション名はオプションです。
使用できるオプションはプログラムにより規定されます。
形式は
オプション名 = 数値定数
です。
現在は請求書及び元帳でのみ設定可能で、次のオプションがあります。
明細印刷順序 | 0:日付順 1:支店順 2:発送先順 3:車番順 |
発生明細 | 0:印刷しない 1:印刷する |
内訳合計 | 0:印刷しない 1:印刷する |
内訳明細 | 0:印刷しない 1:印刷する |
消費税 | 0:印刷しない 1:印刷する |
軽油税 | 0:印刷しない 1:印刷する |
記事 | 0:印刷しない 1:印刷する 2:売上明細の横に印刷 |
備考 | 0:印刷しない 1:印刷する |
決済明細 | 0:印刷しない 1:印刷する |
発生伝票計 | 0:印刷しない 1:印刷する |
決済伝票計 | 0:印刷しない 1:印刷する |
日計 | 0:印刷しない 1:印刷する |
期間合計 | 0:印刷しない 1:印刷する |
発送先ヘッダ | 0:印刷しない 1:印刷する |
発送先合計 | 0:印刷しない 1:印刷する |
支店ヘッダ | 0:印刷しない 1:印刷する |
支店合計 | 0:印刷しない 1:印刷する |
現金取引 | 0:印刷しない 1:印刷する |
8. 初期値セクション
ユーザ定義の変数とその初期値を設定します。
セクション名は初期値です。
ユーザ定義の変数は(9).頁印刷セクションおよび(10).明細印刷セクションでも定義できますが、このセクションで定義すると、印刷ダイアログで初期値を変更することができます。
形式は
変数名 = 文字定数
または
変数名 = 数値定数
です。
9 頁印刷セクション
各頁毎に行う印刷処理をMyBasic言語を用いて記述します。
セクション名は頁印刷です。
○記述例
[頁印刷]
If Preview = True Then
DrawPicture -5, -0.8, 85, 21, 1
End If
SetFont 1, 0, 1
Print 3, 0, Format(伝票番号, "999999")
Print 59, 0, Format(取引日の年, "ZZ")
Print 63, 0, Format(取引日の月, "ZZ")
10 明細印刷セクション
各明細行毎に行う印刷処理をMyBasic言語を用いて記述します。
セクション名は明細印刷です。
○記述例
[明細印刷]
SetFont 1, 0, 1
Print 0, 0, Left(商品コード, 6)
SetFont 1, 0
Print 7, 0, 商品名