Dynamics365 ワークフローの活用

Dynamics365で役立つ機能「ワークフロー」
PowerAppsのモデル駆動型アプリでも使用可能

「ワークフロー」機能は、システムでよくある申請を上げて承認を誰かがするようなワークフローではなく、ユーザーの処理に伴いバックで自動的にデータを作成・更新・削除などの処理を行う機能です。PowerAppsのモデル駆動型でも使用可能です。
他の人にも説明し尽くされているかもしれませんが、改めて整理します。

いいところは下記のような点です。
・プログラミングなしでできる
・条件分岐やフィールドに動的な値(ユーザーが入力した値など)を設定できる

雑ですが下の図のようなイメージです。ユーザーがエンティティAのレコードを作成したとき、自動的にエンティティBにもレコードを作る、といった動作をDynamics365(D365)が自動的にやってくれます。

具体的な設定例

「部屋」というエンティティに、汚い部屋のレコードを作ると、ワークフローによって「作業予定」エンティティに清掃の予定を作る例です。事前にカスタムエンティティの「部屋」「作業予定」を作ります。

ワークフローを設定するには、
サイトマップの設定>プロセス
または、設定>ソリューションで任意のソリューションを作成・開く
で表示される画面で、新規のボタンを押します。
(画面上部にPowerAppsとありますが、開いているのはDynamics365です。。。)

カテゴリは「ワークフロー」、エンティティはワークフローが動くトリガーとなるエンティティである「部屋」を設定します。

右側中部に「スコープ」という項目がありますが、ここを「ユーザー」にしているとワークフローを作成したユーザーの操作でのみワークフローが動きます。「組織全体」を設定すると、すべてのユーザーの操作でワークフローが動くようになります。

ステップの追加をクリックして「条件の確認」を選択します。

部屋の汚さというフィールドをオプションセット(選択肢から選ぶ形式)で作っています。汚い、すごく汚いが設定されている場合という条件を設定します。

「この行を選択し、・・」とあるところをクリックしてから、ステップの追加で「レコードの作成」を選択します。

作成:に「作業予定」を選択します。プロパティの設定ボタンを押すと、「作業予定」エンティティに作成するレコードに設定する値を設定できます。

作業種別に「清掃」を入力します。
担当者名はワークフローのトリガーとなる「部屋」エンティティに設定されていた担当者名から持ってきます。
つまり、作成元のレコードの値によって、作成されるレコードの値が異なる、動的な値を設定します。
画面右側のフォームアシスタントで、下記のように設定した後、追加、OKを押すと黄色い塗りつぶしがされた文字が入ります。
右側のフォームアシスタントでフォームを選択してOKを押すことを繰り返すと一つのフォームに複数の動的な値を設定することもできます。

最後にアクティブ化します。アクティブ化せずに保存して閉じるを押すと、ワークフローを下書き状態でおいておくことができます。

ワークフローの動作確認

部屋に「俺の部屋」レコードを作成します。すごく汚いです。

数秒すると作業予定が作成されます。担当者名には「部屋」エンティティで設定した私自身という値が設定されています。

プロセスを開いた画面で、プロセスセッションを選択するとワークフローの動作履歴を確認できます。今回は成功していますが、ワークフローの設定内容に不具合があって失敗してしまった場合には、ここで失敗理由を確認できます。

今回説明した内容はごく普通のワークフローの設定でしたが、もう少しトリッキーな設定内容について、明日以降説明を追加していく予定です。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です