Перейти к основному содержимому
Версия: 8.6

Действия

В данном разделе вы найдете информацию о практических подходах к созданию собственных Действий бизнес-процессов.

Действия - это специальные сценарии автоматизации, которые пользователь может создавать самостоятельно с помощью инструментов визуального движка Автоматизации.

Если ранее вы не работали с инструментами визуального движка Автоматизации - рекомендуем ознакомится с ним по ссылке.

Каждое действие имеет следующие параметры:

  • Название и описание - идентифицируют действие и содержат описание его функциональности
  • Состояние - может быть "активно" или "неактивно", в зависимости от того, нужно ли включить данное действие в процесс выполнения
  • Тип - определяет набор доступных действий и их функциональность
  • Иконка - пользователь может выбрать кастомную иконку для действия для лучшей идентификации
  • Дата последних изменений и последнего запуска - служебные данные для отслеживания изменений и информации об использовании

Создание действий через Мастер настройки

Чтобы загрузить необходимые Действия из Мастера настройки, выполните следующие действия:

  1. Через основное меню системы перейдите на вкладку "Автоматизация - Действия" - здесь вы увидите список всех созданных действий в рамках текущего контекста

  2. Нажмите кнопку "+ Создать через Мастер настройки"

  3. Пользователя переадресует на страницу с доступными на текущий момент контент-паками Действий

  4. Выберите нужное вам Действие и ознакомьтесь с его описанием на вкладке "Обзор"

  5. После ознакомления нажмите кнопку "Запустить сценарий"

  6. При необходимости, кастомизируйте создаваемое Действие через открывшуюся форму:

    image

  7. Еще раз нажмите кнопку "Запустить сценарий"

  8. После успешного создания Действия ознакомьтесь с инструкцией по его использованию и дальнейшей настройке

Ручное создание Действий

Чтобы создать Действие для последующего использования в собственных бизнес-процессах, выполните следующие действия:

  1. Через основное меню системы перейдите на вкладку "Автоматизация - Действия" - здесь вы увидите список всех созданных действий в рамках текущего контекста

  2. Нажмите кнопку "+ Создать Действие"

  3. Откроется форма "Создание действия", заполните основные параметры будущего Действия:

    image

    • Владелец - рабочая группа владелец Действия (по умолчанию выбрана РГ, в контексте которой находится текущий пользователь)
    • Тип - определяет набор доступных действий и их функциональность(подробнее про типы действий)
    • Название и описание действия - идентифицируют Действие и содержат описание его функциональности
    • Иконка - пользователь может выбрать собственную иконку для Действия для лучшей идентификации
    • Импорт - поле для вставки экспортированного в формате base64 Действия (например с предпродуктивного контура)
  4. Нажмите кнопку "Создать", чтобы создать Действие

  5. После создания нового Действия вы перейдете на холст сценария автоматизации для его разработки

Разработка сценария Действия

На новом холсте Действия, пользователю предоставляется стартовый блок OnBPNodeRunEvent и возможность настройки входной структуры для определения вида будущего блока действия на холсте бизнес-процесса. Также на холсте Действия присутствует блок, завершающий сценарий - OutputParams. Этот блок используется для передачи выходных параметров сценария другим блокам действий и инструментов в рамках выполняемого бизнес-процесса.

Главной операцией при выполнении какого-либо действия - является выполнение какого-то запроса. Это может быть HTTP(S) запрос к какому-то интерфейсу API, или использование готовых функций для работы с E-mail или Telegram. Может быть, что-то совсем "индивидуальное", написанное при помощи локальных код-функций.

Вторым важном моментом является подготовка данных для выполнения запросов, запуска функций или еще чего-то.

Исходя из вышеизложенного, нужно определить структуру входных параметров разрабатываемого Действия.

Типы полей входных параметров

В Действиях появляется новый вариант структур - StructApi, призванный упростить и улучшить интерфейс для пользователей.

Перечисления (Enum)

