今回は、具体例を含めて、Lookup field(ルックアップフィールド)の概念を解説します。
dynamics 365においては、標準機能として非常に重要の概念と言えるでしょう。
本題に入る前に、「新しいフォーム、国と都市のフィールド」を新規作成するのを背景とします。
lookup fieldとは
Lookup fieldは、検索型フィールドと言います。つまり、1つ種類のフィールドです。
フィールドを新規作成する場合、フィールドの種類が選択・設定できます。そこで「検索型(look up)
」を選んだら、「lookup field」が作成できます。
また、検索型フィールドはdynamics 365の標準機能として存在します。新しいフォームを作ったり、フィールドを作って追加したりすることも可能ですし、カスタマイズの範囲は広いと言えます。
検索型フィールドの特徴は、フィールド・エンティティの関連性を実現することです。
対象 | フィールド(テキスト) | フィールド(検索型) |
国・都市 | ・国と都市は手入力 ・国と都市の関係が現れない ・国と都市の入力制御はほぼ不可能 | ・国と都市はレコードに反映済み、選択入力 ・国と都市の関係はロジックを踏まえて構築可能 ・ビジネスルールを設定して、国と都市の入力制御は実現可能 |
下記の具体例を含めて説明します。
具体例を解説
国・都市フィールドを例として、以下の業務シナリオを仮に設定します。
・取引先企業を追加する際に、新しいフォームにて、住所アドレスの設定が必要となります。
・住所アドレスでは、ひとまず「国と都市」のフィールドが必要。しかも、国と都市は手入力ではなく、ロジックを実現したい。
⇒⇒業務シナリオを理解して、やることを整理します。
・国と都市のエンティティを新規作成します。エンティティの1対多の関係を設定します。国→都市は1:N
・国と都市のエンティティに、ダミーデータを作成します。
・取引先企業のエンティティに、国と都市の検索型フィールドを作成します。
・取引先企業のエンティティに、新しいフォームを新規作成し、国と都市の検索型フィールドを追加します
・国をJapanに選択したら、アメリカの都市を除外し、OsakaとTokyoしか表示にしないよう、都市の検索型フィールドを設定します。フィールドのプロパティを開いて変更します。
⇒⇒設定が完了したら、検証します。
・国のフィールド:手入力ではなく、JapanとUnited Statesが選択できるようになり、クリックすれば該当項目が埋めます。
・国をJapanに選択し、都市のフィールドを入力する際に、右側の検索ボタンを押したら、アメリカ都市が表示せず、OsakaとTokyoしか現れませんでした。
・入力完了の画面イメージはこちら:
シンプルにテキスト入力するより、検索型フィールドの特徴はエンティティとフィールドの紐付け関係を構築すること。これによって、階層管理やロジック設定などを容易にします。
ビジネスルールを追加し、さらに拡張
検索型フィールドの設定はいったん完了しましたが、業務要件を満たすために、より複雑な機能を強化する必要があります。
例えば、国を入力しないまま都市を入力してしまい、保存しちゃったらナンセンスです。
解決策としては、国と都市フィールドのあるロジックを実現するため、ビジネスルールの設定が必要。
ビジネスルールのロジックは、以下の通り想定します。
1、もし「国」のデータがない場合、「都市」をロックし、入力不可になり、「都市」の値をクリアして空欄にします。
2、もし「国」のデータがある場合、「都市」を入力解除します。
ロジックは明確になったので、ビジネスルールを設定します。
ここまではビジネスルールの設定が完了し、カスタマイズを公開して検証します。
1、何にも入力しない状態では、都市フィールドはロックします。クリックしても、入力不可の状態です。
2、国を入力したら、都市のロックが解除され、入力可能な状態になりました。
簡単なロジックですが、業務要件を満たしていると言えますね。
検索型フィールドをより活用すれば、こういったロジックを構築することが可能ですし、もっと複雑なロジックでもカスタマイズ可能になります。
つまり、dynamics 365には、標準の拡張機能が非常に多く、しかもコーディング不要で(ノーコード)実現可能なので、外部のベンダーに丸なけのではなく、社内で完結する道が近い将来に見えてくると思います。
コメント