updateRecord (Client API 参照)

テーブル レコードを更新します。

構文

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 を使用して、コレクション値ナビゲーション プロパティの関連付けと関連付けの解除を行います。 この機能は、モバイル オフライン シナリオではサポートされていません。

Xrm.WebApi