開発者向けの新機能

 

公開日: 2016年11月

対象: Dynamics CRM 2015

Microsoft Dynamics CRM 2015 および Microsoft Dynamics CRM Online 2015 更新プログラム によって新たな機会が提供され、1 つの開発環境でクラウドベースの展開と設置型の展開に対応できます。 パートナー (独立系ソフトウェア ベンダー、グローバル システム インテグレーター、付加価値再販業者など) は、Microsoft Dynamics 365 の拡張機能やカスタム ソリューションの作成、パッケージ化、配布を迅速に行うことができます。

このトピックの内容

Microsoft Dynamics CRM Online 2015 更新プログラム 1 の新機能

CRM 2015 および CRM Online 2015 年更新の新機能

Microsoft Dynamics CRM Online 2015 更新プログラム 1 の新機能

開発者は、このリリースで次の拡張機能と新機能を活用できます。

  • Dynamics CRM データと外部システムを容易に統合

  • 特化された操作のメッセージの更新

  • 代替キー

  • 変更の追跡

  • 外部データで CRM を更新するための upsert

  • オプティミスティック同時実行

  • 複数メッセージの実行

  • トレース中

  • ワークフローまたはダイアログ内のユーザー定義アクション

  • Parature との統合

  • サーバー ベースの SharePoint 統合のユーザー定義要求のマッピング

  • OneNote との統合

  • 権利の強化

  • ビジネス プロセスの必要な手順の順守

  • FetchXML と QueryExpression の日時フィールドに対して追加の "older than" 句をサポート

  • レコードの作成および更新のルール

  • フォルダー レベルの電子メールの追跡

  • CRM の日付値の新しい動作のサポート

  • Web API プレビューを試みる

  • 新しいフォーム スクリプト機能

  • Parature との新しいナレッジ マネージメント (KM) 統合に対するフォーム スクリプトのサポート

  • フォーム内のサブグリッド コントロールについて強化された機能

  • フォームを開くためのその他のオプション

  • 日付コントロール用 Control.getShowTime メソッド

  • カスタマイズ可能なテーマ

  • ロールアップ フィールドの強化

  • 営業案件、見積もり、受注、請求書へのユーザー定義の価格表

  • 新しいエンティティ

  • 組織Web サービスにおける新規メッセージ

  • 新しい特権

ブログ: Microsoft Dynamics CRM 更新プログラムの新しい命名規則

Dynamics CRM データと外部システムを容易に統合

このリリースには、Dynamics 365 データと他のシステムに格納されているデータとの統合および同期を容易にする複数の新機能があります。 ここに示す一連の機能は、コードを簡素化および効率化するためにそのほかの状況でも使用できます。

  • 特化された操作のメッセージの更新

  • 代替キー

  • 変更の追跡

  • 外部データで CRM を更新するための upsert

詳細:CRM データを外部システムと同期する

特化された操作のメッセージの更新

このリリースの前では、特定のエンティティの属性値を更新するためには、特化されたメッセージが要求されました。 たとえば、エンティティの ownerid 属性を変更するには、Assign メッセージを実行する必要がありました。 このリリースでは、UpdateRequest を実行して、同じ操作を行うことができます。これらの特化されたメッセージの一部が削除されました。 これらの属性と削除されたメッセージの詳細については、「[更新] を使用して特化された操作を実行する」を参照してください。

代替キー

代替キーは効果的な方法でデータの統合を可能にします。 ユーザーは、現在は、外部のデータ ストアが使用する一意の識別子 (または列の組み合わせ) に一致するように、Microsoft Dynamics 365 エンティティの属性を定義できます。 主キーの代わりにこの代替キーを使用して、Dynamics 365 内のレコードを一意に識別します。 この機能は、以下の方法で、デベロッパーと顧客のエクスペリエンスを向上させます。

  • 他の一意な列からのレコード ID を検索するラウンド トリップを削減する。

  • CRM Online の場合に特に、一括データ処理の総合的なスループットを向上させる。

  • Dynamics 365 のレコード ID を使用せずに、外部システムからのプログラミングを簡素化する。

詳細: エンティティの代替キーの定義 および 代替キーを使用してレコードを作成

変更の追跡

このリリースに含まれる RetrieveEntityChangesRequest メッセージを使用することによって、Dynamics 365 データの変更を監視するコードの効率を大幅に向上できます。 新しい変更追跡機能は、データが最初に抽出されてから、または最後に同期化されてから度のデータが変更されたかを検出することによって、外部データ ソースに格納されている Dynamics 365 データの同期を効率の良い方法で維持する方法を提供します。

詳細:変更の追跡を使用してデータを外部システムに同期

外部データで CRM を更新するための upsert

新しい UpsertRequest メッセージでは、レコードが既に存在する場合は更新を行い、レコードが存在しない場合は作成を行うことによって、データの統合に関係する複雑性を低減します。 これは、Dynamics 365 でレコードの状態を設定するとき、そのレコードが存在しているかどうか分からない場合に特に有効です。

詳細:Upsert を使用してレコードを挿入または更新

オプティミスティック同時実行

Microsoft Dynamics 365 のようなマルチスレッド、マルチユーザー システムでは、操作とデータの変更がよく並行して実行されます。 同じデータの部分に対して 2 つ以上の更新または削除の操作が同時に行われると、問題が発生します。 この状態は、データの損失を引き起こす可能性があります。 このバージョンでは、ユーザーのアプリケーションがエンティティ レコードを取得した時点からそのレコードの更新または削除を試みるときまでに、サーバー上でそのレコードに変更があったかどうかをアプリケーションで検出する機能が提供されます。 別のユーザーが変更したレコードを更新または削除しようとすると、エラー状態が発生します。

