クライアント API Xrm オブジェクトを使用したグローバル操作の実行の概要
クライアント API では、コード内でグローバルにアクセス可能な Xrm オブジェクトが提供され、実行コンテキストの使用なしでさまざまな活動を実行するために使用できます。 次の図は、使用できるプロパティとメソッドの概要を示したものです。 このオブジェクトの詳しい説明については、「クライアント API Xrm オブジェクト」を参照してください。
アプリ オブジェクト
アプリ オブジェクトの addGlobalNotification を使用すると、アプリのエラー、情報、警告、または成功の通知を表示し、その通知を基に実行するアクションを指定することができます。 これはフォーム通知に似ていますが、フォームとは関係なく使用できます。 たとえば、コマンド バー スクリプトでこれを使用して、アクションの完了をユーザーに通知できます。 clearGlobalNotification メソッドを使用すると、通知をアプリから消去することができます。
Device オブジェクト
Xrm.Device オブジェクトは、モバイル デバイスとのやり取りに関連するネイティブ デバイス機能を公開します (pickFile メソッドを除く)。これには、Web クライアントを通じてアクセスすることもできます。 キャンバス アプリでも、モバイル開発用の拡張可能なフレームワークが提供されています。これらのシナリオにおいては、この点について考慮するようにしてください。 次の表は、Xrm.Device オブジェクト内で使用できるメソッドの概要を示したものです。
メソッド | 説明 |
---|---|
captureAudio | オーディオを録音するためのデバイス マイクを呼び出します。 |
captureImage | イメージをキャプチャするためのデバイス カメラを呼び出します。 |
captureVideo | ビデオを録画するためのデバイス カメラを呼び出します。 |
getBarcodeValue | バーコード情報 (製品番号など) をスキャンするためのデバイス カメラを呼び出します。 |
getCurrentPosition | デバイスの位置情報機能を使用して、現在の場所を返します。 |
pickFile | コンピューター (Web クライアント) またはモバイル デバイス (モバイル クライアント) からファイルを選択するためのダイアログ ボックスを開きます。 |
デバイスの構成によっては、使用できない機能もあります。 アプリが特定のデバイス機能にアクセスするために、ユーザーの同意が必要になる場合があります。 たとえば、ユーザーがデバイスの位置情報機能をグローバルに無効にしていたり、アプリによるカメラへのアクセスを拒否したりする場合があります。 したがって、アプリを開発する際には、これらのメソッドがデバイスの機能や構成によって、あるいはアクセス許可や同意が得られずエラーになる可能性があることに注意する必要があります。
Encoding オブジェクト
Xrm.Encoding オブジェクトは、XML や HTML の文字列をエンコード/デコードするために使用されます。 このエンコードとデコードは、次のような場合に便利です。
HTML Web リソースを操作する、
クエリ文字列パラメーターをエンコードおよびデコードする、
検索文字列内に '&' や '<' のような特殊文字を含む FetchXML を操作する。
Navigation オブジェクト
Navigation オブジェクトは、モデル駆動型アプリケーション内で使用できる、ナビゲーション関連のメソッドを提供します。 ブロック型の特質を持つことから、警告、確認、エラーなどのダイアログを表示する活動は、通常、最適なユーザー エクスペリエンスとは見なされませんが、使用できるようにはなっています。 問題に関する警告をユーザーに知らせる場合には、フォームによる通知やその他の非ブロック型メカニズムを使用することをお勧めします。 Xrm.Navigation オブジェクト内で使用できるメソッドの概要を次に示します。
メソッド | 説明 |
---|---|
openAlertDialog | メッセージやボタンを含んだ警告ダイアログを表示します。 |
openConfirmDialog | メッセージと 2 つのボタンを含んだ確認ダイアログ ボックスを表示します。 |
openErrorDialog | エラー ダイアログを表示します。 |
openFile | ファイルを開きます。 |
openForm | テーブル フォームまたは簡易作成フォームを開きます。 |
openUrl | URL を開きます (ファイル URL を含む)。 |
openWebResource | HTML Web リソースを開きます。 |
Panel オブジェクト
Xrm.Panel オブジェクトは、モデル駆動型アプリケーション フォームのサイド ウィンドウに Web ページを表示するためのメソッドを提供します。 この機能は現在プレビュー段階であり、ここでは詳しく取り上げません。 詳細については、「Xrm.Panel」を参照してください。
Utility オブジェクト
Xrm.Utility オブジェクトは、各種の便利なメソッドに対するコンテナーです。 次の表は、Xrm.Utility オブジェクト内で使用できるメソッドの概要を示したものです。 詳細については、「Xrm.Utility (クライアント API リファレンス)」を参照してください
メソッド | 説明 |
---|---|
closeProgressIndicator | showProgressIndicator を使用して、開いている進捗状況ダイアログ ボックスを閉じます。 |
getAllowedStatusTransitions | 指定されたテーブル タイプと状態コードについて、有効な状態遷移を返します。 |
getEntityMetadata | 指定されたエンティティのエンティティ メタデータを返します。 |
getGlobalContext | 組織設定、ユーザー設定、アプリ、クライアント情報などのランタイム情報を提供するグローバル コンテキストを取得します。 |
getLearningPathAttributeName | モデル駆動型アプリケーション フォームの UI コントロールを識別するために、ラーニング パス (ガイド付きヘルプ) のコンテンツ デザイナーで必要とされる DOM 属性の名前を返します。 |
getResourceString | 指定された Web リソースに関連付けられているキーについて、ローカライズされた文字列を返します。 |
invokeProcessAction | 指定されたパラメーターに基づいてアクションを呼び出します。 開発者が作成したカスタム API を呼び出すためにも使用します。 |
lookupObjects | 1 つ以上の項目を選択するための検索コントロールを開きます。 |
refreshParentGrid | 指定されたレコードを含んでいる親グリッドを更新します。 |
showProgressIndicator | 指定されたメッセージを使用して、進行状況ダイアログを表示します。 |
このほかにも多数のメソッドがあり、古いコードで目にすることもありますが、それらは現在 Xrm.Navigation 名前空間に移動されているため、非推奨となっています。 それらのメソッドが見つかった場合は、Xrm.Navigation の新しいメソッドを使用するようにコードを更新してください。
Xrm.WebApi オブジェクト
Xrm.WebApi オブジェクトは、クライアント スクリプト内で従来の CRUD 操作に対応する Web API を使用するための、プロパティとメソッドを提供します。 Xrm.WebAPI をスクリプト ロジック使用する場合は、実行する処理が現在のアプリ ユーザーのコンテキストで自動的に実行されます。 Web API は、アプリがオンラインでもオフラインでも (環境がオフライン構成の場合) 使用できます。 名前空間にはオンラインおよびオフラインのメソッドがそれぞれセットで含まれていますが、これらを使用する場合はクライアントの状態を追跡する必要があります。 Xrm.WebAPI を使用すると、オンラインとオフラインのどちらの名前空間のメソッドを使用するかが Xrm.WebAPI.createRecord API により自動的に判断されます。
次の表は、Xrm.WebApi オブジェクト内で使用できるメソッドの概要を示したものです。 詳細については、「Xrm.WebApi (クライアント API リファレンス)」を参照してください。
メソッド | 説明 |
---|---|
createRecord | テーブル行を作成します。 |
deleteRecord | 行の ID を使用してテーブル行を削除します。 |
retrieveRecord | 行の ID を使用してテーブル行を取得します。 |
retrieveMultipleRecords | クエリ オプションに一致するテーブル行のコレクションを取得するか、指定された Fetch XML を取得します。 |
updateRecord | テーブル行を更新します。 |
isAvailableOffline | テーブルがユーザーのプロファイル内に存在しており、かつオフライン モードで使用できるかどうかを示すブール値を返します。 |
execute | 単一のアクション、関数、または CRUD 操作を実行します。 |
executeMultiple | アクション、関数、または CRUD 操作のコレクションを実行します。 |
Xrm ブジェクトのプロパティとメソッドを使用し、ビジネス プロセスを自動化することで、ユーザー エクスペリエンス全体の改善が可能になります。