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 de retorno
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
En estos ejemplos se usan los mismos objetos de solicitud que el siguiente artículo: Creación de una fila de tabla mediante la API web. En el artículo se muestra cómo definir el objeto de datos para crear un registro de tabla.
| Ejemplo | Demuestra | Ejemplo de API web |
|---|---|---|
| Crear básico | Cómo crear un registro de cuenta con valores de columna. | Crear básico |
| Crear registros de tabla relacionados junto con el registro principal | Cómo crear una cuenta y registros de contacto, oportunidades y tareas relacionados en una sola operación. | Crea filas de tablas relacionadas en una sola operación |
| Asociación de tablas al crear nuevos registros | Cómo asociar una nueva cuenta a un contacto existente mediante @odata.bind. |
Asociar filas de tabla en la creación |
Ejemplo de creación básica
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 para el modo sin conexión. Solo puede establecer imágenes principales mediante la creación en modo en línea. No se pueden establecer otras columnas de imagen mediante create. Más información sobre imágenes principales
Creación de registros de tabla relacionados junto con el ejemplo de registro principal
Puede crear tablas relacionadas entre sí definiéndolas como valores de propiedad de navegación. Este patrón se conoce como inserción en profundidad. En este ejemplo, creará un registro de cuenta de ejemplo junto con el registro de contacto principal y un registro de oportunidad asociado.
Nota
No se admite la creación de registros de tabla relacionados en una sola operación de creación para el modo sin conexión.
// 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
}
);
Ejemplo de asociación de tablas al crear nuevos registros
Para asociar nuevos registros de tabla a los registros de tabla existentes, establezca el valor de las propiedades de navegación con un solo valor mediante la @odata.bind anotación .
Nota
Los nombres de las propiedades de navegación con un solo valor no siempre son los mismos que para LogicalName el atributo de búsqueda. Asegúrese de que usa el Name valor de atributo del NavigationProperty elemento en el documento de servicio $metadata api web. Para obtener más información, consulte Propiedades de navegación de api web.
Este es un ejemplo de código:
En el ejemplo siguiente se crea un registro de cuenta y se 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 @odata.bind ejemplo de anotación mostrado anteriormente, el objeto de búsqueda en desuso con propiedades que distinguen mayúsculas de minúsculas (logicalname y id) sigue siendo compatible con las personalizaciones existentes. Sin embargo, use la @odata.bind anotación para escenarios en línea y sin conexión en lugar de usar este objeto en desuso.
En el ejemplo siguiente se usa 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 de los clientes móviles al trabajar 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
}
);