詳細:オプティミスティック同時実行を使用してデータ損失の見込みを削減する

複数メッセージの実行

ビジネス アプリケーションでは、すべてのデータの変更が成功したか失敗したかで、システム内の複数のレコードの変更を調整することが一般的な要件です。 データベースの用語では、どれか一つの操作が失敗したときにすべてのデータの変更をロール バックする機能を持つ単一のトランザクションで、複数の操作を実行することとして知られています。

このリリースでは、ExecuteTransactionRequest メッセージ要求を使用して、1 つのデータベース トランザクションで複数の Web サービス要求を実行できるようになりました。詳細:単一のデータベース トランザクションでメッセージを実行する

トレース中

Microsoft Dynamics 365 の 2013 およびそれ以降のリリースでは、プラグインでのトレースとユーザー定義のワークフロー活動 (カスタム コード) をデバッグの補助としてサポートしましたが、このリリースでは、このトレース情報を記録する機能が PluginTraceLog の種類のエンティティ レコードに追加されています。 現在は、ユーザー定義コードの例外がスローされたかどうかに関係なく、ITracingService を使用して、トレース ログにカスタム コードで情報メッセージを書き込むことができます。 次に、これらのトレースレコードを、Dynamics 365 Web アプリケーションで表示できます。

新しいトレース機能を有効にして使用する方法については、「プラグインのデバッグ」を参照してください。

ワークフローまたはダイアログ内のユーザー定義アクション

開発者はコードを使用してユーザー設定のアクションを呼び出すことができますが、現在は、アクションをワークフローまたはダイアログで直接呼び出すことができます。詳細:プロセスを使用して操作を実行 および ワークフロー ステップの構成

Parature との統合

Dynamics 365 を Parature ナレッジ マネージメントに接続することによって、Parature (提供: Microsoft) のサポート情報にすばやくアクセスします。 サービス エージェントは、Dynamics 365 でサポート案件でまだ作業している間に、関連記事を Parature で容易に検索できます。また、Web、チャット、電子メール、電話などのさまざまなチャネルを通じて顧客と情報を共有できます。 これにより、正確な情報をすばやく検索して顧客に提供することが容易になり、サービス エージェントの生産性の向上に役立ちます。詳細:Microsoft Dynamics CRM 2015 の Parature との統合

Parature のナレッジ マネージメントを有効にすると、サポート情報の検索 コントロールを有効になったエンティティのフォームに追加できます。 このコントロールには、フォーム内でスクリプトを使用して自動化と拡張機能を可能にする、堅牢なクライアント API が含まれます。詳細:Parature との新しいナレッジ マネージメント (KM) 統合に対するフォーム スクリプトのサポート

また、Unified Service Desk for Microsoft Dynamics 365 は、Parature ナレッジ マネージメントとの追加設定なしの統合を提供します。詳細:デベロッパー向け Unified Service Desk の新機能

サーバー ベースの SharePoint 統合のユーザー定義要求のマッピング

Microsoft Dynamics 365 は、SharePoint Online とのサーバー ベースの統合と、SharePoint 設置型との統合をサポートするようになりました。Dynamics 365 は、SharePoint に格納されているドキュメントにアクセスする Dynamics 365 ユーザーを、クレームを使用して、認証して許可します。詳細:サーバー ベースの SharePoint 統合に対するユーザー定義要求のマッピングの定義

OneNote との統合

選択した Dynamics 365 のエンティティ レコードに対して専用の OneNote ノートブックを自動的に作成するには、Microsoft Dynamics 365 で Microsoft OneNote 統合を設定します。これにより、画像、図面、書式設定されたテキスト (箇条書きおよび表)、音声記録などのさまざまな形式で、Dynamics 365 レコードのコンテキストで、OneNote でメモを簡単に取ることができます。詳細:Microsoft Dynamics CRM の OneNote 2015 との統合

権利の強化

権利の機能が強化されて、以下の操作を実行できるようになりました。

  • 顧客のサポート案件を作成または更新するときに既定の権利がサポート案件に自動的に適用されるように、顧客に既定の権利を設定する。

  • 権利がインシデントに適用されるときに、インシデント (サポート案件) に対する権利の条件を減らすかどうかを制御する。

詳細:権利エンティティ

ビジネス プロセスの必要な手順の順守

現在、Dynamics 365 は、潜在顧客を見込みありと評価するときまたは見積もりを受注に変換するときに、ビジネス プロセスのアクティブなステージで定義されたすべての手順が完了したことを検証することによって、業界のベスト プラクティスに基づいて標準化する機能を強化しています。 その結果、現在は、QualifyLeadRequest および ConvertQuoteToSalesOrderRequest メッセージで、潜在顧客が見込みありと評価される前に、または各見積もりが受注に変換される前に、必要な手順が完了したかどうかが検証されます。 それ以外の場合は、適切なエラー メッセージが表示されます。

FetchXML と QueryExpression の日時フィールドに対して追加の "older than" 句をサポート

Dynamics 365 の前のリリースまでは、FetchXML と QueryExpression 使用して、"X か月よりも古い" 日付しかクエリできませんでした。 これによって、15 分以上前の緊急のサポート案件を検索するなど、他の細分性レベル (時間、日、週など) で過去のサポート案件を検索する機能に制限がありました。

"older than" 句の次の設定が FetchXML および QueryExpression に追加されました。これにより、さまざまな細分性レベルを使用してサポート案件を検索することができます。

  • が X 分よりも古い

  • が X 時間よりも古い

  • が X 日よりも古い

  • が X 週間よりも古い

  • が X 年間よりも古い

詳細:FetchXML の会計日クエリ演算子および "older than" 日付/時刻クエリ演算子

レコードの作成および更新のルール