С целью обеспечения удобства пользователей бизнес-процессов, внедрен новый тип данных в сценариях автоматизации: Enum (перечисление). В текущей версии доступны локальные перечисления, которые можно создавать внутри конкретного действия, а также системные перечисления, предоставляемые разработчиками. Выбранное перечисление отображается в настройках действия в виде выпадающего списка, что позволяет пользователям легко выбирать одну из доступных констант без необходимости исследования документации.

После добавления перечисления во входящую структуру по умолчанию в настройках действия проставляется первая по счету константа, что дополнительно упрощает процесс настройки.

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

Числовые типы полей (single)

При настройке Действия пользователи смогут указать числовые свойства структур: Integer, Integer64, Double, Byte. Для ввода таких данных в настройках Действия будет предоставлен строковый ввод, что позволит пользователям вводить любые числовые значения, а также выражения, используя переменные.

Boolean(single)

Для повышения гибкости и удобства использования, пользователи блока теперь могут передавать булевые значения на вход Действия как в виде констант, так и в виде переменных.

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

По умолчанию пользователь может задать значение в виде константы, выбрав положение тогла. Положение по умолчанию - False (выключено).

Если пользователю необходимо передать значение в виде переменной, он может активировать опцию Map. После активации вместо тогла появляется классический инпут, в который можно передать булевое значение в виде переменной из слоя данных БП или указать значение вручную. Хотя указание значения вручную не имеет практического смысла, поскольку есть тогл, но это допускается.

Допустимые форматы передачи значения: True/False, true/false, 1/0. Если значение переменной отличается от допустимых форматов, действие завершится с ошибкой.

Dynamic(single)

Пользователи могут задействовать пин Dynamic для передачи значения в формате JSON. Это значение будет представлено в строковом формате, что позволяет указывать JSON как в виде константы, так и в виде переменной, а также комбинированный вариант.

В случае, если будет сформирован невалидный JSON, действие завершится с ошибкой.

Char(single)

Поле для ввода значения Char также будет представлено в строковом формате, что позволяет указывать значение как в виде константы, так и в виде переменной, а также комбинированный вариант.

В случае, если будет передан параметр, превышающий максимально допустимый (1 символ), действие завершится с ошибкой.

Guid (single)

Поле для ввода значения GUID также будет представлено в строковом формате, что позволяет указывать значение как в виде константы, так и в виде переменной.

В случае, если будет передан параметр, отличающийся от формата GUID, действие завершится с ошибкой.

Struct (single)

Пользователи могут указывать в качестве входных параметров структуры, как локальные, созданные внутри Действия, так и глобальные.

При указании структуры в качестве типа поля в настройках Действия она будет представлена в развернутом состоянии для возможности передачи значений для ее свойств.

Если пользователю нужно передать значение для всей структуры целиком, а не заполнять его по свойствам, он может активировать режим Map и передать значение из переменной. В случае, если значение переменной представляет собой невалидный JSON, блок выполнится с ошибкой. В целом, корректная работа возможна только в случае передачи переменной того же типа, что и тип поля. В остальных случаях работоспособность не гарантируется.

Struct:ConnectionStructApi

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

Struct:RecipientsListStructApi

Структура RecipientsListStructApi предназначена, чтобы сделать выбор "Рассылок" более интуитивным и удобным для пользователей бизнес-процессов. При использовании этой структуры возвращается список доступных рассылок для конкретного типа действия, что позволяет пользователям избежать необходимости запоминать идентификаторы. Тип действия для рассылок автоматически наследуется от подключения.

RecipientsListStructApi также поддерживает использование внутренних функций, таких как FilterRecipients (справка). Эта функция принимает на вход массив структур и возвращает список получателей и модель подключения для указанной структуры, что дает возможность эффективно фильтровать получателей для дальнейшего использования.

Настройка входных параметров

