Шаги процессов обработки
Работа с банком
Данный раздел содержит описание следующих шагов:
Запись объекта.
Запись объектов.
Поиск.
Удаление.
Получение объекта и шаги из папки Источники.
Получение объектов.
Запрос, Запрос значений, Запрос объектов.
Запись объекта
Шаг предназначен для записи выбранного объекта в банк данных. Успешная запись объекта гарантирована только в том случае, если записываемый объект является типом данных принадлежащим к банку данных.
Если указать простую переменную для записи, при применении схемы система вернет ошибку. Если указать тип данных, не принадлежащих к банку данных, то при выполнении шага система вернет ошибку с сообщением о том, что тип данных не принадлежит ни одному банку.
Параметры шага настраиваются на следующих вкладках:
Основные
Локальные переменные
После выполнения
Для записи объекта:
В поле Объект указывается переменная типа данных, являющегося сохраняемым (объект банка данных).
В поле Время ожидания указывается время ожидания ответа от банка данных в мс.
В поле Комментарий указывается комментарий к шагу.
Флажок Проверять версию устанавливается для сравнения версий при совместной работе нескольких пользователей с одним объектом и предотвращения перезаписи данных при одновременном внесении изменений.
Если запись в банк данных произведена успешно и ответ от банка получен, можно получить ссылку (Guid записи, сделанной в банке), выполнив маппинг из переменной EntityID на вкладке После выполнения.
Из данного шага, как и из некоторых других, есть 3 логических выхода:
Выход +: если запись прошла успешно и за указанный во времени ожидания период от банка получен идентификатор объекта.
Выход - : если за указанный период не получен идентификатор объекта.
Выход ↓: не зависимо от результатов записи (параллельное выполнение).
Запись объектов
Шаг предназначен для записи массива объектов. В поле Объекты указывается перечень объектов для записи.
В поле Объект указывается переменная типа данных, являющегося сохраняемым (объект банка данных).
В поле Время ожидания указывается время ожидания ответа от банка данных в мс.
В поле Комментарий указывается комментарий к шагу.
Флажок Проверять версию устанавливается для сравнения версий при совместной работе нескольких пользователей с одним объектом и предотвращения перезаписи данных при одновременном внесении изменений.
Поиск
Шаг предназначен для поиска в банке данных. Условия поиска записей задаются на вклакде Основные:
Тип данных: в меню ... доступен выбор типов данных. Необходимо выбрать интересующий Вас тип, хранимый в банке.
Размер страницы: кол-во записей, среди которых будет происходить поиск.
Номер страницы: номер страницы, на которой будет происходить поиск. Например, если всего записей в банке 10, размер страницы = 5 и номер страницы = 0, то поиск будет запущен только по первым 5 записям. Если размер страницы = 15, номер страницы = 1, то поиск гарантировано не даст результата, так как поиск будет запущен на 16-30 записи.
Условие поиска: поле и его значение, по которым будет происходить поиск.
Условия сортировки: по умолчанию происходит сортировка по возрастанию. Есть возможность отсортировать результаты по значениям конкретного поля, для этого укажите путь к нему. По умолчанию происходит сортировка по возрастанию. При необходимости сортировки по убыванию добавьте в конце DESC.
В результате поиска получается массив записей указанного типа данных. Для массива можно выполнить маппинг на вкладке После выполнения.
Удаление
Шаг предназначен для удаления выбранного объекта или массива объектов из банка данных.
В выпадающем меню Объекты необходимо выбрать системную переменную необходимого типа данных с заполненным полем EntityId. Из банка будет удалена запись или массив записей с указанным в переменной EntityId (остальные поля переменной не принимаются во внимание).
Если при удалении передавать объект, то он целиком уходит в банк данных. Достаточно передать только ссылку на объект, так как для удаления не обязательно требуется весь объект.
Для этого при выборе переменной можно выбрать не объект, а переменную типа LinkType или OwnList<LinkType>.
В поле Объект указывается переменная типа данных, являющегося сохраняемым (объект банка данных).
В поле Время ожидания указывается время ожидания ответа от банка данных в мс.
В поле Комментарий указывается комментарий к шагу.
Флажок Проверять версию устанавливается для сравнения версий при совместной работе нескольких пользователей с одним объектом и предотвращения перезаписи данных при одновременном внесении изменений.
Получение объекта и шаги из папки Источники
Шаг предназначен для получения записи из банка по ее EntityId. При настройке необходимо заполнить entityId записи или выбрать переменную, в которой она содержится, а также выбрать тип данных искомой записи. В результате получим запись указанного типа.
Для использования результата получения в схеме необходимо выполнить маппинг на вкладке После выполнения.
В поле Описание указывается описание шага.
В поле Комментарий указывается комментарий к шагу.
В поле Идентификатор указывается тип EntityId объекта, который необходимо получить из банка
данных. - В выпадающем меню Тип данных выбирается тип данных искомого объекта.
Шаги из папки источники используются для получения сообщения от выбранной системы.
При необходимости можно указать обработчик системы, время ожидания и выполнить маппинг полученного от системы сообщения в какую-либо переменную в разделе После выполнения.
Получение объектов
В поле Описание указывается описание шага.
В поле Комментарий указывается комментарий к шагу.
В поле Идентификатор указывается тип EntityId объекта, который необходимо получить из банка
данных. - В выпадающем меню Тип данных выбирается тип данных искомого объекта.
Настройка шага аналогична настройке шага Получить объект. Разница только в том, что на входе задается массив идентификаторов объектов. В результате получаем массив записей указанного типа данных.
Запрос, Запрос значений, Запрос объектов
В поле Описание указывается описание шага.
В поле Комментарий указывается комментарий к шагу.
В выпадающем меню Тип данных выбирается тип данных искомого объекта.
Текст запроса: запрос получения информации из банка данных.
Шаги предназначены для получения информации из банка данных.
Для настройки шага нужно указать тип данных, являющийся объектом банка данных, и заполнить поле Текст запроса. Результатом успешного выполнения запроса является ответ банка. Ответ находится в переменной Результаты и Количество на вкладке После выполнения.
Результат выполнения запроса пользователь может получить путем выполнения маппинга переменной Результаты в переменную бизнес-процесса.
Работа с внешними системами
Данный раздел содержит описание следующих шагов: - Отправка и получатели. - Отправка получателям. - Регистрация сообщения.
Отправка и получатели
Шаг Отправка предназначен для передачи выбранной переменной в модуль или систему. Сообщение: передаваемое сообщение. Заполняем фиксированным выражением в «» или через … выбираем переменную для отправки. Обработчик: выбираем обработчик, который необходимо применить при отправке.
Получатели:
Модуль: в поле ниже вводим guid модуля/системы, или переменную, содержащую их guid.
Папка: в поле ниже вводим guid папки с модулями/системами, или переменную, содержащую guid папки.
Запрос: в поле ниже вводим запрос, указывающий на систему/модуль. Например, name:ФайловыйАдаптер1.
Ожидание и время ожидания: необходимо ли ждать ответа об успешной доставке от адресата, период для ожидания ответа о доставке.
Аналогично этому шагу настраивается выполнение шагов из папки Получатели. В них уже заполнены и скрыты поля, связанные с идентификацией получателя.
Отправка получателям
Используется точно также как и шаг Отправка, но на выходе массив получателей. Есть возможность исключения из рассылки инициатора.
При выполнении шага, если установлен параметр Исключить инициатора, и при этом выбранная система и есть источник, система генерирует сообщение Шаг [Отправка подписчику] не выполнился по причине отсутствия получателей. Инициатор сообщения был удален из получателей.
Регистрация сообщения
Используется для регистрации нового сообщения. Зарегистрированное сообщение будет передано в Определение функции.
Запуск алгоритмов и процессов
Запуск процесса и шаги из папки Процессы
Процесс - указание EntityId процесса.
Шаг предназначен для запуска уже существующего бизнес-процесса . Настройка шага заключается в указании entityId Запускаемого БП. После заполнения entityId БП на вкладке Основные начинают отображаться переменные выбранного БП.
Доступен маппинг полей перетаскиванием блоков из левого столбца в правый. В любом шаге есть возможность передать в маппинге значение без использования переменной-источника.
Для этого перетащите выделенный на скриншоте квадрат в необходимую переменную или поле, двойным щелчком откройте появившийся блок и заполните значение.
Аналогично этому шагу настраивается выполнение шагов из папки Процессы. В них уже заполнены и поля, связанные с идентификацией процесса.
Установка переменных
Шаг Установка переменных предназначен для присвоения значений переменным бизнес-процесса.
При настройке маппинга в разделе Основные настройки указано имя переменной- источника и есть возможность вручную вписать выражение, которое при применении бизнес-процесса будет передаваться в качестве значения для правой части.
Кроме основных настроек, есть дополнительные, где можно выбрать способ добавления и заполнения элементов итогового массива.
Способ добавления элементов массива (addOption):
Варианты для выбора |
Значение |
Замена (Replace) |
Количество записей в Массиве2 становится равным количеству записей Массива1 |
Добавление (Add) |
Количество записей в Массиве2 увеличивается на количество записей Массива1 |
Способ заполнения элементов массива (параметр fillOption):
Варианты для выбора |
Значение |
С коп ированием(AutoMapping) |
Содержимое из полей Массива1 копируется в соответствующие поля Массива2 |
Без копи рования(ManualMapping) |
Содержимое соответствующих полей Массива2 остается пустым |
По умолчанию выбраны параметры замена с копированием. Пример того, как эти параметры работают: Дано два массива: Массив1 и Массив2:
Результат сработавшего маппинга из Массива1 в Массив2 в зависимости от настроек:
При маппинге немассив-немассив независимо от выбранных параметров маппинг всегда срабатывает по схеме Replace+AutoMapping.
Сервисные шаги
Этот раздел содержит описание следующих шагов:
Лог.
Ожидание.
Условие.
Завершение.
Лог
Шаг предназначен вывода указанной текстовой информации в лог сервиса Процессы.
Шаг содержит:
Вкладку Основные
Вкладку Локальные Переменные
Вкладку После выполнения
Вкладка Основные
Для вывода текстовой информации в лог необходимо заполнить поле Сообщение. Для вывода значения конкретной переменной бизнес-процесса нужна указать наименование переменной в фигурных скобках.
Например, в переменных бизнес-процесса есть простая переменная типа Int со значением 25.
Для вывода значения переменной значение необходимо в поле Сообщение шага ввести текст: {значение}.
Результат выполнения:
Лог доступен в ЦМ в меню Сервисы:> Процессы:> вкладка Журнал. Информация, указанная в поле Сообщение, будет отображена в разделе Пользовательские данные.
Ожидание
При наступлении шага Ожидание система помещает бизнес-процесс в очередь спящих. Очередь спящих бизнес-процессов доступна в ЦМ: Серверы:> Ваш сервер:> вкладка Спящие процессы.
Шаг предусматривает следующие способы просыпания:
Только внешнее событие:
По истечении времени:
в указанное время:
Через переменную с типом DateTime можно указать конкретное время просыпания. Переменная указывается на вкладке Переменные.
Установить значение переменной можно, например, в шаге Алгоритм: Дата = new DateTime(год, месяц, день, часы, минуты, секунды).
Затем в настройках шага Ожидание нужно указать используемую переменную.
Также указать время пробуждения можно с помощью константы в кавычках часы:минуты:секунды. В этом случае установится текущая дата.
После возобновления процесса через интервал или в определенное время в журнале сервера будет запись о возобновлении процесса по истечению таймаута.
На вкладке События модуля обработки процессов будут зарегистрированы события засыпания и повторного получения на обработку.
Условие
Шаг предусматривает два режима:
Режим Переход по условию. Выбирается по умолчанию и соответствует конструкции If.
Режим Переход по соответствию значения. Соответствует конструкции Switch.
Шаг предусматривает несколько вариантов из одного выхода +. Для добавления условия выполнения варианта необходимо выбрать соединяющую линию и нажать на кнопку +.
Система добавит новое условие. Формат условия:
<укажите значение 1> = <укажите значение 2>, где
<укажите значение 1>: переменная бизнес процесса (вкладка Переменные).
=: тип операции.
<укажите значение 2>: значение.
Добавление еще одного условия доступно только после выполнения предыдущего условия.
При наступлении шага Условие система проверяет условия для первого варианта. Если все условия выполняются, бизнес-процесс продолжается, другие варианты не проверяются. Если условия для первого варианта не выполнены, система переходит к следующему варианту.
При выборе режима Переход по соответствию значения указывается переменная Switch; для перехода к нужному шагу указывается значение переменной.
Завершение
Шаг предназначен для выполнения маппинга переменных после выполнения процесса.
Программные шаги
Данный раздел содержит описание следующих шагов:
Алгоритм.
Сервисный алгоритм.
Алгоритм
Шаг предназначен для описания необходимых действий кодом на C#.
Если алгоритм был создан заранее, то можно выбрать его, указав вариант Выбрать алгоритм. После выбора алгоритма в выпадающем меню, ниже начнет отображаться его код без возможности редактирования. Во вкладках Локальные переменные и После выполнения будут отображаться переменные, используемые в выбранном алгоритме.
Если алгоритм не был создан заранее, то можно ввести код вручную, выбрав соответствующий вариант.
В поле Модуль запуска указывается идентификатор модуля, в котором будет запущен алгоритм. Поддерживается запуск алгоритмов в модулях Банк данных и Онтология.
Сервисный алгоритм
Сервисный алгоритм работает со служебными функциями - архивами и логами. Отправка и сама логика остается в процессах. Логика настройки схожа с настройкой запуска вложенного процесса.
На вкладке основные расположены следующие элементы:
Флажок Только на текущем сервере. Если флажок не установлен, необходимо указать Id сервера.
Поле Время ожидания, заполняется в миллисекундах. Если у шага стоят выходы из плюс или минус, то заполнение времени ожидания обязательно.
Id Сервера.
Поле Code: текстовый редактор C#, заполняется вручную.
Вкладки Локальные переменные и После выполнения: как у всех шагов:
Работа с Хранилищем сообщений
В схемах обработки доступны шаги для доступа к хранилищу сообщений аналогично шагам для работы с банком данных. Они находятся в общем списке шагов на закладке Схема в разделе Хранилище сообщений.
Поместить в MS
Параметры:
Описание шага - текст, который будет отображаться в названии шага на схеме. Текст содержит подробную информацию об использовании шага при настройке процесса.
Время ожидания - в мс.
Сообщение - объект для записи в хранилище. Можно выбрать системные переменные или переменные в контексте процесса; это может быть единичное сообщение или массив сообщений.
Шаг налогичен в настройке шагу Запись объекта, который работает с банком данных.
Шаг возвращает результат в локальную переменную МассивИдентификаторовEntityId - массив идентификаторов записей, сделанных в хранилище (массив типа Guid). В случае записи единичного сообщения результатом будет массив c одним элементом.
Переотправить из MS
Параметры:
Описание шага - текст, который будет отображаться в названии шага на схеме. Текст содержит подробную информацию об использовании шага при настройке процесса.
Идентификатор записи с сообщением (entityId) - переменная типа Guid или массив типа Guid.
После обработки - чекбокс, возвращать сообщение на этап, следующий после обработки на этапе, на котором произошла запись сообщения в хранилище (по умолчанию не установлен).
Ищет записи в хранилище сообщений по значениям в колонке entityId в хранилище сообщений. Из найденных записей извлекает сообщения и отправляет снова на обработку.
Процесс для обработки берется из значения свойства ProcessId из тех же сообщений (при записи в хранилище сообщение должно иметь актуальное значение ProcessId, чтобы было возможно в дальнейшем переотправить сообщение при необходимости). Записи в хранилище после переотправки остаются.
Переотправить по запросу из MS
Параметры:
Описание шага - текст, который будет отображаться в названии шага на схеме. Текст содержит подробную информацию об использовании шага при настройке процесса.
После обработки - чекбокс, возвращать сообщение на этап, следующий после обработки на этапе, на котором произошла запись сообщения в хранилище (по умолчанию не установлен).
Поле текстового редактора, где пишется запрос SQL.
Ищет записи в хранилище сообщений по запросу SQL, извлекает сообщения из записей и повторно отправляет их в обработку. Процесс для обработки берется из значения свойства ProcessId из тех же сообщений (при записи в хранилище сообщение должно иметь актуальное значение ProcessId, чтобы было возможно в дальнейшем переотправить сообщение при необходимости). Записи в хранилище после переотправки остаются. Может быть полезен, если имеются более тонкие параметры поиска, для которых недостаточно поиска только по идентификатору.
Существует в MS
Параметры:
Описание шага - текст, который будет отображаться в названии шага на схеме. Текст содержит подробную информацию об использовании шага при настройке процесса.
Идентификатор записи с сообщением (entityId) - переменная типа Guid или массив типа Guid.
Проверяет существует ли в хранилище записи с указанными идентификаторами. Поиск идентификаторов производится по значениям в колонке entityId записей в хранилище сообщений.
Шаг возвращает результат в локальную переменную IsExist (тип bool). Значение true, если записи существуют.
Удалить из MS
Параметры:
Описание шага - текст, который будет отображаться в названии шага на схеме. Текст содержит подробную информацию об использовании шага при настройке процесса.
Идентификатор записи с сообщением (entityId) - переменная типа Guid или массив типа Guid.
Время ожидания - в мс.
Ищет в хранилище записи с указанными идентификаторами и удаляет их. Поиск идентификаторов производится по значениям в колонке entityId записей в хранилище сообщений.
Шаг возвращает результат в локальную переменную IsDeleted (тип bool). Значение true, если записи удалены.
Получить из MS
Параметры:
Описание шага - текст, который будет отображаться в названии шага на схеме. Текст содержит подробную информацию об использовании шага при настройке процесса.
Идентификатор записи с сообщением(entityId) - переменная типа Guid или массив типа Guid.
Получает записи из хранилища по их идентификаторам и извлекает из них сообщения для дальнейшей обработки. Поиск идентификаторов производится по значениям в колоке entityId записей в хранилище сообщений.
Шаг возвращает результат в локальную переменную СписокСообщений (тип массив Сообщений).