新しいチャネル エンゲージメント フレームワークのルールにより、電子メール、ユーザー定義の活動、投稿などの、外部の統合アプリケーション (モバイル アプリケーション、ポータル、またはソーシャル チャンネル) からの受信活動を Dynamics 365 で自動的にシステムまたはユーザー定義のレコードに変換することによって、営業、マーケティング、サービス チームの効率を向上することができます。Dynamics 365 または Outlook 用 Microsoft Dynamics CRM を使用して、自動的なレコードの作成と更新のルールを作成および管理します。詳細:ヘルプとトレーニング: 受信活動から CRM のレコードを作成または更新するためのルールを定義する

時には、これらの変換ルールをビジネス要件の変更に合わせて編集する必要があります。 変換ルールを編集するには、ルールを非アクティブ化してルールの定義を編集し、その後、ルールを再アクティブ化する必要があります。 ルールの編集中は、外部アプリケーションからの活動は引き続き Dynamics 365 に入ってきますが、ルールがアクティブでないので処理されません。 変換ルールを編集し、再アクティブ化した後、そのルールを活動にさかのぼって適用するには、新しい ApplyRecordCreationAndUpdateRuleRequest メッセージを使用できます。

注意

SDK を使用して自動変換ルールを作成することも編集することもできません。変換ルールを適用できるのみです。

フォルダー レベルの電子メールの追跡

Dynamics 365 の新しいメールボックス自動追跡フォルダー (MailboxTrackingFolder) を使用して、Microsoft Exchange の受信トレイ フォルダーを Dynamics 365 レコードにマップできるようにするフォルダー レベルのマッピング ルールを構成します。これにより、Exchange フォルダー内のすべての電子メールが Dynamics 365 内のマップされたレコードに対して自動的に追跡されます。詳細:: Exchange フォルダー レベルの追跡ルールの構成

CRM の日付値の新しい動作のサポート

CRM の前のリリースまでは、Dynamics 365 のすべての日付と時刻の値は、[日付のみ] 形式の場合も含めて、タイム ゾーン対応でした。Dynamics 365 では、新しいプロパティ DateTimeAttributeMetadata.DateTimeBehavior が導入され、DateTime の属性の種類に対して、"日付のみ" と "タイム ゾーン非依存" の値を指定します。詳細:日時属性の動作と形式

Web API プレビューを試みる

Microsoft Dynamics 365 の Web API プレビューは、OData v4、OAuth 2、JSON などの業界標準のインターネット プロトコルの実装によって、Dynamics CRM Web サービスにネットワーク ベースの通信とメッセージ インターフェイスを提供します。 ISV、パートナー、および他の顧客は、このインターフェイスを活用して、コンピューター ハードウェアとデバイス、オペレーティング システム、およびプログラミング言語の広い範囲にわたって、サーバー間アプリケーションとクライアント サーバー間アプリケーションを実装できます。 Web API プレビューは、Dynamics CRM の Web サービス アクセスの今後の方向を表しています。

管理者は、[設定] > [管理] > [システムの設定] に移動し、[プレビュー] タブを選択して、Web アプリケーションで Web API プレビューを有効にできます。 次に、https://<domain>.crm.dynamics.com/api/data にある組織の Web API エンドポイントにアクセスできます。

Web API プレビューは段階的に利用できるようになっています。 このプレビューは最初のリリースであり、追加の機能の実装によって定期的に更新が行われます。 このプレビュー リリースでは、フィードバックと将来のリリースの内容についての理解が得られます。 Web API プレビューは運用環境で使用されることはなく、サポートは提供されません。 次のエンドポイントの詳細については、「Web API プレビュー」を参照してください。

新しいフォーム スクリプト機能

このリリースでは、新しいフォーム スクリプト API を使用できます。

  • Parature との新しいナレッジ マネージメント (KM) 統合に対するフォーム スクリプトのサポート

  • フォーム内のサブグリッド コントロールについて強化された機能

  • フォームを開くためのその他のオプション

  • 日付コントロール用 Control.getShowTime メソッド

  • 使用するデバイスの種類の特定

これらの機能は、システム設定の [レガシ フォームのレンダリングを使用する] が「いいえ」に設定されているときに、更新されたエンティティに対してのみ使用できます。

Parature との新しいナレッジ マネージメント (KM) 統合に対するフォーム スクリプトのサポート

組織で Parature 統合が有効になっているとき、フォームに新しいサポート情報検索コントロールを追加できます。 このコントロールは、ユーザー エクスペリエンスを自動化または向上させるために、プログラミングのサポートを提供します。詳細:Parature サポート情報の検索コントロール (クライアント側の参照)

フォーム内のサブグリッド コントロールについて強化された機能

現在は、フォーム内のサブグリッド コントロールは、現在選択されているビューの変更や、サブグリッドに表示されるエンティティ レコードへの参照アクセスなどの新機能を利用できます。詳細:グリッドのオブジェクトとメソッド (クライアント側の参照)

フォームを開くためのその他のオプション

ユーザーに新しいレコードの作成を指導するとき、新しい Xrm.Utility.openQuickCreate 関数を使用して、簡易作成フォームを開きます。

Xrm.Utility.openEntityForm 関数を使用すると、Web アプリケーションを使用するときに、フォームを新しいブラウザー ウィンドウで開く、オプションの windowOptions パラメーターを含めることができます。

日付コントロール用 Control.getShowTime メソッド

getShowTime メソッドは、既存の setShowTime メソッドのコンパニオンです。 日付コントロールの時間要素が現在表示されているかどうかを決定するには、このメソッドを使用します。

使用するデバイスの種類の特定

Xrm.Page.context.client.getFormFactor メソッドは、デバイスがデスクトップ、タブレット PC、または電話のいずれであるかを示します。

