[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[orca-dev:00016] Dia の改良について



開発スタッフの西田と申します。

これまで内部のメーリングリストで意見交換していましたが、
orca-dev に移動していきます。(伊藤さん、読んでおられる
でしょうか?)

Dia による帳票作成を改良しようという件についてまとめました。

問題点
------

Dia で帳票を作成し、そこから関連ファイル(*.def, *.inc)が
生成されているが、生成後のファイルを手作業で修正する必要が
あるため、効率が悪くなっている。

手作業による修正後、再び Dia で帳票に手を入れた場合、
関連ファイルを生成し直すとデータの並びが変わってしまい、
また手作業で修正し直さないといけないことがある。

この手間が膨大であり、それだけで半日を要することがある。

改善案 1
--------

手作業による修正の必要がなくなるよう、全てを自動生成出来る
ように Dia を改良する。

これを行なうには、Dia に対して比較的大きな拡張が必要となり、
早くとも一ヶ月は掛かると思われる。長期的にはその方向で検討
する価値はあるが、現時点では保留とする。

改善案 2
--------

これまでとは逆の発想で、関連ファイルは手作業で作ることを
前提とし、そのファイルを Dia から読み込んで利用する。

具体的な手順は次の通り。

1. 原則的に、*.inc は手作業で用意する。例えば次のような
   帳票を作るのであれば、

   T01:
   +---------------+
   | Name          |
   +-------+-------+
   | Item1 | Item2 |
   +-------+-------+

   次のような T01.inc を作成する。

   ----------------------------------------
   01 T01.
     03 NAME PIC X(8).
     03 ITEM PIC X(4) OCCURS 2.
   ----------------------------------------

2. 1 で作成したファイルを、Dia から読み込む。全部で三つの
   データ項目があるが、それぞれに次のような ID を自動で割り振る。

   NAME
   ITEM_1
   ITEM_2

   この ID に基づき、T01.def は自動生成する。

3. ID リストを Dia の画面上に表示するようにし、帳票のどの場所に
   埋め込むかを指定する。

生成される ID と、現在の *.dia で定義されている ID とが異なって
いる場合、既存の帳票ファイルについては ID を振り直してやる必要が
ある。

現在の仕様と互換を持たせることも出来なくはないので、移行作業が
大変なようであれば互換性を持たせるようにする。

改善案 3
--------

場当たり的な対策ではなく、まともな帳票システムを設計、実装する。
帳票イメージを定義した XML ファイル(*.dia)とは別に、差し込み
データを定義するメタ情報的なファイルを用意し、そこから *.def や
*.inc に相当するものを自動生成するようにする。

メタ情報を編集するための専用ソフトを用意し、管理を楽にする。
最終的には、一通りの機能が統合された帳票ソフトを作成する。

単純なツールだけならすぐにでも作れるが、既存のソフトウェアで
使えるものがないか現在、調査中。


以上です。現時点では案 2 で考えています。マツケイさんの方で
確認して頂いて、問題がなさそうであれば詳細の検討に入ります。
不明な点があれば言って下さい。

--
西田 圭介