Quality Center
Quality Centerで要望の多いカスタマイズ ~フィールドを非表示にする方法~
今回の特集ではQuality Centerの特定のフィールドを非表示にする方法をご紹介します。
Quality Centerを導入いただいたお客様からよく頂くお問い合わせの一つは不要なフィールドを非表示にできないか、というものです。不具合モジュールに関しては簡単にフィールドを表示/非表示にしたり、表示順序を指定できる機能がありますが、他のモジュールにはないのか、といったお問い合わせもよく頂きます。
他のモジュールにてフィールドの表示/非表示を設定するには、カスタマイズのワークフローでVBScriptを使用して実施します。プログラミングは発生しますが、Quality Center のスクリプトエディタを使用すると、補完機能が充実していますので比較的容易にコーディングが可能です。
ここでは要件モジュールの「ターゲット サイクル」と「ターゲット リリース」をカスタマイズのワークフローでフィールドを非表示にさせる方法をご紹介します。
編集手順
先ず、対象のプロジェクトにログインしている状態で、ツールからカスタマイズを選択します(カスタマイズはプロジェクト単位です)。
次に、ワークフロー、スクリプトエディタをクリックすると以下の画面が表示されます。
左側のモジュール一覧から要件モジュール・スクリプトを選択すると、要件モジュールで使用できるイベント(プロシジャ)一覧が表示されます。
要件モジュールのイベント名の先頭はReq_が付いています(ちなみに、テスト計画はTest_など、不具合はBug_が先頭に付きます)。
いくつかのイベント(プロシジャ)が表示されますが、今回はデータを表示させるイベントであるReq_MoveToプロシジャを選択します。そうすると、次のような空のプロシジャが右側のスクリプト編集領域に表示されます。
Sub Req_MoveTo
On Error Resume Next
On Error GoTo 0
End Sub
上記プロシジャに次のようなスクリプト(Req_Fields.・・)を追加します。
Sub Req_MoveTo
On Error Resume Next
Req_Fields.Field("RQ_TARGET_RCYC").IsVisible = False
Req_Fields.Field("RQ_TARGET_REL").IsVisible = False
On Error GoTo 0
End Sub
Quality Center特有のコマンドは補完機能で一覧から選択できます。上記コマンドは要件モジュールのフィールド(Req_Fields.Field())"RQ_TARGET_RCYC"の表示プロパティ(IsVisible)をFalseにすることに よって非表示にするものです。少し難しいように思うかもしれませんが補完機能を利用することでかなり楽にコーディングできると思います。
各フィールドにはいくつかのプロパティを持っています。プロパティを設定することによって表示/非表示、読み取り専用/書き込み可能などの機能を持たせることができます。
フィールド・プロパティはIsVisibleの他に、次のプロパティもあります。
プロパティ | 内容 |
---|---|
IsReadOnly | 読み取り専用 |
IsRequired | 入力必須 |
Value | フィールドの内容 |
次のコマンドは要件名と優先度の内容を直接設定している例です。
初期値(デフォルト)設定などで利用出来ます。
Req_Fields.Field("RQ_REQ_NAME").Value = "要件名1"
Req_Fields.Field("RQ_REQ_PRIORTY").Value = "2-普通"
上図は「ターゲット サイクル」と「ターゲット リリース」を非表示にさせた結果の画面です。
また、イベントには次のものもあります。先頭のReq_をBug_やTest_に変更することで不具合やテスト計画モジュールのイベントでの処理をすることができます。
イベント(プロシジャ) | 内容 |
---|---|
Req_New | 新規作成時 |
Req_FieldChange | フィールド(引数)変更時 |
Req_AfterPost | フィールド変更後 |
- ※ イベントやプロパティにはここで説明した内容以外にたくさんのものが用意されています。Quality CenterのデータベースへのSQLクエリを直接発行することやメールを発信することなどがVBScriptでコーディング可能です。VBScriptのIF文やFOR文などと組み合わせると更にお客様の環境に合わせたQuality Centerを構築することができます。また機会がありましたら、別のカスタマイズをご紹介したいと思います。