カスタマイズ可能なテーマ

現在、ユーザー定義の外観を Dynamics 365 に適用するための方法がサポートされました。 現在、組織は、会社のロゴなどの、既定の色や他のビジュアル要素に変更を加えることができるようになりました。 これらの変更は、カスタマイズ ツールを使用して行うことができ、開発者を必要としません。詳細:組織のテーマのクエリと編集

ロールアップ フィールドの強化

このリリースでは、現在、ロールアップ フィールドは、AVG の計算とその他の改善をサポートして、アクティビティに対するロールアップ フィールドの使用をサポートしています。 これは、開発者がコードを記述する必要のある 1 つの小さい領域です。詳細:ロールアップ属性 および ロールアップ フィールドを定義する

営業案件、見積もり、受注、請求書へのユーザー定義の価格表

営業案件、見積もり、受注、または請求書の既定の価格レベル (価格表) の選択のために追加設定のないルールを使用する代わりに、既定の価格表を選択するためのユーザー定義のロジックを GetDefaultPriceLevelRequest メッセージを使用して指定てきます。詳細:既定の価格レベルの選択を拡張できます。

新しいエンティティ

次の表に、このリリースに含まれる新しいエンティティを示します

スキーマ名

表示名

説明

ChannelProperty

チャネル プロパティ

内部のみで使用

ChannelPropertyGroup

チャネル プロパティ グループ

内部のみで使用

KnowledgeBaseRecord

サポート情報レコード

Microsoft Dynamics 365 エンティティに関連付けられているサポート情報 (KB) の記事のメタデータです。詳細:Microsoft Dynamics CRM 2015 の Parature との統合

MailboxTrackingFolder

メールボックス自動追跡フォルダー

メールボックスのどのフォルダーが自動追跡されているかについてのデータを格納します。詳細:Exchange フォルダー レベルの追跡ルールの構成

OfficeDocument

Office ドキュメント

Office ドキュメントをバイナリ形式でデータベースに格納するために使用されます。

PluginTraceLog

プラグイン トレース ログ

プラグインおよびユーザー定義ワークフロー活動によって生成されるトレースおよび例外情報です。詳細:トレース ログの有効化

Theme

テーマ

クライアント アプリケーションの視覚的なテーマのカスタム オプションを設定する情報が含まれています。詳細:組織のテーマのクエリと編集

TimeStampDateMapping

タイム スタンプの日付マッピング

内部のみで使用します。

UserMapping

ユーザー マッピング

SharePoint の CRM ユーザーを認証および承認するために CRM で使用される既定値以外の値を使用するために、CRM でのユーザー定義のクレーム マッピングの指定に使用します。詳細:UserMapping エンティティのメッセージおよびメソッド

組織Web サービスにおける新規メッセージ

次のメッセージはこのリリースの新機能です。

要求のクラス名

説明

詳細

ApplyRecordCreationAndUpdateRuleRequest

レコードの作成と更新のルールを受信活動に適用するためのデータが含まれています。

ApplyRecordCreationAndUpdateRuleRequest

ConvertDateAndTimeBehaviorRequest

データベース内の既存の日付と時刻の値を UTC から DateOnly 動作に変換するためのデータを格納しています。

日時属性の動作と形式

CreateEntityKeyRequest

エンティティの代替キーを作成します。

代替キーの作成

DeleteEntityKeyRequest

エンティティの代替キーを削除します。

代替キーの取得および削除

ExecuteTransactionRequest

単一のデータベース トランザクションで複数のメッセージ要求を実行します。

単一のデータベース トランザクションでメッセージを実行する

ExportToExcelOnlineRequest

内部のみで使用

内部のみで使用

PublishThemeRequest

テーマを公開します。

テーマ情報の編集と公開

RetrieveEntityChangesRequest

前回の同期後のエンティティの変更を取得します。

変更の追跡を使用してデータを外部システムに同期

ReactivateEntityKeyRequest

キーのインデックスを作成する新しい非同期システム ジョブを送信します。

代替キーのインデックス作成の監視

RetrieveEntityKeyRequest

エンティティの代替キーを取得します。

代替キーの取得および削除

RetrieveMailboxTrackingFoldersRequest

ユーザーのフォルダー マッピング ルールを取得します。

Exchange フォルダー レベルの追跡ルールの構成

UpsertRequest

レコードを更新または挿入します。

Upsert を使用してレコードを挿入または更新

新しい特権

次の特権は、新規の特権または変更された特権です。 この SDK でのセキュリティ ロール エディターに特権名をマップする方法の全体図については、マッピングに対して特権を与えるセキュリティ ロール UIを参照してください。

セキュリティ ロール ダイアログのタブ名

ダイアログに表示される名前

特権名

詳細

コア

SharePoint 統合ウィザードの公開

prvConfigureSharePoint

サーバー ベースの SharePoint 統合に対するユーザー定義要求のマッピングの定義

事業部管理

チャネル プロパティ グループ

prv*ChannelPropertyGroup

内部のみで使用

事業部管理

メールボックス自動追跡フォルダー

prv*MailboxTrackingFolder

Exchange フォルダー レベルの追跡ルールの構成

事業部管理

モバイル用 CRM

prvUseTabletApp

この特権は新しいものではありませんが、ユーザー表示名が変更されました。

事業部管理

Phones Express 用 CRM

prvGoMobile

この特権は新しいものではありませんが、ユーザー表示名が変更されました。

サービスの管理

サポート情報レコード

prv*KnowledgeBaseRecord

Microsoft Dynamics CRM 2015 の Parature との統合

サービスの管理

レコード作成および更新ルール

prv*ConvertRule

内部のみで使用

サービスの管理

