Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Crea un registro de tabla.
Sintaxis
Xrm.WebApi.createRecord(entityLogicalName, data).then(successCallback, errorCallback);
Parámetros
| Nombre. | 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. El código de error como número decimal positivo. Por ejemplo, el código de error documentado como 0x80040333 se devolverá como 2147746611.- 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:
| Nombre. | 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
}
);