始めの言葉

「プリンターから印刷できて当たり前」と、ユーザーからもSIerからも軽視されがちなプリンターの世界ですが、実際にはお困りだったり、思ったような印刷結果が得られないまま我慢してお使いの皆様のために、今までの経験が役立てばと、このブログを立ち上げました。印刷の基本から、応用情報、問題の解決方法を情報発信すると共に、PDF化など、これからどうするかについても、ご相談に乗れれば幸いです。ご質問はコメントでお寄せください。

2018年10月21日日曜日

MapDraw を使った帳票設計のテクニック 第14回 - 条件の設定 - 3 -

前回までは、フォーマット全体に対する条件設定でしたが、今回はフォーマット内部のゾーンに対する条件設定についてお話します。ゾーンの条件設定と言っても、単独に存在するゾーンと、グループ内に存在するゾーンでは、後者の方が細かい注意が必要になります。
今回もサンプルには、架空のベイトップ書房の見積書を使用します。この見積書は、あるお客様の見積書のスプールやデザインを元に、サンプル用に変更を加えたものなので、基本的な考え方は共通です。これから条件付けのお話しをするために使用する消費税に関するコメントも、そのお客様では連続用紙にドット・プリンターで印刷していた時代に使用していたものと同じです。つまり、ドット・プリンターに印刷していた時のアプリケーションには変更を加えずに、Mapping を使って新しい表現方法に変わっているということです。

そのお客様では、見積り金額を表示するに当たって、消費税込みの金額を使用する場合と消費税抜きの金額を使用する場合があります。そこで、見積書の表紙の事前印刷部分に、予め "上記の御見積り金額には消費税が含まれていません。" という文言を印刷しておきます。そして、消費税込みの金額を表示する場合には、スプール・ファイルの中の該当する場所に "*" を続けて配置して、プリンターが印刷する "*" によって上からその文言を打ち消すという方法が採られていました。
Mapping を使って、見積書を PDF ファイル化するに当たっては折角なので、直接 "上記の御見積り金額には消費税が含まれています。"、若しくは、"上記の御見積り金額には消費税が含まれていません。" という文言を表示するようにしたいという、お客様のご要望がありました。
そこで、具体的には次のようなゾーンの設計を行って、ご要望を実現しました。
なお、"*" が存在する場合には、20 行目の 34 桁目から始まるものとします。

1. 先ず、消費税が含まれる場合のゾーンを設計します。その場合は、スプール・データの中に "*" が含まれています。"*" は表示しないようにするために、"*" の無い、必ずブランクとなっている、21 行目の 34 桁目から 1 桁をゾーンに対応する桁の場所として指定します。
消費税が含まれる金額の場合のゾーンのプロパティ
 2. プロパティの画面には、"ゾーンの後に追加する文字" という欄があります。ここには、スプール・データには含まれない固定の文字列を記入できます。そこで、ここに "上記の御見積り金額には消費税が含まれています。" と入力します。

3. ゾーンのプロパティ画面の "条件" タブ画面で条件設定を行います。条件の設定項目自体は、前回までにお話ししたフォーマットの場合と同じです。このサンプルでは、次のように設定しています。
- There isn't : もし、無かったら
- in line 20 : 20行目
- between columns 34 and 34 : 34桁目
- the value 1 桁のブランク : 1 桁のブランク
以上から、20 行目の 34 桁目にブランクが無ければ、つまり何かデータがあったら実行するという設定になります。
もちろん、データは "*" であることが分かっていますので、次の設定でも良いわけです。
- There is : もし、あったら
- the value * : *
ゾーンの条件設定画面
3. 次に消費税が含まれない場合のゾーンを設計します。既に定義した消費税が含まれない場合のゾーンをコピーして、それを編集するのが簡単だと思います。その場合、編集する必要があるのは、次の項目です。
- ゾーン名 :  消費税なし
- ゾーンの後に追加する文字 : 上記の御見積り金額には消費税が含まれていません。
- There is : もし、あったら
あるいは、消費税ありと同じ条件のままとして、"論理ルール" 欄に "not 1" と設定します。
消費税が含まれない金額の場合のゾーンのプロパティ



ゾーンの条件設定画面

4. MapDraw では、ゾーンを重ねて配置できますので、上記の方法で設計した 2 つのゾーンを、次のように重ねて配置すると、同じ場所に "消費税込み" か、"消費税抜き" かのどちらかの文言を表示することができます。
MapDraw の MapF 画面
MapDraw のプレビュー画面








0 件のコメント:

コメントを投稿