前回、アイテムタイプの設定方法について一通り見てきました。その中で、アイテムの「ビュー」設定についても簡単にご紹介しました。
今回は アイテムの画面表示について、もう少し踏み込んでご説明したいと思います。
同一のアイテム(例えば「文書A」)でも、見る人や見るシチュエーションによって、画面表示の仕方を変えることができます。まずはこの辺りの設定についてご説明します。
その後、一つの画面表示を作り込む方法、すなわちフォームの設定方法について見ていく、という流れで進めていきたいと思います。
少し長くなるかもしれませんが、何卒お付き合いください。
「ビュー」の設定
ある一つのアイテム、例えば「文書A」という「Document」アイテムを考えた場合、社外ユーザが見る場合と社内ユーザが見る場合とで画面表示を切り替えたい場合があります。
また、同じ社内ユーザが「文書A」を見る場合でも、初回登録時、参照時、編集時などで画面表示項目を増減したいケースもあります。
さらに、文書の種類に応じて入力/表示項目を切り替えたい場合もあります。例えば、製品仕様書の「文書A」と、雑多な社内回覧文書の「文書B」とでは、当然入力項目も変わってきます。
以上のような設定、つまり一つの「Document」に対して、こういう場合はこっちのフォーム(画面)で表示、この場合はそっちのフォームで表示、というような設定を行うのが、アイテムタイプの「ビュー」設定です。
前回 の繰り返しになりますが、設定内容は以下の通りです。
- どういうシチュエーション(新規登録時、更新時、参照時、等)でそのフォームを表示するか?
- アイテムを誰(社外ユーザ、社内ユーザ、等)が開く場合に、そのフォームを使用するか?
- アイテムがどのサブクラス(製品仕様書、雑多文書、等)に所属する場合に、そのフォームを使用するか?
- 表示候補が複数あった場合に、どのフォームを優先するか?
- ビジュアルコラボレーション用のサイドバーを表示するか?
「フォーム」の設定
次に、「ビュー」として割り当てる個々の見せ方=「フォーム」の設定方法について見ていきます。
Step1: 空のフォームを新規作成
TOCの「アドミニストレータ」フォルダ内の「フォーム」を選択し、メインメニュー等からフォームを新規作成します。
(あるいは、既存のフォームを選択して「名前を付けて保存」することで、フォームを複製します)
フォームの新規登録画面の右上部分「フォームプロパティ」タブ内で、フォーム名称を設定し、保存して画面を閉じます。
Step2: アイテムタイプの「ビュー」に割り当て
「ビュー」を設定するアイテムタイプの画面を編集モードで開き、「ビュー」タブ内で先ほどのフォームを割り当てます。
これを予めやっておかないと、フォーム編集画面で「未使用のプロパティ」が使えません。単純なようですが、ここは結構 重要なステップ です。
Step3: フォームに「未使用のプロパティ」のフィールドを配置
先ほどのフォームを編集モードで開き、画面中央のツールバーにある「未使用のプロパティ」をクリックすると、Step2 で関連付けたアイテムタイプのプロパティ中で、まだフォーム上に配置していないものの一覧が表示されます。この中から適当なプロパティを選ぶと、そのプロパティのデータタイプに応じたコントロールのフィールドとして、フォーム上に配置されます。
配置されたフィールドは、画面下部のビジュアルエリアでドラッグすることで、配置場所を適宜変更することが可能です。
これを必要なプロパティ分、繰り返します。
Step4: 各フィールドの設定項目を調整
追加した各フィールドを選択し、画面右上のタブがたくさん並んでいるエリアで その設定値を調整します。
よくいじる項目は以下の通りです。
- フィールド名称。「未使用のプロパティ」で配置した場合は変更不要。
- テキストボックスやラジオボタンなど、フィールドの見た目を切り替える。
- 対応するプロパティ。「未使用のプロパティ」で配置した場合は変更不要。
- フィールドの表示長さ。
- 「表示長さ」の単位。
- フィールドに付記するラベル。マルチリンガルで設定可能。
- ラベルの配置場所。
- フィールドの X座標。
- フィールドの Y座標。
- そのフィールドを表示するかどうか。非表示にした場合も、見えないだけで存在はする。
- 無効にした場合、編集モードでも編集不可のフィールドとなる。
- 「ポジショニング」を「Static」(=自動配列)にした場合の、フィールドの配置順序。
- タブキーでカーソル遷移をした際に、そのフィールドに遷移(ストップ)させるかどうか。
- タブストップの順序。
Extra Step: プロパティ非依存のフィールドを追加
画面中央のツールバーを使うことで、アイテムタイプのプロパティに依存しないようなフィールドを配置することもできます。
特殊な処理を行わせるためのボタンを配置したり、あるいはフィールドタイプ「HTML」のフィールドを配置して複雑な処理を担わせたりすることが可能となります。
特に「HTML」フィールドは、通常のフィールドでは実現できないことも実現できてしまうオールマイティ性を持っているため、最終手段としてしばしばお世話になることと思います。既存フォームを眺めて、「こんな風に使うんだな」というのを予め知っておくと色々役に立つかもしれません。
以下に、HTMLフィールドを(「item_info」以外で)使用しているフォームのリストを記載しますので、是非確認してみてください(Aras 11 です)。
Activity Completion Worksheet Activity Template Activity2 Activity2 [PanelForm] CAD Core_GetPeriodOfInactivity Core_GlobalLayout Document ECN ECR Express DCO Express ECO Express ECO Impact Matrix Grid FE_AddFilesToPackage FE_SelectFileFromPackage FE_SelectFiles File File Exchange Form Grid History Container |
ItemType Life Cycle State Life Cycle Transition Method MySession Part Part AML Editor Part MultiLevel BOM Grid Part Submission Warrant PM_ProjectColorMap PM_projectOnAdd PR Project Project Template Property Report_Tab_Report Simple ECO Workflow Process Workflow Signoffs Workflow Task WSConfiguration |
「フォーム」の特殊な使われ方
フォームは、アイテムタイプの「ビュー」に設定してアイテム表示に使われる以外に、以下のような使われ方をすることがあります。
1) TOCビュー:
アイテムタイプの「TOCビュー」タブにフォームを設定すると、TOCでアイテムタイプをクリックした際にそのフォームが表示されます。
2) TOCカテゴリビュー:
フォームのプロパティで「カテゴリフォーム」にチェックを入れ、フォーム名をTOCフォルダの名称(リスト「Categories」の「値」欄中のフォルダ名部分)と同じにしておくと、TOCでフォルダをクリックした際にそのフォームが表示されます。
3) リレーションシップビュー:
リレーションシップタイプの定義画面で、「リレーションシップビュー」にフォームを設定すると、リレーションシップグリッドの代わりにそのフォームが表示されます。
4) ダイアログ:
メソッド(プログラム)の中から、フォームをダイアログとして呼び出すことが可能です。
少々長くなりましたが、今回は以上です。
次回は少し寄り道して、Aras 11 で導入された「ビジュアル・コラボレーション」とはどのようなものなのか、についてご紹介したいと思います。是非ご期待ください。
それでは、また次回。
(アラスジャパン 宮内一也)