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


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

Создает запись таблицы.

Синтаксис

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

Параметры

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

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

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

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

Примеры

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

Базовое создание

Создает образец записи учетной записи.

// define the data to create new account
var data =
    {
        "name": "Sample Account",
        "creditonhold": false,
        "address1_latitude": 47.639583,
        "description": "This is the description of the sample account",
        "revenue": 5000000,
        "accountcategorycode": 1,
        "opendeals_date": new Date("2024-02-03T00:00:00Z")
    }

// create account record
Xrm.WebApi.createRecord("account", data).then(
    function success(result) {
        console.log("Account created with ID: " + result.id);
        // perform operations on record creation
    },
    function (error) {
        console.log(error.message);
        // handle error conditions
    }
);

Замечание

Создание записей с основным изображением не поддерживается для автономного режима. Основные образы можно задать только в режиме онлайн. Другие столбцы изображений нельзя задать с помощью create. Дополнительные сведения о первичных образах

Таблицы, связанные друг с другом, можно создать, определив их как значения свойств навигации. Этот шаблон называется глубоким вставкам. В этом примере мы создадим образец записи учетной записи вместе с основной записью контакта и связанной записью возможности.

Замечание

Создание связанных записей таблиц в одной операции создания не поддерживается в автономном режиме.

// define data to create primary and related table records
var data =
    {
        "name": "Sample Account",
        "primarycontactid":
        {
            "firstname": "John",
            "lastname": "Smith"
        },
        "opportunity_customer_accounts":
        [
            {
                "name": "Opportunity associated to Sample Account",
                "Opportunity_Tasks":
                [
                    { "subject": "Task associated to opportunity" }
                ]
            }
        ]
    }

// create account record
Xrm.WebApi.createRecord("account", data).then(
    function success(result) {
        console.log("Account created with ID: " + result.id);
        // perform operations on record creation
    },
    function (error) {
        console.log(error.message);
        // handle error conditions
    }
);

Связывание таблиц при создании новых записей

Чтобы связать новые записи таблицы с существующими записями таблицы, задайте значение свойств навигации с одним значением с помощью заметки @odata.bind .

Замечание

Имена свойств навигации с одним значением не всегда совпадают с LogicalName именами атрибута подстановки. Необходимо убедиться, что вы используете Name значение атрибута NavigationProperty элемента в документе веб-API $metadata службе. Дополнительные сведения: Свойства навигации веб-API

Ниже приведен пример кода:

В следующем примере создается запись учетной записи и связывает ее с существующей записью контакта, чтобы задать последний в качестве основного контакта для новой записи учетной записи:

var data =
    {
        "name": "Sample Account",
        "[email protected]": "/contacts(465b158c-541c-e511-80d3-3863bb347ba8)"
    }

// create account record
Xrm.WebApi.createRecord("account", data).then(
    function success(result) {
        console.log("Account created with ID: " + result.id);
        // perform operations on record creation
    },
    function (error) {
        console.log(error.message);
        // handle error conditions
    }
);

Нерекомендуемый метод для автономного использования мобильных устройств

Замечание

Вместо использования @odata.bind примера заметки, показанного ранее, устаревший объект подстановки с свойствами с учетом регистра (logicalname и id) по-прежнему поддерживается для существующих настроек. Однако рекомендуется использовать @odata.bind заметки как для автономного, так и для автономного сценария вместо использования этого устаревшего объекта.

В следующем примере используется устаревший метод для создания записи учетной записи и связывания ее с существующей записью контакта, чтобы установить последний в качестве основного контакта для новой записи учетной записи из мобильных клиентов при работе в автономном режиме:

var data =
    {
        "name": "Sample Account",
        "primarycontactid":
        {
            "logicalname": "contact",
            "id": "465b158c-541c-e511-80d3-3863bb347ba8"
        } 
    }

// create account record
Xrm.WebApi.offline.createRecord("account", data).then(
    function success(result) {
        console.log("Account created with ID: " + result.id);
        // perform operations on record creation
    },
    function (error) {
        console.log(error.message);
        // handle error conditions
    }
);

Создание строки таблицы с помощью веб-API
Xrm.WebApi