Споделяне чрез


createRecord (препратка към API на клиент)

Създава запис на таблица.

Синтаксис

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

Параметри

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

Връщана стойност

При успех връща обект на обещание със successCallback следните свойства:

Име Вид Описание
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
    }
);

Бележка

Създаването на записи с основно изображение не се поддържа за офлайн режим. Основните изображения могат да се задават само при създаване в онлайн режим. Други колони с изображения не могат да се задават със създаване. Научете повече за основните изображения

Можете да създавате таблици, свързани помежду си, като ги дефинирате като стойности на свойствата на навигацията. Този модел е известен като дълбока вложки. В този пример създаваме примерен запис за акаунт заедно с основния запис за контакт и свързаното досие на възможности.

Бележка

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

// 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
    }
);

Създаване на ред на таблица с помощта на уеб API
Xrm.WebApi