Xrm.Mobile.offline (クライアント側の参照)
公開日: 2017年1月
対象: Dynamics 365 (online)、Dynamics 365 (on-premises)、Dynamics CRM 2016、Dynamics CRM Online
Xrm.Mobile.offline 名前空間は、オフライン モードを使用中に Dynamics 365 モバイル クライアント (電話用 Dynamics 365 および タブレット PC 用 Dynamics 365) のレコードを作成および管理するメソッドを提供します。
注意
Xrm.Mobile.offline 名前空間は Dynamics 365 用 2016 年 12 月の更新プログラム (オンラインおよび設置型) に導入されました。
この Xrm.Mobile.offline 名前空間の下にあるこれらのクライアント API は、オフライン モードのときおよび Mobile Offline 同期ができるエンティティに対してのみ有効です。詳細:ヘルプとトレーニング: 電話およびタブレット用 CRM の Mobile offline 同期の構成
重要
オフライン モードでレコードを作成、または更新する場合、基本的な検証のみが入力データで実行されます。 基本的な検証には指定されたエンティティ属性の名前が小文字であることおよびエンティティに存在すること、指定された属性値がデータ タイプと一致しないこと、同じ GUID 値でレコードが作成されないこと、関連するエンティティを取得する際に関連するエンティティがオフラインで有効になるかどうか、取得、更新、削除するレコードが実際にオフライン データ ストアに存在するかどうかを検証します。 ビジネス レベルでは、Dynamics 365 サーバーに接続してデータを同期した場合のみ検証されます。 入力データが完全に有効な場合にのみ、Dynamics 365 にレコードが作成、または更新されます。
このトピックの内容
isOfflineEnabled
createRecord
retrieveRecord
retrieveMultipleRecords
updateRecord
deleteRecord
isOfflineEnabled
エンティティをオフラインで使用できるかどうかを返します。
Xrm.Mobile.offline.isOfflineEnabled("entityType")
パラメーター
種類: 文字列。Dynamics 365 のエンティティの種類。 たとえば、「account」。Dynamics 365 のエンティティの種類の詳細については、「Web API EntityType Reference」を参照してください。戻り値
種類: ブール値。True エンティティがオフラインで有効; それ以外の場合 false。
createRecord
オフライン モードでの作業中に、Dynamics 365 モバイル クライアントのエンティティ レコードを作成します。
Xrm.Mobile.offline.createRecord(entityType, data).then(successCallback, errorCallback)
パラメーター
名前
型
必須出席者
説明
entityType
文字列
不可
レコードを作成する Dynamics 365 エンティティの種類。 たとえば、「account」。Dynamics 365 のエンティティの種類の詳細については、「Web API EntityType Reference」を参照してください。
data
オブジェクト
不可
key : value ペアを含むディクショナリ オブジェクト、key がエンティティ セットのプロパティ、value は、エンティティ レコードを作成するために使用するプロパティの値です。 たとえば、アカウントを作成するには、オブジェクトを定義します:
var myAccount = {}; myAccount.name = "Sample Account Name"; myAccount.accountid = "2724A2AF-697E-E611-80DB-00155DB412B4"; myAccount.parentaccountid = { "logicalname": "account", "id": "76BE5E4A-5990-E611-80DA-00155DD8BA2D" }; myAccount.revenue = "60000.00"; myAccount.primarycontactid = { "logicalname": "contact", "id": "76BE5E4A-5990-E611-80DA-00155DD8BA2D" }; myAccount.new_customdate = new Date("September 29, 2016 12:00:00");
Dynamics 365 のエンティティの種類とプロパティの詳細については、「Web API EntityType Reference」を参照してください。
successCallback
機能
不可
レコードを作成した場合に呼び出す関数。 次のプロパティを持つオブジェクトが渡され、新しいレコードが識別されます:
id: 文字列。 作成されたレコードの GUID。
logicalName: 文字列。 エンティティの論理名。
errorCallback
機能
不可
処理が失敗したときに呼び出す関数。 次のプロパティを持つオブジェクトが渡されます。
errorCode: 数値。 エラー コード。
message: 文字列。 問題を示すエラー メッセージが表示されます。
debugMessage: 文字列。 問題に関する詳細が含まれる可能性がある内部エラー メッセージ。
制限
交差および活動関係者エンティティを作成することはできません。
オフライン モードでレコードを取得するために、次の属性の種類のみがサポートされます: BigInt、Boolean、Customer、DateTime、Decimal、Double、EntityName、Integer、Lookup、Memo、Money、Owner、Picklist、String、State、Status、および UniqueIdentifier。
retrieveRecord
オフライン モードでの作業中に、Dynamics 365 モバイル クライアントのエンティティ レコードを取得します。
Xrm.Mobile.offline.retrieveRecord(entityType, id, options).then(successCallback, errorCallback)
パラメーター
名前
型
必須出席者
説明
entityType
文字列
不可
レコードを取得する Dynamics 365 エンティティの種類。 たとえば、「account」。Dynamics 365 のエンティティの種類の詳細については、「Web API EntityType Reference」を参照してください。
id
文字列
不可
取得するレコードの GUID。
オプション
文字列
不可
データを取得する OData システム クエリ オプション。 以下のシステム クエリ オプションをサポートしています: $select および $expand。
$expand を使用するためには、関連エンティティをオフラインで使用できるようにする必要があります。 たとえば、アカウントレコードに関連付けられているコンタクトを取得するために、アカウント エンティティおよびコンタクト エンティティは、オフラインで使用できるようにする必要があります。
? で始まるクエリ オプションを指定します。 複数のクエリ オプションを指定するには、クエリ オプションを & で区切ります。 たとえば、次のようになります。
?$select=name&$expand=primarycontactid($select=contactid,fullname)
ヒント
パフォーマンスのベスト プラクティスとしては、$select クエリ オプションを使用して取得するプロパティの数を制限します。 さもなければ、すべてのプロパティが取得されます。
また、$expand オプションを使用して、関連するエンティティのプロパティ名を取得する間に、ナビゲーション プロパティの名前を入れるだけで、関連するレコードに対するすべてのプロパティが返されます。$expand のナビゲーション プロパティ名の後にかっこで示される、$select システム クエリ オプションを使用して、関連レコードに対して返されるプロパティを制限できます。 詳細: ナビゲーション プロパティの拡張によるエンティティに関連するエンティティの取得
successCallback
機能
不可
レコードを取得した場合に呼び出す関数。 次のプロパティを持つオブジェクトが渡され、取得されたレコードが識別されます:
id: 文字列。 取得されたレコードの GUID。
logicalName: 文字列。 エンティティの論理名。
errorCallback
機能
不可
処理が失敗したときに呼び出す関数。 次のプロパティを持つオブジェクトが渡されます。
errorCode: 数値。 エラー コード。
message: 文字列。 問題を示すエラー メッセージが表示されます。
debugMessage: 文字列。 問題に関する詳細が含まれる可能性がある内部エラー メッセージ。
制限
$expand 内で $select オプションのみを指定できます。
オフライン モードでレコードを取得するために、次の属性の種類のみがサポートされます: BigInt、Boolean、Customer、DateTime、Decimal、Double、EntityName、Integer、Lookup、Memo、Money、Owner、Picklist、String、State、Status、および UniqueIdentifier。
retrieveMultipleRecords
オフライン モードでの作業中に、Dynamics 365 モバイル クライアントのエンティティ レコードのコレクションを取得します。
Xrm.Mobile.offline.retrieveMultipleRecords(entityType, options, maxPageSize).then(successCallback, errorCallback)
パラメーター
名前
型
必須出席者
説明
entityType
文字列
不可
レコードを取得する Dynamics 365 エンティティの種類。 たとえば、「account」。Dynamics 365 のエンティティの種類の詳細については、「Web API EntityType Reference」を参照してください。
オプション
文字列
不可
データを取得する OData システム クエリ オプション、または FetchXML クエリ。 以下のシステム クエリ オプションをサポートしています: $select、$top、$filter、$expand、および $orderby。
$filter では、結果のフィルター セクションで説明した標準フィルタ演算子のみサポートされます; 標準のクエリ関数はサポートされていません
$expand を使用するためには、関連エンティティをオフラインで使用できるようにする必要があります。 たとえば、アカウントレコードのためのコンタクトを取得するために、アカウント エンティティおよびコンタクト エンティティは、オフラインで使用できるようにする必要があります。 関連するエンティティを取得するエンティティのために コレクション値のナビゲーション プロパティ で展開した場合、[NavigationPropertyName]@odata.nextLink プロパティは関連するエンティティに返されます。 たとえば、primarycontactid ナビゲーション プロパティで展開する場合、primarycontactid@odata.nextLink に返されます。 必要なデータを返すには、新しい GET リクエストで、primarycontactid@odata.nextLink プロパティの値を 使用する必要があります。
? で始まるクエリ オプションを指定します。 複数のクエリ オプションを指定するには、クエリ オプションを & で区切ります。 たとえば、次のようになります。
?$top=5&$select=name&$expand=primarycontactid($select=contactid,fullname)
FetchXML クエリを指定するには、クエリを指定する fetchXml パラメーターを使用します:
?fetchXml=<FetchXML>
FetchXml を使用して、基本エンティティの属性のみを取得できます。
たとえば、クエリ オプションを使用した複数コールの取得例を以下に示します:
Xrm.Mobile.offline.retrieveMultipleRecords("account", "?select=name,revenue,&$orderby=revenue&$filter=revenue ne '60000.00'", null)
maxPageSize
整数
不可
ページごとに返されるエンティティ レコードの数を表す、正の数を指定します。 このパラメーターを指定しない場合、既定の 5000 が渡されます。
取得するレコードの数が、maxPageSize より多い場合は、@odata.nextLink プロパティが返され、次のレコードのセットを返す新しい GET リクエストに @odata.nextLink のプロパティの値を使用できます。 詳細: ページに戻すエンティティ数の指定
successCallback
機能
不可
レコードを取得した場合に呼び出す関数。 取得した key : value のペアを含むディクショナリが、取得されたレコードを確認するために渡されます。
errorCallback
機能
不可
処理が失敗したときに呼び出す関数。 次のプロパティを持つオブジェクトが渡されます。
errorCode: 数値。 エラー コード。
message: 文字列。 問題を示すエラー メッセージが表示されます。
debugMessage: 文字列。 問題に関する詳細が含まれる可能性がある内部エラー メッセージ。
制限
$expand の使用時に最大 5000 の関連レコードを取得できます。
$expand 内で $select オプションのみを指定できます。
$skip クエリオプションがサポートされていない。
オフライン モードでレコードを取得するために、次の属性の種類のみがサポートされます: BigInt、Boolean、Customer、DateTime、Decimal、Double、EntityName、Integer、Lookup、Memo、Money、Owner、Picklist、String、State、Status、および UniqueIdentifier。
updateRecord
オフライン モードでの作業中に、Dynamics 365 モバイル クライアントのエンティティ レコードを更新します。
Xrm.Mobile.offline.updateRecord(entityType, id, data).then(successCallback, errorCallback)
パラメーター
名前
型
必須出席者
説明
entityType
文字列
不可
レコードをアップデートする Dynamics 365 エンティティの種類。 たとえば、「account」。Dynamics 365 のエンティティの種類の詳細については、「Web API EntityType Reference」を参照してください。
id
文字列
不可
更新するレコードの GUID。
data
オブジェクト
不可
key : value ペアを含むディクショナリ オブジェクト、key が更新するプロパティの論理名、value は、プロパティの更新する値です。 ディクショナリオブジェクトで指定するプロパティと値のみが、レコード用に更新されます。 たとえば、次のようになります。
var myUpdatedAccount = {}; myUpdatedAccount.name = "Changed Account Name"; myUpdatedAccount.revenue = "60000.00";
successCallback
機能
不可
レコードを更新した場合に呼び出す関数。 次のプロパティを持つオブジェクトが渡され、更新されたレコードが識別されます:
id: 文字列。 更新されたレコードの GUID。
logicalName: 文字列。 エンティティの論理名。
errorCallback
機能
不可
処理が失敗したときに呼び出す関数。 次のプロパティを持つオブジェクトが渡されます。
errorCode: 数値。 エラー コード。
message: 文字列。 問題を示すエラー メッセージが表示されます。
debugMessage: 文字列。 問題に関する詳細が含まれる可能性がある内部エラー メッセージ。
制限
交差および活動関係者エンティティを更新することはできません。
オフライン モードでレコードを取得するために、次の属性の種類のみがサポートされます: BigInt、Boolean、Customer、DateTime、Decimal、Double、EntityName、Integer、Lookup、Memo、Money、Owner、Picklist、String、State、Status、および UniqueIdentifier。
deleteRecord
オフライン モードでの作業中に、Dynamics 365 モバイル クライアントのエンティティ レコードを削除します。
Xrm.Mobile.offline.deleteRecord(entityType, id).then(successCallback, errorCallback)
パラメーター
名前
型
必須出席者
説明
entityType
文字列
不可
レコードを削除する Dynamics 365 エンティティの種類。 たとえば、「account」。Dynamics 365 のエンティティの種類の詳細については、「Web API EntityType Reference」を参照してください。
id
文字列
不可
削除するレコードの GUID。
successCallback
機能
不可
レコードを削除した場合に呼び出す関数。 次のプロパティを持つオブジェクトが渡され、削除されたレコードが識別されます:
id: 文字列。 削除されたレコードの GUID。
logicalName: 文字列。 エンティティの論理名。
errorCallback
機能
不可
処理が失敗したときに呼び出す関数。 次のプロパティを持つオブジェクトが渡されます。
errorCode: 数値。 エラー コード。
message: 文字列。 問題を示すエラー メッセージが表示されます。
debugMessage: 文字列。 問題に関する詳細が含まれる可能性がある内部エラー メッセージ。
制限
交差および活動関係者エンティティを削除することはできません。
関連項目
電話用およびタブレット PC 用 Dynamics 365 のスクリプトの記述とデバッグ
クライアント側のプログラミング リファレンス
Microsoft Dynamics 365
© 2017 Microsoft. All rights reserved. 著作権