皆様、こんにちわ。日本マイクロソフトの稲冨です。
前回の投稿から早1年以上が過ぎていました。もうちょっと頑張ります。(前回も言っていた・・・)
さて今回のテーマは「Dynamics 365 Fin&SCMのテーブルで仮想のDataverseを登録する」です。
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を開く
を選択してください。
AppSourceを開いたら、"Finance and Operation Virtual Entity"を"今すぐ入手"からインストールしてください。検索は"virtual"などと入力すると見つけやすいです。
~② 仮想のDataverse機能の有効化~
インストールが完了したら、Power Platformの管理画面で設定を押してください。
遷移した先のメニューで、製品>機能を押してください。
展開された画面の下部に「Dataverseでの~」という箇所があるはずなので、そこを”オン”にすれば有効化が完了です。この時点でFOのテーブルの仮想のDataverse化がなされた状態になっています。
ただし、可視化するにはもう1ステップ必要です。
~③ 対象のテーブルを仮想のDtaverseとして可視化する~
Power AppsのMake画面から画面右上の設定から、詳細設定を選択してください。
遷移した先でフィルターボタンを押してください。
(え、そこ?と思われた方、初めて試したとき私も思いました。)
ポップアップしてきた画面でLook forに「Available Finance and Operations Entities」(日本語にUIを適用している方は"使用可能な Finance and Operations エンティティ")を選択し、フィルタ条件を自分が仮想のDataverse化したいテーブルが出てくるように編集して、"Result"を押してください。
※私は固定資産のテーブルを表示したかったので、"Fixed"と入れています
先のフィルタ条件からテーブルがいくつか表示されるので、自分が仮想のDataverse化したいテーブルを選択してください。
この時、エンティティ名の左側にチェックを入れるのではなく、エンティティ名のリンクそのものをクリックしてください。
画面が遷移しますので、遷移先の画面で"Visible"にチェックを入れて保存すれば、対象のテーブルの仮想のDataverseがPower Appsのテーブル一覧で見れるようになります。
確認できるようになったら、テーブル名に(mserp)とついていること、種類が"Virtual"になっていることが分かるかと思います。
冒頭に申し上げた通り、こちらは実データとしてはMS SQL DBにあるものの、Dataverseの様に扱えるようになっているので、Power Appsで初歩によくやる3画面アプリ(Dataverseを指定したら、一覧・詳細・編集のアプリを作ってくれる)なども簡単に作成が可能になります。
本日の記事ではD365 FOのテーブルを仮想のDataverseとする方法についてお伝えしました。
こちらの活用により、FOの標準機能では満たせないものの、アドオンするほどでもないような機能について、ローコードで補足するということが、より簡易的に実現できるのではと思います。
それではまた次の記事でお会いしましょう。