|
|
Строка 76: |
Строка 76: |
| Cкачайте и настройте настольный редактор RunaWFE DS (по описанию справа) | | Cкачайте и настройте настольный редактор RunaWFE DS (по описанию справа) |
|
| |
|
| Создайте''' новый процесс "Заявка": '''Добавьте''' элементы на схему бизнес-процесса в соответствии с рисунком 2.5.
| | Далее следуйте порядку создания процесса в настольном редакторе |
|
| |
|
| <center>[[Image:zak_5_441.png]]</center>
| | [[TrainingMaterials_4_4_1_InternalStorage#.D0.91.D0.B8.D0.B7.D0.BD.D0.B5.D1.81-.D0.BF.D1.80.D0.BE.D1.86.D0.B5.D1.81.D1.81_.22.D0.97.D0.B0.D1.8F.D0.B2.D0.BA.D0.B0.22|Бизнес-процесс "Заявка"]] |
| | |
| <center>Рисунок 2.5. Схема бизнес-процесса "Заявка"</center>
| |
| | |
| В бизнес-процессе используется следующие элементы: Начало, Действие, Задача сценария, Хранилище данных, Переход, Пунктирный переход, Таймер, Исключающий шлюз, Параллельный шлюз, Аннотация, Окончание.
| |
| | |
| Для элемента "Задача сценария" используйте опцию компактный вид (см. ''пункт 1 раздела "Практическое занятие "Работа с Word-ботом". [[TrainingMaterials_4_4_1_Documents#.D0.9F.D0.BE.D1.80.D1.8F.D0.B4.D0.BE.D0.BA_.D0.B2.D1.8B.D0.BF.D0.BE.D0.BB.D0.BD.D0.B5.D0.BD.D0.B8.D1.8F_.D1.80.D0.B0.D0.B1.D0.BE.D1.82.D1.8B|Порядок выполнения работы]].", Замечание. Рис.2.2'')
| |
| | |
| Для изменения названий по умолчанию, выделите элемент, щёлкнув по нему, перейдите в свойства и введите новое значение в поле "Название".
| |
| | |
| Для связи задачи сценария с иконкой хранилища данных используется специальный пунктирный переход.
| |
| | |
| ==== Роли ====
| |
| '''Создайте''' роли (См. ''"Практикум. Вводное занятие", [[TrainingMaterials_4_4_1_Introduction#Создание роли|Порядок выполнения работы]], Пункт 21, Рис.5.21'').
| |
| | |
| | |
| В разрабатываемом процессе используются следующие Роли:
| |
| | |
| * Заказчик
| |
| * Канцелярия
| |
| * Гараж
| |
| * Руководитель.
| |
| | |
| | |
| '''Инициализируйте''' роли.
| |
| | |
| Роль "Заказчик" будет инициализирована пользователем, запустившим процесс, не требует инициализатора.
| |
| | |
| Роли "Канцелярия" и "Гараж" должны быть проинициализирована группами "Канцелярия" и "Гараж" соответственно. Выделите созданную роль, выберите кнопку "Изменить", перейдите на вкладку "Группы и пользователи WF". Здесь необходимо выполнить синхронизацию с сервером, после чего "Выбрать" из списка нужную группу (см. Рис.2.6). Для проверки и ввода параметров соединения с сервером воспользуйтесь ссылкой "Настройки соединения" (см. ''Практическое занятие "[[TrainingMaterials_4_4_1_Perspectives#.D0.9F.D0.BE.D1.80.D1.8F.D0.B4.D0.BE.D0.BA_.D0.B2.D1.8B.D0.BF.D0.BE.D0.BB.D0.BD.D0.B5.D0.BD.D0.B8.D1.8F_.D1.80.D0.B0.D0.B1.D0.BE.D1.82.D1.8B_2|Изучение перспективы ресурсов]]", Пункт 26, Рис.3.16-3.18'').
| |
| <p> </p>
| |
| | |
| <center>[[Image:zak_6.png]]</center>
| |
| | |
| <center>Рисунок 2.6. Инициализатор роли "Канцелярия" </center>
| |
| | |
| | |
| Инициализируйте роль "Руководитель" отношением "Руководитель организации", примененным к роли "Заказчик":
| |
| | |
| Для этого выделите "Руководитель" в списке ролей на вкладке "Роли" и щёлкните "Изменить".
| |
| | |
| В появившейся форме перейдите на вкладку "Задать роль с помощью отношения". Выберите кнопку "Синхронизация", затем "Выбрать" (См. Рис.2.7).
| |
| | |
| | |
| <center>[[Image:zak_7.png]]</center>
| |
| | |
| <center>Рисунок 2.7. Инициализация с помощью отношения </center>
| |
| | |
| | |
| В списке будут отображаться импортированные с сервера отношения, выберите "Руководитель организации" и выберите кнопку "ОК" (См. Рис.2.8).
| |
| | |
| | |
| <center>[[Image:zak_8.png]]</center>
| |
| | |
| <center>Рисунок 2.8. Окно выбора отношения </center>
| |
| | |
| | |
| Откройте список для поля "Параметр отношения" и выберите роль "Заказчик" (См. Рис.2.9). Выберите кнопку "ОК".
| |
| | |
| | |
| <center>[[Image:zak_9.png]]</center>
| |
| | |
| <center>Рисунок 2.9. Инициализация роли Руководитель с помощью отношения </center>
| |
| | |
| | |
| '''Свяжите''' роли с узлами на графе.
| |
| | |
| Роль «Заказчик» с узлами "Начало", "Ознакомиться с отказом" и "Ознакомиться с запланированной заявкой" (Подробнее см. ''"Практикум. Вводное занятие", [[TrainingMaterials_4_4_1_Introduction#Связывание узла с ролью|Порядок выполнения работы]], Пункт 22'').
| |
| | |
| Остальные роли свяжите с узлами в соответствии с рисунком 2.5.
| |
| | |
| ==== Переменные ====
| |
| | |
| '''Создайте''' новый тип данных.
| |
| | |
| Заявка будет состоять из следующего набора данных:
| |
| | |
| * "id" - идентификатор заявки (Строка)
| |
| * "ФИО заказчика" (Строка)
| |
| * "Тип авто" (Строка)
| |
| * "Количество мест" (Целое число)
| |
| * "С" - Дата/время подачи авто (Дата/Время)
| |
| * "По" - Дата/время окончания рейса (Дата/Время)
| |
| * "Статус" (Строка).
| |
| | |
| | |
| Эти данные удобно использовать в виде полей переменной пользовательского типа.
| |
| | |
| Перейдите на вкладку "Типы данных", выберите кнопку "Создать" в области "Типы данных".
| |
| В появившемся окне введите название типа - "Заявка", а также установите опцию "Таблица БД", выберите кнопку "OK".
| |
| Таким образом тип "Заявка" может быть использован в обработчике внутреннего хранилища.
| |
| <p> </p>
| |
| | |
| <center>[[Image:zak_10_441.png]]</center>
| |
| | |
| <center>Рисунок 2.10. Создание нового типа </center>
| |
| | |
| | |
| Далее добавьте Атрибуты, соответствующие перечисленному выше набору данных. Для этого используйте кнопку "Создать", расположенную в области "Атрибуты".
| |
| | |
| | |
| <center>[[Image:zak_11.png]]</center>
| |
| | |
| <center>Рисунок 2.11. Добавление атрибута </center>
| |
| | |
| | |
| В появившемся окне введите название атрибута и выберите кнопку "OK". Форма создания атрибута не отличается от формы создания переменной.
| |
| | |
| Создайте все атрибуты заявки:
| |
| | |
| | |
| <center>[[Image:zak_12.png]]</center>
| |
| | |
| <center>Рисунок 2.12. Атрибуты заявки </center>
| |
| | |
| | |
| По заданию, заявка после обработки должна быть помещена в архив.
| |
| Таким образом потребуется создать еще один тип данных с признаком таблицы БД - "Архивная заявка".
| |
| Выделите тип данных "Заявка" и выберите кнопку "Копировать", затем "Вставить". В появившемся окне введите название переменной "Архивная заявка", и также установите признак "Таблица БД".
| |
| | |
| | |
| <center>[[Image:zak_12_2_441.png]]</center>
| |
| | |
| <center>Рисунок 2.13. Копирование типа данных</center>
| |
| | |
| | |
| '''Создайте''' переменные:
| |
| | |
| * "Заявка" - переменная пользовательского типа "Заявка"
| |
| * "Архивная заявка" - переменная пользовательского типа "Заявка"
| |
| * "Заявки" - переменная формата Список(Заявка)
| |
| * "Комментарий заказчика" - переменная формата "Текст"
| |
| * "Комментарий руководителя" - переменная формата "Текст"
| |
| * "Комментарий канцелярии" - переменная формата "Текст".
| |
| | |
| | |
| <center>[[Image:zak_13_441.png]]</center>
| |
| | |
| <center>Рисунок 2.14. Переменные процесса Заявка </center>
| |
| | |
| | |
| Для создания переменной перейдите на вкладку "Переменные" и выберите кнопку "Создать". В появившейся форме введите название переменной, выберите кнопку "Далее" и выберите ее формат (Подробнее см. ''"Практикум.Перспективы исполнимых бизнес-процессов", Практическое занятие "Изучение перспективы данных", [[TrainingMaterials_4_4_1_Perspectives#.D0.9F.D0.BE.D1.80.D1.8F.D0.B4.D0.BE.D0.BA_.D0.B2.D1.8B.D0.BF.D0.BE.D0.BB.D0.BD.D0.B5.D0.BD.D0.B8.D1.8F_.D1.80.D0.B0.D0.B1.D0.BE.D1.82.D1.8B_3|Порядок выполнения работы]], Пункт 5'').
| |
| | |
| ==== Графические формы ====
| |
| | |
| '''Стартовая форма'''
| |
| | |
| На данной форме заказчик вводит данные заявки.
| |
| | |
| Выделите узел «Начало» графа процесса "Заявка" правой кнопкой мыши и выберите команду «Форма» > «Создать форму» (Подробнее см. ''Практическое занятие "Изучение перспективы данных", [[TrainingMaterials_4_4_1_Perspectives#.D0.9F.D0.BE.D1.80.D1.8F.D0.B4.D0.BE.D0.BA_.D0.B2.D1.8B.D0.BF.D0.BE.D0.BB.D0.BD.D0.B5.D0.BD.D0.B8.D1.8F_.D1.80.D0.B0.D0.B1.D0.BE.D1.82.D1.8B_3|Порядок выполнения работы]], Пункт 6, Замечание, Рис.4.11-4.12'').
| |
| | |
| На данной форме заказчик вводит данные заявки на автотранспорт.
| |
| | |
| Добавьте на форму текст "Введите данные заявки".
| |
| | |
| Выберите кнопку на иконку вставки в форму таблицы (см. Рис.2.15), используйте 2 столбца и 4 строки (см. Рис.2.16).
| |
| Расположите таблицу под текстом "Введите данные заявки".
| |
| | |
| | |
| <center>[[Image:zak_14.png]]</center>
| |
| | |
| <center>Рисунок 2.15. Вставка таблицы на форму </center>
| |
| | |
| | |
| <center>[[Image:zak_15.png]]</center>
| |
| | |
| <center>Рисунок 2.16. Свойства таблицы </center>
| |
| | |
| | |
| Заполните колонки таблицы, как показано на рисунке 2.17. Во втором столбце используйте компонент формы "Ввод переменной". Для этого перейдите на вкладку "Компоненты форм", выделите необходимый компонент, в данном случае это "Ввод переменной" и с помощью мыши перетащите его на форму (Подробнее см. ''Практическое занятие "Изучение перспективы операций", [[TrainingMaterials_4_4_1_Perspectives#.D0.9F.D0.BE.D1.80.D1.8F.D0.B4.D0.BE.D0.BA_.D0.B2.D1.8B.D0.BF.D0.BE.D0.BB.D0.BD.D0.B5.D0.BD.D0.B8.D1.8F_.D1.80.D0.B0.D0.B1.D0.BE.D1.82.D1.8B_4|Порядок выполнения работы]], Пункт 14, Рис.5.17, 5.18'').
| |
| | |
| | |
| '''Замечание'''. Альтернативным способом добавления на форму может быть двойной щелчок левой кнопкой мыши по компоненту, после чего он будет добавлен в текущее положение курсора на форме.
| |
| | |
| | |
| Для вызова свойств добавленного на форму компонента используйте двойной щелчок левой кнопкой мыши или пункт "Параметры компонента" контекстного меню (вызывается правой кнопкой мыши).
| |
| | |
| В качестве параметра "Название переменной" задайте соответствующие поля переменной пользовательского формата "Заявка" (см. Рис.2.18).
| |
| | |
| | |
| <center>[[Image:zak_16_st.png]]</center>
| |
| | |
| <center>Рисунок 2.17. Заполненная таблица ввода данных заявки </center>
| |
| | |
| | |
| <center>[[Image:zak_17.png]]</center>
| |
| | |
| <center>Рисунок 2.18. Ввод полей пользовательской переменной "Заявка"</center>
| |
| | |
| | |
| Расположите под таблицей компонент для ввода переменной "Комментарий заказчика".
| |
| | |
| | |
| <center>[[Image:zak_18_st.png]]</center>
| |
| | |
| <center>Рисунок 2.19. Стартовая форма процесса "Заявка"</center>
| |
| | |
| | |
| Сохраните и закройте форму.
| |
| | |
| | |
| '''Задайте''' валидацию для переменных стартовой формы.
| |
| | |
| | |
| Для этого щёлкните на стартовой форме правой кнопкой мыши и выберите пункт "Форма > Проверка переменных формы", в появившейся форме выделяйте переменные и устанавливайте необходимые валидаторы. (Подробнее см. ''Практическое занятие "Изучение перспективы операций", [[TrainingMaterials_4_4_1_Perspectives#.D0.9F.D0.BE.D1.80.D1.8F.D0.B4.D0.BE.D0.BA_.D0.B2.D1.8B.D0.BF.D0.BE.D0.BB.D0.BD.D0.B5.D0.BD.D0.B8.D1.8F_.D1.80.D0.B0.D0.B1.D0.BE.D1.82.D1.8B_4|Порядок выполнения работы]]. Пункт 15, Рис.5.27, 5.28'').
| |
| | |
| Для "Заявка.Тип авто" добавьте валидатор "Обязательное поле". В поле "Сообщение об ошибке" введите - "Обязательное поле".
| |
| | |
| Для "Заявка.Количество мест" добавьте валидатор "Обязательное поле", а также "Диапазон числа", установив минимальное значение в "1" включительно (см. Рис.2.20). При этом в поле "Сообщение об ошибке" введите - "Должно быть задано минимум одно место".
| |
| | |
| Для "Заявка.С" добавьте валидатор "Обязательное поле", а также "Диапазон даты относительно текущей", установив параметр "Сдвиг в прошлое" в значение "0" (см. Рис.2.21), при этом в поле "Сообщение об ошибке" введите - "Дата подачи авто не может быть в прошлом".
| |
| | |
| Для "Заявка.По" используйте такие же валидаторы, как и для "Заявка.С".
| |
| | |
| | |
| <center>[[Image:zak_19_st.png]]</center>
| |
| | |
| <center>Рисунок 2.20. Валидатор "Диапазон числа" для "Заявка.Количество мест"</center>
| |
| | |
| | |
| <center>[[Image:zak_20_st.png]]</center>
| |
| | |
| <center>Рисунок 2.21. Валидатор "Диапазон даты относительно текущей" для "Заявка.С"</center>
| |
| | |
| | |
| Кроме того, необходимо добавить глобальный валидатор для проверки условия "Дата/время окончания рейса должны быть позже даты/времени подачи авто".
| |
| Для этого перейдите на вкладку "Глобальные валидаторы", затем "Добавить". В поле сообщение об ошибке введите "Дата/время окончания рейса должны быть позже даты/времени подачи авто", а в конфигураторе задайте
| |
| | |
| Заявка.По позже Заявка.С
| |
| | |
| | |
| <center>[[Image:zak_21_st_a.png]]</center>
| |
| | |
| <center>(а)</center>
| |
| | |
| <center>[[Image:zak_21_st_b.png]]</center>
| |
| | |
| <center>(б)</center>
| |
| | |
| <center>[[Image:zak_21_st_c.png]]</center>
| |
| | |
| <center>(в)</center>
| |
| | |
| <center>Рисунок 2.22. а). переход б). добавление в). конфигуратор глобального валидатора </center>
| |
| | |
| '''Форма узла "Одобрить заявку"'''
| |
| | |
| '''Создайте''' форму для узла "Одобрить заявку".
| |
| | |
| Здесь руководитель просматривает заявку и вводит комментарий.
| |
| | |
| | |
| <center>[[Image:zak_21_st.png]]</center>
| |
| | |
| <center>Рисунок 2.23. Форма "Одобрить заявку"</center>
| |
| | |
| | |
| Используйте компонент "Отобразить переменную" для вывода значений переменных "Заявка" и "Комментарий заказчика". В качестве вида отображения используйте "Как неактивный компонент ввода".
| |
| | |
| | |
| <center>[[Image:zak_22.png]]</center>
| |
| | |
| <center>Рисунок 2.24. Компонент "Отобразить переменную"</center>
| |
| | |
| | |
| '''Создайте''' аналогичным образом остальные формы.
| |
| | |
| | |
| <center>[[Image:zak_23.png]]</center>
| |
| | |
| <center>Рисунок 2.25. Форма "Принять заявку"</center>
| |
| | |
| | |
| <center>[[Image:zak_24.png]]</center>
| |
| | |
| <center>Рисунок 2.26. Форма "Ознакомиться с отказом"</center>
| |
| | |
| | |
| <center>[[Image:zak_25.png]]</center>
| |
| | |
| <center>Рисунок 2.27. Форма "Ознакомиться с запланированной заявкой"</center>
| |
| | |
| ==== Обработчики ====
| |
| | |
| '''Выберите''' класс обработчиков и задайте конфигурации.
| |
Скачать десктопный редактор Developer Studio
Установка
- Cкачать DS для своей операционной системы.
- После скачивания распаковать скачанный zip.
- Запустить исполняемый файл в корне.
Настройка сединения
Перейдите во вкладку Свойства. Выберите в выпадающем меню Настройки.
В настройках слева пункт Интеграция - RunaWFE Сервер.
Нажмите кнопку справа внизу "Новое соединение".
Заполнить:
- Протокол: https
- Имя компьютера: cloud.runawfe.ru
- Порт: 443
- Логин: Administrator (по умолчанию)
- Пароль: "Пароль администратора"
- Компания: "Ваша компания"
Нажмите кнопку "Проверить соединение".
Должно появиться окошко с надписью "Соединение проверено".
После этого можно производить экспорт/импорт процессов на сервер/с сервера по правой кнопке мыши.
Экспорт/импорт возможен напрямую, для этого надо выбрать "Экспорт на сервер" и настроенное, как указано выше, соединение, а также через файловую систему.
Практическое занятие "Разработка бизнес-процесса "Заказ автотранспорта"
Цель занятия
Целью занятия является изучение работы с внутренним хранилищем данных в онлайн-версии.
Теоретические сведения
"Внутреннее хранилище данных" - встроенная базы данных, предназначенная для централизованного хранения переменных бизнес-процесса.
Этот практикум проводится с использованием настольного редактора RunaWFE.
Для работы с внутренним хранилищем в RunaWFE используется специальный элемент палитры - "Хранилище данных", связанный с задачей-сценарием. Выбор обработчика в задаче-сценарием выполняется автоматически. Установка конфигурации обработчика выполняется в зависимости от способа связи с иконкой базы данных в нотации BPMN. При связи “обработчик -> иконка” в конфигурации доступны 3 операции: insert, delete, update. При связи “иконка -> обработчик” в конфигурации доступна только операция select. Таблице в БД соответствует используемый тип переменной с установленным признаком "Таблица БД".
Подробности использования обработчика, его параметры и возможные действия над хранилищем будут рассмотрены на практическом занятии при разработке бизнес-процесса "Заказ автотранспорта".
# Порядок выполнения работы
В данной работе рассматривается разработка упрощенного варианта бизнес-процесса заказа автотранспорта для организации, располагающей собственным автопарком.
Описание бизнес-процесса
Заказчиком автотранспорта может выступить любой сотрудник организации, который подает заявку с описанием необходимого авто, времени подачи машины и количества мест.
Руководитель одобряет заявку или отказывает. После принятия заявки канцелярией она сохраняется во внутреннем хранилище для дальнейшей обработки диспетчером автопарка.
Диспетчер автопарка получает из внутреннего хранилища все необработанные заявки и выполняет отбор тех, которые будут удовлетворены.
Заявки отображаются в виде таблицы с информацией, от кого поступила заявка и с возможностью сортировки по полям. Благодаря этому диспетчер может в первую очередь удовлетворить более приоритетные заявки.
После удовлетворения заявка переносится в архив, заказчик получает задачу "Ознакомиться с запланированной заявкой", а "Гараж" должен отчитаться о выполненном рейсе.
Разработка бизнес-процесса "Заявка"
Cкачайте и настройте настольный редактор RunaWFE DS (по описанию справа)
Далее следуйте порядку создания процесса в настольном редакторе
Бизнес-процесс "Заявка"