今回は、Dynamics 365 Business Centralのコネクター(データモデル)を設定し、デモデータベースに接続してレポートを作成してみます。
データモデルの入手
Sharperlightのホームページに行きます。
https://www.sharperlight.com/
Resourcesをクリックし、プルダウンメニューを表示します。
Datamodelsメニューアイテムを選択します。
Datamodelsのページのツリービューより、BUSCENTRAL - Dunamic 365 Business Centralを選択します。すると、右側に様々なアイテム一覧が表示されます。
その一覧から、BusCentralデータモデルを探し出し、Download
ボタンをクリックします。データモデルのダウンロードが直ぐに開始されます。
デモデータベースの入手
データベースは、このデータモデルに組み込まれているAPIとの対話機能を利用して、計画的かつ緻密にシンクロされるようになっているのですが、今回は概要ということで、あらかじめ用意したデモデータベースを使用します。
同じアイテム一覧からDemo Databaseフォルダを開き、ZIPされたデモデータベースをダウンロードします。
データモデルのインストール
Sharperlightアプリケーションメニューから、データモデルのインストーラー
を選択します。
追加
ボタンをクリックし、先ほどダウンロードしたデータモデルを選択します。
このように追加されます。
再コンパイル
ボタンをクリックして、データモデルをコンパイルします。
デモデータベースのリストア
Microsoft SQL Server Management Studio(以下SSMS)を起動し、ご利用のデータベースサーバーに接続します。
先ほどダウンロードしたデモデータベースZIPファイルからバックアップファイルを解凍します。
SSMSのデータベースリストア機能を利用して、デモデータベースをインストールします。
(バックアップは、SQL Sever 2017で作成され、バックアップされています)
データモデルとデータベースの接続
データモデルとデータベースの接続はクライアントのセットアップで行います。
Sharperlightアプリケーションメニューからクライアントのセットアップ
を起動します。
ローカル接続のDynamics 365 Business Centralの接続詳細を設定します。
Microsoft SQL Sever (Windows認証)あるいはMicrosoft SQL Sever (データベースサーバーの認証)どちらかを選択します。
設定が終了したら、接続テスト
で接続が正しく行われるか確認します。
OK
ボタンを押して設定を保存します。
レポートの作成
Microsoft Excel上にレポートを作成してみます。
Microsoft Excelを起動します。SharperlightXL
タブに移動します。
SharperlightXLのリボンが表示され、様々な機能アイコンが見えます。
セルF5を選択してからテーブル
アイコンをクリックします。テーブル作成をサポートするクエリビルダが起動します。
フィルターの設定
モード
には概要レポートを選択します。
製品
はもちろんDynamics 365 Business Centralを選択します。
Company
の値フィールドをダブルクリックし検索ダイアログを表示させ、一覧からDEFAULTを選択します。
テーブル
にはCustomer Ledger Entryを選択します。
出力アイテムの選択
選択領域のツリー一覧からCustomer NoとAmountLCYをそれぞれダブルクリックして出力領域に転送します。
18\Customer
フォルダ(JOINを表す)を展開し、Nameを出力領域に設定します。
出力領域に設定されたフィールドの説明をレポート用に編集します。それぞれのフィールドを選択し、右クリックメニューから説明の変更
を選択し、それぞれ顧客番号、顧客名、金額と変更します。
プレビュー
ボタンでクエリを走らせてみましょう。このような結果になります。
では、OK
ボタンで保存、実行とします。
クエリー名編集ダイアログが表示されますが、そのままOK
を押します。
Excelシート上にテーブルが作成されます。
テーブルアイコンをクリックする前に選択したセルF5を再度選択してみてください、Sharperlightのテーブル式が設定されているのが見えます。
セルF5をダブルクリックすると再度クエリビルダが起動して、クエリの編集が行えます。
フィルターへのセル参照の設定
このままでは、フィルター値を変更するには毎回クエリビルダを起動する必要があります。シート上でフィルター値を変更可能にします。
先ず、セルC7に<DEFAULT>
と入力します。
セルF5をダブルクリックしてクエリビルダを起動します。
Company
の値フィールを選択した状態にします。セルC7をダブルクリックします。セル参照式がCompany
の値フィールドに設定されます。
OK
ボタンで保存します。
セルC7をダブルクリックしてみてください。検索ダイアログが起動し、Companyが選択可能になりました。
もう少しクエリを編集してみましょう。今度は3つほどフィルターを追加します。
選択領域で、下記の3つのフィールドを探しフィルター領域にドラッグ&ドロップします。
- Document
- Due Date
- Open
それぞれのフィルター値を下図のように設定します。Due Dateフィルターにはセル参照が使用されていることに注意してください。上記で行ったように、設定したい値フィールドを選択し、参照したいセルをダブルクリックします。このケースでは、セルC8が参照されています。
OK
ボタンで保存します。
Due Dateフィルターで参照したセル、すなわちC8をダブルクリックします。日付オプションダイアログが表示されます。30/06/2022を設定してみます。
日付を選択しOKボタンを押した直後、Sharperlightのテーブル式が再計算されてテーブルが更新されます。
これでレポートはできました。
あとはちょっと見た目を整えて完了
データの同調
Dynamic 365 Business Centralはクラウドベースのソリューションです。
上記の記事では、サンプルデータベースを利用しましたが、Sharperlight Business Centralデータモデルは、基本的にクラウドからデータをローカルデータベースに同調させてレポーティングを行うよう設計されています。但し、書き戻し機能ではBusiness CentralのAPIを利用したクラウドへの直接な書き戻しを実現しています。
データの同調には、Sharperlightスケジューラが使用されています。
Sharperlightスケジューラのデータ同調タスクをスケジューリングして、毎日決まった時間にデータの同調を行うことで常に最新のデータを利用したレポーティングが可能になります。
また以下の方法でお好きな時に同調タスクを実行することもできます。
Sharperlightアプリケーションメニューからソリューションを起動し、Dynamic 365 Business Central
ノードのHomepage
を選択し、右クリックメニューから実行
を選択すると、主ダッシュボードページが開きます。
Scheduler
タブでScheduled Tasks
を選択します。
スケジューラのタスク一覧が表示されます。この画面より手動でデータ同調タスクを実行することができます。
Sharperlight で Dynamics 365 Business Central のレポート作成をお楽しみください!!