アプリケーションのリポジトリ(設計情報)を Excel 形式のファイルで出力する機能です。印刷してお使いいただくことができます。
本ツールが出力するExcelファイルの例を図1〜図4に示します。
設計書を出力する前に、ビルド処理を行ってください。直前にビルドされた状態の設計書を出力します。
「運用 > その他 > 設計書」タブを開きます。「設計書出力」ボタンを押下すると、設計書の作成が開始されます。
図7に示すように、作成された設計書がダウンロードされます。ファイルは zip 形式で圧縮されています。
ダウンロードしたファイルを展開してください。複数の Excel ファイルが含まれています。
次のドキュメントが自動生成されます。
すべてのドキュメントは Excel 形式で出力されます。テンプレートとなるファイルを修正することで、レイアウトをカスタマイズすることができます。
テンプレートファイルはwagbydesigner\bin\spec\templateフォルダ以下に用意されています。
Wagby出荷時は、モデル項目の出力は100項目までとなっています。次の手順でこれを増やすことができます。
modelitem_list.xls で利用できます。次のプレースホルダを含めてください。(標準では含まれていません)
${modelitem[番号]/autocalc}
modelitem_list.xls で利用できます。次のプレースホルダを含めてください。(標準では含まれていません)
${modelitem[番号]/generic_check[1-5]}
${modelitem[番号]/generic_check/errormsg[1-5]}
${modelitem[番号]/generic_check/@warning[1-5]}
generic_check1からgeneric_check5までを指定できます。
generic_check/errormsgは、エラーメッセージ文字列です。
generic_check/@warningは、警告として利用するかどうかを表します。
先の例を題材に説明します。次の2点を改良することを検討します。
この問題を解決するために、JavaScript言語を使って、出力文字列を加工するプログラムを自作することができます。この方法を説明します。
今回のケースは「モデル項目」の出力に関わるため、スクリプト設定の「モデル項目」をマウスで選択します。するとエディタが起動します。(図9)
エディタにスクリプトを入力します。「OK」ボタンを押すと設定されます。(図10)
関数 process を用意します。引数はありません。この関数の内部では map 変数が利用できます。map には、出力しようとしている値がマップ形式で格納されており、これを開発者が加工します。
function process() { /*var stdout = java.lang.System.out;*/ var size = map.get("__maxmodelitem"); for (i=0; i<size; i++) { var s = map.get("${modelitem["+i+"]/model/modelitem/limit}"); if (s !== "" && s !== null) { s = " (" + s + ")"; var s2 = map.get("${modelitem["+i+"]/model/modelitem/limit_2}"); if (s2 !== "" && s2 !== null) { if (s2 === "char") { s = s + " 全角"; } else { s = s + " 半角"; } } var type = map.get("${modelitem["+i+"]/@type}"); map.put("${modelitem["+i+"]/@type}", type+s);/* override */ /*var ret = map.get("${modelitem["+i+"]/@type}"); stdout.println(i+":type="+ret);*/ } } }
設計書出力時に、このスクリプトが実行されます。これによって modelitem[N]/@type という値が書き換えられます。具体的には、標準では "string" だった出力値が "string(10) 全角" などとなります。
既存のプレースホルダをそのままに値を再セットするため、テンプレートファイルを修正する手間を減らすこともできます。その他の説明は次のとおりです。
格納数は "__" ではじまる変数で取得できます。
ファイル名 | 説明 | キー名 |
---|---|---|
list_screen.js | 画面定義一覧 - 一覧画面系 | __maxcondition : 検索条件の数。condition[N]/@name など。 __maxlist : 一覧表示の数。list[N]/@name など。 |
menu_list.js | メニュー一覧 | __maxmenu : メニューの数。menu[N]/@desc など。 |
modelitem_list.js | モデル項目一覧 | __maxmodelitem : モデル項目の数。modelitem[N]/@name など。 |
model_list.js | モデル名一覧 | __maxmodel : モデルの数。model[N]/@modelId など。 |
report_list.js | 帳票一覧 | __maxprintlayout : 帳票の数。printlayout[N]/@filename など。 |
show_screen.js | 画面定義一覧 - 詳細画面系 | __maxmodelitem : モデル項目の数。modelitem[N]/@name など。 |
「リポジトリダウンロードサービス > 販売管理」で公開しているリポジトリに、本ツールを適用して得られた設計情報をダウンロードできます。出力結果のサンプルとしてご確認ください。