条件減少の制御

prvControlDecrementTerm

権利エンティティ

カスタマイズ

エンティティ キー

prv*EntityKey

エンティティの代替キーの定義

カスタマイズ

プラグイン トレース ログ

prv*PluginTraceLog

PluginTraceLog エンティティのメッセージとメソッド

カスタマイズ

テーマ

prv*Theme

組織のテーマのクエリと編集

*この特権は、作成、読み取り、書き込み、削除、追加、追加先、割り当て、共有のいずれかです。

CRM 2015 および CRM Online 2015 年更新の新機能

開発者は、このリリースで次の拡張機能と新機能を活用できます。

  • 製品カタログの拡張機能

  • 階層型データの使用

  • 階層セキュリティ モデルの適用

  • Dynamics CRM で作成した計算およびロールアップ属性の使用

  • 業務プロセス フローを操作するフォーム スクリプトの記述

  • システム エンティティでフィールド レベルのセキュリティを使用する

  • コードを記述する代わりに業務ルールを作成する

  • ユーザー定義のヘルプの内容を追加する

  • Web エンドポイント用の新しいサービス プロキシ クラス

  • 組織Web サービスにおける新規メッセージ

  • 展開Web サービスにおける新規メッセージ

  • 新しいエンティティ

  • 新しい特権

  • NuGet パッケージ

  • 廃止されたフォーム スクリプト メソッドが削除されました

  • プレビュー機能: タブレット PC 用 CRM の IFrame および Web リソース

  • 最新の .NET Framework が必須

製品カタログの拡張機能

拡張された製品カタログ機能によって以下の内容を実行できます。

  • 構成可能なプロパティを用いて製品ファミリと製品の階層を定義して、製品カタログを管理するために必要な製品最小管理単位 (SKU) の数を減らすことで、組織のリッチ製品分類 (taxonomy) を作成します。

  • 顧客にとって魅力的なパッケージを作成するために製品とサービスをバンドルしてグループ化します。

  • 営業案件や受注管理中に製品の提案として販売代理店に公開する、製品の代用製品関連付けの他に、クロス セル、アップ セル、およびアクセサリなどの新しい関連付けを定義します。これにより、関連製品の販売の促進に役立てることができます。

  • 製品またはバンドルを営業案件、見積もり、受注、または請求書に関連付けるときに、価格を計算するために Dynamics 365 システム価格ではなく、カスタム価格を使用します。

  • 製品を営業案件、見積もり、受注、または請求書に追加するときに、行レベルで出荷単位ごとの製品の割引を定義します。

  • 既定の価格レベル (価格表) を、価格レベルのある現在のユーザーとそのユーザーの営業担当地域に基づいて営業案件、見積もり、受注、または請求書に対して自動的に設定します。

  • ユーザーの優先する言語で製品名と説明が使用できるように、特定の製品プロパティ (属性) にローカライズされた値を指定します。

詳細:製品カタログ エンティティ

階層型データの使用

ユーザーは、階層的に関連データを視覚化し、関連レコード間を移動できるので、データに関する有用な把握を取得できます。

階層型エンティティの関連付けの特定と編集

階層型関連付けは Microsoft Dynamics 365 では珍しくないです。 ただし、階層型データのこれらのビジュアル化および新しいクエリ演算子は、特定のエンティティの関連付けは階層的であることを明示的に宣言することによります。 この宣言の使用には強制される制限があります。たとえば、各エンティティは、階層型とみなされる、自己参照で一対多のエンティティの関連付けを 1 つだけ持つことができます。 この宣言は、関連付けのメタデータに含まれています。OneToManyRelationshipMetadata クラスには、エンティティの関連付けを階層型とみなすかどうかを指定するための新しい IsHierarchical プロパティがあります。 また、管理ソリューションに含まれるエンティティの関連付けの階層状態を変更できるかどうかを制御するために使用できる新しい EntityMetadata.CanChangeHierarchicalRelationship 管理プロパティがあります。account、systemuser、 product、および position は変更できない階層型の関連付けを持つシステム エンティティです。

これらの設定はすべて Web アプリケーションのカスタマイズ ツールを使用して、コードを記述せずに構成できますが、開発者は、どのエンティティ関係が階層とみなされるかを理解するために、メタデータ API を使用してプログラムで階層を定義するか、メタデータを照会することもできます。

詳細:階層一対多エンティティの関連付け

クエリ階層型データ

開発者は、明示的な階層型の関連付けを持つエンティティを照会するために、新しいクエリ条件演算子を利用できます。 これらの演算子は、特に階層型の関連付けとして定義されるエンティティ関係に対してのみ適用されます。 これらの条件演算子は、階層内の他のレコードの上下であるクエリが考慮されています。

詳細:クエリ階層型データ

階層型ビジュアル化にコマンドを適用

新しい階層型ビジュアル化を使用すると、階層内のレコード間を移動し、コマンド バーを使用して選択したレコードにコマンドを適用することができます。 現在選択されているレコードに基づいてコマンドを有効にするか無効にするかを決定し、選択したレコードに基づいてアクションを実行できるように、これらのビジュアル化のカスタム コマンドはビューのコマンドで使用できる同じコンテキスト情報をサポートします。

詳細:コマンドおよびリボンをカスタマイズする

階層セキュリティ モデルの適用

Microsoft Dynamics 365 はセキュリティをモデル化する (部署、セキュリティ ロール、共有、チーム) 構造の豊富なセットを提供しますが、組織の中にはデータを参照する必要のある人がそれを見ることができるようにコードで定義された特別な例外が必要な場合があります。 今日、既存のセキュリティ構成が組織のビジネス要件をサポートしないときには、組織は多数の部署を定義する必要がある場合があり、開発者はプログラムでレコードを共有するためにプラグインにコードを記述します。

