Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Используйте методы dataApi действия и функции объекта для вызова пользовательских API Dataverse , привязанных к странице.
Примечание.
Методы действий и функций являются необязательными в общем dataApi контракте. Некоторые узлы не реализуют их, поэтому убедитесь, что метод существует перед вызовом. Метод, который присутствует, не означает, что операция привязана к странице, включена для среды выполнения или разрешена для текущего пользователя. В отличие от методов соединителя, эти методы никогда не вызывают ожидаемые сбои; они разрешаются с ok: false помощью кода ошибки и вместо него. Обработка результатов ok и error свойств явным образом.
listBoundActions возвращает действия и функции текущей конфигурации среды выполнения позволяет странице при включении этого обнаружения; Это не гарантирует, что текущий пользователь содержит привилегии Dataverse, необходимые для выполнения каждой указанной операции.
| Метод | Description |
|---|---|
executeAction |
Вызывает настраиваемый API Dataverse, привязанный к странице в качестве действия. |
executeFunction |
Вызывает настраиваемый API Dataverse, привязанный к странице в качестве функции. |
listBoundActions |
Перечисляет настраиваемые API Dataverse (действия и функции), привязанные к странице. |
executeActionМетод
Вызывает пользовательский API Dataverse, привязанный к странице в качестве действия (сообщение, которое может изменить данные).
Parameters
Задайте значение для этого обязательного параметра.
| Name | Type | Description |
|---|---|---|
request |
DataverseActionRequest | Действие для вызова и входных параметров. |
DataverseActionRequest
| Name | Type | Description |
|---|---|---|
name |
string |
Уникальное имя пользовательского API, префиксированного издателем, например new_ApproveExpenseReport. |
parameters |
object |
(Необязательно) Входные параметры, необходимые для действия, ключом с помощью уникального имени параметра. |
boundTo |
object |
(Необязательно) Ссылка на целевую строку (entityName и id) для действий, связанных с сущностью. Опущено для глобальных (несвязанных) действий. |
Returns
Обещание, содержащее DataverseActionResult. Этот метод никогда не вызывает ожидаемых сбоев (таких как ошибка разрешения 403, неправильный параметр 400 или операция не привязана или включена) — проверьте ok это свойство.
DataverseActionResult
| Name | Type | Description |
|---|---|---|
ok |
boolean |
Указывает, успешно ли выполнено действие. |
status |
number |
Код состояния HTTP, возвращаемый Dataverse или 0 если состояние HTTP недоступно. Состояние 0 может означать, что среда выполнения отклонила вызов перед отправкой (например, , not_boundinvalid_parameternot_permittednot_enabledwrong_operation_kindили invalid_bound_to), запрос завершился сбоем без HTTP-ответа, или результат неизвестен (indeterminateимеет значение ).true Используйте error.code и indeterminate сообщите об этих случаях отдельно. |
outputs |
object |
Выходные параметры, возвращаемые действием, ключом с помощью уникального имени. Пусто для действий без выходных данных. |
indeterminate |
boolean |
(Необязательно) true Если время ожидания или другой сбой после отправки означает, что сервер может зафиксировать действие; Не повторяйтесь автоматически. |
error |
object |
(Необязательно) Сведения об ошибке, когда ok это falseпроисходит, включая машинный code и удобочитаемый message.
code— это один из not_enabled, not_permittednot_bound, wrong_operation_kindinvalid_parameterindeterminateinvalid_bound_to, или networkкод состояния HTTP действия в виде строки (например, "404"), когда Dataverse вернул ответ на ошибку или "0" когда состояние HTTP не было доступно.
not_permitted означает, что действие или функция не находятся в списке разрешений среды для генеривных страниц. Он не указывает, содержит ли текущий пользователь права dataverse для его запуска. Ошибка привилегий обычно возникает как status: 403 с кодом "403"ошибки; если узел не может определить состояние HTTP, он возвращается status: 0 вместо него. |
Пример executeAction
if (!dataApi.executeAction) {
throw new Error("executeAction isn't available on this page.");
}
const result = await dataApi.executeAction({
name: "new_ApproveExpenseReport",
parameters: { comments: "Approved by manager" },
boundTo: { entityName: "new_expensereport", id: "30dc51e9-947d-47d8-ad48-4fc48fba4a95" },
});
if (result.ok) {
console.log(result.outputs);
}
else {
console.log(result.error?.code);
}
executeFunctionМетод
Вызывает настраиваемый API Dataverse, привязанный к странице в качестве функции (сообщение только для чтения с семантикой GET).
Parameters
Задайте значение для этого обязательного параметра.
| Name | Type | Description |
|---|---|---|
request |
DataverseFunctionRequest | Функция для вызова и входных параметров. |
DataverseFunctionRequest
| Name | Type | Description |
|---|---|---|
name |
string |
Уникальное имя пользовательского API, префиксированного издателем, например new_GetExchangeRate. |
parameters |
object |
(Необязательно) Входные параметры, необходимые функции, ключом с помощью уникального имени параметра. |
boundTo |
object |
(Необязательно) Ссылка на целевую строку (entityName и id) для функций, привязанных к сущностям. Опущено для глобальных (несвязанных) функций. |
Returns
Обещание, содержащее DataverseActionResult. Как и в случае executeActionс этим методом, этот метод никогда не вызывает ожидаемых сбоев— вместо этого проверьте ok свойство.
Пример executeFunction
if (!dataApi.executeFunction) {
throw new Error("executeFunction isn't available on this page.");
}
const result = await dataApi.executeFunction({
name: "new_GetExchangeRate",
parameters: { currencyCode: "EUR" },
});
if (result.ok) {
console.log(result.outputs);
}
listBoundActionsМетод
Перечисляет пользовательские API Dataverse (действия и функции), привязанные к странице создателем.
Parameters
None.
Returns
Обещание, содержащее массив записей DataverseActionInfo. Возвращает пустой массив, если обнаружение не включено для среды выполнения.
DataverseActionInfo
DataverseActionInfo отражает то, что создатель страницы привязан к этому действию или функции, а не динамическим метаданным Dataverse. Не используйте его для создания входных форм или проверки выходных данных — проверьте требования к параметрам и выходные фигуры в соответствии с фактическим определением пользовательского API Dataverse.
| Name | Type | Description |
|---|---|---|
name |
string |
Уникальное (логическое) имя пользовательского API Dataverse. |
displayName |
string |
Отображаемое имя пользовательского API. |
isFunction |
boolean |
true Значение , если настраиваемый API Dataverse является функцией (только для чтения); false Значение , если это действие, в том числе если это значение не было записано во время привязки. |
bindingType |
string |
Тип привязки: "Global" или "Entity". |
boundEntityLogicalName |
string |
(Необязательно) Таблица, к к которым привязано действие или функция, когда bindingType есть "Entity". |
parameters |
Object[] |
Входные параметры, записанные при привязке пользовательского API Dataverse к странице, каждый из которых имеет name значение и declaredKind.
typeвсегда и optional всегда "unknown" — false не отражает фактические метаданные пользовательского API Dataverse. |
outputs |
Object[] |
Всегда пустой массив. Обнаружение привязки не записывает выходные параметры. |
пример listBoundActions
const actions = await dataApi.listBoundActions?.();