Функции

Функции представляют собой операции, которые могут выполняться в контексте. Каждая функция имеет входное и выходное значение. Оба значения по сути являются Таблицами данных. Каждая из этих Таблиц данных может включать в себя несколько строк и полей и даже иметь вложенные Таблицы данных внутри ячеек, поэтому количество возможных параметров входа и вывода функции практически не ограничено.

Определение функции

Каждая функция определяется при помощи Определения функции. Определение содержит несколько опций:

  • Имя функции. Имя является уникальным в контексте, в котором определена функция. Представляет собой строку, которая может содержать только английские буквы, цифры и символ нижнего подчеркивания ("_").

  • Входной формат. Формат Таблицы данных, используемый для определения значения входных параметров функции.

  • Выходной формат. Формат таблицы данных, используемый для определения значения выходных параметров функции.

  • Описание. Удобное для восприятия описание функции.

  • Помощь. Подробное описание функции (опционально).

  • Права доступа. Уровень прав, необходимый для вызова функции.

  • Группа. Показывает, что функции принадлежащие к группе функций. Группа помогает объединять похожие функции во время выполнения различных операций.

Примеры

Контекст Пользователи имеет функцию под названием list ("Список пользователей"), которая возвращает список всех Учетных записей на сервере, доступных для пользователя, который вызывает функцию.

Контекст Запланированные задачи имеет функцию под названием create ("Запланировать новую задачу"), которая создает новую задачу с определенными параметрами.

Контекст users.admin.devices.dev1 может содержать функция reboot ("Перезагрузить"), которая перезагружает Устройство dev1.

Обратите внимание, что функции не интерактивны сами по себе. Они являются внутренними операциями сервера - их выполнение происходит "за кулисами". Чтобы предоставить параметры входа для функции (или посмотреть возвращаемые параметры), используются интерактивные Действия с их UI процедурами.

Реализация функции

Type or paste something here to turn it into an excerpt.Разные функции реализуются по-разному:

  • Некоторые функции ведут себя согласно логике, применяемой в ядре платформы или в плагине

  • Некоторые функции делегируют свою логику внешнему устройству

  • Некоторые функции делегируют свою логику лоу код алгоритму, такому как набор правил

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