階層セキュリティ モデルは、多数の部署を作成したり、例外を処理するコードを記述したりする必要をなくすことができる別の分析コードを、セキュリティ構造の現在のマトリックスに提供するオプション機能です。 開発者および実装者は、プログラムを使用したコードでのレコードへのセキュリティ アクセスの変更が、複雑なセキュリティ要件を持つ組織であまり実行されないように、セキュリティについてのこの新しい追加の層を適用する方法を理解する必要があります。

詳細:階層セキュリティを使用して Microsoft Dynamics CRM 2015 におけるエンティティへのアクセスを制御する方法

Dynamics CRM で作成した計算およびロールアップ属性の使用

計算およびロールアップ属性を使用すると手動で計算を実行し、作業に集中する必要がなくなるので、重要です。 システム管理者は、開発者と協力しないで、多くの共通計算の値を含むフィールドを定義できるようになりました。 開発者も、自分のコード内ではなく、プラットフォーム機能を活用してこれらの計算を実行できます。

詳細:計算およびロールアップ属性

業務プロセス フローを操作するフォーム スクリプトの記述

このリリースでは、業務プロセス フローは条件に基づく分岐をサポートするように強化されました。 これらの条件は、ANDOR を使用して複数の条件式を完全に組み合わせることのサポートだけでなく、新しく導入された If-Else 構造のサポートを利用します。 これらの新機能では、開発者は、組織がコードを記述することなく必要なロジックを維持できるように、フォーム スクリプトを使用する既存のプロセスがその代わりに業務プロセス フローを使用できるかどうかを評価する必要があります。

また、このリリースでは、開発者がスクリプトで業務プロセス フローを操作することが容易になります。 フォーム スクリプトの開発者は、フォーム スクリプトのビジネス プロセス フォームのユーザー インターフェイス (UI) を操作するためにサポートされる方法を要求しました。 このリリースでは、開発者がフォーム スクリプトで業務プロセス フローを操作するために使用できるクライアント側のオブジェクト モデルを提供します。Xrm.Page オブジェクト モデルは、新しいイベント、メソッド、およびオブジェクトを含むように拡張されます。

詳細:業務プロセス フローのスクリプトを作成する

システム エンティティでフィールド レベルのセキュリティを使用する

Microsoft Dynamics 365 の以前のバージョンでは、ユーザー定義属性のフィールド レベルのセキュリティを定義することのみが許可されていました。 お客様からのフィードバックのため、このリリースではシステム属性のフィールド レベルのセキュリティを定義できるようになりました。 すべてのシステム ユーザーが特定の属性にアクセスできる必要があるので、すべてのシステム属性をセキュリティで保護することはできません。

フィールド レベルのセキュリティを適用するシステム属性を決定するためにメタデータを照会できます。AttributeMetadata プロパティ CanBeSecuredForCreateCanBeSecuredForRead、および CanBeSecuredForUpdate 値は、フィールド レベルのセキュリティを適用できるシステム属性用に変更されました。IsSecured プロパティを使用して、セキュリティで保護されたフィールドを検出できます。

詳細:Microsoft Dynamics CRM 2015 で、フィールド セキュリティを使用してフィールド値へのアクセスを制御する方法

コードを記述する代わりに業務ルールを作成する

業務ルールを使用すると、カスタマイザーは、共通フォーム ロジックをフォーム スクリプトから引き離すことができるため、開発者に依存する必要がありません。 業務ルールは、フォーム スクリプトまたはプラグインに代わるものではありません。 業務ルールは、開発者でない人が共通ロジックを適用する方法を提供します。 業務ルールで適用されたロジックは、コードを編集せずに、すばやく変更できます。

新しい業務ルール拡張によって、カスタマイザーもサーバー上で評価できる共通ロジックを定義できるようになり、プラグインまたはワークフローにこのロジックを適用する必要がなくなりました。 また、業務ルールは、以前使用されていなかった If-elseOR 条件を使用した分岐ロジックが可能なので、より有用です。 業務ルールは、既定値の設定も可能になりました。 開発者でない人は、業務ルールを使用してプロセスを定義することが容易であることがわかり、フォーム スクリプトがあまり必要でないかもしれません。

コードを記述せずに業務要件を満たせるかどうかを評価できるように、開発者は業務ルールの機能に精通する必要があります。

また、開発者は、サーバー上で評価される業務ルールが、 レコードに対して操作を実行するユーザー定義のクライアントおよび統合ソリューションを含む、すべてのクライアントに適用されることに注意する必要があります。 いずれかのクライアントのコードがルールに違反すると、業務ルールはルールによって指定されたエラー メッセージを返します。 つまり、業務ルールを使用して適用される可能性がある変更に適応するための、適切なエラー処理がコードに含まれることが重要です。

詳細:業務ルールからのカスタム エラー および「カスタマイズ ガイド」のトピック 業務ルールの作成および編集

ユーザー定義のヘルプの内容を追加する

組織には高度にカスタマイズされたシステムがあり、特にユーザー定義エンティティを使用する組織では、アプリケーションのヘルプの内容がユーザーのニーズに対処できないことがわかります。 管理者は、代わりに開く URL を設定することで、既定のヘルプの内容を上書きするようにシステムを構成できます。 開くページは、Microsoft SharePoint サイト上の静的ページ、インターネット上の Web ページ、または Web リソースを使用して作成され、ソリューションに含まれているユーザー定義のヘルプ アプリケーションである可能性があります。 開発者は、適切な内容を表示するページを作成できるように、使用可能なオプション、および URL で渡すことができるコンテキスト情報を理解する必要があります。詳細:ユーザー定義のヘルプの内容を追加する および ヘルプ エクスペリエンスのカスタマイズ

