Dynamics CRM 2013/Fall ’13 SDK Xrm.Page の新機能


みなさん、こんにちは。

今回は Microsoft Dynamics CRM 2013 および、Microsoft Dynamics
CRM Online Fall ’13 SDK Xrm.Page の新機能を紹介します。

追加された機能

以下に追加された Xrm.Page の機能一覧を紹介します。いくつかの
機能は実際のサンプルがあるとわかり易いため、個別に紹介します。

Xrm.Page.context.client.getClient
スクリプトが実行されているクライアントの種類を返します。
 
Xrm.Page.context.client.getClientState
スクリプトが実行されているクライアントの状態を返します。
 
Xrm.Page.context.getUserName
現在のユーザー名を返します。以前は ID しか取得できなかった
ため便利になりました。
 
Xrm.Page.data.entity.getPrimaryAttributeValue
主キーの値を返します。エンティティによって主キーの名前が
異なるため、同じ方法で取得できるのは便利です。

Xrm.Page.data.refresh
画面をリロードせずフィールドの値を再取得します。レコードが
他の場所で更新された場合にその値を反映することができます。
更新後保存するか、またその成否によって実行するコールバック
関数を指定できます。
 
Xrm.Page.data.save
画面をリロードせずレコードを保存します。また処理結果により
実行するコールバック関数を指定できます。
 
Xrm.Page.data.entity attribute.getIsPartyList
フィールドが複数参照か確認できます。
 
Xrm.Page.ui control.clearNotification
フィールドレベルのメッセージをクリアします。こちらの関数は
後日個別に紹介します。

Xrm.Page.ui control.setNotification
フィールドレベルのメッセージを表示します。こちらの関数は
後日個別に紹介します。

Xrm.Page.ui.clearFormNotification
フォームレベルのメッセージをクリアします。こちらの関数は
後日個別に紹介します。
 
Xrm.Page.ui.setFormNotification
フォームレベルのメッセージを表示します。こちらの関数は
後日個別に紹介します。

Xrm.Page.ui control.addCustomFilter
参照コントロールに対して FetchXML のフィルターを追加します。
こちらの関数は後日個別に紹介します。
 
Xrm.Page.ui control.setShowTime
日付コントロールに対して時刻も表示するか指定します。
 
Xrm.Utility.alertDialog
非同期アラートダイアログを表示します。こちらの関数は
後日個別に紹介します。
 
Xrm.Utility.confirmDialog
非同期確認ダイアログを表示します。こちらの関数は後日
個別に紹介します。

次回よりサンプルと共に利用方法を紹介します。お楽しみに!

– 中村 憲一郎

Comments (4)

  1. Muhammad Naeem より:

    Nakamura san,

    Xrm.Page.context.getUserName はCRM2011で実行できませんIDしか取れないですが、そのIDをNameに変更する為、どうすればいいですか?

  2. kenakamu より:

    コメントをいただき、ありがとうございます。

    コンテキストで取得できないデータは、別途 REST エンドポイントなどから取得する必要があります。

    REST エンドポイントについては、以下の記事をご参照ください。

    blogs.msdn.com/…/dyanmics-crm-2011-rest.aspx

    中村 憲一郎

  3. takada より:

    いつも参考になる情報をありがとうございます。

    フォーム上にWebリソース(html)を追加して、その中でフォームの値を取得しています。

    通常のフォームでは問題なく動作したのですが、印刷プレビューだと、Xrm.Page.data.entityが取得できません。

    印刷プレビューではXrm.Page.data.entityは使用できないのでしょうか。

  4. kenakamu より:

    コメントありがとうございます。

    印刷プレビューは通常のフォームと異なるため期待した動作にならない可能性がございます。

    SDK を確認した限りでは印刷プレビューでの利用を前提としていないように見受けられますが

    念のため弊社サポートサービスまでお問合せいただけますでしょうか。

    よろしくお願いいたします。

    – 中村 憲一郎