1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

PowerAppsモデル駆動型アプリ(Dynamics365)ワークフローのテクニック 関連するレコードの値を使用する

Last updated at Posted at 2019-01-31

Dynamics365のワークフロー・導入

Dynamics365のワークフローとは

下図のようなことを自動でやってくれる機能です。
しかもGUIで構成できるのでノンプログラミングでいろいろできます。
image.png

ワークフローは複雑な動作も実行できるため便利です。
複雑な動作とは具体的に下記のような動作です。

  • 条件分岐が設定できます。
  • レコードを作成・更新する際フィールドに設定する値に動的な値を設定できます。

自分がQiitaでしつこく書いていますが、
Dynamics365の機能ですがPowerAppsのモデル駆動型アプリでも使えます。
(結局これを力説したい)

PowerAppsのキャンバスアプリとの組み合わせ

個人的に推しまくっているモデル駆動型アプリですが、
Dynamics365をベースにしているためワークフローを使えます。
キャンバスアプリでは、個人的には複雑なロジックは組みにくいです(私は)。
複雑なロジックをワークフローでやることで、自由度が上がります。
今回記事にするのは、そのワークフローのテクニックの一つです。

関連するレコードの値とは

Dynamics365では「関連」と呼ばれるもので、
PowerApps(Common Data Service)でみると「リレーションシップ」と表現されています。
Dynamics365のデフォルトでいうと、「取引先企業」に対して複数の「取引先担当者」が関連する、
一対多の構造になっています。
※「関連」と「リレーション」は同義ではない??ここはまた詳しく調査します。

関連する値を利用するとは、「取引先担当者」にレコードを作ったときに別の「エンティティB」にレコードを作るとき、
「取引先担当者」が所属する「取引先企業」に設定されているフィールドの値を、
「エンティティB」にセットできるということです。

(Dynamics365はバージョンを9.0以降にアップグレードすると、PowerAppsと同じくCDSとしてデータが下記のように参照できるようです)
image.png

関連するレコードの値を使用するには

取引先担当者にレコードを作ったら、「お客様のプロファイル」という新しく作ったエンティティに
レコードを作成するワークフローを作ります。
このとき、取引先担当者が所属する(関連する)取引先企業の情報を、プロファイルに設定します。

まずワークフローを作る画面へ遷移

設定画面にたどり着くまでがわかりにくい。。。

下記の歯車から詳細設定を押します。
image.png
画面上の「設定」を押して、プロセスを選択します。
image.png
左上の新規ボタンを押すと、新しいワークフローを作るための画面が開きます。
image.png

ワークフローの基本設定

プロセス名をてきとうに、何をするワークフローかわかりやすいを設定します。
カテゴリはワークフローを設定します。
エンティティは、ワークフローを起動するトリガーとなるエンティティを設定します。
image.png

ワークフローの動作設定

ワークフローが動作する内容を設定していきます。
今回の設定しようとしているワークフローだと、上部の設定画面はデフォルトのままでいいので、
このままワークフローの動作を作っていきます。

「ステップの追加」を押して「レコードの作成」を選択する。
image.png

説明分はてきとうに入れます。
作成:には作成する対象のエンティティを選択します。
その後プロパティの設定を押します。
image.png

Primary Nameには固定値で「自動作成のプロファイル」を設定します。
固定値の場合はフィールドの入力欄に直接文字を入力します。

次に、所属する企業情報1と2に取引先企業の値を設定します。
固定値に対して、これはワークフローのトリガーになるレコードによって値が変わるので動的な値の設定になります。
画面右側、フォームアシスタントで検索:とある欄で「会社名(取引先企業)」を設定します。

次の順番に操作します。

  1. 検索:の2個目の欄で、対象のフィールドに設定したいフィールド名を選択します。
  2. 追加を押します。
  3. 対象のフィールドをクリックしてカーソルを置きます。
  4. OKを押します。

動的な値は黄色く表示されます。
設定が済んだら画面左上の保存して閉じるを押します。
image.png

設定が完了したので、アクティブ化を押します。
image.png

動作を試す

下記のような適当な取引先担当者を作成します。
非同期でワークフローは動くため、レコードを作成してから動作の完了までに何十秒かかかります。
image.png

作成されたデータは以下です。ちゃんと設定した値たちが入っていました。
image.png
image.png

ワークフローの動作履歴については、下図のようにワークフローの画面から確認できます。
設定を失敗してうまくいかない場合、エラー原因をここから確認できます。
image.png

最後に

ワークフロー以外にも、業務ルールやら計算フィールドやらあるので、この辺を活用すると
キャンバスアプリとのコラボレーション効果が出てくるのではないかと思います。
この辺も紹介してもっとPowerAppsを流行らせていきたいです。
(これがみなさんには響くのかどうかわかりませんが・・・・)

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?