Métodos de tabela do Dataverse para páginas gerativas

Use os métodos de tabela do dataApi objeto para criar, recuperar, atualizar e excluir linhas de tabela do Dataverse e colunas de escolha de consulta.

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

método createRow

Cria uma nova linha na tabela especificada.

Parameters

Defina valores para esses parâmetros necessários.

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

Returns

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.

exemplo createRow

// 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

Exclui uma linha da tabela especificada.

Parameters

Defina valores para esses parâmetros necessários.

Name 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.

Returns

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

exemplo de deleteRow

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

método getChoices

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

Parameters

Este parâmetro é obrigatório.

Name Tipo Description
enumName string O nome da coluna de escolha no formato tablename-columnname

Returns

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:

Name Tipo Description
label cadeia O valor do rótulo localizado da opção.
value número O valor numérico da opção.

Exemplo de getChoices

// 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 uma tabela usando as opções especificadas.

Parameters

Defina valores para esses parâmetros necessários.

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

QueryTableOptions

Name 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.

Returns

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:

Name 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)

Exemplo de queryTable

// 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`);
}

Remarks

Observação

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

método retrieveRow

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

Parameters

Defina valores para esses parâmetros necessários.

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

RetrieveRowOptions

Name 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.

Returns

Uma promessa que contém o resultado da operação. Quando a operação for bem-sucedida, ela retornará um objeto com os dados de registro, incluindo todas as colunas selecionadas.

exemplo de retrieveRow

// 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 updateRow

Atualiza uma linha existente na tabela especificada.

Parameters

Defina valores para esses parâmetros necessários.

Name 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.

Returns

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

Exemplo de updateRow

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);
}