次の方法で共有


モデル駆動型アプリ フォームでロジックを適用するビジネス ルールを作成する

多くの場合、ビジネス ロジックを追加して、モデル駆動型アプリの列が正しい値で表示、非表示、または設定されるようにする必要があります。

この記事では、JavaScript コードを記述したりプラグインを作成したりせずに、モデル駆動型アプリでフォーム ロジックを適用するための ビジネス ルール と推奨事項を作成する方法について説明します。ビジネス ルールは、変化の速い一般的なルールを実装し、維持するためのシンプルなインターフェイスを提供します。 これらは、メインおよびクイック作成フォームに適用できます。 ビジネス ルールは、モデル駆動型アプリ、レガシ Web アプリ、タブレット用のDynamics 365、Outlook (オンラインまたはオフライン モード) のDynamics 365で機能します。

条件とアクションを組み合わせることで、ビジネス ルールで次のアクションを実行できます。

アクション 説明 適用対象
フィールド値の設定 テーブル列の値を設定します。 値は、ハードコーディングされた値、別の列の値、または単純な数式で設定できます。 フィールドの値をクリアすることもできます。 すべてのスコープ
既定値の設定 列の値を設定しますが、列に値 (null) がない場合にのみ設定します。 すべてのスコープ
エラー メッセージの表示 行の保存を防止します。 モデル駆動型アプリ フォームでは、エラー メッセージがフォーム内に表示されます。サーバー側の場合、エラー メッセージは呼び出し元のプロセスに返されます。 すべてのスコープ
ロック/ロック解除 Lock を使用すると、列のプロパティが読み取り専用に変更されます。 ロック解除を使用すると、ユーザーは列の値を変更できます。 モデル駆動型アプリ
可視性の設定 [いいえ] に設定すると、フォームの列が非表示になります。 [はい] に設定すると、フォームに列が表示されます モデル駆動型アプリ
ビジネスを必須に設定する フォームの列の要件レベルを [ビジネス必須] または [ビジネス必須ではない] に設定します (省略可能)。 列を [Business Required] に設定すると、列のラベルの横に赤いアスタリスクが表示され、列の値が空の場合に行が保存されなくなります。 モデル駆動型アプリ
レコメンデーション 列のラベルの横に電球アイコンが表示されます。 アイコンを選択すると、ユーザーにメッセージが表示されます。 プロンプトが受け入れられた場合、ルールはフィールド値を設定できます。 モデル駆動型アプリ

すべてのフォームに適用されるようにテーブルのビジネス ルールを定義するには、「 テーブルのビジネス ルールを作成する」を参照してください。

ビジネス ルールは、複数選択の選択肢では機能しません。

ルールがサーバー側で実行されている場合、モデル駆動型アプリにのみ適用されるアクションは無視されます。

Power Appsでビジネス ルールを表示、編集、または作成する

  1. Power Apps にサインインします。
  2. 左側のナビゲーション ウィンドウで [ ソリューション ] を選択し、目的のソリューションを開き、目的のテーブルを開くか追加します。 項目がサイド パネル ウィンドウに表示されない場合は、…さらに表示 を選択して、目的の項目を選択します。
  3. [ 新規] を選択し、[ カスタマイズ] で [ ビジネス ルール] を選択します。

ビジネス ルール デザイナーが開きます。 次の手順: ビジネス ルールのプロパティを設定する

フォーム デザイナーでビジネス ルールを表示、編集、または作成する

  1. フォーム デザイナーの左側のナビゲーション ウィンドウで、[ ビジネス ルール] を選択します。

  2. 次のオプションから選択します。

    • 既定では、フォームのアクティブなビジネス ルールのみが表示されます。 [ アクティブなビジネス ルールのみを表示 する] をオフにして、フォームの非アクティブなビジネス ルールを表示します。
    • [ 新しいビジネス ルール ] を選択してビジネス ルールを作成します。
    • ビジネス ルールを選択してプロパティを表示し、ビジネス ルールを編集します。 ビジネス ルールのプロパティ。

ビジネス ルールのプロパティを設定する

新しいルールのビジネス ルール デザイナー ウィンドウが開くと、1 つの条件が既に作成されています。 あらゆるルールは条件から始まります。 ビジネス ルールはその条件に基づいて 1 つ以上のアクションをとります。

