Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Создает запись таблицы.
Синтаксис
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. В статье показано, как определить объект данных для создания записи таблицы.
| Example | Демонстрирует | Пример веб-API |
|---|---|---|
| Базовое создание | Создание записи учетной записи со значениями столбцов. | Базовое создание |
| Создание связанных записей таблиц вместе с основной записью | Создание учетной записи и связанных контактов, возможностей и записей задач в одной операции. | Создание связанных строк таблицы в одной операции |
| Связывание таблиц при создании новых записей | Связывание новой учетной записи с существующим контактом с помощью @odata.bind. |
Связывание строк таблицы при создании |
Базовый пример создания
Создает образец записи учетной записи.
// 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
}
);
Замечание
Создание записей с основным изображением не поддерживается для автономного режима. Основные образы можно задать только с помощью режима "в сети". Вы не можете задать другие столбцы изображений с помощью создания. Дополнительные сведения о первичных образах
Создание связанных записей таблиц вместе с примером основной записи
Таблицы, связанные друг с другом, можно создать, определив их как значения свойств навигации. Этот шаблон называется глубоким вставкам. В этом примере вы создадите пример записи учетной записи вместе с основной записью контакта и связанной записью возможности.
Замечание
Создание связанных записей таблиц в одной операции создания не поддерживается для автономного режима.
// 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",
"primarycontactid@odata.bind": "/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
}
);