Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Quando geras uma página usando linguagem natural, a IA cria uma página React em TypeScript. A página gerada cobre tanto a experiência do utilizador front-end, selecionando os componentes certos e determinando o melhor layout, como a lógica de negócio correspondente.
Pode visualizar e editar o código gerado para refinar a saída. As operações de dados utilizam um dataApi objeto que expõe os seguintes métodos públicos:
| Método | Description |
|---|---|
createRow |
Cria uma nova linha na tabela especificada. |
deleteRow |
Apaga uma linha da tabela especificada. |
getChoices |
Recupera as opções para o nome da coluna de escolha especificada. |
queryTable |
Consulta uma tabela com as opções especificadas. |
retrieveRow |
Recupera uma linha da tabela especificada com as opções especificadas. |
setPageOutput |
Define o valor devolvido ao script de chamada quando um diálogo de página generativa fecha. |
updateRow |
Atualiza uma linha existente na tabela especificada. |
createRow método
Cria uma nova linha na tabela especificada.
Parâmetros
Defina valores para estes parâmetros exigidos.
| Nome | Tipo | Description |
|---|---|---|
tableName |
cadeia (de caracteres) | O nome lógico da tabela para criar a linha em. |
row |
objecto | Os dados de linha a criar. |
Devoluções
Uma promessa contendo o resultado da operação. Quando a operação tem sucesso, o resultado é o valor ID (Guid) da linha criada.
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);
}
deleteRow método
Apaga uma linha da tabela especificada.
Parâmetros
Defina valores para estes parâmetros exigidos.
| Nome | Tipo | Description |
|---|---|---|
tableName |
cadeia (de caracteres) | O nome lógico da tabela para eliminar a linha. |
rowId |
cadeia (de caracteres) | O ID da fila a apagar. |
Devoluções
Uma promessa contendo o resultado da operação. Quando a operação tem sucesso, não retorna valor.
Example
let rowId = "5531d753-95af-e711-a94e-000d3a11e605";
try {
await dataApi.deleteRow("account", rowId);
}
catch (error) {
console.log(error.message);
}
getChoices método
Recupera as opções para o nome da coluna de escolha especificada.
Parâmetros
Este parâmetro é obrigatório.
| Nome | Tipo | Description |
|---|---|---|
enumName |
string |
O nome da coluna de escolha no formato tablename-columnname |
Devoluções
Uma promessa contendo o resultado da operação. Quando a operação tem sucesso, devolve um array das opções de escolha. Cada opção tem as seguintes propriedades:
| Nome | Tipo | Description |
|---|---|---|
label |
cadeia (de caracteres) | O valor da etiqueta localizada da opção. |
value |
número | O valor numérico da opção. |
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');
queryTable método
Consulta a uma tabela usando as opções especificadas.
Parâmetros
Defina valores para estes parâmetros exigidos.
| Nome | Tipo | Description |
|---|---|---|
tableName |
string |
O nome lógico da tabela a consultar |
query |
QueryTableOptions | Opções para consultar a tabela |
QueryTableOptions
| Nome | Tipo | Description |
|---|---|---|
select |
string[] |
(Recomendado) Array de nomes de colunas para recuperar. |
filter |
string |
(Opcional) Expressão do filtro OData (por exemplo, statecode eq 0). |
orderBy |
string |
(Opcional) OData expressão por ordem (por exemplo, name asc, createdon desc). |
pageSize |
number |
(Opcional) Número máximo de linhas a devolver por página. |
Devoluções
Uma promessa contendo o resultado da operação. Quando a operação tem sucesso, a promessa devolve um objeto contendo uma tabela de dados com os resultados com estas propriedades:
| Nome | Tipo | Description |
|---|---|---|
rows |
Object[] |
Array de dados de linhas |
hasMoreRows |
boolean |
Indica se há mais linhas disponíveis |
loadMoreRows |
function |
Função para carregar a página seguinte 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`);
}
Observações
Observação
Para melhor desempenho, limite sempre o número de colunas devolvidas usando a propriedade QueryTableOptionsselect .
retrieveRow método
Recupera uma linha da tabela especificada usando as opções especificadas.
Parâmetros
Defina valores para estes parâmetros exigidos.
| Nome | Tipo | Description |
|---|---|---|
tableName |
string |
O nome lógico da tabela a recuperar de |
options |
RetrieveRowOptions | Opções para recuperar a linha |
RetrieveRowOptions
| Nome | Tipo | Description |
|---|---|---|
id |
string |
O ID (Guid) da linha a recuperar |
select |
string[] |
(Recomendado) Array de nomes de colunas para recuperar. Se omitidas, todas as colunas serão retornadas. |
Devoluções
Uma promessa contendo o resultado da operação. Quando a operação é bem-sucedida, é devolvido um objeto contendo os dados do registo, incluindo todas as colunas selecionadas.
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'],
});
setPageOutput método
Define o valor devolvido ao script que chama quando uma página generativa é aberta enquanto um diálogo fecha.
Parâmetros
| Nome | Tipo | Description |
|---|---|---|
value |
desconhecido | O valor a devolver ao script que abriu o diálogo. O valor pode ser um primitivo, objeto ou array. |
Devoluções
Sem valor.
Example
dataApi.setPageOutput({
action: "selected",
recordId: selectedRecordId
});
const xrm = (window as any).Xrm;
await xrm.Navigation.navigateBack();
Ligar setPageOutput não fecha o diálogo nem atualiza a página de chamada. Feche o diálogo com Xrm.Navigation.navigateBack(). A promessa devolvida então Xrm.Navigation.navigateTo resolve-se com um objeto cuja returnValue propriedade contém o valor armazenado mais recentemente. O script de chamada deve aplicar explicitamente o valor devolvido à sua forma, grelha ou outro estado.
Este método aplica-se a páginas generativas abertas como diálogos. Páginas generativas abertas em linha ou num painel lateral da aplicação não devolvem um valor ao script de chamada.
updateRow método
Atualiza uma linha existente na tabela especificada.
Parâmetros
Defina valores para estes parâmetros exigidos.
| Nome | Tipo | Description |
|---|---|---|
tableName |
cadeia (de caracteres) | O nome lógico da tabela para atualizar a linha. |
rowId |
cadeia (de caracteres) | O ID da linha a atualizar. |
row |
Objeto | Os dados da linha a atualizar. |
Devoluções
Uma promessa contendo o resultado da operação. Quando a operação tem sucesso, não retorna 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);
}