Deli putem


createRecord (Referenca klijentskog API-ja)

Kreira zapis tabele.

Sintaksa

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

Parametre

Imenuj Tip Zahtevano Opis
entityLogicalName String Da Logičko ime tabele koju želite da kreirate. Na primer: account.
data Objekat Da JSON objekat koji definiše kolone i vrednosti za novi zapis tabele. Pogledajte primere
successCallback Function Ne Funkcija koja se poziva kada se stvori zapis. Pogledajte povratnu vrednost
errorCallback Function Ne Funkcija za pozivanje kada operacija ne uspe. Prosleđen je objekat sa sledećim svojstvima:
- errorCode:Broj. Kôd greške kao pozitivan decimalni broj. Na primer, kôd greške koji je dokumentovan kao 0x80040333 će biti vraćen kao 2147746611.
- message:Niske. Poruka o grešci koja opisuje problem.

Povratna vrednost

Pri uspehu vraća obećani objekat sa successCallback sledećim svojstvima:

Imenuj Tip Opis
entityType String Logičko ime tabele novog zapisa.
id String GUID novog zapisa.

Primeri

Ovi primeri koriste iste objekte zahteva kao što je prikazano u članku Kreiranje reda tabele pomoću veb API-ja za definisanje objekta podataka za kreiranje zapisa tabele.

Osnovno kreiranje

Kreira uzorak zapisa naloga.

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

Belešku

Kreiranje zapisa sa primarnom slikom nije podržano za režim rada van mreže. Primarne slike mogu da se podese samo sa kreiranjem u režimu rada na mreži. Ostale kolone slika ne mogu da se podese sa kreiranjem. Saznajte više o primarnim slikama

Tabele povezane jedna sa drugom možete da napravite tako što ćete ih definisati kao vrednosti svojstava navigacije. Ovaj obrazac je poznat kao duboko umetanje. U ovom primeru kreiramo uzorak zapisa naloga zajedno sa primarnim zapisom kontakta i povezanim podacima o mogućnostima za poslovanje.

Belešku

Kreiranje srodnih zapisa tabele u jednoj operaciji kreiranja nije podržano za režim rada van mreže.

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

Povezivanje tabela pri kreiranju novih zapisa

Da biste povezali nove zapise tabele sa postojećim zapisima tabele, @odata.bind postavite vrednost svojstava navigacije sa jednom vrednošću pomoću beleške.

Belešku

Imena svojstava navigacije sa jednom vrednošću nisu uvek ista kao za atribut LogicalName za pronalaženje. Trebalo bi da se uverite da koristite vrednost atributa Name elementa NavigationProperty u dokumentu Veb API $metadata usluge. Više informacija: Veb API Navigation Properties

Evo primera koda:

Sledeći primer kreira zapis naloga i povezuje ga sa postojećim zapisom kontakta kako bi se postavio drugi kao primarni kontakt za novi zapis naloga:

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

Zastareo metod za mobilni scenario van mreže

Belešku

Umesto korišćenja @odata.bind primera beležaka koji je prethodno prikazan, zastareli objekat za pronalaženje sa svojstvima koja razlikuju mala i velika slova (logicalnameidi ) i dalje je podržan za postojeća prilagođavanja. Međutim, preporučuje se da @odata.bind koristite beleške za scenario na mreži i van mreže umesto da koristite ovaj zastareli objekat.

Sledeći primer koristi neodobreni metod za kreiranje zapisa naloga i povezuje ga sa postojećim zapisom kontakta da bi se ovaj drugi postavio kao primarni kontakt za zapis novog naloga iz mobilnih klijenata prilikom rada u režimu van mreže:

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

Kreiranje reda tabele pomoću Veb API-ja
Xrm.WebApi