Aracılığıyla paylaş


createRecord (İstemci API başvurusu)

Bir tablo kaydı oluşturur.

Sözdizimi

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

Parametreler

İsim Türü Gerekli Description
entityLogicalName String Yes Oluşturmak istediğiniz tablonun mantıksal adı. Örneğin: account.
data Nesne Yes Yeni tablo kaydı için sütunları ve değerleri tanımlayan bir JSON nesnesi. Bkz. Örnekler
successCallback İşlev Hayı Bir kayıt oluşturulduğunda çağrılacak bir işlev. Bkz . Dönüş Değeri
errorCallback İşlev Hayı İşlem başarısız olduğunda çağrılacak bir işlev. Aşağıdaki özelliklere sahip bir nesne geçirilir:
- errorCode:Sayı. Pozitif ondalık sayı olarak hata kodu. Örneğin, olarak 0x80040333 belgelenen hata kodu olarak 2147746611döndürülür.
- message:Dizgi. Sorunu açıklayan bir hata mesajı.

Dönüş Değeri

Başarılı olduğunda, aşağıdaki özelliklere sahip öğesine successCallback bir promise nesnesi döndürür:

İsim Türü Description
entityType String Yeni kaydın tablo mantıksal adı.
id String Yeni kaydın GUID'i.

Örnekler

Bu örneklerde, tablo kaydı oluşturmak için veri nesnesini tanımlamak üzere Web API'sini kullanarak tablo satırı oluşturma bölümünde gösterildiği gibi aynı istek nesneleri kullanılır.

Temel oluşturma

Örnek bir hesap kaydı oluşturur.

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

Uyarı

Birincil görüntüyle kayıt oluşturma, çevrimdışı modda desteklenmez. Birincil görüntüler yalnızca çevrimiçi modda oluşturma ile ayarlanabilir. Oluşturma ile diğer görüntü sütunları ayarlanamaz. Birincil görüntüler hakkında daha fazla bilgi edinin

Birbiriyle ilgili tabloları gezinti özellikleri değerleri olarak tanımlayarak oluşturabilirsiniz. Bu desen derin ekleme olarak bilinir. Bu örnekte, birincil ilgili kişi kaydı ve ilişkili fırsat kaydıyla birlikte bir örnek hesap kaydı oluşturacağız.

Uyarı

Tek bir oluşturma işleminde ilgili tablo kayıtlarının oluşturulması çevrimdışı modda desteklenmez.

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

Yeni kayıt oluştururken tabloları ilişkilendirme

Yeni tablo kayıtlarını mevcut tablo kayıtlarıyla ilişkilendirmek için ek açıklamayı kullanarak @odata.bind tek değerli gezinti özelliklerinin değerini ayarlayın.

Uyarı

Tek değerli gezinti özelliklerinin adları her zaman arama özniteliğiyle LogicalName aynı değildir. Web API $metadata hizmet belgesindeki öğesinin NavigationProperty öznitelik değerini kullandığınızdan Name emin olmanız gerekir. Daha fazla bilgi: Web API Gezinti Özellikleri

Kod örneği:

Aşağıdaki örnek bir hesap kaydı oluşturur ve bu kaydı mevcut bir ilgili kişi kaydıyla ilişkilendirerek ikincisini yeni firma kaydı için birincil ilgili kişi olarak ayarlar:

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

Mobil çevrimdışı senaryo için kullanım dışı yöntemi

Uyarı

Daha önce gösterilen ek açıklama örneğini kullanmak @odata.bind yerine, büyük/küçük harfe duyarlı özelliklere (logicalname ve id) sahip kullanım dışı bırakılan arama nesnesi mevcut özelleştirmeler için hala desteklenmektedir. Ancak, bu kullanım dışı nesne yerine hem çevrimiçi hem de çevrimdışı senaryo için ek açıklama kullanılması önerilir @odata.bind .

Aşağıdaki örnek, bir hesap kaydı oluşturmak için kullanım dışı yöntemini kullanır ve bunu mevcut bir kişi kaydıyla ilişkilendirerek, çevrimdışı modda çalışırken mobil istemcilerden yeni hesap kaydı için birincil ilgili kişi olarak ikincisini ayarlar:

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

Web API'sini kullanarak tablo satırı oluşturma
Xrm.WebApi