Dynamics 365 Fin&SCM(Finance & Operations)のテーブルで仮想のDataverseを登録する

皆様、こんにちわ。日本マイクロソフトの稲冨です。

前回の投稿から早1年以上が過ぎていました。もうちょっと頑張ります。（前回も言っていた・・・）
さて今回のテーマは「Dynamics 365 Fin&SCMのテーブルで仮想のDataverseを登録する」です。

これができると、↓こんなものが出来てきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2513758/cfcd7c1a-666b-3099-ce38-7b8f6e68d59e.png)

Dynamics365 Fin&SCM(以下FOと呼称します)はその製品の成り立ちから、CRMと違い、DBはMS SQL DBを使用しています。つまりCRMと違って、Dataverseが既にあり、そこからPower Appsへの展開をするということはできません。

Power PlatformではFOに対してもConnectorはあるので、FOをAppsで拡張などはもちろん可能なのですが、Dataverseの方がやりやすいという方は多くいらっしゃると思います。

そこで、少し前にFOのテーブルを仮想のDataverseにするという機能が公開されましたので、こちらについてご説明していきます。

仮想のDataverseって何？という方は下記の記事もご参照ください。
FOの実データはMS SQL DBにあるのですが、あたかもDataverseにデータがあるかのように扱えるようになるものです。
https://qiita.com/skuramoto/items/496a6e0cb4619b0a871d

FOのテーブルを仮想のDataverseとして利用するには以下の3ステップが必要です。
①　"Finance and Operation Virtual Entity"のインストール
② 仮想のDataverse機能の有効化
③ 対象のテーブルを仮想のDtaverseとして可視化する


～① "Finance and Operation Virtual Entity"のインストール～

Power AppsのMake画面(Adminではありません)から、
ソリューション>AppSourceを開く
を選択してください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2513758/78e5f181-e266-709e-c9d7-21205063d2b9.png)

AppSourceを開いたら、"Finance and Operation Virtual Entity"を"今すぐ入手"からインストールしてください。検索は"virtual"などと入力すると見つけやすいです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2513758/1a49c4c8-98db-0970-5d99-d8d8f5bf7ee8.png)


～② 仮想のDataverse機能の有効化～

インストールが完了したら、Power Platformの管理画面で設定を押してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2513758/b3ba6192-7013-df50-1892-ca25137108c5.png)

遷移した先のメニューで、製品>機能を押してください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2513758/88bd2842-2aa4-90bc-bad6-31963e09a966.png)

展開された画面の下部に「Dataverseでの～」という箇所があるはずなので、そこを”オン”にすれば有効化が完了です。この時点でFOのテーブルの仮想のDataverse化がなされた状態になっています。
ただし、可視化するにはもう1ステップ必要です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2513758/00b19519-4492-37cb-487b-341652cff791.png)

～③ 対象のテーブルを仮想のDtaverseとして可視化する～

Power AppsのMake画面から画面右上の設定から、詳細設定を選択してください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2513758/ba3bdfcc-5c3a-ec8c-8384-803e7bb98320.png)

遷移した先でフィルターボタンを押してください。
(え、そこ？と思われた方、初めて試したとき私も思いました。)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2513758/3ecc93c5-ce5d-fec9-3e85-437950a97d2d.png)

ポップアップしてきた画面でLook forに「Available Finance and Operations Entities」(日本語にUIを適用している方は"使用可能な Finance and Operations エンティティ")を選択し、フィルタ条件を自分が仮想のDataverse化したいテーブルが出てくるように編集して、"Result"を押してください。
※私は固定資産のテーブルを表示したかったので、"Fixed"と入れています

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2513758/c9069804-8a69-5497-a3e5-8b6c1c64db76.png)

先のフィルタ条件からテーブルがいくつか表示されるので、自分が仮想のDataverse化したいテーブルを選択してください。
この時、エンティティ名の左側にチェックを入れるのではなく、エンティティ名のリンクそのものをクリックしてください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2513758/1039c48e-0460-8899-bea1-ff799bb2323b.png)

画面が遷移しますので、遷移先の画面で"Visible"にチェックを入れて保存すれば、対象のテーブルの仮想のDataverseがPower Appsのテーブル一覧で見れるようになります。
確認できるようになったら、テーブル名に(mserp)とついていること、種類が"Virtual"になっていることが分かるかと思います。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2513758/313beb4a-e8c6-99a1-69d8-bf04dd869897.png)

冒頭に申し上げた通り、こちらは実データとしてはMS SQL DBにあるものの、Dataverseの様に扱えるようになっているので、Power Appsで初歩によくやる3画面アプリ(Dataverseを指定したら、一覧・詳細・編集のアプリを作ってくれる)なども簡単に作成が可能になります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2513758/eb14d90e-28f1-bea7-5e34-37cc6788a748.png)

本日の記事ではD365 FOのテーブルを仮想のDataverseとする方法についてお伝えしました。
こちらの活用により、FOの標準機能では満たせないものの、アドオンするほどでもないような機能について、ローコードで補足するということが、より簡易的に実現できるのではと思います。

それではまた次の記事でお会いしましょう。