Web エンドポイント用の新しいサービス プロキシ クラス

Microsoft.Xrm.Sdk.WebServiceClient と呼ばれる新しい名前空間は、Web サービスにアクセスするための OrganizationWebProxyClientDiscoveryWebProxyClient クラスを提供します。OAuth で承認されると、これらのクラスは Discovery.svc または Organization.svc の /web エンドポイントを通してメッセージ要求の実行をサポートします。 また、RetrieveCurrentOrganizationRequest という名前の新しいメッセージが追加されました。

組織Web サービスにおける新規メッセージ

次のメッセージはこのリリースの新機能です。

要求のクラス名

説明

詳細

CalculatePriceRequest

営業案件、見積もり、受注、請求書の製品にカスタムの価格設定を定義します。

製品に対してユーザー定義の価格を使用する

CalculateRollupFieldRequest

要求されるとロールアップ属性値を計算します。

ロールアップ属性

CloneProductRequest

製品ファミリ、製品、またはバンドル レコードを複製し、同じ親ノードにレコードのコピーを作成します。

製品ファミリ、製品、バンドルを複製する

ExportFieldTranslationRequest

翻訳用にローカライズ可能な属性をエクスポートします。

ローカライズ可能な属性を翻訳する

GetDefaultPriceLevelRequest

Dynamics 365 を内部的に使用して、既定の価格レベル (価格表) を、価格レベルのある現在のユーザーとその営業担当地域に基づいて営業案件、見積もり、受注、および請求書に対して決定します。

営業案件、見積もり、受注、請求書に対する既定の価格レベルの設定

ImportFieldTranslationRequest

翻訳用にローカライズ可能な属性をインポートします。

ローカライズ可能な属性を翻訳する

PublishProductHierarchyRequest

子製品またはバンドルを含む製品ファミリ階層を公開します。

製品ファミリ、製品、バンドルの公開

RetrieveCurrentOrganizationRequest

探索サービスではなく組織サービスから組織情報を取得します。

探索サービスを使用せずに組織サービスから組織情報を取得します。

RetrievePrincipalSyncAttributeMappingsRequest

サーバーからクライアント アプリケーションへのデータのフローを定義する同期属性マッピング情報を取得します。

このメッセージは、現在のリリースでは拡張のシナリオはありません。

RetrieveProductPropertiesRequest

営業案件、見積もり、受注、または請求書に追加する製品のプロパティ インスタンス(動的プロパティ インスタンス)を取得します。

DynamicPropertyInstance(プロパティ インスタンス)メソッドとメッセージ

RevertProductRequest

製品ファミリ、製品、またはバンドル レコードを最後のアクティブ状態に戻します。 最後に公開された(アクティブ状態)時以降にレコードに加えられたすべての製品プロパティ(属性)変更は失われます。

製品ファミリ、製品、バンドルを戻す

UpdateProductPropertiesRequest

営業案件、見積もり、受注、または請求書に追加する製品のプロパティ インスタンス(動的プロパティ インスタンス)の値を更新します。

DynamicPropertyInstance(プロパティ インスタンス)メソッドとメッセージ

展開Web サービスにおける新規メッセージ

次の新しいメッセージは、展開 Web サービスを使用して実行できるタスクをサポートするために導入されました。

要求のクラス名

説明

AddCrmDatabaseRequest

Dynamics 365 データベースを、データベース バックアップまたはデタッチしたデータベースから展開に追加します。

DeleteOrganizationRequest

Dynamics 365組織を削除します。

RetrieveMonitoringResultsRequest

Dynamics 365 展開の監視サービス操作テストの結果を取得します。

RetrieveUserMappingRequest

Dynamics 365組織の既存のユーザーのマッピング情報を取得します。

これらの新しいクラスの使用に関する詳細については、「展開 Web サービスを使用した展開の管理」を参照してください。Windows PowerShell コマンドレットを使用して、Dynamics 365展開を管理できます。詳細:Microsoft Dynamics CRM PowerShell 参照

新しいエンティティ

エンティティ メタデータIntroducedVersionプロパティを照会することにより新しいエンティティを検索できます。 このリリースで追加されたエンティティはプロパティ値 “7.0.0.0” を持ちます。組織のエンティティ メタデータを表示するには、「組織のメタデータの参照」で説明されているメタデータ ブラウザー ソリューションをインストールします。 カスタマイズされていない組織のメタデータを、EntityMetadata.xlsx という名前の Excel ファイルで見ることもできます。このファイルは、ダウンロードした SDK の最上位のフォルダーに含まれています。

次のエンティティはこのリリースの新機能です。

スキーマ名

説明

詳細

BusinessDataLocalizedLabel

内部のみで使用

内部のみで使用

DynamicProperty

内部のみで使用

製品のプロパティを定義する(SDKでサポートされない)

DynamicPropertyAssociation

内部のみで使用

製品のプロパティを定義する(SDKでサポートされない)

DynamicPropertyInstance

プロパティ インスタンス(DynamicPropertyInstance) は、製品プロパティのインスタンスをその値と共に格納します。

DynamicPropertyInstance(プロパティ インスタンス)メソッドとメッセージ

DynamicPropertyOptionSetItem

内部のみで使用

製品のプロパティを定義する(SDKでサポートされない)

HierarchyRule

内部のみで使用

内部のみで使用

HierarchySecurityConfiguration

内部のみで使用

階層セキュリティ (ポジション) エンティティ

ポジション

セキュリティ階層にユーザーのポジションを含めます。

階層セキュリティを使用して Microsoft Dynamics CRM 2015 におけるエンティティへのアクセスを制御する方法

PrincipalSyncAttributeMap

