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 | Sí | Nombre lógico de la tabla que quiere crear. Por ejemplo: account . |
data |
Objecto | Sí | 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
Crear registros de tabla relacionados junto con el registro principal
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
}
);
Artículos relacionados
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).