Методы таблицы dataverse для создания страниц

Используйте методы dataApi таблицы объекта для создания, извлечения, обновления и удаления строк таблицы Dataverse и столбцов выбора запросов.

Метод Description
createRow Создает новую строку в указанной таблице.
deleteRow Удаляет строку из указанной таблицы.
getChoices Извлекает варианты для указанного имени столбца выбора.
queryTable Запрашивает таблицу с указанными параметрами.
retrieveRow Извлекает строку из указанной таблицы с указанными параметрами.
updateRow Обновляет существующую строку в указанной таблице.

createRowМетод

Создает новую строку в указанной таблице.

Parameters

Задайте значения для этих обязательных параметров.

Name Type Description
tableName string Логическое имя таблицы для создания строки.
row object Создаваемые данные строки.

Returns

Обещание, содержащее результат операции. Когда операция завершится успешно, результатом является значение идентификатора (GUID) созданной строки.

Пример 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Метод

Удаляет строку из указанной таблицы.

Parameters

Задайте значения для этих обязательных параметров.

Name Type Description
tableName string Логическое имя таблицы для удаления строки.
rowId string Идентификатор строки для удаления.

Returns

Обещание, содержащее результат операции. Когда операция завершается успешно, она не возвращает значения.

Пример deleteRow

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

getChoicesМетод

Извлекает варианты для указанного имени столбца выбора.

Parameters

Этот параметр является обязательным.

Name Type Description
enumName string Имя столбца выбора в формате tablename-columnname

Returns

Обещание, содержащее результат операции. После успешного выполнения операции возвращается массив параметров выбора. Каждый параметр имеет следующие свойства:

Name Type Description
label string Локализованное значение метки параметра.
value Номер Числовое значение параметра.

Пример 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Метод

Запрашивает таблицу с помощью указанных параметров.

Parameters

Задайте значения для этих обязательных параметров.

Name Type Description
tableName string Логическое имя таблицы для запроса
query QueryTableOptions Параметры запроса таблицы

QueryTableOptions

Name Type Description
select string[] (Рекомендуется) Массив имен столбцов для извлечения.
filter string (Необязательно) Выражение фильтра OData (например, statecode eq 0).
orderBy string (Необязательно) Выражение порядка OData (например, name asc, createdon desc).
pageSize number (Необязательно) Максимальное количество строк, возвращаемых на страницу.

Returns

Обещание, содержащее результат операции. После успешной операции обещание возвращает объект, содержащий таблицу данных с результатами со следующими свойствами:

Name Type Description
rows Object[] Массив данных строк
hasMoreRows boolean Указывает, есть ли больше строк
loadMoreRows function Функция для загрузки следующей страницы результатов. (Необязательно)

Пример запроса

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

Примечание.

Для оптимальной производительности всегда ограничивается число столбцов, возвращаемых с помощью свойства QueryTableOptionsselect .

retrieveRowМетод

Извлекает строку из указанной таблицы с помощью указанных параметров.

Parameters

Задайте значения для этих обязательных параметров.

Name Type Description
tableName string Логическое имя таблицы, извлекаемой из
options RetrieveRowOptions Параметры получения строки

RetrieveRowOptions

Name Type Description
id string Идентификатор (GUID) строки для получения
select string[] (Рекомендуется) Массив имен столбцов для извлечения. Если опущено, возвращаются все столбцы.

Returns

Обещание, содержащее результат операции. После успешной операции он возвращает объект с данными записи, включая все выбранные столбцы.

Пример извлеченияRow

// 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Метод

Обновляет существующую строку в указанной таблице.

Parameters

Задайте значения для этих обязательных параметров.

Name Type Description
tableName string Логическое имя таблицы для обновления строки.
rowId string Идентификатор строки для обновления.
row Object Обновляемая строка данных.

Returns

Обещание, содержащее результат операции. Когда операция завершается успешно, она не возвращает значения.

Пример 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);
}