Dynamics 365 には業務ルールという機能があります。通常フォーム上でフィールドの非表示や条件に合わせた操作を行う場合は、Javascript の実装が必要になります。しかしこの機能を使用することで、スクリプト実装が不要となり、ユーザーが業務で必要なルールを簡易に設定できるようになります。
業務ルールでは以下のようなことが実現可能です。
条件とアクションを組み合わせることで、業務ルールを使用して以下の操作を実行できます
・フィールド値を設定する
・フィールド値のクリア
・フィールドの入力要求レベルを設定する
・フィールドを表示または非表示にする
・フィールドを有効化または無効化するデータを検証し、エラー メッセージを表示する
・ビジネス インテリジェンスに基づくビジネス レコメンデーションを作成する
引用元:フォームにロジックを適用するために業務ルールおよびビジネス レコメンデーションを作成する
ここでは、業務ルールを使って簡単な操作を行っていきます。
業務ルールを作成する
「設定」の「カスタマイズ」を開き、「システムのカスタマイズ」をクリックします。
エンティティから「取引先企業」を展開して「フォーム」をクリックします。業務ルールを適用したいフォームを開きます。
メニューの「業務ルール」をクリックします。
右下に、「新しい業務ルールの追加」というボタンが表示されるので、クリックします。するとエディタが表示されます。ここで、必要な操作を行っていきます。
以下の図のように、コンポーネントとよばれるエリアに、フィールドのロックや非表示、エラーメッセージの表示などの要素が用意されており、条件にあった動作を行うことができます。
まずは条件を設定します。条件のコンポーネントをクリックすると、右側の「プロパティ」が開きますので、「表示名」や「ルール」を追加していきます。今回は以下のような条件とします。
表示名 | 企業の基本情報を入力する |
ルール1 | 電子メール が空白である |
ルール2 | Webサイト が空白である |
ルール ロジック | かつ |
ルールを追加する場合は、「+新規」をクリックします。設定が終われば「適用」ボタンをクリックしましょう。
新しい条件ができました。それでは、条件が TRUE の場合、エラーメッセージを表示させます。「コンポーネント」から「エラーメッセージの表示」を条件コンポーネントの右側にドラック&ドロップします。
以下のように設定をします。
表示名 | エラー表示 |
フィールド | Webサイト |
メッセージ | 企業情報を調べて入力してください。 |
設定したら「適用」をクリックします。
これで業務ルールが作成できました。「保存」をクリックして、ルールに問題がないかを検証します。何も問題が検出されなければ、「アクティブ化」をクリックしましょう。
フォームエディタに戻り、保存してカスタマイズを「公開」します。
それでは、業務ルールが適用されたかを確認しましょう。
Web サイト というフィールドにエラーメッセージが表示されていますね。
業務ルールを他のフォームに利用する
上記で作成した業務ルールを他のフォームでも同じような条件で利用したい場合はどうしたらいいでしょうか。業務ルールのスコープを設定しましょう。
業務ルールを開き、「非アクティブ化」をクリックして、編集可能にします。右上にある「スコープ」を確認します。スコープは以下のような範囲を設定できます。
エンティティ | すべてのフォームとサーバー |
すべてのフォーム | すべてのフォーム |
特定のフォーム名 | 指定したフォームのみ |
すべてのフォームに適用する場合は、「すべてのフォーム」を選択しましょう。
もし、すべてのフォームではなく、2つのフォームのみという限定的な設定を行いたい場合は、一度この業務ルールを「ファイル名をつけて保存」で複製します。
業務ルールが複製されるので、そこでスコープを変更して、表示名の 「XXのコピー」の箇所を削除して保存すれば実現可能です。あとは「アクティブ化」をクリックして、別のフォームでも同じ業務ルールが有効になるように設定を完了させてください。
※ 複製元の業務ルールは非アクティブな状態のままになっているので、そちらも「アクティブ化」しておいてください。
レコメンデーションを使う
業務ルールには、「レコメンデーション」というコンポーネントがあります。これは、ユーザーに推奨する値を提示して、OKであれば、それを適用するような提案型のコンポーネントです。
例えば以下のようなレコメンデーションを作成します。
業務ルール名:レコメンデーションを使う
条件
表示名 | 説明が空白 |
フィールド | 説明 |
演算子 | が空白である |
レコメンデーション
レコメンデーション名 | テストレコメンデーション |
フィールド | 説明 |
タイトル | 説明が空白です。 |
詳細 | 説明が空白の場合は、「なし」と記載しましょう。 |
アクション
表示名 | テストアクション |
フィールド | 説明 |
値 | なし |
条件は以下のように設定。
レコメンデーションをコンポーネントから追加して、条件の右側にドラック&ドロップします。そして、レコメンデーションの設定をして「適用」をクリックします。
レコメンデーション内のアクションは以下の通り設定しましょう。
保存して、アクティブ化した後、公開します。結果を見てみましょう。フィールドを見てみると、レコメンデーションの i マークが表示されており、クリックすると作成した通りになっています。
「適用」というボタンをクリックすると、アクションが実行され、説明に「なし」という値が追加されることになります。
業務ルールは、その他にも、フィールドをロックして編集させない、非表示にする、別のフィールドの値をコピーするなど様々な用途に活用できます。ぜひ利用してみてください。