updateRecord (справочник по API клиента)

Обновляет запись таблицы.

Синтаксис

Xrm.WebApi.updateRecord(entityLogicalName, id, data).then(successCallback, errorCallback);

Параметры

Имя Тип Обязательно Description
entityLogicalName String Да Логическое имя таблицы записи, которую требуется обновить. Например: account.
id String Да GUID записи таблицы, которую требуется обновить.
data Object Да Объект JSON, содержащий key: value пары, где key является свойством таблицы и value является значением свойства, которое требуется обновить.
См . примеры , чтобы узнать, как определить data объект для различных сценариев обновления.
successCallback Функция нет Функция, вызываемая при обновлении записи. См . возвращаемое значение
errorCallback Функция нет Функция, вызываемая при сбое операции. Передается объект со следующими свойствами:
- errorCode:Число. Код ошибки в виде положительного десятичного числа. Например, код ошибки, который задокументирован как 0x80040333 будет возвращен.2147746611
- message:Струна. Сообщение об ошибке с описанием проблемы.

Возвращаемое значение

При успешном выполнении возвращает объект successCallback promise в указанные ниже свойства:

Имя Тип Description
entityType String Логическое имя таблицы записи.
id String GUID записи.

Примеры

В этих примерах используются некоторые из таких же объектов запросов, как показано в строках таблицы update и delete с помощью веб-API , чтобы определить объект данных для обновления записи таблицы.

Example Демонстрирует Пример веб-API
Базовое обновление Как обновить значения столбцов в существующей записи учетной записи. Базовое обновление
Обновление сопоставлений со связанными таблицами Изменение основного контакта учетной записи с помощью @odata.bind. Связывание со свойством навигации с одним значением
Обновление сопоставлений со связанными таблицами типа Activity Как связать задачу с возможностью или задать ее поиск в учетной записи. Связывание со свойством навигации с одним значением
Обновление связей для свойств навигации с значением коллекции Связывание и отмена связывания связанных записей с помощью Xrm.WebApi.online.execute. Добавление записи в коллекцию и удаление записи из коллекции

Базовый пример обновления

Обновляет существующую запись учетной записи с идентификатором записи = 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
   }
);

Пример сопоставления обновлений для свойств навигации с значением коллекции

Используйте API Xrm.WebApi.online.execute для связывания и отключения свойств навигации, возвращаемых коллекцией. Эта функция не поддерживается для мобильных автономных сценариев.

Xrm.WebApi