Xrm.Utility (クライアント側の参照)
公開日: 2016年11月
対象: Dynamics CRM 2015
Xrm.Utility オブジェクトは、現在のページには直接関連しない便利な関数のコンテナーを提供します。
これらの関数は、スクリプトをサポートするすべてのアプリケーション ページで使用できます。 フォーム スクリプトまたはリボン コマンドで使用できます。HTML Web リソースの場合は、ClientGlobalContext.js.aspx ページを含めるときに使用できます。 詳細については、「GetGlobalContext 関数および ClientGlobalContext.js.aspx (クライアント側の参照)」を参照してください。
機能
ダイアログ
alertDialog および confirmDialog を使用して、ユーザーにメッセージを表示し、応答に基づいて実行するコードを設定します。 これらの関数は、window.alert や window.confirm メソッドの代わりに、タブレット PC 用 Microsoft Dynamics CRM で使用する必要があります。isActivityType
エンティティが活動エンティティかどうかを判定します。openEntityForm
エンティティ フォームを開きます。openQuickCreate
Microsoft Dynamics CRM Online 2015 更新プログラム 1 または以降では、この関数を使用して、新しい簡易作成フォームを開きます。 この関数を使用すると、属性マッピングを使用して、また特定の属性に対して、既定値を設定できます。 ユーザーがレコードを保存する場合、作成されたレコードへの参照を取得できます。openWebResource
HTML Web リソースを開きます。
ダイアログ
ダイアログには、alertDialog と confirmDialog の 2 種類があります。 これらは、タブレット PC 用 Microsoft Dynamics CRM で機能するスクリプトで使用するために用意されています。タブレット PC 用 CRM では、 window.alert や window.confirm のようなコードの流れをブロックする JavaScript 関数は使用できません。 ユーザーにメッセージを表示する必要がある場合は、そのようなメソッドの代わりに、これらのメソッドを使用します。 大きな違いは、これらのメソッドは、ユーザーが閉じるまでコードをブロックしないという点です。 これらのメソッドには、ユーザーの応答に基づいて実行するコードを指定するコールバック関数パラメーターが含まれています。
注意
タブレット PC 用 Microsoft Dynamics CRM では、window.alert メソッドの使用は、コールバックなしに、Xrm.Utility.alertDialog を使用するようオーバーライドされます。 このメソッドはメッセージを表示しますが、window.alert のようにコードの実行をブロックすることはありません。タブレット PC 用 CRM における window.alert の Xrm.Utility.alertDialog へのマッピングは廃止され、次のメジャー リリースで削除されます。window.alert ではなく Xrm.Utility.alertDialog を使用するよう、現在のコードを移行する必要があります。
alertDialog
アプリケーションにより定義されたメッセージを含むダイアログ ボックスが表示されます。
Xrm.Utility.alertDialog(message,onCloseCallback)
パラメーター
名前
種類
必須出席者
説明
メッセージ
文字列
無効化する
ダイアログに表示するメッセージのテキストです。
onCloseCallback
関数
無効化しない
[OK] ボタンがクリックされると実行される関数です。
備考
このメソッドは、更新されたエンティティ でのみ使用できます。
confirmDialog
[OK] や [キャンセル] ボタンのほかにオプション メッセージを含む確認ダイアログ ボックスを表示します。
Xrm.Utility.confirmDialog(message,yesCloseCallback,noCloseCallback)
パラメーター
名前
種類
必須出席者
説明
メッセージ
文字列
無効化する
ダイアログに表示するメッセージのテキスト
yesCloseCallback
関数
無効化しない
[OK] ボタンがクリックされると実行される関数です。
noCloseCallback
関数
無効化しない
[キャンセル] ボタンがクリックされると実行される関数です。
備考
このメソッドは、更新されたエンティティ でのみ使用できます。
isActivityType
エンティティが活動エンティティかどうかを判定します。
Xrm.Utility.isActivityType(entityName)
パラメーター
名前
種類
必須出席者
説明
entityName
文字列
無効化する
エンティティの論理名です。
戻り値
種類
説明
Boolean
エンティティが活動エンティティである場合は true、その他の場合は false です。
openEntityForm
パラメーターとして設定したオプションを使用して、新規または既存のエンティティ レコードに対するエンティティ フォームを開きます。
Xrm.Utility.openEntityForm(name,id,parameters,windowOptions)
パラメーター
名前
種類
必須出席者
説明
名前
文字列
無効化する
エンティティの論理名。
id
文字列
無効化しない
一意の識別子、またはフォームで開くレコードを表す文字列。 設定されていない場合、新しいレコードを作成するフォームが開きます。
パラメーター
オブジェクト
無効化しない
追加のパラメーターをフォームに渡すディクショナリ オブジェクト。 パラメーターが無効の場合、エラーが発生します。
有効な追加のクエリ文字列パラメーターは、次のとおりです:
フォーム ID: 複数のフォームが使用できるときに、使用するメイン フォームの ID 値を設定します。 パラメーターは、formid です。
既定のフィールド ID: 新しいレコード フォームの既定値を設定します。 詳細については、「フォームに渡すパラメーターを使用してフィールド値を設定する」を参照してください。
Main.aspx ページのクエリ文字列パラメーターで説明されている navbar と cmdbar パラメーター。
カスタム クエリ文字列パラメーター: カスタム クエリ文字列パラメーターを受け入れるよう、フォームを構成できます。 詳細については、「カスタム クエリストリング パラメーターが許可されるフォームの構成」を参照してください。
windowOptions
オブジェクト
無効化しない
Microsoft Dynamics CRM Online 2015 更新プログラム 1 またはそれ以降では、Web アプリケーションでこのオプションのパラメーターを使用して、フォームが開く方法を制御します。 ブール値 openInNewWindow プロパティを true に設定した状態で、ディクショナリ オブジェクト渡すことで、新しいウィンドウでフォームを開くこと選択できます。
このパラメーターは、タブレット PC 用 CRM および 電話用の CRM では無視されます。
備考
この関数を使用すると、特定の状況でもう一度ログインするよう要求されないようになります。例
既定のフォームを使用して、新しい取引先企業レコードを開くXrm.Utility.openEntityForm("account");
既定のフォームを使用して、既存の取引先企業レコードを開く
Xrm.Utility.openEntityForm("account","A85C0252-DF8B-E111-997C-00155D8A8410");
特定のフォームで、既定値を設定して、新しい取引先企業レコードを開く
var parameters = {}; parameters["formid"] = "b053a39a-041a-4356-acef-ddf00182762b"; parameters["name"] = "Test"; parameters["telephone1"] = "(425) 555-1234"; Xrm.Utility.openEntityForm("account", null, parameters);
新しいウィンドウで、既定のフォームを使用して、新しい取引先企業レコードを開く
var windowOptions = { openInNewWindow: true }; Xrm.Utility.openEntityForm("account",null,null,windowOptions);
openQuickCreate
Microsoft Dynamics CRM Online 2015 更新プログラム 1 または以降では、この関数を使用して、新しい簡易作成フォームを開きます。 この関数を使用すると、属性マッピングを使用して、また特定の属性に対して、既定値を設定できます。 ユーザーがレコードを保存する場合、作成されたレコードへの参照を取得できます。
Xrm.Utility.openQuickCreate(entityLogicalName,createFromEntity,parameters).then(successCallback, errorCallback);
パラメーター
名前
種類
必須出席者
説明
entityLogicalName
文字列
無効化する
作成するエンティティの論理名。
createFromEntity
検索
無効化しない
マップした属性値に基づいて既定値を提供するレコードを指定します。
検索オブジェクトには、以下の String プロパティが含まれます。
entityType: エンティティの論理名。
id: レコードの GUID 値を表す文字列。
name: レコードの主属性の値。
パラメーター
オブジェクト
無効化しない
フォームに追加のクエリ文字列パラメーターを渡すディクショナリ オブジェクトです。 無効なクエリ文字列パラメーターは、エラーを発生させます。
有効な追加のクエリ文字列パラメーターは、次のとおりです:
既定のフィールド ID: 新しいレコード フォームの既定値を設定します。 詳細については、「フォームに渡すパラメーターを使用してフィールド値を設定する」を参照してください。
カスタム クエリ文字列パラメーター: カスタム クエリ文字列パラメーターを受け入れるよう、フォームを構成できます。 詳細については、「カスタム クエリストリング パラメーターが許可されるフォームの構成」を参照してください。
successCallback
関数
無効化しない
レコードが作成されるときに呼び出される関数。 この関数は、オブジェクトにパラメーターとして渡されます。 このオブジェクトには、作成されたレコードを特定するために、以下のプロパティとともに、savedEntityReference プロパティが備わっています。
entityType: エンティティの論理名。
id: レコードの GUID 値を表す文字列。
name: 作成されたレコードの主属性の値。
errorCallback
関数
無効化しない
処理が失敗したときに呼び出す関数。
次のプロパティを持つオブジェクトが渡されます。
errorCode: Number。 エラー コード。
message: String。 ローカライズされたエラー メッセージ。
備考
この関数は、Microsoft Dynamics CRM Online 2015 更新プログラム 1 またそれ以降でのみ使用できます。これは、Web アプリケーションで、入れ子になっている簡易作成フォームは 10 までという制限があります。 この制限を超えた場合、この関数は、簡易作成フォームではなく、完全なエンティティ フォームを開きます。
例
このコードが取引先企業エンティティ フォームで実行されると、新しい子の取引先企業を既定の名前で作成する簡易作成フォームが、取引先企業の親会社の名前を含むように設定されます。var thisAccount = { entityType: "account", id: Xrm.Page.data.entity.getId() }; var callback = function (obj) { console.log("Created new " + obj.savedEntityReference.entityType + " named '" + obj.savedEntityReference.name + "' with id:" + obj.savedEntityReference.id); } var setName = { name: "Child account of " + Xrm.Page.getAttribute("name").getValue() }; Xrm.Utility.openQuickCreate("account", thisAccount, setName).then(callback, function (error) { console.log(error.message); });
このコードがブラウザー開発者ツール (F12 ツール) で実行されるとき、以下は、'A. Datum Corporation (sample)' という名前の取引先企業のコンテキストで実行され、新しい子の取引先企業に設定された既定の名前をユーザーが変更しないとき、そのときのコンソールへの出力を表しています。
Created new account named 'Child account of A. Datum Corporation (sample)' with id:{1D4BFF87-E8C5-E411-80CF-00155DB58496}
openWebResource
HTML Web リソースを開きます。
注意
この関数は、タブレット PC 用 Microsoft Dynamics CRM では動作しません。
Xrm.Utility.openWebResource(webResourceName,webResourceData,width, height)
パラメーター
名前
種類
必須出席者
説明
webResourceName
文字列
無効化する
開くところの HTML Web リソースの名前。
webResourceData
文字列
無効化しない
データ パラメーターに渡されるデータ。
width
数値
無効化しない
開くウィンドウの幅 (単位はピクセル)。
height
数値
無効化しない
開くウィンドウの高さ (単位はピクセル)。
戻り値
Window オブジェクト。備考
HTML Web リソースは、HTML Web リソースへのパラメーターの引き渡し で説明されているパラメーター値を受け入れることができます。 この関数は、任意のデータ パラメーターの受け渡しのみを提供します。 その他の有効なパラメーターの値を渡すには、それらの値を webResourceName パラメーターに追加する必要があります。例
“new_webResource.htm” という名前の HTML Web リソースを開くXrm.Utility.openWebResource("new_webResource.htm");
データ パラメーターのデータ アイテムを 1 つだけ含む HTML Web リソースを開く
Xrm.Utility.openWebResource("new_webResource.htm","dataItemValue");
データ パラメーターを使用して複数の値を渡す HTML Web リソースを開く
var customParameters = encodeURIComponent("first=First Value&second=Second Value&third=Third Value"); Xrm.Utility.openWebResource("new_webResource.htm",customParameters);
注意
これらの値は、HTML Web リソースのデータ パラメーターの値から抽出する必要があります。 詳細については、「サンプル: データ パラメーターを使用した Web リソースへの複数の値の引き渡し」を参照してください。
HTML Web リソースによって予期されるパラメーターを含む HTML Web リソースを開く
Xrm.Utility.openWebResource("new_webResource.htm?typename=account&userlcid=1033");
詳細については、「HTML Web リソースへのパラメーターの引き渡し」を参照してください。
高さと幅を設定して、HTML Web リソースを開く
Xrm.Utility.openWebResource("new_webResource.htm", null, 300,300);
関連項目
クライアント側のプログラミング リファレンス
URL を使用してフォーム、ビュー、ダイアログおよびレポートを開く
フォームに渡すパラメーターを使用してフィールド値を設定する
カスタム クエリストリング パラメーターが許可されるフォームの構成
フォーム スクリプトの簡易参照
Microsoft Dynamics CRM 2015 フォームのコードを記述する
Xrm.Page オブジェクト モデルの使用
© 2017 Microsoft. All rights reserved. 著作権