- 追加された行はこの色です。
- 削除された行はこの色です。
Open棟梁Project - マイクロソフト系技術情報 Wiki
-[[戻る>Dynamics]]
* 目次 [#f01b5db0]
#contents
*概要 [#d5e9c533]
Dynamics の開発ツールについて纏めています。
**良い点 [#j7f10df2]
-開発ツールとしての完成度は高そう。
--CRMはよりEUCより。
--AXは基幹系、きめ細かいカスタマイズを考慮。
-相互運用等の技術的な制約も殆ど無さそう。
--諸パケージと同様に、.NET等の他開発言語からの呼出WebAPIを公開可能。
--AXはマネージ、アンマネージ・コードの呼び出しが可能。
--AXはX++からマネージ、アンマネージ・コードの呼び出しが可能。
--CRMはアドオンの形で、所定のマネージ・コードの呼び出しが可能。
**課題 [#oefabb17]
他システム開発に使用することもできるが、~
基本はカスタマイズの範囲で使用するものと思われる。
-クライアント・ライセンスが必要になる。~
ライセンスは人という考え方と、端末という考え方がある。
-Dynamics担当もSAP担当とほぼ同じくカスタマイズの面倒は見ないので、~
自身が業務テンプレートを拡充する場合を除き、EUCレベル以上に詳しくなれない。
従って、
-EUCの場合は問題ないが、
-EUCの場合、問題は無いが、
-受託開発の利用においては、IDEとしては浸透していないので、~
開発者の調達・育成や情報収集が難しい点が課題と考える。
*Dynamics CRMの開発ツール [#g1b2bb98]
[[CRMのカスタマイズ]]
**ポイント [#g57767b1]
-設計情報の入力I/Fに専用ツール(デザイナ型)を採用している。
-基本的にコンフィギュレーションのみでコードは書かない(アドオンを書く場合のみ例外)ので~
テンプレート・カスタマイズ、ラウンド・トリップ開発などのスクラッチ開発的な手法は不可能。
**エンティティ [#b1a2448c]
-エンティティを作成すると画面・DBテーブルも自動的に作成される。
--基本1エンティティ=1画面・1テーブルとなっている。
--画面・テーブルの自動生成ツールと言うよりも、アドオンのEUC支援ツール。
-エンティティの画面では自動生成なので柔軟性に難あり、例えば一覧・更新処理は実装できない。
--(必ず[一覧表示] → [詳細表示] → [データ修正]が必須)
**データ アクセス [#lca67058]
-クエリを使用してデータを取得する~
https://msdn.microsoft.com/ja-jp/library/gg334607.aspx
-DBテーブルにアクセスする方法
--Microsoft Dynamics CRM SDKを使用する。
--SQLでの直接アクセスはサポートされない。
--直接アクセスはフィルターされたビュー(Filtered views)だけサポート。
--Web サービス経由でクエリが実行されるため。~
Dynamics CRM Onlineでも利用できるデータ アクセス。
---エンティティ
---QueryExpression
---FetchXML
---LINQ クエリ
--SQLとして実行されるため、~
Dynamics CRM Onlineで利用できないデータ アクセス。
---フィルターされたビュー(Filtered views)
***エンティティ [#hc5f6da7]
-Create メソッド
-Retrieve メソッド
-Update メソッド
-Delete メソッド
-RetrieveMultipleMethod メソッド
-Execute メソッド
***Fetch と QueryExpression [#b63e6439]
オブジェクトやXMLの階層構造でSQLを表現する。
-サンプル: Fetch と QueryExpression の間でクエリを変換する~
https://msdn.microsoft.com/ja-jp/library/hh547457.aspx
-QueryByExpression
--QueryExpression でクエリを作成する~
https://msdn.microsoft.com/ja-jp/library/gg328300.aspx
---サンプル: QueryByAttribute クラスを使用した複数取得~
https://msdn.microsoft.com/ja-jp/library/gg334708.aspx
-FetchXML
--FetchXML を使用したクエリの構築~
https://msdn.microsoft.com/ja-jp/library/gg328332.aspx
---Dynamics CRM でサポートされるクエリ言語。
---T-SQL の機能に似た内容をサポート。
---Dynamics CRM のセキュリティに準じた結果セットを取得できる。
---ユーザービューやシステムビューの保存や、高度な検索の実行で利用される。
---高度な検索で利用したクエリを FetchXML として取得できる。
***[[LINQ]] [#v3640c04]
[[LINQ]] to CRM~
Microsoft Dynamics CRM Online 2015 更新プログラム クエリ プロバイダー
-[[LINQ]] (.NET 統合言語クエリ) を使用してクエリを作成する~
https://msdn.microsoft.com/ja-jp/library/gg328028.aspx
***フィルターされたビュー [#k550a733]
-Filtered views
-Microsoft Dynamics CRM データベース(SQL Server)を直接クエリできる。
-設置型のみでサポートされるため、オンライン環境へ移行することができない。
***参考 [#c343dfcd]
-Japan Dynamics CRM Team Blog - Site Home - MSDN Blogs~
--Dynamics CRM 2011 カスタムレポート
---その 1 - フィルター化されたビュー vs. FetchXML~
http://blogs.msdn.com/b/crmjapan/archive/2013/01/07/dynamics-crm-2011-custom-reporting-in-microsoft-dynamics-crm-fetch-vs-filtered-views.aspx
---その 2 - FetchXML を利用したカスタム活動レポート~
http://blogs.msdn.com/b/crmjapan/archive/2013/07/02/dynamic-activity-reporting-using-fetchxml.aspx
*** [#mf2da980]
-アドオン開発をするときは他の開発ツールを併用する必要がある。
--(Dynamics CRM SDK、Visual Studio、Excel)
-帳票・グラフ・ビューと、ダッシュボードのカスタマイズが可能。
-つながり機能は、ロールでエンティティ(レコード)間を接続。
-ロールアップクエリの定義
--任意のエンティティのフィールドをロールアップフィールドに設定できる。
--ロールアップフィールドのデータ型、対象データセット(個人・グループ)を変更可
*Dynamics AXの開発ツール [#g45fffe4]
[[Dynamics AX開発 (AOT)]]