TrainingMaterials 4 2 Ch4
RunaWFE. Расширенный лабораторный практикум по процессному управлению. Часть 4
Версия 4.2
© 2004-2015, ЗАО "Руна", материалы этого документа распространяются свободно на условиях лицензии GNU FDL. RunaWFE является системой с открытым кодом и распространяется в соответствии с LGPL лицензией (http://www.gnu.org/licenses/lgpl.html).
Введение
Для автоматизации процессного управления предприятием разработан специальный класс компьютерных систем – системы управления бизнес-процессами и административными регламентами (далее СУБПиАР). Основная задача таких систем - раздавать задания исполнителям и контролировать их выполнение. Последовательность заданий определяется схемой бизнес-процесса, которую можно разработать и в дальнейшем быстро модифицировать при помощи среды разработки бизнес-процессов.
В первой части практикума были рассмотрены исполнимые бизнес-процессы и административные регламенты, дано определение исполнимого бизнес-процесса, основанное на четырех перспективах. Также в первой части практикума было дано описание основных элементов систем управления бизнес-процессами и административными регламентами на примере свободного ПО с открытым кодом RunaWFE, показано, как установить систему и приведено вводное занятие, в котором объяснены базовые операции, позволяющие разрабатывать и исполнять бизнес-процессы. Во второй части лабораторного практикума приведено описание трех практических занятий, посвященных изучению трех первых перспектив исполнимого бизнес-процесса:
- перспектива потока управления (control-flow perspective)
- перспектива ресурсов (resource perspective)
- перспектива данных (data perspective)
В третьей части практикума рассмотрена последняя, четвертая перспектива исполнимых бизнес-процессов, объяснена работа с MS Word-ботом, приведено описание самостоятельного занятия.
Первую, вторую и третью части практикума можно найти на сайте проекта RunaWFE в разделе "Документация / Документация для пользователя / Учебные материалы по процессному управлению".
Адрес сайта проекта RunaWFE - http://runawfe.org/rus. Также эти материалы можно найти на ресурсе Intuit.ru по адресу http://www.intuit.ru/studies/courses/2358/658/info .
В настоящей, четвертой части практикума показано межпроцессное взаимодействие, рассмотрены элементы таймеры и обработчики, объяснена работа с MS Excel-ботом.
Система RunaWFE свободно распространяется вместе со своими исходными кодами на условиях открытой лицензии LGPL. Система бесплатная, ее можно свободно установить на любое количество компьютеров без каких-либо ограничений. Скачать дистрибутивы и исходный код ее можно через интернет с портала разработчиков свободного программного обеспечения sourceforge.net по адресу: http://sourceforge.net/projects/runawfe.
Общая информация
Необходимая общая информация по системам управления бизнес-процессами и административными регламентами, основным компонентам системы RunaWFE, краткому описанию функциональности компонентов системы, а также где скачать исходные файлы системы RunaWFE, представлена в первой части лабораторного практикума в соответствующих пунктах.
Практическое занятие "Межпроцессное взаимодействие"
Цель занятия
Целью работы является изучение взаимодействия экземпляров бизнес-процессов при помощи сообщений.
Теоретические сведения
В соответствии с концепцией межпроцессного взаимодействия экземпляр бизнес-процесса может послать сообщение из одного узла схемы бизнес-процесса узлу другого экземпляра бизнес-процесса. Для посылки и получения сообщения используются элементы «Отправить сообщение» и «Получить сообщение»
Узел-отправитель посылает сообщение сразу после прихода в него точки управления, после этого точка управления перемещается в следующий узел, а узел-получатель ожидает сообщения, и точка управления может находиться в этом узле долго.
В сообщении содержится следующая информация:
- кому предназначено сообщение
- передаваемые значения переменных бизнес-процесса
В некоторых случаях одно сообщение может быть обработано несколькими получателями. Адресат сообщения может быть определен следующим образом:
- по названию бизнес-процесса (processDefinitionName)
- по названию узла бизнес-процесса (processNodeName)
- по идентификатору экземпляра бизнес-процесса (processInstanceId)
Для задания этих параметров можно использовать:
- переменные экземпляра бизнес-процесса, например, processDefinitionName=${Переменная1}, где "Переменная1"– это переменная содержащая название процесса
- константное значение, например processNodeName = Процесс1, где Процесс1 это название процесса
- предопределенные значения: по названию текущего определения процесса ( ${currentDefinitionName} ), по названию текущего узла ( ${currentNodeName} ), по номеру текущего экземпляра процесса ( ${currentInstanceId} )
Структура данных сообщения позволяет задавать соответствие между переменными отправителя и получателя
Если сообщение послано по названию бизнес-процесса, а выполняющихся экземпляров этого бизнес-процесса не существует, то сообщение будет ждать появления первого экземпляра этого бизнес-процесса и передаст значения своих параметров первому появившемуся экземпляру в узле «Получить сообщение».
Если, наоборот, существует сразу несколько выполняющихся экземпляров этого бизнес-процесса, то сообщение будет передано сразу всем этим экземплярам.
Порядок выполнения работы
В данном занятии рассматриваются бизнес-процессы, иллюстрирующие механизм межпроцессного взаимодействия: Бизнес-процесс "Пример 7-1" отправляет сообщение в бизнес-процесс "Пример 7-2". Используется маршрутизация “по названию процесса”. В качестве данных, пересылаемых в сообщении, используется введённый пользователем текст, а также id экземпляра бизнес-процесса "Пример 7-1"
Бизнес-процесс "Пример 7-2" получает данные, пользователь изменяет полученное значение текстовой переменной, и высылает сообщение обратно в бизнес-процесс "Пример 7-1", при этом используется маршрутизация “по ID процесса”.
Откройте среду разработки системы RunaWFE
- Создайте новый проект - Занятие 7
- Создайте новый процесс:
- Введите название процесса – "Пример 7-1"
- Добавьте элементы на схему бизнес-процесса в соответствии с рисунком 3.1
- Создайте бизнес-процесс "Пример 7-2" в соответствии с рисунком 3.2.
- Создайте роли В разрабатываемых процессах используются следующие Роли:
- "сотрудник", используется в процессе "Пример 7-1", будет инициализирована пользователем, запустившим процесс.
- "отдел кадров", используется в процессе "Пример 7-2", будет инициализирована пользователем, запустившим процесс.
- Создайте переменные В процессе "Пример 7-1" используются следующие переменные:
- "отправленное сообщение", это переменная формата "Текст", которую вводит пользователь в узле “Ввести сообщение для отправки” и отправляет в экземпляры процесса "Пример 7-2"
- "id отправителя", это переменная формата "Строка", содержит id экземпляра процесса "Пример 7-1", также отправляется в сообщении. Должна быть проинициализирована в задаче сценария "Получение id экземпляра процесса" с помощью обработчика "Выполнить формулу"
- "полученное сообщение", это переменная формата "Текст", которую процесс получает из присланного сообщения, обрабатывает и отправляет обратно в экземпляр "Пример 7-2"
- "id отправителя", это переменная формата "Строка", содержит id экземпляра процесса "Пример 7-1". Принимает значение из сообщения, и необходима для определения получателя, т.е. используется в свойствах маршрутизации.
- Выберите класс обработчика в задачи сценария "Получение id экземпляра процесса" В процессе "Пример 7-1" необходимо использовать обработчик "Выполнить формулу", в котором определить id данного экземпляра и проинициализировать полученным значением переменную "id отправителя". Для этого выделите на схеме элемент Задача сценария, перейдите в его свойства и кликните в поле “Класс обработчика” (См. Рис. 3.8)
- Создайте графические формы Кликните на узел «Ввести сообщение для отправки» графа процесса "Пример 7-1" правой кнопкой мыши и выберите команду «Форма» > «Создать форму» (левой кнопкой мыши) - См. Рис. 3.10
- Настройте межпроцессное взаимодействие Настройка отправителя сообщения в процессе "Пример 7-1" Для настройки отправки кликните правой клавишей мыши на элементе “отправить сообщение”, и выберите пункт "Конфигурация" (См. Рис. 3.14)
- значение переменной "id отправителя" из сообщения в переменную "id отправителя" экземпляра процесса "Пример 7-2"
- значение переменной "отправленное сообщение" в переменную "полученное сообщение"
- Загрузите бизнес-процесс на RunaWFE сервер Загрузите разработанные бизнес-процессы в систему, используя пункт меню “Файл/Экспорт процесса” (Подробнее см. 2-я Часть, Практическое занятие "Изучение перспективы потока управления", Порядок выполнения работы, Пункт 11-14). Войдите в web-интерфейс системы RunaWFE под пользователем Administrator. После загрузки необходимо настроить обладателей полномочий на данные процессы. Для "Пример 7-1" нужно добавить в обладатели полномочий группу "Сотрудники" с правами на чтение, чтение экземпляра и запуск, а для "Пример 7-2" группу "Отдел кадров", также с правами на чтение, чтение экземпляра и запуск (Подробнее см. 1-я Часть, Вводное занятие, Порядок выполнения работы, Пункт 28-31).
- Запустите бизнес-процессы и доведите экземпляры процессов до завершения. Описание порядка выполнения бизнес-процесса взаимодействия. Пользователь запускает экземпляр процесса "Пример 7-1", срабатывает обработчик, в котором определяется id данного экземпляра процесса. Пользователь вводит текст отправляемого сообщения в переменную "отправленное сообщение". Затем происходит отправка сообщения в экземпляр процесса "Пример 7-2", передаются значения переменных "отправленное сообщение" и "id отправителя". Процесс "Пример 7-1" переходит в следующий узел, ожидая сообщения с результатом обработки. Пользователь, принадлежащий группе "Отдел кадров", запускает экземпляр процесса "Пример 7-2", сразу после запуска экземпляра бизнес-процесса точка управления останавливается в узле “Получить сообщение”, ожидая данные. После получения сообщения, происходит загрузка значений в переменные "полученное сообщение" и "id отправителя". Далее точка управления переходит в узел “Редактировать полученное сообщение”, где пользователь редактирует значение переменной "полученное сообщение". Затем происходит отправка отредактированного значения обратно в экземпляр "Пример 7-1", при этом используется полученное ранее значение id этого экземпляра. Экземпляр бизнес-процесса "Пример 7-1" получает из сообщения значение "отправленное сообщение" и точка управления переходит в узел “Ознакомиться с полученным сообщением” Выполнение бизнес-процессов по шагам. Для запуска процесса "Пример 7-1" войдите в систему под пользователем из группы "Сотрудники", например "Сверчков" и кликните на имя процесса в общем списке бизнес-процессов (См. Рис. 3.23):
- Роль "сотрудники", используется в процессе "Пример 7-3", будет инициализирована пользователем, запустившим процесс.
- Роль "отдел кадров", используется в процессе "Пример 7-4", будет инициализирована пользователем из группы "Отдел кадров", запустившим процесс.
- Личинкин
- Гусеницын
- Откройте среду разработки.
- Создайте новый проект - Занятие 8
- Создайте новый бизнес-процесс: Название процесса – "Пример 8-1"
- Добавьте элементы на схему бизнес-процесса в соответствии с рисунком 4.1
- наведите курсор мыши на таймер присоединенный к узлу, появится значок "стрелка", захватите ее и перетяните в необходимый узел для создания перехода (см. рис. 4.2)
- выберите в палитре элемент "Переход", кликните на таймер в узле, переведите курсор на необходимый элемент, кликните левой клавишей мыши еще раз для создания перехода между элементами (см. 291б)
- Создайте роли В разрабатываемом процессе используются следующие Роли:
- Студент
- Преподаватель
- Свяжите с начальным узлом бизнес-процесса роль "Студент", с остальными узлами свяжите роли в соответствии с рисунком 4.1
- Создайте переменные В процессе "Пример 8-1" используются следующие переменные:
- Вопросы - переменная формата Список(Строк), вводится Преподавателем в узле "Ввести данные тестирования"
- Ответы - переменная формата Список(Строк), вводится Студентом в узле "Выполнить тестирование"
- Дата и время окончания тестирования - переменная формата Дата со временем, определяется в обработчике "Выполнить формулу" задачи сценария
- Длительность тестирования - переменная формата Целое число, вводится Преподавателем в узле "Ввести данные тестирования"
- Выберите класс обработчика в задачи сценария "Определение даты и времени окончания тестирования" Выделите на схеме элемент "Задача сценария", перейдите в его свойства и кликните в поле “Класс обработчика”, после чего выберите из списка обработчик "Выполнить формулу". Добавьте конфигурацию следующего вида: 'Дата и время окончания тестирования'=current_date_time()+'Длительность тестирования'; Здесь используется функция current_date_time(), определяющая текущую дату и время, к результату данной функции прибавляется значение переменной "Длительность тестирования" (задано в минутах). Полученное значение сохраняется в переменной "Дата и время окончания тестирования"
- Настройте таймер в узле "Выполнить тестирование" Выделите таймер, перейдите в его свойства, выберите поле "Задержка" (см. Рис. 4.7)
- Создайте графические формы Замечание. По умолчанию в качестве редактора форм используется CKEditor4, но в случае если у вас в системе установлен браузер Microsoft Internet Explorer устаревшей версии - 6 (IE6) или 7 (IE7), то с формами могут возникнуть проблемы. Поэтому следует переключить редактор на FCKEditor2 (как переключить редактор см. в Практическое занятие "Изучение перспективы данных", Порядок выполнения работы, Пункт 6, Рис. 4.9, 4.10) Кликните на узел «Ввести данные тестирования» графа процесса "Пример 8-1" правой кнопкой мыши и выберите команду «Форма» > «Создать форму» (левой кнопкой мыши) (Подробнее см. Практическое занятие "Изучение перспективы данных", Порядок выполнения работы, Пункт 6, Замечание, Рис. 4.11-4.12). На данной форме Преподаватель задает длительность тестирования (в минутах) и вводит список вопросов. Поместите на форму два экземпляра компонента форм - "Ввод переменной" для ввода значений в переменные "Длительность тестирования" и "Вопросы" соответственно (см. Рис. 4.12) (Подробнее см. Практическое занятие "Изучение перспективы операций", Порядок выполнения работы, Пункт 14, Рис. 2.17, 2.18).
- Загрузите бизнес-процесс на RunaWFE сервер Загрузите разработанный бизнес-процесс на сервер, используя пункт меню “Файл/Экспорт процесса” (Подробнее см. 2-я Часть, Практическое занятие "Изучение перспективы потока управления", Порядок выполнения работы, Пункт 11-14). Войдите в web-интерфейс RunaWFE под пользователем Administrator. После загрузки необходимо настроить обладателей полномочий на данный процесс. Для "Пример 8-1" нужно добавить в обладатели полномочий группу "Группа МИБ-1" с правами на чтение, чтение экземпляра и запуск, а также группу "Преподаватели" с правами на чтение и чтение экземпляра (Подробнее см. 1-я Часть, Вводное занятие, Порядок выполнения работы, Пункт 28-31).
- Запустите бизнес-процесс "Пример 8-1" и доведите экземпляр процесса до завершения. Описание порядка выполнения бизнес-процесса взаимодействия. Студент из группы "Группа МИБ-1" запускает процесс "Пример 8-1", по отношению "Преподаватель" выбирается соответствующий Преподаватель данного Студента. Преподаватель вводит список вопросов для тестирования, а также задает длительность тестирования в минутах. Срабатывает обработчик который определяет Дату и время окончания тестирования на основе текущей даты/времени и выбранной длительности тестирования. Студент получает задание "Выполнить тестирование", где отвечает на тестовые вопросы. Создается таймер. Если Студент не выполнит задание до "Дата и время окончания тестирования" + 1 минута, то таймер сработает, и задание "Выполнить тестирование" будет просрочено. Тестирование будет закрыто, Преподаватель и Студент получат соответствующие уведомления. В случае же если студент успеет выполнить задание за отведенное время, Преподаватель получит уведомление со списком введенных Студентом ответов на тестовые вопросы. При выполнении процесса необходимо проверить оба варианта сценария выполнения. Выполнение бизнес-процессов по шагам. Для запуска процесса "Пример 8-1" войдите в систему под пользователем из группы "Группа МИБ-1", например "Мухин" и кликните на имя процесса в общем списке бизнес-процессов (См. Рис. 4.19)
- обязательное поле
- диапазон даты относительно текущей (см. рис 4.29)
- студент успевает выполнить работу за отведенное время
- студент не успевает выполнить работу за отведенное время
- Запустите среду разработки
- Создайте новый проект - "Занятие 9"
- Создайте новый бизнес-процесс "Пример 9-1". (Подробнее см. Практическое занятие "Изучение перспективы потока управления", Порядок выполнения работы, Пункт 17-18, Рис. 5.15-5.16).
- Добавьте элементы на схему бизнес-процесса в соответствии с рисунком 5.1
- Создайте роли В данном процессе используются следующие Роли:
- "Преподаватель" - будет инициализирована пользователем, запустившим процесс
- "Excel бот" - будет инициализирована ботом для работы с MS Excel (настройка инициализации будет рассмотрена позже)
- Создайте переменные для бизнес-процесса "Пример 9-1" согласно рисунку 5.2
- Создайте формы Замечание. По умолчанию в качестве редактора форм используется CKEditor4, но в случае если у вас в системе установлен браузер Microsoft Internet Explorer устаревшей версии - 6 (IE6) или 7 (IE7), то с формами могут возникнуть проблемы. Поэтому следует переключить редактор на FCKEditor2. (как переключить редактор см. в Практическое занятие "Изучение перспективы данных", Порядок выполнения работы, Пункт 6, Рис. 4.9, 4.10 ) Создайте стартовую форму "Ввод данных" вида представленного на рисунке 5.4 (Подробнее см. Практическое занятие "Изучение перспективы данных", Порядок выполнения работы, Пункт 6, Замечание, Рис. 4.11-4.12).
- "специальность" - обязательное поле
- "перечень дисциплин" - обязательное поле
- "номер курса" - обязательное поле, а также диапазон числа (от 1 до 6)
- Создайте обработчик Выберите класс обработчика "Выполнить формулу" в задаче сценария "дата создания документа" (см. Практическое занятие "Изучение перспективы данных", Порядок выполнения работы, Пункт 8, Замечание, Рис. 4.33, 4.34) В качестве конфигурации используйте: 'дата создания документа'=current_date(); Таким образом с помощью функции current_date будет определена текущая дата и сохранена в переменную "дата создания документа"
- Создайте Excel бот с задачей "Записать данные в файл" Запустите симулятор Вернитесь в среду разработки и перейдите на вкладку "Боты" и сделайте импорт бот станции с сервера (Подробнее см. Практическое занятие "Работа с Word-ботом", Порядок выполнения работы, Пункт 18, Рис. 3.32 - 3.34). Создайте нового бота с именем "Excel бот" (Подробнее см. Практическое занятие "Работа с Word-ботом", Порядок выполнения работы, Пункт 18, Рис. 3.35 - 3.36). Создайте задачу с формальными параметрами "Записать данные в файл" (Подробнее см. Практическое занятие "Работа с Word-ботом", Порядок выполнения работы, Пункт 18, Рис. 3.37 - 3.38).
- "название" - тип Строка,Текст
- "номер" - тип Целое число
- "дата" - тип Дата,Дата со временем,Время
- "Список" - тип Список
- "Выходной файл" - тип Файл
- входной файл - задан с помощью пути C:\xls_tmp.xlsx, это файл шаблона на основе которого будет создан Excel файл с именем file.xlsx
- выходной файл - задан с помощью параметра "выходной файл", имя - file.xlsx, это файл Excel который будет создан на основе шаблона и в который будут записаны данные взятые из входных параметров
- отдельная ячейка (страница 1, столбец 2, строка 1) - по данному адресу в таблицe Excel будет записано значение из параметра "название"
- отдельная ячейка (страница 1, столбец 2, строка 2) - по данному адресу в таблицe Excel будет записано значение из параметра "номер"
- отдельная ячейка (страница 1, столбец 2, строка 3) - по данному адресу в таблицe Excel будет записано значение из параметра "дата"
- массив по вертикали (страница 1, столбец 1, строка 6) - начиная с данного адреса в таблицe Excel будут записаны значения из параметра "список", при чем будут располагаться вертикально
- Создайте файл шаблона Далее необходимо создать файл шаблона C:\xls_tmp.xlsx, следующего вида:
- Добавьте инициализатор для роли Excel бот Вернитесь в бизнес-процесс "Пример 9-1", перейдите на вкладку роли, выделите роль "Excel бот" и нажмите "Изменить" В появившейся форме перейдите вкладку Бот, где из выпадающего списка выберите "Excel бот" (см. Рис. 5.16)
- Выполните привязку бота к задаче Перейдите на граф процесса, щелкните правой клавишей мыши на узле "Сохранить данные в Excel файл", выберите пункт "Задача бота > привязать" (см. Рис. 5.17)
- Экспортируйте процесс на сервер (Подробнее см. 2-я Часть, Практическое занятие "Изучение перспективы потока управления", Порядок выполнения работы, Пункт 11-14).
- Экспортируйте Excel бот с задачей на сервер (Подробнее см. 3-я Часть, Практическое занятие "Работа с Word-ботом", Порядок выполнения работы, Пункт 20, рис. 3.54 - 3.57).
- Войдите в систему под пользователем Administrator, пароль –wf
- Дайте полномочия группе "Преподаватели" на запуск, чтение и чтение экземпляра процесса "Пример 9-1"
- Запустите периодическую активацию ботов (Подробнее см. 3-я Часть, Практическое занятие "Изучение перспективы операций", Порядок выполнения работы, Пункт 12, рис. 2.11).
- Войдите в систему под пользователем, входящим в группу "Преподаватели", например "Стрекозин", пароль - 123
- Запустите экземпляр бизнес-процесса "Пример 9-1" и доведите его до завершения. Введите данные на стартовой форме, например:
- Завершите процесс
- Запустите среду разработки.
- Создайте новый бизнес-процесс "Пример 9-2".
- Добавьте элементы на схему бизнес-процесса в соответствии с рисунком 5.25
- Создайте роль Студент Выберите данную роль для стартового узла и действий.
- Создайте переменные В данном процессе используются те же переменные что и в "Пример 9-1", за исключением переменной "полученный excel файл". Откройте процесс "Пример 9-1", перейдите на вкладку переменные, выделите переменные (за исключением полученный excel файл") и нажмите кнопку "Копировать" (см. Рис. 5.26).
- Создайте формы Создайте форму "Выполнить задание перед чтением из Excel документа" вида представленного на рисунке 5.28
- Создайте обработчик Выберите класс обработчика "Excel: Прочесть данные из файла" в задаче сценария "Прочесть данные из файла"
- Сохраните бизнес-процесс
- Экспортируйте бизнес-процесс на сервер
- Войдите в систему под пользователем Administrator, пароль –wf
- Дайте права "Чтение", "Запуск", "Чтение экземпляра" на процесс "Пример 9-2" для группы "Группа МИБ-1"
- Войдите в систему под пользователем входящим в группу "Группа МИБ-1", например Гусеницын
- Запустите экземпляр бизнес-процесса "Пример 9-2" и доведите его до завершения. В задании "Просмотреть данные считанные из Excel документа" будут выведены считанные из файла C:\file.xlsx в переменные процесса данные (см. рис. 5.32)
- Студент - инициализируется пользователем запустившим процесс
- Excel бот - используется инициализатор роли ботом "Excel бот"
- специальность - Строка
- номер курса - Целое число
- перечень дисциплин - Список(Строка)
- дата создания документа - Дата
- Где задается имя Excel-файла, в который обработчик будет записывать данные?
- Где задается путь к Excel-файлу, в который обработчик будет записывать данные?
- Где задается имя и путь к Excel-файлу, из которого обработчик будет читать данные?
- Как создается задача бота с формальными параметрами
- Документация Runa WFE [официальный сайт проекта]. URL: http://runawfe.ru/rus/Документация
В бизнес-процессе используется следующие элементы: “Начало”, “Окончание”, “Действие”, “Задача сценария”, узел “Отправить сообщение” и “Получить сообщение”. Для изменения названий по-умолчанию, выделите элемент, кликнув на него, перейдите в свойства, введите новое значение в поле Название.
Для элемента "Задача сценария" используйте опцию компактный вид (см. пункт 1 раздела "Практическое занятие "Работа с Word-ботом". Порядок выполнения работы.",Замечание. рис. 3.2)
Здесь также как и в процессе "Пример 7-1" используются элементы отправки и принятия сообщений.
В появившейся форме выберите из списка обработчик "Выполнить формулу" и нажмите ОК. Вернитесь в свойства задачи сценария, нажмите на поле "Конфигурация".
Добавьте конфигурацию следующего вида:
'id отправителя'=get_process_id();
Здесь используется функция get_process_id, которая возвращает номер текущего экземпляра процесса
Замечание. Для вставки в конфигурацию переменных воспользуйтесь пунктом "Вставить переменную", соответственно для вставки функции используйте "Вставить функцию"
Замечание. По умолчанию в качестве редактора форм используется CKEditor4, но в случае если у вас в системе установлен браузер Microsoft Internet Explorer устаревшей версии - 6 (IE6) или 7 (IE7), то с формами могут возникнуть проблемы. Поэтому следует переключить редактор на FCKEditor2 (как переключить редактор см. в Практическое занятие "Изучение перспективы данных", Порядок выполнения работы, Пункт 6, Рис. 4.9, 4.10 )
В появившимся выпадающем списке выберите тип формы «Произвольная форма».
Поместите на форму компонент "Ввод переменной" для ввода значения переменной "отправленное сообщение" (См. Рис. 3.11)
В процессе "Пример 7-2" также создайте форму в узле “Редактировать полученное сообщение”, процесс создания аналогичен описанному примеру. На форме необходимо расположить компонент "Ввод переменной" для редактирования значения переменной "полученное сообщение" (См. Рис. 3.12)
Создайте форму для отображения значения переменной после взаимодействия между процессами. Кликните на узел «Ознакомиться с полученным сообщением» графа процесса "Пример 7-1" правой кнопкой мыши и выберите команду «Форма» > «Создать форму» (левой кнопкой мыши), после чего расположите на форме компонент “Отобразить переменную” для "отправленное сообщение", в поле "Форма отображения" выберите "Как неактивный компонент ввода" (См. Рис. 3.13)
В свойствах маршрутизации укажите следующие настройки (См. Рис. 3.15)
В области свойств маршрутизации нажмите на стрелку расположенную на кнопке "Добавить", выберите из выпадающего списка пункт "По названию процесса" для установки маршрутизации по названию бизнес-процесса.
В появившейся форме введите в поле "Значение" - Пример 7-2, поле "Название" оставьте неизменным. Нажмите "ОК"
Для добавления переменных используйте кнопку "Добавить", расположенную в области "Переменные в сообщении". В появившейся форме выберите переменную процесса, а также задайте название данной переменной.
Таким образом в соответствии с параметрами представленными на рисунке 3.15, будут отправлены значения переменных "id отправителя" и "отправленное сообщение" экземпляра бизнес-процесса "Пример 7-1".
Настройка получателя в процессе "Пример 7-2".
Кликните правой клавишей мыши на элементе “получить сообщение”, и выберите "Конфигурация" (См. Рис. 3.16)
В свойствах маршрутизации укажите следующие настройки (См. Рис. 3.17)
Используйте маршрутизацию по названию текущего определения процесса (currentDefinitionName), для этого в области свойств маршрутизации нажмите на стрелку расположенную на кнопке "Добавить", выберите из выпадающего списка пункт "По названию процесса". Добавьте переменные в сообщении в соответствии с рисунком 3.17.
Таким образом, будут получены:
Настройка отправителя в процессе "Пример 7-2".
После получения и обработки сообщения, процесс "Пример 7-2" возвращает обработанные данные в экземпляр процесса "Пример 7-1", для этого используются следующие настройки (См. Рис. 3.18-3.22):
Добавьте свойство маршрутизации "по ID процесса", для этого нажмите на выпадающий список расположенный на кнопке "Добавить" в области свойств маршрутизации и выберите соответствующий пункт. В открывшемся окне введите параметры представленные на рисунке 3.19:
Данная настройка задает выбор получателя по id экземпляра бизнес-процесса, значение id хранится в переменной "id отправителя"
Перейдите в область переменных в сообщении и нажмите "Добавить", в открывшемся окне введите "полученное сообщение" в качестве названия переменной в процессе и сообщении (См. Рис. 3.20)
Настройка получателя в процессе "Пример 7-1"
Обработанные в бизнес-процессе "Пример 7-2" данные возвращаются в "Пример 7-1", для принятия этих данных необходимо настроить элемент “Принять сообщение” следующим образом (См. Рис. 3.22)
Свойство маршрутизации задано как processId = ${currentProcessId}, то есть по id процесса, а соответствие переменных установлено как "отправленное сообщение"="полученное сообщение", то есть присланное в переменной "полученное сообщение" значение будет сохранено в переменную "отправленное сообщение"
Будет создан новый экземпляр бизнес-процесса, в котором точка управления перейдет в узел “Ввести сообщение для отправки” (См. Рис. 3.24)
В форме задания этого узла введите текст сообщения для отправки, например: “Hello” (См. Рис. 3.25)
На следующем шаге бизнес-процесса произойдет определение id данного экземпляра процесса и отправка сообщения, содержащего переменные "отправленное сообщение" и "id отправителя" (См. Рис. 3.26).
Управление перейдет в узел “Принять сообщение”, в котором оно будет находиться до тех пор, пока не получит сообщение от процесса "Пример 7-2"
Запустите экземпляр бизнес-процесса "Пример 7-2".
Войдите в систему под пользователем, входящим в группу "Отдел кадров", например Личинкин и кликните на имени бизнес-процесса "Пример 7-2" (См. Рис. 3.28).
Будет запущен экземпляр бизнес-процесса, в котором точка управления остановится в узле ожидания сообщения, а после получения сообщения перейдет в узел "Редактирование полученного сообщения" (См. Рис. 3.29-3.31).
В форме задания узла дополните полученное сообщение (См. Рис. 3.32-3.33)
После выполнения задания произойдет отправка сообщения (Hello World!!!), в экземпляр процесса выбранного по id, далее экземпляр бизнес-процесса "Пример 7-2" завершится (См. Рис. 3.34)
Экземпляр бизнес-процесса "Пример 7-1" получит сообщение, содержащее переменную "полученное сообщение". Переменная "отправленное сообщение" будет проинициализирована значением "Hello World!!!" и ее значение будет выведено на форму узла “Ознакомиться с полученным сообщением” (См. Рис. 3.35)
После выполнения задания бизнес-процесс завершится (См. Рис. 3.37)
Задание для самостоятельной работы
Разработайте бизнес-процессы "Пример 7-3" и "Пример 7-4", схемы которых изображены на рисунках 3.38 и 3.39 "Пример 7-3" отправляет в сообщении введённые пользователем данные в процесс "Пример 7-4". Используется маршрутизация “по названию процесса”. "Пример 7-4" получает данные и отображает их на форме.
В "Пример 7-3", используйте элемент “Отправить сообщение” для отправки данных.
В "Пример 7-4", используйте элемент “Получить сообщение” для получения данных.
Описание ролей.
В разрабатываемых процессах должны быть следующие Роли:
Описание переменных.
В процессе "Пример 7-3" используйте переменную формата Текст – “отправленное сообщение”, которая предназначена для отправки в сообщении. Переменная инициализируется значением введённым пользователем в узле “Ввести сообщение для отправки”, а затем передаётся в процесс "Пример 7-4" с помощью механизма сообщений.
В процессе "Пример 7-4" используйте переменную “полученное сообщение” формата Текст. Переменная должна принимать значение в сообщении от "Пример 7-3".
Описание графических форм.
Замечание. По умолчанию в качестве редактора форм используется CKEditor4, но в случае если у вас в системе установлен браузер Microsoft Internet Explorer устаревшей версии - 6 (IE6) или 7 (IE7), то с формами могут возникнуть проблемы. Поэтому следует переключить редактор на FCKEditor2 (как переключить редактор см. в Практическое занятие "Изучение перспективы данных", Порядок выполнения работы, Пункт 6, Рис. 4.9, 4.10 )
В процессе "Пример 7-3" создайте форму в узле “Ввести сообщение для отправки”. Для ввода “отправленное сообщение” используйте компонент форм "Ввод переменной".
В процессе "Пример 7-4" создайте форму в узле “Ознакомиться с полученным сообщением”. На форме необходимо расположить компонент форм “Отобразить переменную” для вывода значения переменной "полученное сообщение".
Задание проверок значений, введенных в элементы форм (валидация).
В процессе "Пример 7-3" необходимо задать проверку переменной “отправленное сообщение”, выбрав валидатор “Обязательное поле” и задав текст сообщения об ошибке (см. Практическое занятие "Изучение перспективы операций", Пункт 15, рис. 2.27, 2.28).
Настройка межпроцессного взаимодействия.
Настройка отправителя.
В процессе "Пример 7-3" необходимо настроить отправку сообщения. Используйте отправку “По названию процесса”, в качестве названия процесса используйте - Пример 7-4
Задайте переменные, которые будут отправлены в сообщении. Выберите переменную "отправленное сообщение".
Настройка получателя сообщения.
В процессе "Пример 7-4" настройте параметры получения сообщения, для этого кликните правой клавишей мыши на узле “Получить данные” и выберите пункт “Конфигурация”.
В появившейся форме добавьте свойства маршрутизации, а также соответствие переменных для получения данных. Используйте получение “По названию процесса”, для этого необходимо кликнуть на соответствующую кнопку, в результате в свойствах появится: processDefinitionName = ${currentDefinitionName}, где currentDefinitionName указывает на текущее название процесса.
Также необходимо добавить переменные принимаемые в сообщении, для этого нажмите кнопку “добавить” внизу формы и выберите название переменной "полученное сообщение". Затем в поле названия переменной в сообщении впишите "отправленное сообщение".
Таким образом будет установлено соответствие между посылаемой в сообщении переменной "отправленное сообщение" процесса "Пример 7-3" и переменной "полученное сообщение" в процессе "Пример 7-4". Загрузите бизнес-процессы в систему, установите на них необходимые права (выполняется аналогично процессам "Пример 7-1/7-2", см. Практическое занятие "Межпроцессное взаимодействие", пункт 11).
Запустите экземпляры бизнес-процессов и доведите их до завершения.
Описание действий пользователей.
Пользователь запускает экземпляр процесса "Пример 7-3", вводит текст отправляемого сообщения, после чего происходит отправка в экземпляры процесса "Пример 7-4". Процесс "Пример 7-3" переходит в состояние “завершения”.
Пользователь, принадлежащий группе "Отдел кадров", запускает экземпляр процесса "Пример 7-4", после чего управление останавливается на узле “Получить данные”, ожидая данные. Сообщение приходит во все экземпляры "Пример 7-4", где полученное значение переменной (текст сообщения) отображается на форме, после чего экземпляры "Пример 7-4" также завершаются.
Реализуйте два сценария выполнения разработанного взаимодействия.
1). Первый сценарий - "Один получатель"
Для запуска процесса "Пример 7-4" необходимо войти под пользователем из группы "Отдел кадров" (например Личинкин), и кликнуть на название данного процесса в общем списке процессов.
Запустится экземпляр процесса, и управление остановится на узле “Получить данные” ожидая сообщение. Далее пользователь входящий в группу "Сотрудники" (например Сверчков) запускает экземпляр процесса "Пример 7-3", вводит текст посылаемого сообщения.
Экземпляр процесса "Пример 7-3" завершается. При этом экземпляр процесса "Пример 7-4", получает сообщение и управление переходит в узел “Ознакомиться с полученным сообщением”, пользователь Личинкин видит присланное сообщение на форме.
2). Второй сценарий - "Несколько получателей"
Реализуйте сценарий отправки сообщения сразу нескольким экземплярам "Пример 7-4".
Запустите экземпляры процесса "Пример 7-4" под всеми пользователями входящими в группу "Отдел кадров":
Далее запустите экземпляр процесса "Пример 7-3" под пользователем входящим в группу "Сотрудники". Проверьте, что сообщение придёт сразу во все ожидающие его экземпляры "Пример 7-4".
Требования к представлению результатов занятия
В результате выполнения лабораторной работы должны быть представлены преподавателю отчет и файл с данными archive.datafile (как получить файл данных), содержащие разработанные на занятии бизнес-процессы.
В отчете должны содержаться следующие данные:
1) Скриншоты основных действий, совершенных на занятии, с пояснениями
2) Скриншоты, содержащие маршруты точек управления для экземпляров бизнес-процессов, доведенных до завершения.
3) Скриншоты, содержащие созданные на занятии роли, переменные, основные формы
Контрольные вопросы
1. Какой из элементов соответствует отправке сообщения?
2. Может ли экземпляр бизнес-процесса, соответствующий одному определению бизнес-процесса, послать сообщения экземпляру, соответствующему другому определению бизнес-процесса?
3. В элементе «Отправить сообщение»
a. Точка управления сразу переходит в следующий узел
b. Точка управления ждет ответа на сообщение
Практическое занятие "Таймеры и обработчики"
Цель занятия
Целью работы является изучение работы с элементами бизнес-процессов - таймерами и обработчиками.
Теоретические сведения
"Таймер" - элемент, выполняющий функцию задержки. Может быть использован как самостоятельный элемент в схеме бизнес-процесса, так и быть присоединенным к узлу Действию.
В случае присоединения к действию, Таймер - элемент, при помощи которого действию может быть поставлено в соответствие время выполнения. К таймеру можно подсоединить дополнительный Переход, по которому точка управления перейдет из Действия в случае, если задание в этом узле будет просрочено. Таймеру может быть поставлено в соответствие как время относительно момента прихода точки управления в узел Действие, так и время, относительно значения какой-либо переменной бизнес-процесса (в этом случае допустимо отрицательное значение интервала времени, например - "за пять рабочих дней до даты платежа").
Обработчик - дополнительная конструкция.
В jPDL эти элементы могут быть присоединены к Переходам или Узлам-Действиям, обозначается кружком и располагаются непосредственно на Переходе или Узле-Действии. В случае же BPMN - обработчик входит в элемент "Задача сценария".
С обработчиком связывается набор настроек и алгоритм, который будет выполнен при прохождении точки управления через элемент.
Порядок выполнения работы
"Пример 8-1" является упрощенным вариантом бизнес-процесса "Тестирование".
Показывает работу с обработчиком, а также таймером используемым в качестве элемента присоединенного к действию.
В бизнес-процессе используется следующие элементы: “Начало”, “Окончание”, “Действие”, “Задача сценария”, “Аннотация”, “Параллельный шлюз” и “Таймер”.
Для изменения названий по-умолчанию, выделите элемент, кликнув на него, перейдите в свойства, введите новое значение в поле Название.
Как видно из приведенного рисунка, к узлу "Выполнить тестирование" необходимо присоединить Таймер. Для этого выделите в палитре элемент Таймер и захватив его левой клавишей мыши, перетяните в действие "Выполнить тестирование", значок таймера будет закреплен в узле.
Из "Выполнить тестирование" выходит два перехода: из таймера и непосредственно действия. Для добавления перехода из Таймера воспользуйтесь одним из следующих вариантов:
Остальные переходы выполняются аналогично т.е. либо с помощью значка "стрелка" появляющегося при наведении на узел схемы, либо с помощью элемента "Переход", расположенного на палитре.
Для элемента "Задача сценария" используйте опцию компактный вид (см. пункт 1 раздела "Практическое занятие "Работа с Word-ботом". Порядок выполнения работы.",Замечание. рис. 3.2)
Для придания наглядности схемы расположите напротив "Задачи сценария" элемент "Аннотация". Введите "Описание" аннотации, для этого перейдите в одноименное свойство элемента.
В данном случае параметр - роль Студент будет соответствовать правой части отношения, по которой будет выбран соответствующий Преподаватель (подробнее см. раздел "Стандарты и концепции, связанные с СУБПиАР", пункт "Использование бинарных отношений для упрощения инициализации ролей").
В появившейся форме необходимо выбрать "Единицу измерения" - "минуты", "Задержка таймера" - "+1", "Базовая дата" - "Дата и время окончания тестирования" (см. рис. 4.8)
Нажмите на значок для вызова формы выбора единицы измерения (см. рис. 4.8), выберите "минуты" (см. рис. 4.9)
Нажмите на значок для вызова формы ввода задержки таймера относительно базовой даты (см. рис. 4.8), введите значение +1 (см. рис. 4.10)
Нажмите на значок для вызова формы выбора базовой даты (см. рис. 4.8), выберите переменную "Дата и время окончания тестирования" (см. рис. 4.11)
Таким образом в случае если Студент не выполнит задачу "Выполнить тестирование" до "Дата и время окончания тестирования", то спустя 1 минуту после этого, задание будет просрочено.
Сохраните и закройте форму.
Задайте валидацию для переменных формы "Ввести данные тестирования"
Для этого кликните на узле "Ввести данные тестирования" правой клавишей мыши и выберите пункт "Форма > Проверка переменных формы", в появившейся форме выделяйте переменные и устанавливайте необходимые валидаторы. (Подробнее см. Практическое занятие "Изучение перспективы операций", Пункт 15, рис. 2.27, 2.28).
Для переменной "Вопросы" добавьте валидатор "Обязательное поле". В поле "Сообщение об ошибке" введите - "Вопросы - обязательное поле".
Для переменной "Длительность тестирования" добавьте валидатор "Обязательное поле" (в поле "Сообщение об ошибке" введите - "Длительность - обязательное поле"), а также "Диапазон числа" установив минимальное значение в "1" включительно (см. Рис. 4.13), при этом в поле "Сообщение об ошибке" введите - "Минимальная длительность тестирования 1 минута"
Создайте форму для узла "Выполнить тестирование" (см. рис. 4.14)
Здесь студент отвечает на тестовые вопросы.
Используйте компонент "Отобразить переменную" (как строку) для вывода значений переменных: "Длительность тестирования", "Дата и время окончания тестирования", "Вопросы".
Перетяните на форму с помощью мыши компонент "Редактировать связанные списки", дважды кликните по нему или вызовите контекстное меню и выберите пункт "Параметры компонента". Установите параметры Добавления/Изменения/Удаления в значение "true". В поле "Название переменной" необходимо выбрать переменную "Ответы" (см. Рис. 4.15)
Аналогично создайте остальные формы согласно рисункам 4.16, 4.17, 4.18
На форме "Ознакомиться с выполненным тестированием" расположите теги "отобразить переменную" (как строку) для отображения переменных "Вопросы", "Ответы"
Войдите в систему под пользователем "Бабочкин", который является Преподавателем студента Мухина(см. Рис. 4.20).
В списке заданий будет активное задание - "Ввести данные тестирования" (см. Рис. 4.21)
Возьмите задание на выполнение, введите длительность тестирования - 2 (минуты), а также список вопросов (см. Рис. 4.22)
Выполните задачу.
Далее сработает обработчик, который определит "Дату и время окончания тестирования" (см. Рис. 4.23)
Как видно из рисунка 4.23, задание "Ввести данные" было выполнено в 21:37:01, после чего сработал обработчик, функция current_date_time вернет текущую дату и время - 08.04.2014 21:37:01, к полученному значению будет прибавлено 2 минуты (Длительность тестирования), в результате переменная "Дата и время окончания тестирования" будет инициализирована значением 08.04.2014 21:39:01
Точка управления перейдет в узел "Выполнить тестирование". Одновременно с этим будет запущен таймер на задержку 1 минута относительно базовой даты, переменной "Дата и время окончания тестирования" (т.е. в 08.04.2014 21:40).
Войдите в систему под пользователем Мухин. В списке активных задач будет "Выполнить тестирование".
Откройте задачу, введите ответы на вопросы, но не завершайте ее в течении 3-х минут (см. Рис. 4.24) т.е. пока не сработает таймер.
Теперь попытайтесь завершить задание - нажмите "Задание исполнено", однако будет выведено сообщение "Данное задание уже выполнено кем-то или просрочено" (см. Рис. 4.25), означающее что в данном случае задание было просрочено т.к. сработал таймер и управление перешло по переходу исходящему из таймера.
Преподаватель и Студент получат уведомление о закрытии тестирования по причине истечения времени.
Выполните эти задачи и завершите процесс.
Запустите еще один экземпляр процесса и повторите вышеописанные шаги, но в этот раз успейте выполнить задание "Выполнить тестирование" в течении 3-х минут, таймер будет остановлен, управление перейдет в узел "Ознакомиться с выполненным тестированием". Доведите процесс до завершения.
Задание для самостоятельной работы
Разработайте на основе "Пример 8-1" бизнес-процесс "Пример 8-2".
Можно воспользоваться функцией копирования процесса (подробнее см. Практическое занятие "Изучение перспективы потока управления", Задание для самостоятельной работы, Пункты 1,2,3), после чего внести изменения в соответствии со схемой изображенной на рисунке 4.26
В процессе "Пример 8-1" студент получал задание "Выполнить тестирование" сразу же после выполнения ввода данных преподавателем. В процессе же "Пример 8-2" преподаватель вводит не только список вопросов и длительность тестирования, но и назначает дату и время начала проведения тестирования. В схему (в отличии от Пример 8-1) дополнительно вводятся элементы таймер, а также параллельные и исключающий шлюзы.
Описание ролей.
В данном процессе используются те же роли и инициализаторы ролей что и в "Пример 8-1".
Описание переменных.
Добавьте дополнительно переменную "Дата и время начала тестирования" формата "Дата со временем" (см. Рис. 4.27)
Описание графических форм.
Замечание. По умолчанию в качестве редактора форм используется CKEditor4, но в случае если у вас в системе установлен браузер Microsoft Internet Explorer устаревшей версии - 6 (IE6) или 7 (IE7), то с формами могут возникнуть проблемы. Поэтому следует переключить редактор на FCKEditor2. (как переключить редактор см. в Практическое занятие "Изучение перспективы данных", Порядок выполнения работы, Пункт 6, Рис. 4.9, 4.10 )
Измените форму узла "Ввести данные тестирования" в соответствии с рисунком 4.28, добавьте компонент Ввод переменной для "Дата и время начала тестирования"
Кроме того, добавьте валидаторы для переменной "Дата и время начала тестирования"
Для валидатора "Диапазон даты относительно текущей" в поле "Сдвиг в прошлое (в днях)" введите значение 0. Таким образом будет проверяться, что введенная преподавателем дата и время начала тестирования позже текущих даты и времени.
Создайте форму для узла "Ознакомиться с датой и временем проведения тестирования" (см. Рис. 4.30)
Расположите здесь компоненты "Отобразить переменную" для переменных "Дата и время начала тестирования" и "Дата и время окончания тестирования" соответственно.
Остальные формы соответствуют формам процесса "Пример 8-1".
Описание обработчиков.
Измените конфигурацию обработчика задачи сценария "Определение даты и времени окончания тестирования". Для этого выделите задачу сценария, перейдите в свойства и вызовите конфигуратор обработчика "Выполнить формулу".
Введите следующую конфигурацию:
'Дата и время окончания тестирования'='Дата и время начала тестирования'+'Длительность тестирования';
Таким образом "Дата и время окончания тестирования" теперь определяется относительно "Дата и время начала тестирования" а не результата функции current_date_time() т.е. текущего времени (Пример 8-1)
Настройка задержки начала тестирования.
Выделите таймер, расположенный перед узлом "Выполнение тестирования", перейдите в свойства, и вызовите конфигуратор задержки. Выберите в качестве базовой даты - переменную "Дата и время начала тестирования", задержка - 0 минут (см. Рис. 4.31)
Т.е. задание "Выполнить тестирование" будет создано только после срабатывания таймера, который настроен на задержку в 0 минут относительно базовой даты "Дата и время начала тестирования".
Загрузите бизнес-процесс на сервер, добавьте для него обладателей полномочий аналогично процессу "Пример 8-1"
Запустите экземпляры бизнес-процессов и доведите их до завершения.
Проверьте оба сценария выполнения:
При этом для удобства проверки процесса используйте в качестве значения длительности тестирования - пару минут, а дату и время начала тестирования назначайте равной текущей дате и времени (используйте кнопку "Сейчас", см. Рис. 4.32) + смещение в несколько минут.
Требования к представлению результатов занятия
В результате выполнения лабораторной работы должны быть представлены преподавателю отчет и файл с данными archive.datafile (как получить файл данных), содержащие разработанные на занятии бизнес-процессы.
В отчете должны содержаться следующие данные:
1) Скриншоты основных действий, совершенных на занятии, с пояснениями
2) Скриншоты, содержащие маршруты точек управления для экземпляров бизнес-процессов, доведенных до завершения.
3) Скриншоты, содержащие созданные на занятии роли, переменные, основные формы
Контрольные вопросы
1.Что такое Таймер? Как он используется?
2.Что такое Обработчик? Как он используется?
3.Можно ли поместить Таймер на переход?
4.Можно ли присоединить Обработчик к Действию?
Практическое занятие "Работа с MS Excel-ботом, использование листов MS Excel в качестве слоя бизнес-объектов"
Цель занятия
Целью занятия является изучение работы с MS Excel - ботом и использования листов MS Excel в качестве слоя бизнес-объектов.
Теоретические сведения
Необходимые теоретические сведения изложены в пункте "Концепция ботов и бот-станций" раздела "Стандарты и концепции, связанные с СУБПиАР".
Порядок выполнения работы
В данном занятии рассматривается создание бота для работы с MS Excel файлами и разработка бизнес-процессов использующих задания данного бота для записи и чтения из Excel файла.
Используйте элементы Начало, Действие, Задача сценария, Окончание.
Замечание. Для элемента Задача сценария используйте компактный вид.
(Подробнее см. Практическое занятие "Работа с Word-ботом", Порядок выполнения работы, Пункт 1, Замечание, Рис. 3.2).
Элемент "Начало" назовите "Ввести данные для сохранения в Excel документ", задачу сценария - "Определение даты создания документа", остальные элементы в соответствии с рисунком 5.1
Замечание. Обратите внимание на переменную "перечень дисциплин" имеющую формат Список(Строка). При создании этой переменной, на форме выбора формата также необходимо будет выбрать и формат элементов (см. Рис. 5.3)
Напротив строки "Специальность", расположите компонент "Ввод переменной" для переменной - "Специальность" (Подробнее см. Практическое занятие "Изучение перспективы данных", Порядок выполнения работы, Пункт 6, Замечание, Рис. 4.17-4.18).
Аналогично добавьте компонент для ввода переменной "номер курса".
Используйте компонент "Редактировать связанные списки" для переменной "перечень дисциплин" (см. Рис. 5.5)
Добавьте валидаторы для переменных:
Для этого кликните на стартовом узле правой клавишей мыши и выберите пункт "Форма > Проверка переменных формы", в появившейся форме выделяйте переменные и устанавливайте необходимые валидаторы. (см. Практическое занятие "Изучение перспективы операций", Пункт 15, рис. 2.27, 2ю28).
Создайте форму для задания "Просмотреть данные перед сохранением в Excel документ" вида представленного на рисунке 5.6
На этой форме отображаются данные введенные в стартовой узле. Для переменных "Специальность" и "Номер курса" используется компонент "Отобразить переменную" как строку (см. Рис. 5.7)
Для вывода списка "перечень дисциплин" используйте компонент "отобразить связанные списки"
Создайте форму "Получить созданный Excel документ" на которой отобразите ссылку для скачивания созданного Excel файла.
Используйте компонент "Отобразить переменную" для файловой переменной "полученный Excel файл"
Нажмите "Выбрать" и в появившемся окне выберите из списка обработчик "Excel: Сохранить данные в файл" (ExcelSaveHandler) (см. рис. 5.11)
Создайте входные параметры:
Создайте Выходной параметр:
(Подробнее см. Практическое занятие "Работа с Word-ботом", Порядок выполнения работы, Пункт 18, Рис. 3.41 - 3.42)
Данные параметры будут использованы в конфигурации обработчика "Excel: Сохранить данные в файл" и должны будут в обязательном порядке привязаны к переменным процесса, использующего данную задачу бота.
Вызовите окно конфигуратора обработчика, для этого нажмите на кнопку "Изменить" (см. Рис. 5.13)
Используйте конфигурацию приведенную на рисунке 5.14
Здесь:
Нажмите ОК, сохраните и закройте задачу.
Нажмите ОК, сохраните процесс.
Появится форма со списком задач с формальными параметрами бота "Excel бот", выделите задачу "Записать данные в файл" и нажмите ОК (см. Рис. 5.18)
Будет вызвана форма конфигурации задачи. Установите соответствие между параметрами задачи и переменными процесса согласно рисунку 5.19
Сохраните процесс.
Нажмите Запустить, выполните полученное задание "Просмотреть данные перед сохранением в Excel документ"
Excel бот выполнит задачу "Записать данные в файл"
Будет получено задание, со ссылкой на созданный Excel файл, нажмите на ссылку
Будет загружен file.xlsx, сохраните его на C:\ Откройте файл.
Как видно из рисунка 5.24, полученный файл соответствует шаблону, заданной конфигурации задачи бота, а также содержит введенные пользователем данные.
Здесь используются те же элементы что и в процессе "Пример 9-1". Задаче сценария дайте название "Прочесть данные из файла", используйте опцию "компактный вид".
Затем откройте процесс "Пример 9-2", перейдите на вкладку "Переменные" и нажмите кнопку "Вставить", переменные добавятся в список (см. Рис. 5.27).
Создайте форму "Просмотреть данные считанные из Excel документа" вида представленного на рисунке 5.29
Используйте компонент "Отобразить переменную" для переменных: "специальность", "номер курса", "дата создания документа".
Используйте компонент "Отобразить связанные списки" для переменной "перечень дисциплин".
Запустите конфигуратор обработчика, для этого кликните на "Конфигурация" в свойствах задачи сценария "Прочесть данные из файла".
Используйте конфигурацию, представленную на рисунке 5.31
Т.е. предполагается чтение из файла C:\file.xlsx, который был создан при выполнении бизнес-процесса "Пример 9-1" использующего задачу Excel бота - "Записать данные в файл".
Считанные по соответствующим адресам значения будут сохранены непосредственно в переменные бизнес-процесса "Пример 9-2".
Замечание. Во время выполнения экземпляра бизнес-процесса потребуется обязательное наличие файла для чтения/записи данных в указанной в конфигурации папке - C:\file.xlsx
Считанные значения соответствуют введенным данным во время выполнения процесса "Пример 9-1".
Задание для самостоятельной работы
Создайте новую задачу Excel бота - "Прочитать данные из файла" с формальными параметрами.
В качестве обработчика в данной задаче используйте "Excel: Прочесть данные из файла".
Добавьте формальные параметры задачи в соответствии с рисунком 5.33
Используйте конфигурацию представленную на рисунке 5.34
Создайте на основе процесса "Пример 9-2" новый процесс "Пример 9-3", в соответствии с рисунком 5.35
Можно воспользоваться функцией копирования процесса (см. Практическое занятие "Изучение перспективы потока управления", Задание для самостоятельной работы, рис. 2.16, 2.17)
В отличии от "Пример 9-2", вместо задачи сценария "Прочесть данные из файла" используется элемент Действие, с выбранной ролью "Excel бот".
Создайте Роли:
Замечание. Если использовалась функция копирования процесса, то "Студент" уже будет в списке ролей, и ее создавать не требуется.
Создайте переменные:
Замечание. Если использовалась функция копирования процесса, то переменные будут также автоматически скопированы, их создавать не потребуется.
В узле "Прочесть данные из файла" сделайте привязку к задаче "Прочитать данные из файла" Excel бота (см. Практическое занятие 9, рис. 5.17).
Установите соответствие между переменными процесса и задачей (см. Рис. 5.36)
Сохраните и экспортируйте процесс "Пример 9-3".
Экспортируйте на сервер созданную задачу "Прочитать данные из файла". Нажмите правой клавишей мыши на этой задаче и выберите пункт "Экспортировать задачу бота", в открывшемся окне переключитесь на вариант "Экспорт на WFE сервер", т.е. таким же образом как и экспорт процесса.
Дайте на процесс "Пример 9-3" права на запуск, чтение и чтение экземпляра для "Группа МИБ-1".
Запустите периодическую активацию ботов.
Запустите новый экземпляр процесса под пользователем входящим в "Группа МИБ-1". Доведите его до завершения.
Проверьте, что Excel бот выполнил задание "Прочесть данные из файла", и значения выведенные на форму в задании "Вывод данных" соответствуют данным из файла C:\file.xlsx
Замечание. Все действия аналогичны действиям при создании и выполнении процессов "Пример 9-1" и "Пример 9-2"
Требования к представлению результатов занятия
В результате выполнения лабораторной работы должны быть представлены преподавателю отчет и файл с данными archive.datafile (как получить файл данных), содержащие разработанные на занятии бизнес-процессы.
В отчете должны содержаться следующие данные:
1) Скриншоты основных действий, совершенных на занятии, с пояснениями
2) Скриншоты, содержащие маршруты точек управления для экземпляров бизнес-процессов, доведенных до завершения.
3) Скриншоты, содержащие созданные на занятии переменные и основные формы