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.
Al generar una página mediante lenguaje natural, la inteligencia artificial crea una página react en TypeScript. La página generada cubre la experiencia del usuario front-end seleccionando los componentes adecuados y determinando el mejor diseño y la lógica de negocios correspondiente.
Puede ver y editar el código generado para refinar la salida. Las operaciones de datos usan un dataApi objeto que expone los métodos públicos siguientes:
| Método | Description |
|---|---|
createRow |
Crea una nueva fila en la tabla especificada. |
deleteRow |
Elimina una fila de la tabla especificada. |
getChoices |
Recupera las opciones para el nombre de columna de elección especificado. |
queryTable |
Consulta una tabla con las opciones especificadas. |
retrieveRow |
Recupera una fila de la tabla especificada con las opciones especificadas. |
setPageOutput |
Establece el valor devuelto al script de llamada cuando se cierra un cuadro de diálogo de página generativa. |
updateRow |
Actualiza una fila existente en la tabla especificada. |
método createRow
Crea una nueva fila en la tabla especificada.
Parámetros
Establezca valores para estos parámetros necesarios.
| Nombre | Tipo | Description |
|---|---|---|
tableName |
cuerda / cadena | Nombre lógico de la tabla en la que se va a crear la fila. |
row |
objeto | Datos de fila que se van a crear. |
Devoluciones
Promesa que contiene el resultado de la operación. Cuando la operación se realiza correctamente, el resultado es el valor id. (GUID) de la fila creada.
Example
// Define the row data to create new account
var row =
{
"name": "Sample Account",
"creditonhold": false,
"address1_latitude": 47.639583,
"description": "This is the description of the sample account",
"revenue": 5000000,
"accountcategorycode": 1,
}
try {
// Create a new account record
const newAccountId = await dataApi.createRow("account", row);
console.log("Account created with ID: " + newAccountId);
// Create a contact with a lookup to an account
const newContactId = await dataApi.createRow('contact', {
firstname: 'John',
lastname: 'Doe',
emailaddress1: 'john.doe@contoso.com',
"parentcustomerid@odata.bind": `/account(${newAccountId})`, // Lookup format
});
}
catch (error) {
console.log(error.message);
}
método deleteRow
Elimina una fila de la tabla especificada.
Parámetros
Establezca valores para estos parámetros necesarios.
| Nombre | Tipo | Description |
|---|---|---|
tableName |
cuerda / cadena | Nombre lógico de la tabla en la que se va a eliminar la fila. |
rowId |
cuerda / cadena | Identificador de la fila que se va a eliminar. |
Devoluciones
Promesa que contiene el resultado de la operación. Cuando la operación se realiza correctamente, no devuelve ningún valor.
Example
let rowId = "5531d753-95af-e711-a94e-000d3a11e605";
try {
await dataApi.deleteRow("account", rowId);
}
catch (error) {
console.log(error.message);
}
método getChoices
Recupera las opciones para el nombre de columna de elección especificado.
Parámetros
Este parámetro es obligatorio.
| Nombre | Tipo | Description |
|---|---|---|
enumName |
string |
Nombre de la columna de elección en el formato tablename-columnname |
Devoluciones
Promesa que contiene el resultado de la operación. Cuando la operación se realiza correctamente, devuelve una matriz de las opciones de elección. Cada opción tiene estas propiedades:
| Nombre | Tipo | Description |
|---|---|---|
label |
cuerda / cadena | Valor de etiqueta localizado de la opción. |
value |
number | Valor numérico de la opción. |
Example
// Returns the accountcategorycode column options from the account table
const categoryChoices = await dataApi.getChoices("account-accountcategorycode");
// Returns the statecode column options from the contact table
const stateChoices = await dataApi.getChoices('contact-statecode');
// Returns the statuscode column options from the account table
const statusChoices = await dataApi.getChoices('account-statuscode');
método queryTable
Consulta una tabla mediante las opciones especificadas.
Parámetros
Establezca valores para estos parámetros necesarios.
| Nombre | Tipo | Description |
|---|---|---|
tableName |
string |
Nombre lógico de la tabla que se va a consultar |
query |
QueryTableOptions | Opciones para consultar la tabla |
QueryTableOptions
| Nombre | Tipo | Description |
|---|---|---|
select |
string[] |
(Recomendado) Matriz de nombres de columna que se van a recuperar. |
filter |
string |
(Opcional) Expresión de filtro de OData (por ejemplo, statecode eq 0). |
orderBy |
string |
(Opcional) Expresión orderby de OData (por ejemplo, name asc, createdon desc). |
pageSize |
number |
(Opcional) Número máximo de filas que se van a devolver por página. |
Devoluciones
Promesa que contiene el resultado de la operación. Cuando la operación se realiza correctamente, la promesa devuelve un objeto que contiene una tabla de datos con los resultados con estas propiedades:
| Nombre | Tipo | Description |
|---|---|---|
rows |
Object[] |
Matriz de datos de fila |
hasMoreRows |
boolean |
Indica si hay más filas disponibles. |
loadMoreRows |
function |
Función para cargar la siguiente página de resultados. (Opcional) |
Example
// Query tasks with options
const result = await dataApi.queryTable("task", {
select: ["activityid", "subject", "scheduledend", "prioritycode", "statecode"],
orderBy: "scheduledend asc",
pageSize: 50,
filter: "statecode eq 0"
});
// Query accounts with pagination
const pagedAccounts = await dataApi.queryTable('account', {
select: ['name'],
pageSize: 50,
});
console.log(`Page 1: ${pagedAccounts.rows.length} accounts`);
if (pagedAccounts.hasMoreRows && pagedAccounts.loadMoreRows) {
const nextPage = await pagedAccounts.loadMoreRows();
console.log(`Page 2: ${nextPage.rows.length} accounts`);
}
Observaciones
Nota:
Para obtener el mejor rendimiento, limite siempre el número de columnas devueltas mediante la propiedad QueryTableOptionsselect .
método retrieveRow
Recupera una fila de la tabla especificada mediante las opciones especificadas.
Parámetros
Establezca valores para estos parámetros necesarios.
| Nombre | Tipo | Description |
|---|---|---|
tableName |
string |
Nombre lógico de la tabla de la que se va a recuperar |
options |
RetrieveRowOptions | Opciones para recuperar la fila |
RetrieveRowOptions
| Nombre | Tipo | Description |
|---|---|---|
id |
string |
Identificador (GUID) de la fila que se va a recuperar |
select |
string[] |
(Recomendado) Matriz de nombres de columna que se van a recuperar. Si se omite, se devuelven todas las columnas. |
Devoluciones
Promesa que contiene el resultado de la operación. Cuando la operación se realiza correctamente, se devuelve un objeto que contiene los datos del registro, incluidas todas las columnas seleccionadas.
Example
// Retrieve an account with all columns
const account = await dataApi.retrieveRow('account', {
id: '30dc51e9-947d-47d8-ad48-4fc48fba4a95',
});
// Retrieve specific columns only
const contact = await dataApi.retrieveRow('contact', {
id: 'a1b2c3d4-e5f6-7890-abcd-ef1234567890',
select: ['firstname', 'lastname', '_parentcustomerid_value'],
});
método setPageOutput
Establece el valor devuelto al script de llamada cuando se cierra una página generativa abierta como un cuadro de diálogo.
Parámetros
| Nombre | Tipo | Description |
|---|---|---|
value |
unknown | Valor que se va a devolver al script que abrió el cuadro de diálogo. El valor puede ser un primitivo, un objeto o una matriz. |
Devoluciones
No hay ningún valor.
Example
dataApi.setPageOutput({
action: "selected",
recordId: selectedRecordId
});
const xrm = (window as any).Xrm;
await xrm.Navigation.navigateBack();
La llamada setPageOutput no cierra el cuadro de diálogo ni actualiza la página de llamada. Cierre el cuadro de diálogo con Xrm.Navigation.navigateBack(). A continuación, la promesa devuelta Xrm.Navigation.navigateTo se resuelve con un objeto cuya returnValue propiedad contiene el valor almacenado más recientemente. El script de llamada debe aplicar explícitamente el valor devuelto a su formulario, cuadrícula u otro estado.
Este método se aplica a las páginas generativas abiertas como diálogos. Las páginas generativas abiertas insertadas o en un panel lateral de la aplicación no devuelven un valor al script de llamada.
método updateRow
Actualiza una fila existente en la tabla especificada.
Parámetros
Establezca valores para estos parámetros necesarios.
| Nombre | Tipo | Description |
|---|---|---|
tableName |
cuerda / cadena | Nombre lógico de la tabla en la que se va a actualizar la fila. |
rowId |
cuerda / cadena | Identificador de la fila que se va a actualizar. |
row |
Objeto | Datos de fila que se van a actualizar. |
Devoluciones
Promesa que contiene el resultado de la operación. Cuando la operación se realiza correctamente, no devuelve ningún valor.
Example
let rowId = "5531d753-95af-e711-a94e-000d3a11e605"
// Define the row to update a record
var row =
{
"name": "Updated Sample Account ",
"creditonhold": true,
"address1_latitude": 47.639583,
"description": "This is the updated description of the sample account",
"revenue": 6000000,
"accountcategorycode": 2
}
// update the record
try {
await dataApi.updateRow("account", rowId, row);
}
catch (error){
console.log(error.message);
}