Compartilhar via


referência dataApi para páginas gerativas

Quando você gera uma página usando linguagem natural, a IA cria uma página react no TypeScript. A página gerada abrange a experiência do usuário front-end selecionando os componentes corretos e determinando o melhor layout e a lógica de negócios correspondente.

Você pode exibir e editar o código gerado para refinar a saída. As operações de dados usam um dataApi objeto que expõe os seguintes métodos públicos:

Método Description
createRow Cria uma nova linha na tabela especificada.
updateRow Atualiza uma linha existente na tabela especificada.
deleteRow Exclui uma linha da tabela especificada.
retrieveRow Recupera uma linha da tabela especificada com as opções especificadas.
queryTable Consulta uma tabela com as opções especificadas.
getChoices Recupera as opções para o nome da coluna de escolha especificado.

método createRow

Cria uma nova linha na tabela especificada.

Parâmetros

Defina valores para esses parâmetros necessários.

Nome Tipo Description
tableName cadeia O nome lógico da tabela na qual criar a linha.
row objeto Os dados de linha a serem criados.

Devoluções

Uma promessa que contém o resultado da operação. Quando a operação é bem-sucedida, o resultado é o valor da 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);
}

método updateRow

Atualiza uma linha existente na tabela especificada.

Parâmetros

Defina valores para esses parâmetros necessários.

Nome Tipo Description
tableName cadeia O nome lógico da tabela na qual atualizar a linha.
rowId cadeia A ID da linha a ser atualizada.
row Object Os dados de linha a serem atualizados.

Devoluções

Uma promessa que contém o resultado da operação. Quando a operação é bem-sucedida, ela não retorna nenhum 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);
}

método deleteRow

Exclui uma linha da tabela especificada.

Parâmetros

Defina valores para esses parâmetros necessários.

Nome Tipo Description
tableName cadeia O nome lógico da tabela na qual excluir a linha.
rowId cadeia A ID da linha a ser excluída.

Devoluções

Uma promessa que contém o resultado da operação. Quando a operação é bem-sucedida, ela não retorna nenhum valor.

Example

let rowId = "5531d753-95af-e711-a94e-000d3a11e605";
try {
  await dataApi.deleteRow("account", rowId);
}
catch (error) {
  console.log(error.message);
}

método retrieveRow

Recupera uma linha da tabela especificada usando as opções especificadas.

Parâmetros

Defina valores para esses parâmetros necessários.

Nome Tipo Description
tableName string O nome lógico da tabela a ser recuperada
options RetrieveRowOptions Opções para recuperar a linha

RetrieveRowOptions

Nome Tipo Description
id string A ID (Guid) da linha a ser recuperada
select string[] (Recomendado) Matriz de nomes de coluna a serem recuperados. Se omitido, todas as colunas serão retornadas.

Devoluções

Uma promessa que contém o resultado da operação. Quando a operação é bem-sucedida, um objeto que contém os dados do registro é retornado, 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'],
});

método queryTable

Consulta uma tabela usando as opções especificadas.

Parâmetros

Defina valores para esses parâmetros necessários.

Nome Tipo Description
tableName string O nome lógico da tabela a ser consultada
query QueryTableOptions Opções para consultar a tabela

QueryTableOptions

Nome Tipo Description
select string[] (Recomendado) Matriz de nomes de coluna a serem recuperados.
filter string (Opcional) Expressão de filtro OData (por exemplo, statecode eq 0).
orderBy string (Opcional) Expressão OData orderby (por exemplo, name asc, createdon desc).
pageSize number (Opcional) Número máximo de linhas a serem retornadas por página.

Devoluções

Uma promessa que contém o resultado da operação. Quando a operação for bem-sucedida, a promessa retornará um objeto que contém uma tabela de dados com os resultados com estas propriedades:

Nome Tipo Description
rows Object[] Matriz de dados de linha
hasMoreRows boolean Indica se há mais linhas disponíveis
loadMoreRows function Função para carregar a próxima 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`);
}

Observações

Observação

Para obter melhor desempenho, sempre limite o número de colunas retornadas usando a propriedade QueryTableOptionsselect .

método getChoices

Recupera as opções para o nome da coluna de escolha especificado.

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 que contém o resultado da operação. Quando a operação é bem-sucedida, ela retorna uma matriz das opções de escolha. Cada opção tem estas propriedades:

Nome Tipo Description
label cadeia O valor do rótulo localizado 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');