createRecord (referència de l'API del client)

Crea un registre de taula.

Sintaxi

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

Paràmetres

Nom Tipus Necessari Descripció
entityLogicalName String Sí Nom lògic de la taula que voleu crear. Per exemple: account.
data Objecte Sí Objecte JSON que defineix les columnes i els valors del registre de taula nou. Veure exemples
successCallback Funció No Funció per cridar quan es crea un registre. Vegeu el valor retornat
errorCallback Funció No Una funció per cridar quan l'operació falla. Es passa un objecte amb les propietats següents:
- errorCode:Número. El codi d'error com a nombre decimal positiu. Per exemple, el codi d'error documentat com es 0x80040333 retornarà com 2147746611a .
- message:Corda. Un missatge d'error que descriu el problema.

Valor retornat

En cas d'èxit, retorna un objecte de promesa a la successCallback amb les propietats següents:

Nom Tipus Descripció
entityType String El nom lògic de la taula del registre nou.
id String GUID del nou registre.

Exemples

Aquests exemples utilitzen els mateixos objectes de petició que l'article següent: Crea una fila de taula utilitzant l'API web. L'article mostra com definir l'objecte de dades per crear un registre de taula.

Exemple Demostra Exemple d'API web
Creació bàsica Com crear un registre de compte amb valors de columna. Creació bàsica
Crea registres de taula relacionats juntament amb el registre principal Com crear un compte i registres relacionats de contacte, oportunitats i tasques en una sola operació. Crea files de taula relacionades en una sola operació
Associeu taules quan creeu nous registres Com associar un compte nou amb un contacte existent utilitzant @odata.bind. Associa files de taula a crear

Exemple bàsic de creació

Crea un registre de compte d'exemple.

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

Nota

Crear registres amb una imatge principal no està admès en mode fora de línia. Només pots configurar imatges primàries utilitzant crear en mode en línia. No pots establir altres columnes d'imatge utilitzant crear. Més informació sobre les imatges principals

Pots crear taules relacionades entre elles definint-les com a valors de propietat de navegació. Aquest patró es coneix com a inserció profunda. En aquest exemple, crees un registre de compte de mostra juntament amb el registre principal de contacte i un registre d'oportunitat associat.

Nota

Crear registres de taula relacionats en una sola operació de creació no és compatible amb el mode fora de línia.

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

Exemple d'associació de taules quan es creen nous registres

Per associar nous registres de taula als registres de taula existents, estableix el valor de les propietats de navegació d'un sol valor utilitzant l'anotació @odata.bind .

Nota

Els noms de les propietats de navegació d'un sol valor no sempre són els mateixos que LogicalName els de l'atribut de cerca. Assegura't que utilitzes el valor d'atribut Name de l'element NavigationProperty al document de servei de l'API web $metadata. Per a més informació, vegeu Propietats de Navegació de l'API Web.

Aquí tens un exemple de codi:

L'exemple següent crea un registre de compte i l'associa a un registre de contacte existent per establir aquest últim com a contacte principal per al nou registre de compte:

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

Mètode obsolet per a l'escenari Mobile Offline

Nota

En lloc d'utilitzar l'exemple d'anotació @odata.bind mostrat anteriorment, l'objecte de cerca obsolet amb propietats sensibles a majúscules (logicalname i id) encara es suporta per a personalitzacions existents. Tanmateix, utilitza l'anotació @odata.bind tant per a escenaris en línia com fora de línia en lloc d'utilitzar aquest objecte obsolet.

L'exemple següent utilitza el mètode obsolet per crear un registre de compte i associar-lo a un registre de contacte existent per establir aquest últim com a contacte principal per al nou registre de compte des dels clients mòbils quan es treballa en mode 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
    }
);

Crear una fila de taula mitjançant l'API web
Xrm.WebApi