モデル駆動型アプリのサンプル

ビジネス ルールのコマンド バーから次のプロパティを入力または選択します。

  1. ビジネス ルール名: 既定では、ルールの名前は 新しいビジネス ルールです。 ビジネス ルールのわかりやすい名前を入力します。

  2. 説明: 必要に応じて、説明を追加します。

  3. スコープ: ビジネス ルールのスコープによって、ビジネス ルールが適用されるフォームが決まります。 次のオプションに従って、スコープを設定します。

    このアイテムを選択する場合…

    スコープは次に設定されます...

    エンティティ

    テーブルとテーブルのすべてのフォーム

    すべてのフォーム

    テーブルのすべてのフォーム

    特定のフォーム (アカウント のメイン フォームなど)

    このフォームのみ

既存のビジネス ルールを変更するには、変更する前に非アクティブ化する必要があります。

ビジネス ルールを構築する

  1. 条件を追加します。 ビジネス ルールにそのほかの条件を追加するには:

    1. コンポーネントタブから条件コンポーネントをデザイナーの [+] 記号にドラッグします。

      ビジネス ルールに条件を追加する。

    2. 条件のプロパティを設定するには、デザイナー ウィンドウで 条件 コンポーネントを選択し、画面右側の プロパティ タブでプロパティを設定します。 プロパティが設定されると、[ プロパティ ] タブの下部に式が作成されます。

    3. 追加の句 (AND や OR) を条件に追加するには、プロパティ タブの 新規 を選択し、新たなルールを作成してからルールのプロパティを設定します。 ルール ロジック 列で、AND または OR として新しいルールを追加するかを指定できます。

      条件に新しいルールを追加する。

    4. 条件のプロパティの設定が完了したら、[ 適用] を選択します。

  2. アクションを追加します。 アクションを追加するには:

    1. コンポーネント タブのアクション コンポーネントの 1 つを 条件 コンポーネントの隣にあるプラス記号へドラッグします。 条件が満たされる場合にビジネス ルールによるアクションを実行する場合は、アクションをチェック マークの隣にあるプラス記号にドラッグするか、または条件が満たされない場合にビジネス ルールによるアクションを実行する場合は、X の隣にあるプラス記号にアクションをドラッグします。

      アクションをビジネス ルールへドラッグする。

    2. アクションのプロパティを設定するには、デザイナー ウィンドウでアクション コンポーネントを選択し、画面右側のプロパティ タブでプロパティを設定します。

    3. プロパティの設定が完了したら、[ 適用] を選択します。

  3. ビジネス レコメンデーションを追加します。 ビジネス レコメンデーションを追加するには:

    1. コンポーネント タブの レコメンデーション コンポーネントを 条件 コンポーネントの隣にあるプラス記号へドラッグします。 条件が満たされる場合にビジネス ルールによるアクションを実行する場合は、レコメンデーションコンポーネントをチェック マークの隣にあるプラス記号にドラッグするか、または条件が満たされない場合にビジネス ルールによるアクションを実行する場合は、X の隣にあるプラス記号にドラッグします。

    2. レコメンデーションのプロパティを設定するには、デザイナー ウィンドウのレコメンデーションコンポーネントを選択し、プロパティタブでプロパティを設定します。

    3. さらに多数のアクションをレコメンデーションに追加するには、コンポーネントタブからそれらをドラッグし、プロパティタブで各アクションに対するプロパティを設定します。

      レコメンデーションを作成するとき、単一のアクションが既定で追加されます。 レコメンデーションにおけるすべてのアクションを表示するには、レコメンデーション コンポーネントの 詳細 を選択します。

    4. プロパティの設定が完了したら、[ 適用] を選択します。

  4. ビジネス ルールを検証するには、アクション バーで検証を選択します。

  5. ビジネス ルールを保存するには、[操作] バーの保存を選択します。

  6. ビジネス ルールをアクティブにするには、ソリューション エクスプローラー ウィンドウでビジネス ルールを選択し、Activate を選択します。 デザイナー ウィンドウでは業務ルールを有効化できません。

ヒント

