createRecord (dokumentacja interfejsu API klienta)

Tworzy rekord tabeli.

Składnia

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

Parametry

Name Typ Wymagane Description
entityLogicalName Sznurek Tak Logiczna nazwa tabeli, którą chcesz utworzyć. Na przykład: account.
data Object Tak Obiekt JSON definiujący kolumny i wartości dla nowego rekordu tabeli. Zobacz przykłady
successCallback Funkcja Nie. Funkcja wywoływana podczas tworzenia rekordu. Zobacz wartość zwracaną
errorCallback Funkcja Nie. Funkcja wywoływana, gdy operacja zakończy się niepowodzeniem. Obiekt z następującymi właściwościami jest przekazywany:
- errorCode:Numer. Kod błędu jako dodatnia liczba dziesiętna. Na przykład kod błędu udokumentowany jako 0x80040333 zostanie zwrócony jako 2147746611.
- message:Struna. Komunikat o błędzie opisujący problem.

Wartość zwracana

W przypadku powodzenia zwraca obiekt obietnicy do successCallback obiektu z następującymi właściwościami:

Name Typ Description
entityType Sznurek Nazwa logiczna tabeli nowego rekordu.
id Sznurek Identyfikator GUID nowego rekordu.

Przykłady

W tych przykładach są używane te same obiekty żądań co następujący artykuł: Tworzenie wiersza tabeli przy użyciu internetowego interfejsu API. W tym artykule pokazano, jak zdefiniować obiekt danych na potrzeby tworzenia rekordu tabeli.

Przykład Demonstruje Przykład internetowego interfejsu API
Tworzenie podstawowe Jak utworzyć rekord konta z wartościami kolumn. Tworzenie podstawowe
Tworzenie powiązanych rekordów tabeli wraz z rekordem podstawowym Jak utworzyć konto i powiązane kontakty, szansę sprzedaży i rekordy zadań w jednej operacji. Tworzenie powiązanych wierszy tabeli w jednej operacji
Kojarzenie tabel podczas tworzenia nowych rekordów Jak skojarzyć nowe konto z istniejącym kontaktem przy użyciu polecenia @odata.bind. Kojarzenie wierszy tabeli podczas tworzenia

Podstawowy przykład tworzenia

Tworzy przykładowy rekord konta.

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

Uwaga / Notatka

Tworzenie rekordów z obrazem podstawowym nie jest obsługiwane w trybie offline. Obrazy podstawowe można ustawić tylko przy użyciu funkcji tworzenia w trybie online. Nie można ustawić innych kolumn obrazu przy użyciu polecenia create. Dowiedz się więcej o obrazach podstawowych

Tabele powiązane ze sobą można tworzyć, definiując je jako wartości właściwości nawigacji. Ten wzorzec jest nazywany głębokim wstawianiem. W tym przykładzie utworzysz przykładowy rekord konta wraz z podstawowym rekordem kontaktu i skojarzonym rekordem szansy sprzedaży.

Uwaga / Notatka

Tworzenie powiązanych rekordów tabeli w ramach jednej operacji tworzenia nie jest obsługiwane w trybie offline.

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

Kojarzenie tabel podczas tworzenia nowych rekordów — przykład

Aby skojarzyć nowe rekordy tabeli z istniejącymi rekordami tabeli, ustaw wartość właściwości nawigacji jednowartościowej przy użyciu @odata.bind adnotacji.

Uwaga / Notatka

Nazwy właściwości nawigacji jednowartościowej nie zawsze są takie same jak LogicalName dla atrybutu odnośnika. Upewnij się, że używasz Name wartości atrybutu NavigationProperty elementu w dokumencie usługi $metadata interfejsu API sieci Web. Aby uzyskać więcej informacji, zobacz Właściwości nawigacji interfejsu API sieci Web.

Oto przykład kodu:

Poniższy przykład tworzy rekord konta i kojarzy go z istniejącym rekordem kontaktu, aby ustawić ten ostatni jako podstawowy kontakt dla nowego rekordu konta:

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

Przestarzała metoda dla scenariusza trybu offline dla urządzeń przenośnych

Uwaga / Notatka

Zamiast używać przedstawionego wcześniej przykładu @odata.bind adnotacji, przestarzały obiekt odnośnika z właściwościami uwzględniającymi wielkość liter (logicalname i id) jest nadal obsługiwany w przypadku istniejących dostosowań. Należy jednak użyć @odata.bind adnotacji zarówno w scenariuszach online, jak i offline, zamiast używać tego przestarzałego obiektu.

W poniższym przykładzie użyto przestarzałej metody do utworzenia rekordu konta i skojarzenia go z istniejącym rekordem kontaktu w celu ustawienia tego ostatniego jako podstawowego kontaktu dla nowego rekordu konta z klientów mobilnych podczas pracy w trybie offline:

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

Tworzenie wiersza tabeli przy użyciu internetowego interfejsu API
Xrm.WebApi