次の方法で共有


ルックアップのフォーム パターン

この記事では、ルックアップのフォーム パターンに関する情報を提供します。 標準フレームワークによって指定されたルックアップで正しいデータが提供されない場合や、データの高度な視覚化が必要な場合は、カスタム ルックアップ フォームを使用する必要があります。

用途

カスタム ルックアップ フォームは、標準フレームワークによって指定されたルックアップ (通常はテーブル定義で定義された AutoLookup フィールド グループを使用して生成される)、が正しいデータを提供しない場合、またはデータの高度な視覚化が必要な場合に使用する必要があります。 このドキュメントでは、3 つのパターンについて説明します。

  • 基本のルックアップ – これは、リストまたはツリーが 1 つだけの基本のルックアップ パターンです。オプションのカスタム フィルターとアクションもあります。
  • タブ付きのルックアップ – このルックアップ パターンは、ルックアップの複数のビューをユーザーが利用できるようにする場合に使用されます。 タブ キャプションは表示されません。 代わりに、タブはコンボ ボックスを通じて選択されます。
  • プレビュー付きのルックアップ – このより高度なルックアップ パターンにより、ルックアップ グリッドの現在のレコードのプレビューが有効になります。

ワイヤーフレーム

基本のルックアップ

基本ルックアップ フォームのワイヤーフレーム。

タブ付きルックアップ

タブ付きルックアップ フォームのワイヤーフレーム。

プレビューによるルックアップ

プレビューによるルックアップ フォームのワイヤーフレーム。

パターンの変更

Microsoft Dynamics AX 2012 以降に加えられるこのパターンへの変更を次に示します。

  • タブは非表示になり、コンボ ボックスで管理されている必要があります。
  • 必要に応じてスプリッター/プレビューを追加します。

モデル

基本のルックアップ – 高度なレベル構造

  • 設計

    • CustomFilter (グループ) [オプション]
    • グリッド | ツリー | ListView
    • LookupActions (グループ) [オプション]

タブ付きルックアップ – 高度なレベル構造

  • 設計

    • CustomFilter (グループ) [オプション]

    • LookupTab (タブ)

      • LookupTabPage (TabPage、反復 1..N)

        • グリッド | ツリー | ListView
    • LookupActions (グループ) [オプション]

プレビュー付きルックアップ – 高度なレベル構造

  • 設計

    • CustomFilter (グループ) [オプション]

    • LookupContent (グループ)

      • グリッド | ツリー | ListView
    • VerticalSplitter (Group)

      • プレビュー (グループ)
    • LookupActions (ActionPane)

コア コンポーネント

  • Form.Design にルックアップ パターンを適用します。
  • BP 警告に対処します:
    • EDT.FormHelp は、Style=Lookup であるフォームを参照しなければなりません。

一般的に使用されるサブパターン

UX ガイドライン

検証チェックリストには、フォームが UX ガイドラインに準拠しているかどうかを手動で確認する手順が示されています。 このチェックリストには、開発環境を通じて自動的に実施されるガイドラインは含まれていません。 ブラウザーでフォームを開いて、これらの手順を確認します。 標準フォーム ガイドライン

ルックアップのガイドライン

  • グリッドガイドラインは、グリッドガイドライン セクションの フォームの全般的なガイドライン ドキュメントに統合されました。
  • ルックアップ内に別の「ビュー」(タブ) を表示する必要がある場合は、コンボ ボックスを使用して、ユーザーがタブを切り替えるようにします。
  • 必要に応じてルックアップでツリー ビューを使用することができます。 また、ツリー内のデータの追加フィールドの表示が複雑であるため、標準のグリッドを提供することも検討します。
  • グリッドに 5 つ以上の列を持たないでください。 ルックアップはすべての列を表示するようにサイズ変更されるので、5 列は非常に広いです。
  • オプション プレビュー領域:
    • 領域は、ユーザーが複数の類似レコードから選択する場合に役立ちます。 たとえば、John Smith という名前の 2 人の従業員がいる場合、プレビューはこれら 2 人をユーザーが区別できるよう、十分な情報を提供する必要があります。
    • プレビューでは編集可能なフィールドを表示しないでください。
  • カスタム フィルター ガイドラインは カスタム フィルター グループ サブパターン ドキュメントに統合されています。

基本のルックアップ

フォーム: SysLanguageLookup (ナビゲーション バーで設定>ユーザー設定をクリックします。)

基本ルックアップの例。

タブ付きルックアップ

フォーム: CaseCategoryLookup (共通>共通>ケース>すべてのケースの順にクリックして、詳細に移動するケースを選択します。)

CaseCategoryLookup のタブ付きルックアップ フォームの例。

プレビューによるルックアップ

フォーム: HcmWorkerLookup (人事管理>共通>組織>職位>職位をクリックし、レコードをクリックして詳細に移動します。作業者の作業者割り当てクイック タブを展開し、新規をクリックして、作業者フィールドのドロップダウン矢印クリックします。)

HcmWorkerLookup のプレビューによるルックアップ フォームの例。

付録

よく寄せられる質問

このセクションには、このガイドライン/パターンに関連するよくある質問への回答があります。

  • タブ付きのルックアップ パターンのタブを切り替える方法。
    • タブ付きルックアップ パターンは、Tab コントロールで ShowTabsNo に意図的に設定します。 これらのフォームは、カスタム フィルター グループ内のバインドされていないコンボ ボックスをモデル化するためのものです。 このコンボ ボックスは、タブ ヘッダーの代わりにタブを切り替えるために使用されます。
    • これを行うには、次の手順に従います:
      1. フォーム run()SysLookup::tab2ComboBox メソッド転記 super を呼び出し、コンボ ボックスにルックアップに表示されているタブからキャプションを設定します。

        // Generate view combobox based on tabs
        tab2ComboBoxItemMap = SysLookup::tab2ComboBox(Tab, switchView);
        
      2. コンボ ボックスで modified() をオーバーライドし、コンボ ボックスで選択した値に基づいて表示されるタブを更新します。

        Tab.tabChanged(Tab.tabValue(), tab2ComboBoxItemMap.lookup(this.selection()));
        

未処理の問題

  • 最近使用した値をルックアップに組み込むことはできますか。
    • アプリのモデリングは、今すぐこの作業を行うことができます (通貨のルックアップなど)。 この機能の全般的なフレームワークの今後のサポートを検討しています。

AX 2012 コンテンツ

SysLanguageLookup (基本のルックアップ)

基本ルックアップ フォームの例。

CaseCategoryLookup (タブ付きルックアップ)

タブ付きルックアップ フォームの例。

HcmWorkerLookup (プレビューによるルックアップ)

プレビューによるルックアップ フォームの例。