テーブル レコードを更新します。
構文
Xrm.WebApi.updateRecord(entityLogicalName, id, data).then(successCallback, errorCallback);
Parameters
| 件名 | タイプ | Required | プロパティ |
|---|---|---|---|
entityLogicalName |
String | 可 | 更新するレコードのテーブル論理名。 例: account。 |
id |
String | 可 | 更新するテーブル レコードの GUID。 |
data |
Object | 可 |
key: value ペアを含む JSON 文字列では、key はエンティティのプロパティであり、テーブルと value は、更新するプロパティの値です。さまざまな更新のシナリオ向けに オブジェクトを定義する方法については、このトピックの以降の data を参照してください。 |
successCallback |
Function | いいえ | レコードを更新した場合に呼び出す関数。 戻り値 を見る |
errorCallback |
Function | いいえ | 処理が失敗したときに呼び出す関数。 次のプロパティを持つオブジェクトが渡されます: - errorCode: 数。 正の 10 進数でのエラー コード。 たとえば、0x80040333 として文書化されたエラー コードは、2147746611 として返されます。- message: 文字列。 問題を示すエラー メッセージが表示されます。 |
戻り値
成功すると、Promiseオブジェクトを successCallback 次のプロパティを使用します。
| 件名 | タイプ | プロパティ |
|---|---|---|
entityType |
String | レコードのテーブル論理名です。 |
id |
String | レコードの GUID。 |
使用例
これらの例では、Web APIをしたテーブル行の更新および削除 で示した要求オブジェクトの一部を使用して、テーブル レコードを更新するためのデータ オブジェクトを定義しています。
| 例 | 対象 | Web API の例 |
|---|---|---|
| 基本的な更新 | 既存の取引先企業レコードの列値を更新する方法。 | 基本的な更新 |
| 関連テーブルへの関連付けを更新する |
@odata.bindを使用してアカウントのプライマリ連絡先を変更する方法。 |
単一値ナビゲーション プロパティに関連付ける |
| Activity 型の関連テーブルへの関連付けを更新する | タスクを営業案件に関連付ける方法、またはその関連ルックアップをアカウントに設定する方法。 | 単一値ナビゲーション プロパティに関連付ける |
| コレクション値ナビゲーション プロパティの関連付けを更新する |
Xrm.WebApi.online.executeを使用して関連レコードを関連付け、関連付けを解除する方法。 |
コレクションにレコードを追加し、コレクションからレコードを削除する |
基本的な更新の例
レコード ID = 5531d753-95af-e711-a94e-000d3a11e605 の既存の取引先企業を更新します。
// define the data to update a record
var data =
{
"name": "Updated Sample Account ",
"creditonhold": true,
"address1_latitude": 47.639583,
"description": "This is the updated description of the sample account",
"revenue": 6000000,
"accountcategorycode": 2
}
// update the record
Xrm.WebApi.updateRecord("account", "5531d753-95af-e711-a94e-000d3a11e605", data).then(
function success(result) {
console.log("Account updated");
// perform operations on record update
},
function (error) {
console.log(error.message);
// handle error conditions
}
);
関連テーブルへの関連付けを更新する例
関連するテーブル レコード (ルックアップ) への関連付けを更新するには、 @odata.bind 注釈を使用して、別のレコードを指すように単一値ナビゲーション プロパティの値を設定します。
コード例を次に示します。
次の例では、アカウント レコードを更新して、別の取引先担当者レコードを取引先企業アカウントの取引先責任者として関連付けます。
// define the data to update a record
var data =
{
"primarycontactid@odata.bind": "/contacts(61a0e5b9-88df-e311-b8e5-6c3be5a8b200)"
}
// update the record
Xrm.WebApi.updateRecord("account", "5531d753-95af-e711-a94e-000d3a11e605", data).then(
function success(result) {
console.log("Account updated");
// perform operations on record update
},
function (error) {
console.log(error.message);
// handle error conditions
}
);
モバイル オフライン シナリオの廃止されたメソッド
ヒント
前の例の@odata.bind注釈を使用する代わりに、既存のカスタマイズでは、大文字と小文字を区別するプロパティ (logicalnameとid) を持つ非推奨の参照オブジェクトが引き続きサポートされています。 ただし、この非推奨のオブジェクトを使用する代わりに、オンラインとオフラインの両方のシナリオで、 @odata.bind 注釈を使用することをお勧めします。
次の例は、オフライン モードで作業中にモバイル クライアントから取引先企業レコードを更新して、別の取引先担当者レコードを取引先企業の取引先責任者として関連付ける、廃止されたメソッドを使用しています。
// define the data to update a record
var data =
{
"primarycontactid":
{
"logicalname": "contact",
"id": "61a0e5b9-88df-e311-b8e5-6c3be5a8b200"
}
}
// update the record
Xrm.WebApi.offline.updateRecord("account", "5531d753-95af-e711-a94e-000d3a11e605", data).then(
function success(result) {
console.log("Account updated");
// perform operations on record update
},
function (error) {
console.log(error.message);
// handle error conditions
}
);
アクティビティの種類の関連テーブルへの関連付けの更新の例
Activity 型の関連テーブルへの関連付けを更新するには、 @odata.bind 注釈を使用して単一値ナビゲーション プロパティの値を設定し、別のレコードを指します。
タスク上の関連する営業案件列を更新する
// define the data to update a record
var data =
{
"new_relatedopportunities_task@odata.bind": "/opportunities(61a0e5b9-88df-e311-b8e5-6c3be5a8b200)"
}
// update the record
Xrm.WebApi.updateRecord("task", "5531d753-95af-e711-a94e-000d3a11e605", data).then(
function success(result) {
console.log("Task updated");
// perform operations on record update
},
function (error) {
console.log(error.message);
// handle error conditions
}
);
タスク上の関連列を更新する
// define the data to update a record
var data =
{
"regardingobjectid_account_task@odata.bind": "/accounts(61a0e5b9-88df-e311-b8e5-6c3be5a8b200)"
}
// update the record
Xrm.WebApi.updateRecord("task", "5531d753-95af-e711-a94e-000d3a11e605", data).then(
function success(result) {
console.log("Task updated");
// perform operations on record update
},
function (error) {
console.log(error.message);
// handle error conditions
}
);
コレクション値ナビゲーション プロパティの関連付けを更新する例
Xrm.WebApi.online.execute API を使用して、コレクション値ナビゲーション プロパティの関連付けと関連付けの解除を行います。 この機能は、モバイル オフライン シナリオではサポートされていません。