Open棟梁Project - マイクロソフト系技術情報 Wiki

-[[戻る>Dynamicsのカスタマイズ]]

* 目次 [#g3778851]
#contents

*概要 [#be1bd860]
-マーケティング・モジュール
-営業モジュール
-サービス・モジュール 

分野におけるCRM(顧客関係管理)を中心に構築されている。

その一方で、民間・政府・非営利のあらゆる部門における広範囲な~
機能を制御可能な多様性からxRMという言葉が使われるようになってきている。

**カスタマイズの方法 [#x4512433]
*構成 [#x323f671]
カスタマイズは

-[[ソリューション コンポーネント>#cb6cf5ad]]
-[[外部コンポーネント>#o57e5a1d]]

から構成される。

**ソリューション コンポーネント [#cb6cf5ad]
カスタマイズ ツールまたは API を使用して作成され、~
アプリケーション内で完全にホストされる。

***種類 [#sdfb9efd]
-スキーマ
--エンティティ
--属性
--関連付け
--グローバル オプション セット

-ユーザインターフェイス
--アプリケーション リボン
--サイトマップ
--フォーム
--エンティティ リボン
--Webリソース

-分析
--ダッシュボード
--レポート
--ビジュアル化

-プロセス/コード
--プロセス
---ダイアログとワークフロー
--プラグイン
---アセンブリ
---処理手順

-テンプレート
--差し込み印刷
--電子メール
--契約
--記事

-セキュリティ
--セキュリティ ロール
--フィード レベルのセキュリティ プロファイル

***外部コンポーネント [#o57e5a1d]
アプリケーションの外部で動作するソフトウェアは、~
インストーラー プログラムなど、従来の方法で~
アプリケーションをパッケージ化してインストールする。

**方法 [#r91122d1]
***ポイント アンド クリック [#x21f60d4]
GUIツールだけで変更可能な手法

***JavaScript [#t32abf6c]

***ワークフロー定義 [#j4b35090]

***.NETプラグイン [#u5dcd5a0]

***XMLを直接編集 [#v6e07d97]
エクスポートしたソリューション パッケージのXMLを直接編集

*ソリューション [#g27fd4e3]
-ソリューション コンポーネントをグループ化したもの。

-特定のビジネス要件一式を満たすために~
システムに対して行うカスタマイズを整備するための手段。

-一連のカスタム コンポーネントをパッケージ化。
-一部のユーザー or 全てのユーザーに必要となる機能を提供する。

-カスタマイズ
--カスタマイズに対応するカスタム ソリューションを新規作成する。
--[[既定のソリューション>#aba80e7a]]を直接編集することもできる。
--推奨:ビジネス要件のまとまり毎にカスタム ソリューションを新規作成する。

**構成 [#ff24d2ea]
-ソリューションの概要~
https://msdn.microsoft.com/ja-jp/library/Gg334576.aspx
--システム ソリューション
---Microsoft Dynamics CRM 内に定義されたソリューション コンポーネント
---既定のアプリケーションの動作を定義している。

--マネージド ソリューション
---配布とインストールを目的とする完成したソリューション
---ソリューション コンポーネントの変更・追加が可能。
---システム ソリューションの上にインストールできる。
---他のマネージド ソリューションの上に重ねることもできる。
---アンマネージド ソリューションをエクスポート&パッケージ化したもの。
***システム ソリューション [#gc84622f]
-Microsoft Dynamics CRM 内に定義された既定のソリューション コンポーネント
-既定のアプリケーションの動作を定義している。

--アンマネージド ソリューション
---開発中であるか、配布を目的としないソリューション
---アンマネージド カスタマイズのグループ
***マネージド ソリューション [#q56e227d]
-配布とインストールを目的とする完成したソリューション
-アンマネージド ソリューションをエクスポート&パッケージ化したもの。

--アンマネージド カスタマイズ
---システム ソリューションはアンマネージド カスタマイズできる。
---マネージド ソリューションはアンマネージド カスタマイズできる。
-ソリューション コンポーネントの変更・追加が可能。
-システム ソリューションの上にインストールできる。
-他のマネージド ソリューションの上に重ねることもできる。

***アンマネージド ソリューション [#wfd44e9f]
-開発中であるか、配布を目的としないソリューション
-アンマネージド カスタマイズをグループ化したもの。

-アンマネージド カスタマイズ
--システム ソリューションはアンマネージド カスタマイズできる。
--マネージド ソリューションはアンマネージド カスタマイズできる。

**利点 [#xbf01385]
-他のコンポーネントに気を取られること無く、~
必要なコンポーネントのみに取り組むことができる。

-元の要件に複数のソリューションを関連付けることで、変更を記録できる。

-開発環境からのエクスポートと、テスト運用環境へのインポートが可能。

--エクスポートに含まれるのは差分のみ。サイズが小さくて済管理も容易。

--エクスポートは、変更管理レコードの一部として保存できる。

--過去のソリューションを使用して変更をロールバックできる。

**既定のソリューション [#aba80e7a]
-組織作成時に作成される、システムの全コンポーネントを含んだソリューション。

-エクスポート・インポート可能
-マネージドソリューションとしてのエクスポート不可
-[[Dynamics CRM Online]]に展開できない。

**ソリューションの新規作成 [#kf9fdc56]
**新規作成 [#kf9fdc56]
カスタム ソリューションを新規作成

*コンフィグレーション [#b125aeea]
-エンティティを作成すると画面・DBテーブルも自動的に作成される。
--基本1エンティティ=1画面・1テーブルとなっている。
--画面・テーブルの自動生成ツールと言うよりも、アドオンのEUC支援ツール。

-帳票・グラフ・ビューと、ダッシュボードのカスタマイズが可能。

-つながり機能は、ロールでエンティティ(レコード)間を接続。

-ロールアップクエリの定義~
--任意のエンティティのフィールドをロールアップフィールドに設定できる。
--ロールアップフィールドのデータ型、対象データセット(個人・グループ)を変更可

**ポイント [#g57767b1]
-設計情報の入力I/Fに専用ツールを採用
-ラウンド・トリップ開発に非対応(コードはJavaScriptのみ)。
-設計情報の入力フォーマットやテンプレート修正は不可

-画面が自動生成なので柔軟性に難あり、~
例えば一覧メンテ処理は実装できない。
--(必ず[一覧表示] → [詳細表示] → [データ修正]が必須)
--アドオン開発をするときは他の開発ツールを併用する必要がある。
--(Dynamics CRM SDK、Visual Studio、Excel)

*SDK [#le89f210]
-Dynamics CRM SDK~
http://www.infoq.com/jp/news/2011/08/dynamics-platform

-上記のエンティティ定義と
--JavaScriptイベント定義
--xxx

>で開発。

**ポイント [#o11c578a]

*エンティティ [#v7cf2804]
**バインディング [#nbc604e9]
***事前バインディング [#r445d864]
***遅延バインディング [#a0c0f205]

*SQL [#lca67058]
-クエリを使用してデータを取得する~
https://msdn.microsoft.com/ja-jp/library/gg334607.aspx

-DBテーブルにアクセスする方法
--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 [#nddb42c3]
-QueryExpression でクエリを作成する~
https://msdn.microsoft.com/ja-jp/library/gg328300.aspx

--サンプル: QueryByAttribute クラスを使用した複数取得~
https://msdn.microsoft.com/ja-jp/library/gg334708.aspx

***FetchXML [#l03369e4]
-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


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS