Open棟梁Project - マイクロソフト系技術情報 Wiki
目次 †
概要 †
- クエリが含まれる。
- クエリによりレコードの一覧が表示される。
- 1つのエンティティに対して
- 複数のビューを定義できる。
- 複数のビューを選択し表示データを変更できる。
- 新しいエンティティには既定のビューが自動生成される。
ビューの種類 †
システム ビュー †
- DCRM・セキュリティ特権を持ったユーザにより生成・作成される。
- 全てのユーザが表示できる。
- 特定の部分で使用される特殊なビュー
- アプリケーションの組込み機能を提供する。
- カスタマイズ可能だが、追加や削除はできない。
- ビュー セレクタに表示されないので切り替えで選択は不可
- フォームのサブグリッドや、ダッシュボードのリストでの使用は不可
以下は、システム ビューの種類。
高度な検索ビュー †
- 各エンティティに1つ含まれ、以下のケースに使用される。
- ユーザがビュー セレクタで個人用ビューの作成をクリックした場合。
- ユーザが高度な検索を開始して、
[保存されているビューの使用]で[新規]を選択した場合。
関連ビュー †
- 主レコード フォームの関連レコード一覧に表示される。
- 関連ビューはサブグリッドには表示できない、共有ビューを使用。
- エンティティは1つの”関連”ビューを持ち、変更可能。
- 一部のエンティティには複数の関連ビューがある。
- ”関連”検索フィールドによって主レコードにリンクされている活動エンティティ
- ・・・ERDが無いと説明が厳しい・・・。
簡易検索ビュー †
- ビュー セレクタの上右側に[レコードの検索]ボックスが表示される。
- テキストを入力(前方一致検索、先頭*のワイルドカードで部分一致検索)
- Enterキーを押下するか、[検索]アイコンをクリックする。
- 入力したテキストに一致するレコードの一覧が表示される。
- 定義
- ビュー列(表示される列)
- 検索列(テキスト検索の対象フィールド)。
- 検索列が多い場合、性能低下の可能性
(ユーザ数やレコード数が多い場合に考慮)
- ヒットするレコードが多すぎると役に立たなくなる。
- 検索
- ユーザは検索列を選択できない。
- 具体的な検索の場合は、高度な検索を使用する。
- 保守タスク
- 検索列を追加すると、インデックス メンテナンス ジョブが構成される。
- メンテナンス ジョブで、検索列に対応した非クラスタ化インデックスが生成される。
- 検索列を削除すると、次回のメンテナンス ジョブでインデックスが削除される。
- 以下のケースではメンテナンス ジョブでインデックスが自動作成されなくなる。
- エンティティに900を超えるテキスト フィールドを追加した場合。
- 簡易検索ビューに20を超える検索列を追加した場合。
- この場合、直接、DBに非クラスタ化インデックスを追加する。
検索ダイアログ ビュー †
- フォームの検索フィールドの右側の[検索]アイコンをクリックした時に使用される。
- 以下のように、使用可能な親(マスタ)レコードの一覧が表示される。
- 親(マスタ)レコードのプライマリ フィールド
- プライマリ フィールドの下に検索ダイアログビューの最初の2列。
共有ビュー †
- カスタム エンティティが追加されると共有ビューのセットが作成される。
- 最後に選択した共有ビューは、
- エンティティの既定のビューの代わりに使用される。
- サインアウトするまで記憶される。
- ピン留めすると、個人用の既定ビューとして選択できる。
- ビュー セレクタに表示される”システム ビュー”は
すべてのユーザがシステム全体で使用できる共有ビューを表示する。
個人用ビュー †
- 自分で作成したビュー
- ユーザが作成し表示できる。
- 他のユーザチームと共有できる。
- 既存の共有ビューや個人用ビューに基づいて作成できる。
- ビュー セレクタの下部にある[個人用ビュー]から作成
- [高度な検索]の[保存]ボタンで作成
- ビュー セレクタに表示される”自分のビュー”は
作成したユーザと共有しているユーザの個人用ビューを表示する。
ビューの定義 †
- 選択(Where句的な)
→ ビューのフィルタ処理
ビューのフィルタ処理 †
- ビューは、クエリ、または”ビュー フィルタ”に基づいて
1つのエンティティのレコードのサブセットを返す。
クエリ †
- クエリは[高度な検索]に似たGUIで作成されFetchXMLをして保存される。
- コンテキストに応じて(検索の)パラメタをクエリで使用できる。
ビュー フィルタ †
- テストを含める
- エンティティのフィールドに関するテスト
- 親(マスタ)または子(トランザクション)レコード
および、多対多レコードのフィールドに関するテスト
- すべてのビューにフィルタが定義されている。
- フィルタは空にできる(その場合、すべてのレコードが表示される)
ビュー列 †
フィールド †
- エンティティ内の任意のフィールドを含めることができる。
- 1対多の関連付けで
- 主(親)エンティティのフィールドを含めることができる。
- 関連(子)エンティティのフィールドを含めることはできない。
追加・削除・表示 †
推奨 †
以下の様なビューのビュー列は少なくする。
- 頻繁に使用されるビュー
- フォームのサブグリッド
- ダッシュボードのリスト コンポーネント
以下のビュー列は含めない。
- (検索の)パラメタに使用している列
- 重複している列
- 親レコードに表示されている関連レコードの列
- マスタ レコードに表示されているとトランザクション レコードの列
ビューの作成・編集 †
高度な検索ビュー †
クエリ †
- 自由SQLを使用してビューを提供
- SQLをGUIで作成(内部的にはFetchXMLが使用されている)
簡易検索ビュー †
ビュー列(表示される列)と検索列(テキスト検索の対象フィールド)を定義する。
検索列の変更 †
- [設定] ---> [ソリューション] ---> [エンティティ]
- エンティティを展開し、[ビュー]をクリックする。
- 簡易検索ビューをダブルクリックする。
- [タスク]領域の[検索列の追加]をクリックする。
- 検索列のチェックをオン
- 検索しない列のチェックをオフ
- [OK] ---> [保存して閉じる] ---> [すべてのカスタマイズを公開]をクリックする。