Métodos de tabela Dataverse para páginas generativas

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

Method 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.
updateRow Atualiza uma linha existente na tabela especificada.

createRow método

Cria uma nova linha na tabela especificada.

Parameters

Defina valores para estes parâmetros exigidos.

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

Returns

Uma promessa contendo o resultado da operação. Quando a operação tem sucesso, o resultado é o valor 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);
}

deleteRow método

Apaga uma linha da tabela especificada.

Parameters

Defina valores para estes parâmetros exigidos.

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

Returns

Uma promessa contendo o resultado da operação. Quando a operação tem sucesso, não retorna valor.

Exemplo deleteRow

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.

Parameters

Este parâmetro é obrigatório.

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

Returns

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:

Name Tipo Description
label cadeia (de caracteres) O valor da etiqueta localizada da opção.
value number O valor numérico da opção.

Exemplo 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');

queryTable método

Consulta a uma tabela usando as opções especificadas.

Parameters

Defina valores para estes parâmetros exigidos.

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

QueryTableOptions

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

Returns

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:

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

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

Note

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.

Parameters

Defina valores para estes parâmetros exigidos.

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

RetrieveRowOptions

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

Returns

Uma promessa contendo o resultado da operação. Quando a operação tem sucesso, devolve um objeto com os dados do registo, 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'],
});

updateRow método

Atualiza uma linha existente na tabela especificada.

Parameters

Defina valores para estes parâmetros exigidos.

Name 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 Object Os dados da linha a atualizar.

Returns

Uma promessa contendo o resultado da operação. Quando a operação tem sucesso, não retorna valor.

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