セキュリティ プリンシパル (ユーザーおよびチーム) を同期属性マッピングにマップします。

このエンティティは、現在のリリースでは拡張のシナリオはありません。

RollupJob

内部のみで使用

内部のみで使用

RollupProperties

内部のみで使用

内部のみで使用

SLAKPIInstance

個々のサポート案件で追跡されるサービス レベル アグリーメント (SLA) の主要業績評価指標 (KPI) インスタンス。

SLAKPIInstance (SLA KPI インスタンス) エンティティのメッセージおよびメソッド

SyncAttributeMapping

特定のユーザーまたはチームの同期中に属性マッピングを提供するために使用される同期属性マッピング。

このエンティティは、現在のリリースでは拡張のシナリオはありません。

SyncAttributeMappingProfile

ユーザーまたはチームに同期属性マッピング データをマップするのに使用されるプロファイル情報を格納します。

このエンティティは、現在のリリースでは拡張のシナリオはありません。

SystemUserManagerMap

内部のみで使用

内部のみで使用

SystemUserSyncMappingProfiles

同期属性マッピングとシステム ユーザー間のマッピング。

このエンティティは、現在のリリースでは拡張のシナリオはありません。

TeamSyncAttributeMappingProfiles

同期属性マッピングとチーム間のマッピング。

このエンティティは、現在のリリースでは拡張のシナリオはありません。

新しい特権

次の特権は、新規の特権または変更された特権です。 この SDK でのセキュリティ ロール エディターに特権名をマップする方法の全体図については、マッピングに対して特権を与えるセキュリティ ロール UIを参照してください。

セキュリティ ロール ダイアログのタブ名

ダイアログに表示される名前

特権名

詳細

営業

プロパティ

prv*DynamicProperty

製品のプロパティを定義する(SDKでサポートされない)

営業

プロパティ関連

prv*DynamicPropertyAssociation

製品のプロパティを定義する(SDKでサポートされない)

営業

プロパティ インスタンス

prv*DynamicPropertyInstance

DynamicPropertyInstance(プロパティ インスタンス)メソッドとメッセージ

営業

プロパティのオプション セット アイテム

prv*DynamicPropertyOptionSetItem

製品のプロパティを定義する(SDKでサポートされない)

事業部管理

階層セキュリティ設定の変更

prvWriteHierarchicalSecurityConfiguration

階層セキュリティを使用して Microsoft Dynamics CRM 2015 におけるエンティティへのアクセスを制御する方法

カスタマイズ

階層ルール

prv*HierarchyRule

階層セキュリティ (ポジション) エンティティ

事業部管理

ポジション

prv*Position

階層セキュリティ (ポジション) エンティティ

事業部管理

プリンシパル同期属性マップ

prvWritePrincipalSynAttributeMap

このエンティティは、現在のリリースでは拡張のシナリオはありません。

サービスの管理

SLA KPI インスタンス

prv*SLAKPIInstance

SLAKPIInstance (SLA KPI インスタンス) エンティティのメッセージおよびメソッド

事業部管理

同期属性マッピング プロファイル

prv*SyncAttributeMappingProfile

このエンティティは、現在のリリースでは拡張のシナリオはありません。

事業部管理

ユーザーのポジションを割り当てます

prvAssignPosition

階層セキュリティ (ポジション) エンティティ

事業部管理

階層セキュリティ設定の変更

prvWriteHierarchicalSecurityConfiguration

階層セキュリティ (ポジション) エンティティ

*この特権は、作成、読み取り、書き込み、削除、追加、追加先、割り当て、共有のいずれかです。

NuGet パッケージ

SDK アセンブリを含む NuGet パッケージを取得する方法とこのリリースのツールについての詳細は、「NuGet を使用した SDK のアセンブリ更新の購読」を参照してください。

廃止されたフォーム スクリプト メソッドが削除されました

以前廃止された一部のフォーム スクリプト メソッドがこのリリースで削除されました。詳細:削除されたメソッド

注意

Microsoft Dynamics CRM 2011 からこのリリースにアップグレードする場合は、コードをMicrosoft Dynamics CRM 2011 年から Microsoft Dynamics CRM 2013 年にアップグレードする のガイダンスを必ず確認してください。 フォーム スクリプト メソッドの変更の準備に役立つ重要なリソースが、カスタム コード検証ツールです。 ユーザー定義コード検証ツールの更新されたバージョンを使用して、最新の変更を Microsoft Dynamics CRM 2015 に取り込むことができます。 ユーザー定義コード検証ツールは、Microsoft Dynamics CRM 2015 ユーザー定義コード検証ツール からダウンロードします。

プレビュー機能: タブレット PC 用 CRM の IFrame および Web リソース

タブレット PC 用 Microsoft Dynamics CRM で IFRAME および Web リソースを使用するソリューションの開発を開始する場合、プレビュー機能でこれらを有効にすることができます。タブレット PC 用 CRM のフォームとダッシュボードに対しては IFRAME と Web リソースが サポートされていませんが、それらを開発組織に対して有効にして、それらがサポートされる今後のリリースに対して早期に取り掛かることができます。詳細:タブレット PC クライアント用 CRM で使用する Web リソースと IFRAME の内容を作成する

最新の .NET Framework が必須

マネージド コード アプリケーション、プラグイン、およびユーザー定義のワークフロー活動を作成するのに最低限必要な .NET Framework バージョンは、.NET 4.5.2です。詳細:Visual Studio および .NET Framework

関連項目

開発者向けの概要
Microsoft Dynamics CRM 2015 とは
Microsoft Dynamics CRM 2015 の開発の理解に役立つチュートリアル
ビジネス プロセスを自動化するワークフローの記述

© 2017 Microsoft. All rights reserved. 著作権