Чтобы определить входные параметры нашего Действия, необходимо:

  1. В диспетчере объектов сценария Действия найдите структуру InputStruct и откройте её

    image

  2. В открывшемся инспекторе объекта InputStruct определите входящие параметры блока Действия, используя кнопку "+ Добавить свойство"

    Например, на изображении ниже представлены входные параметры для действия оповещения через E-mail, использую "прямое" Подключение из типа Действия:

    image

    • Подключение
      • Тип: системная структура Struct:ConnectionsStructApi
      • Назначение: Используется для передачи данных о "Подключениях" из настроенных типов действий в настройках Автоматизации. При настройке Действия на холсте Бизнес-процесса, пользователю нужно будет выбрать доступное "Подключение" из выпадающего списка.
    • Получатели_РГ
      • Тип: системная структура Struct:UsersStructApi
      • Назначение: Используется для отображения списка пользователей РГ при настройке блока в бизнес-процессе. Данный параметр позволяет вам выбирать конкретных пользователей из вашей рабочей группы (РГ) при настройке Действия. Это может быть полезно, например, когда вам нужно отправить сообщение определенным людям, но вы не хотите указывать их контакты напрямую.
    • Другие_получатели
      • Тип: Array:String
      • Назначение: Массив значений, содержащий непосредственно адреса пользователей. Это может быть полезно, например, когда вам нужно отправить сообщение внешним адресатам.
    • Тема - тема сообщения
    • Сообщение - тело сообщения
    • MailFormat - способ форматирования сообщения (Plain/HTML)

Использование рассылок РГ

Если вам необходимо задействовать в своих сценариях "Рассылки" из Рабочих групп, тогда вместо параметра Подключения и структуры Struct:ConnectionsStructApi, в качестве входного параметра "Действия" используйте структуру Struct:RecipientsListStructApi и назовите его Рассылка.

При использование данной структуры, в настройках блока "Действия" в БП, в выпадающем списке будут доступны для выбора все имеющиеся "Рассылки" в Рабочей группе. При этои данные об используемом подключении из Типа действий будут запрошены автоматически.

Тело сценария

В качестве примера, разберем сценарий отправки E-mail сообщений.

Основным блоком сценария будет являться функция SendEmailExtended (справка)

image

Для запуская данной функции необходимо обеспечить её входными данными:

  • In - пин передачи управления
  • Scenario - служебные данные сценария из переменной Scenario
  • ConnectionCred - передаются настройки Подключения из Входных параметров сценария
  • Message - при помощи блока MakeStruct формируем тему, тело и получателей писем
  • DefaultCreds - остается "пустым", так как параметры SMTP сервера подтягиваются через пин ConnectionCred

В общем виде, тело сценария "Действия" выглядит следующим образом:

image

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

Активация действий

После внесения изменений в сценарий "Действия", его нужно скомпилировать и активировать соответствующими кнопками в "шапке" сценария.

Использование действия в БП

При добавлении созданного "Действия" на холст "Бизнес-процесса" необходимо его настроить. Для этого дважды кликните по блоку добавленного "Действия" или воспользуйтесь контекстным меню, чтобы перейти в настройки блока.

image

Все перечисленные Входные параметры отображаются как отдельные поля блока "Действия". Теперь можно передавать в них значения. Можно заполнить вручную, или использовать переменные из слоя данных Бизнес-процесса.

На приведенном выше скриншоте мы определяем следующие значения:

  • Подключение - выбрано подключение из типов действий или выбрана Рассылка из РГ
  • Получатели_РГ - выбраны определенные пользователи состоящие в Рабочей группе
  • Другие_получатели - перечислены пользователи, не являющиеся пользователями системы
  • Тема - из стартового блока Signal взято название сигнала 1.Signal
  • Сообщение - из стартового блока Signal взято описание сигнала 1.Description
  • MailFormat - вручную выбран Plain формат

Удаление действия

Внимание

При удалении "Действия" не производится проверка на использование его в каком-либо "Бизнес-процессе". Если такое "Действие" будет удалено "Бизнес-процес" будет завершен с ошибкой.

Для удаления "Действия" воспользуйтесь контекстным меню "Действия", которое хотите удалить.