デザイナー ウィンドウのビジネス ルールを操作する時に覚えておくと役に立つヒントが次に示されています:

  • ビジネス ルール のすべてのスナップショットを作成するには、アクション バーの スナップショット を選択します。 これは、チーム メンバーからフィードバックを受け取る場合などに便利です。
  • ミニマップを使用すると、プロセスの異なる部分に素早く移動できます。 これは、画面からスクロールする複雑なプロセスで作業する場合に便利です。
  • ビジネス ルールに条件、アクション、ビジネスレコメンデーションを追加すると、ビジネス ルールのコードが作成され、デザイナー ウィンドウの下部に表示されます。 このコードは読み取り専用です。

ビジネス ルールで使用されるエラー メッセージのローカライズ

環境に複数の言語がプロビジョニングされている場合は、設定されているエラー メッセージをローカライズする価値があります。 メッセージが設定されるたびに、システムによってラベルが生成されます。 環境内の翻訳が設定されている場合は、メッセージのローカライズされたバージョンを追加してから、システムにインポートし直すことができます。 これにより、基本言語以外の言語を使用しているユーザーは、翻訳されたメッセージを表示できます。

一般的な問題

このセクションではビジネス ルールの使用時に発生する可能性がある一般的な問題について説明します。

統合インターフェイス アプリでは、フル ネーム列とアドレス列はサポートされていません

フル ネームfullnameアドレス列などの複合列を使用するアクションまたは条件は、統合インターフェイスに基づくアプリではサポートされていません。 または、構成列でアクションまたは条件を使用することもできます。 たとえば 氏名 列の場合、 (firstname) と (lastname) 列でアクションまたは条件を使用できます。

一部のユーザーに対してビジネス ルールが実行されない

ユーザーが、少なくとも Process テーブルに対するユーザー スコープの読み取り特権を含むセキュリティ ロールを持っていることを確認します。 既定では、基本ユーザー セキュリティ ロールにはこの特権があります。

ビジネスルールがダッシュボードの編集可能グリッドで発動しない

ダッシュボードページに構成された編集可能グリッド上では、エンティティ スコープのビジネスルールは発動しません。

フォームに対して実行したビジネス ルールではありませんか?

ビジネス ルールで参照されている列がフォームに含まれていないため、ビジネス ルールが実行されない場合があります。

  1. Power Appsの Solutions 領域に移動し、目的のソリューションを開きます。 目的のテーブルを展開し、[ フォーム] を選択します。

  2. フォームを開き、フォーム デザイナーのリボンで [ ビジネス ルール] を選択します。

  3. フォーム デザイナーで、ビジネス ルールを開きます。

  4. ビジネス ルール デザイナーで、各条件とアクションを選択して、各条件とアクションで参照されているすべての列を確認します。

    ビジネス ルールで参照される列がテーブルに存在します。

  5. ビジネス ルールで参照されている各列もフォームに含まれていることを確認します。 存在しない場合は、不足している列をフォームに追加します。

    フォームの [アカウント名] 列。

ビジネス ルールで参照される列が複合列であるため、ビジネス ルールが実行されない場合もあります。 代わりに複合列の構成列を使用してください。

サポートされていない列の種類

一意識別子型の列とロールアップ列は、ビジネス ルールではサポートされていません。

いくつかの特殊な列は、sales アプリのDynamics 365に含まれる Product テーブルの Name 列など、ローカライズ可能な値をサポートしています。 ローカライズ可能な値をサポートする列は、ビジネス ルールではサポートされていません。

よく寄せられる質問 (FAQ)

ビジネス ルールで読み取り専用フォームの列のロックを解除できますか?

  • はい。ビジネス ルールでは、列のロックを解除し、読み取り専用フォームでアクションを編集できます。

動作していないビジネス ルールはどうトラブルシューティングすればよいですか?

フォーム内の推奨事項はどのように表示されますか?

推奨事項では、列ラベルの横に電球が表示されます。

  • 折りたたまれたビジネス ルール

電球を選択してビューを展開し、推奨事項を表示します。

  • ビジネス ルールが拡張されました。

こちらも参照ください

プロセスを通じてカスタム ビジネス ロジックを作成する

業務プロセス フローを作成する