Compartir a través de


createRecord (referencia de API de cliente)

Crea un registro de tabla.

Sintaxis

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

Parámetros

Name Type Obligatorio Description
entityLogicalName String Nombre lógico de la tabla que quiere crear. Por ejemplo: account.
data Objecto Objeto JSON que define las columnas y valores del nuevo registro de tabla. Ver Ejemplos
successCallback Function No Una función para llamar cuando se crea un registro. Ver Valor de retorno
errorCallback Function No Una función a la que se llama cuando la operación tiene error. Se pasará un objeto con las siguientes propiedades:
- errorCode: Número. Código de error.
- message: Cadena. Un mensaje de error que describe el problema.

Valor devuelto

Si tiene éxito, devuelve un objeto de promesa al successCallback con las siguientes propiedades:

Name Type Description
entityType String Nombre lógico de la tabla del nuevo registro.
id String GUID del nuevo registro.

Ejemplos

Estos ejemplos utilizan los mismos objetos de solicitud que se muestran en Crear una fila de tabla usando la API web para definir el objeto de datos para crear un registro de tabla.

Crear básico

Crea un registro de cuenta de ejemplo.

// 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

No se admite la creación de registros con una imagen principal en el modo sin conexión. Las imágenes principales solo se pueden configurar con Crear en modo en línea. No se pueden configurar otras columnas de imagen con crear. Más información sobre imágenes principales

Puede crear tablas relacionadas entre sí definiéndolas como valores de propiedades de navegación. Este patrón se conoce como inserción en profundidad. En este ejemplo, se va a crear un registro de cuenta de ejemplo junto con el registro de contacto principal y un registro de oportunidad asociado.

Nota

La creación de registros de tablas relacionados en una sola operación de creación no se admite en el modo desconectado.

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

Asociar tablas en la creación de nuevos registros

Para asociar nuevos registros de tabla a registros de tabla existentes, establezca el valor de las propiedades de navegación de un solo valor mediante la anotación @odata.bind.

Nota

Los nombres de las propiedades de navegación de un solo valor no siempre son los mismos que los LogicalName para el atributo de búsqueda. Debe asegurarse de que está usando el valor de atributo Name del elemento NavigationProperty en el documento de $metadata service de la API web. Más información: Propiedades de navegación de la API web

A continuación, tiene un código de ejemplo:

El ejemplo siguiente crea un registro de cuenta y lo asocia a un registro de contacto existente para establecer este último como contacto principal para el nuevo registro de cuenta:

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étodo en desuso para escenario sin conexión móvil

Nota

En lugar de usar el ejemplo de anotación @odata.bind mostrado anteriormente, el objeto obsoleto buscar con propiedades que distinguen entre mayúsculas y minúsculas (logicalname y id) todavía es compatible con las personalizaciones existentes. Sin embargo, se recomienda utilizar la anotación @odata.bind para el escenario en línea y sin conexión en lugar de usar este objeto en desuso.

El ejemplo siguiente utiliza el método en desuso para crear un registro de cuenta y asociarlo a un registro de contacto existente para establecer este último como contacto principal para el nuevo registro de cuenta para clientes móviles cuando trabaje en el modo sin conexión:

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 tabla usando la API web
Xrm.WebApi

Nota

¿Puede indicarnos sus preferencias de idioma de documentación? Realice una breve encuesta. (tenga en cuenta que esta encuesta está en inglés)

La encuesta durará unos siete minutos. No se recopilan datos personales (declaración de privacidad).