Поделиться через


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 , чтобы определить объект данных для обновления записи таблицы.

Базовое обновление

Обновляет существующую запись учетной записи с идентификатором записи = 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 =
    {
        "[email protected]": "/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 =
    {
        "[email protected]": "/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 =
   {
       "[email protected]": "/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