TrainingMaterialsCloud Documents: различия между версиями
Nvasiliev (обсуждение | вклад) |
Nvasiliev (обсуждение | вклад) |
||
Строка 579: | Строка 579: | ||
Таким образом с помощью функции current_date() будет определена текущая дата и сохранена в переменную "дата создания документа". | Таким образом с помощью функции current_date() будет определена текущая дата и сохранена в переменную "дата создания документа". | ||
<li>'''Выберите и сконфигурируйте''' обработчик для узла-сценария "Сохранить данные в Excel-документе". Для этого щёлкните правой кнопкой по этому узлу и выберите в выпавшем меню пункт "Configure script" (Рис.3. | <li>'''Выберите класс и сконфигурируйте''' обработчик для узла-сценария "Сохранить данные в Excel-документе". Для этого щёлкните правой кнопкой по этому узлу и выберите в выпавшем меню пункт "Configure script" ("Скофигурировать обработчик") (Рис.3.10а). </li>[[Файл:Blank.png|без]] | ||
Версия 19:19, 18 ноября 2022
RunaWFE Онлайн. Практикум. Работа с MS Word и MS Excel документами
Версия 4.6.0
© 2015-2023, ООО "Процессные технологии"
Введение
Для автоматизации процессного управления предприятием разработан специальный класс компьютерных систем – системы управления бизнес-процессами и административными регламентами (далее СУБПиАР). Основная задача таких систем - раздавать задания исполнителям и контролировать их выполнение. Последовательность заданий определяется схемой бизнес-процесса, которую можно разработать и в дальнейшем быстро модифицировать при помощи среды разработки.
В разделе "Практикум. Вводное занятие" были рассмотрены исполнимые бизнес-процессы и административные регламенты, дано определение исполнимого бизнес-процесса, основанное на четырех перспективах. Также в первой части практикума:
- было дано описание основных элементов систем управления бизнес-процессами и административными регламентами на примере свободного ПО с открытым кодом RunaWFE Free
- показано, как установить систему
- приведено вводное занятие, в котором объяснены базовые операции, позволяющие разрабатывать и исполнять бизнес-процессы.
В разделе "Практикум. Перспективы исполнимых бизнес-процессов" приведено описание четырех практических занятий, посвященных изучению четырех перспектив исполнимого бизнес-процесса:
• перспектива потока управления (control-flow perspective) • перспектива ресурсов (resource perspective) • перспектива данных (data perspective) • перспектива операций (operational perspective).
Разделы практикума "Вводное занятие" и "Перспективы исполнимых бизнес-процессов" можно найти на сайте проекта RunaWFE Free в разделе Учебные материалы по процессному управлению.
В данном разделе практикума рассмотрена и объяснена работа с MS Word и MS Excel документами, приведено описание самостоятельного занятия.
Замечание: В RunaWFE Free 4.4.1 для упрощения работы, по умолчанию проверка прав доступа отключена. Это означает что при доступе к объектам системы (исполнители, определения БП, экземпляры БП, отчеты, отношения, источники данных, действия с системой) права пользователя не проверяются. Но для изучения системы прав необходимо включить проверки. Для этого вам потребуется перевести в значение "true" параметры, расположенные на странице "Настройки" -> "Настройки прав доступа".
Практическое занятие 05: "Работа с MS Word-документами"
Цель занятия
Целью занятия является изучение работы с Word-документами.
Порядок выполнения работы
- Пройдите в браузере в приложение RunaWFE (облачную версию RunaWFE) по ссылке https://cloud.runawfe.ru/. Создайте свою компанию. Замечание: Пользователь Administrator создаётся при создании компании автоматически с паролем по умолчанию - "wf". В дальнейшем, зайдя в веб-приложение, можно установить свой пароль пользователя Administrator (в настройках пользователя - пункт меню "Исполнители").
- Зайдите в систему RunaWFE под учётной записью Administrator.
- Появится окно приложения. Перейдите в раздел «Редактор процессов».
- Создайте новый проект - "Занятие 05". Создайте в нём новый бизнес-процесс "Пример 05-1". Используйте следующие элементы для создания бизнес-процесса в соответствии с Рис.2.01:
- Создайте группы:
- Инициализируйте роли "Директор", "Отдел кадров", "Бухгалтер" и "Сотрудник" с помощью соответствующих групп (Директор, Отдел кадров, Бухгалтеры, Сотрудники Паучкова). Для этого вернитесь в редакторе к разрабатываемому процессу, перейдите на вкладку Роли, выберите роль и щёлкните на кнопку "Edit", находящуюся перед ней. Используйте инициализацию с помощью групп wf (подробнее см. Практическое занятие "Изучение перспективы операций", Порядок выполнения работы, Пункт 13, рис. 5.13-5.14).
- Создайте указанных ниже исполнителей и распределите их по группам:
- Создайте переменные в соответствии с Рис.2.02.
- Создайте форму для стартового узла "Подать заявку на премию".
- Настройте задачи сценариев.
- fio - фамилия, имя и отчество в именительном падеже (в нашем случае задана с помощью переменной 'ФИО сотрудника')
- caseNumber - номер падежа от 1 до 6 (в нашем случае 3 - это Дательный падеж)
- mode - строка форматирования:
- ФИО сотрудника
- Размер премии
- Описание выполненных работ
- Текущая дата,
- Создайте форму для узла "Подписать служебную записку и отдать ее в отдел кадров".
- Создайте форму для узла "Рассмотреть заявку на премию" (Рис.2.14).
- Создайте форму для узла "Ознакомиться с решением об отказе" (Рис.2.15).
- Создайте форму для узла "Ознакомиться с сообщением о согласии" (Рис.2.16). Т.к. данная форма отличается от формы "Ознакомиться с решением об отказе" лишь заголовком, то можно воспользоваться функцией создания формы на основе существующей (Подробнее см. Практическое занятие "Изучение перспективы данных", Порядок выполнения работы, Пункт 6, Рис. 4.30, 4.31).
- Создайте композицию для узла "Издание приказа и начисление премии". Композиция похожа на подпроцесс, однако является более «легкой» конструкцией, т.к. для композиции не порождается нового экземпляра процесса. Следовательно, у неё нет своих собственных переменных, инициализаторов ролей и т.д.. Выделите на схеме узел-композицию "Издание приказа и начисление премии", затем щёлкните на данном элементе правой кнопкой мыши и выберите пункт "Новая композиция" (Рис.2.17).
- Создайте композицию вида, изображенного на Рис.2.19.
- Создайте пользовательскую (Custom) форму для узла "Издать приказ о премировании". Расположите на ней единственный компонент для ввода переменной "Номер приказа".
- Настройте задачи сценария. В задаче сценария "ФИО директора", используя класс обработчика "Получить информацию об исполнителе", определите фамилию, имя и отчество Директора (Рис.2.21).
- Сконфигурируйте узел-сценария "Сгенерировать приказ". Предварительно в любом редакторе сформируйте DOCX-файл с шаблоном приказа, как показано на Рис.2.23.
- Создайте пользовательскую форму для узла "Ознакомиться с приказом" (Рис.2.25). На ней файловую переменную "Приказ" с помощью компонента "Display variable" ("Отобразить переменную") отобразите "Как строку".
- Создайте пользовательскую форму для узла "Получить подпись сотрудника об ознакомлении с приказом". Графическая форма может быть создана на основании формы "Ознакомиться с приказом" и содержит только поля "Сотрудник" и "Приказ". В созданной по прототипу форме добавьте поле "Сотрудник" и замените заголовок в поле "html code" (Рис.2.26). Выберите ссылку "update".
- Создайте пользовательскую форму для узла "Начислить премию сотруднику" с полями "ФИО сотрудника", "Размер премии", "Описание выполненных работ", "Приказ". При этом для текстовой переменной "Описание выполненных работ" используйте форму отображения "Как неактивный компонент ввода", для остальных - "Как строка" (Рис.2.28). При создании этой формы вы можете использовать форму узла "Получить подпись сотрудника об ознакомлении с приказом" в качестве прототипа.
- Создайте пользовательскую форму для узла "Ознакомиться с начислением премии" (Рис.2.29). В качестве прототипа целесообразно использовать предыдущую форму.
- Экспортируйте разработанный процесс "Пример 05-1" в раздел "Запустить процесс" RunaWFE. Для этого щёлкните разработанный бизнес-процесс правой кнопкой, в выпавшем меню выберите команду "Deploy".
- Войдите на сервер под пользователем Administrator. Процесс "Пример 05-1" должен запускать "Руководитель", поэтому дайте права на чтение, запуск и чтение экземпляров для пользователя "Паучков" (который является руководителем Сверчкова). Подробнее см. "Практикум. Вводное занятие", Порядок выполнения работы, Пункты 28-32.
- Выполните процесс "Пример 05-1". Войдите в систему под пользователем "Паучков", запустите процесс. Введите данные на стартовой форме и нажмите "Запустить" (Рис.2.31).
• Начало • Задача сценария • Действие • Параллельный шлюз • Исключающий шлюз • Подпроцесс.
Создайте роли:
• Руководитель • Сотрудник • Отдел кадров • Директор • Бухгалтер.
Далее для узлов бизнес-процесса выберите роли в соответствии с Рис.2.01.
Замечание. Роль "Руководитель" инициализируется в стартовом узле бизнес-процесса сотрудником, запустившим этот экземпляр бизнес-процесса. Но для получения ожидаемого в примере результата предполагаем, что процесс будет запускать Паучков.
• Директор • Отдел кадров • Бухгалтеры • Сотрудники • Сотрудники Паучкова.
(см. "Вводное занятие". [Прядок выполнения работы] Пункт 5, рис. 5.6).
Добавьте в группу "Директор" пользователей:
• Стрекозин Александр Николаевич.
Добавьте в группу "Бухгалтеры" пользователей:
• Жуков Иван Ильич • Бражникова Ольга Иосифовна.
Добавьте в группу "Отдел кадров" пользователей:
• Личинкин Василий Федорович • Гусеницын Михаил Васильевич.
Добавьте в группу "Сотрудники" пользователей:
• Жуков • Бражникова • Личинкин • Гусеницын • Сверчков Иван Иванович • Мотыльков Иван Петрович • Мухин Пётр Иванович • Паучков Петр Петрович • Стрекозин Александр Николаевич.Добавьте в группу "Сотрудники Паучкова" пользователей:
• Мотыльков • Мухин • Сверчков.
На данной форме Руководитель, стартуя бизнес-процесс, будет вводить данные для подачи заявки на премию: сотрудник, размер премии, выполненные работы.
Щёлкните правой кнопкой по стартовому узлу и выберите пункт "Create custom form" ("Создайте пользовательскую форму") (Рис.2.03).
Для создания поля щёлкните в этом меню кнопку "add new component". Значение поля "Сотрудник" будет выбираться из списка - из группы "Сотрудники Паучкова". Поэтому в меню формирования компонента в поле "component" выбираем значение "Selection from group members" ("Выбор из членов группы") (Рис.2.04).
В появившемся меню заполните поля как показано на Рис.2.05 и выберите кнопку "create".
Аналогичным образом создайте поля "Размер премии" и "Описание выполненных работ". Эти поля имеют текстовое заполнение и для них следует выбирать тип компонента "Input variable" (Рис.2.04). Окончательный вид меню создания формы для стартового узла представлен на Рис.2.06.
По задаче сценария "ФИО сотрудника" щёлкните правой кнопкой мыши и из выпавшего меню выберите команду "Configurate script" ("Отконфигурировать скрипт"). В поле "Handler" появившегося меню выберите обработчик "Get executor unfo" ("Получить информацию об исполнителе"). Меню приобретёт вид, показанный на Рис.2.07. Заполните остальные поля согласно этому рисунку и выберите кнопку "update".
Выбранный обработчик определяет полное имя (ФИО) Сотрудника и сохраняет результат в строковую переменную "ФИО сотрудника", но в служебной записке и приказе на премирование должно использоваться ФИО в дательном падеже.
Это значение позволит получить следующая задача сценария "ФИО сотрудника в дательном падеже", в конфигурации которого необходимо выбрать класс обработчика "Execute formula" ("Выполнить формулу"). В текстовое поле конфигурацию обработчика добавьте следующую формулу:
'ФИО сотрудника 3'=FIO_case_ru('ФИО сотрудника', 3, "F i o");
'ФИО сотрудника 3' - переменная, в которую будет сохранено ФИО в дательном падеже,
FIO_case_ru(fio, caseNumber, mode) - функция, склоняющая ФИО, имеет параметры:
Символы форматирования F, I и O заменяются на фамилию, имя или отчество в соответствующем падеже Символы форматирования f, i и o заменяются на первую букву фамилии, имени или отчества.
Т.е. данный обработчик сформирует Фамилию в дательном падеже, добавив к ней первую букву Имени и первую букву Отчества, например "Иванову И.И.".
Для облегчения вставки в конфигурацию переменных воспользуйтесь пунктом "Вставить переменную", соответственно для вставки функции используйте "Вставить функцию". Вставка производится в текущее положение курсора.
Для узла "Проверка данных для оформления служебной записки" создайте пользовательскую форму с компонентами
как показано на Рис.2.09а.
Как видно из Рис.2.01, этот узел имеет 2 исходящих соединения: "Ошибка" и "Правильно". При обнаружении ошибки процесс будет завершён и Руководитель может снова его запустить для подачи служебной записки с правильными данными.
Следующая задача сценария (Рис.2.09) - это "Определение текущей даты". Здесь также используется обработчик "Execute formula" ("Выполнить формулу").
Конфигурация имеет следующее выражение
'Текущая дата' = current_date();
Функция current_date определяет текущую дату и сохраняет результат в переменную "Текущая дата".
Следующая задача сценария "Генерация служебной записки" создаст файл служебной записки.
Предварительно в редакторе Word-файлов (они имеют расширение .DOCX) необходимо создать файл с шаблоном служебной записки, вид которого изображён на Рис.2.10.
При выполнении экземпляра бизнес-процесса обработчик заменит выражения вида ${Переменная} на текущие значения одноимённых переменных из процесса в формате, определенном в среде разработки.
Кроме ранее рассмотренных переменных, тут также используется поле fullName, определяющее ФИО пользователя (в именительном падеже) роли Руководитель (как свойство объекта Руководитель).
Сохраните шаблон и закройте редактор Word-файлов.
Далее откройте меню конфигурирования узла-сценария "Генерация служебной записки". В качестве класса обработчика выберите - "Word handler". Заполните поля как показано на Рис.2.11.
Для того, чтобы привязать к данной конфигурации созданный нами файл с шаблоном служебной записки, выберите кнопку "Выбрать файл". Откроется файловое меню, в котором надо будет найти и выбрать созданный шаблон. Сохраните созданную конфигурацию ("update" + синяя дискета). В результате содержимое файла будет включено в контент процесса и меню примет окончательный вид (Рис.2.11).
Отконфигурируйте файловую переменную "Служебная записка" как показано на Рис.2.12.
Это будет единственное поле на форме (Рис.2.13).
Т.е. на данной форме Руководитель получит ссылку на файл служебной записки, которую необходимо подписать и отдать в бумажном виде в отдел кадров.
Задание "Получить подписанную служебную записку на премию сотруднику" предназначено для фиксации факта получения бумажной служебной записки от Руководителя. Здесь важем сам факт прохождения документа, который и фиксируется фактом выполнения данного задания. Поэтому форма этого узла-действия не имеет полей.
Расположите 4 компоненты "Отобразить переменную". Для отображения роли "Руководитель" (будет выведено ФИО Руководителя), переменных "ФИО сотрудника", "Размер премии" - используйте форму отображения "Как строку". Для отображения переменной "Описание выполненных работ" используйте в качестве формы отображения вариант "Как неактивный компонент ввода".
Добавьте компонент для ввода переменной "Комментарий директора".
В этой форме Директор рассматривает заявку, вводит комментарии и одобряет или отказывает в премировании.
Сделайте отображение значений переменных "ФИО сотрудника", "Размер премии", "Описание выполненных работ", "Комментарий директора". При этом для строковых переменных используйте отображение "Как строка", для текстовых переменных - "Как неактивный компонент ввода".
В появившемся окне введите название "Начисление" (не более 16 символов):
Будет создана новая композиция и привязана к этому узлу-композиции.
Проинициализируйте задачи ролями в соответствии с Рис.2.19.
Для задачи сценария "Сгенерировать текст приказа" выберите класс обработчика "Выполнить формулу".
Используйте следующую конфигурацию для данного обработчика:
'Текст приказа о премировании'="Начислить сотруднику " + 'ФИО сотрудника 3' + " премию за высокие достижения в работе в сумме " + 'Размер премии' + " руб."
Здесь используются переменные: 'Текст приказа о премировании' , 'ФИО сотрудника 3' и 'Размер премии' .
Далее, нажав правую кнопку на узле-сценарии, вызовите меню конфигурирования сценария. Заполните поля, как показано на Рис.2.24, и выберите кнопку "Выбрать файл". Откроется файловое меню, в котором надо выбрать файл с шаблоном приказа. Вернувшись с выбранным файлом в меню, выберите кнопку "update". Выбранный вами файл шаблона будет встроен в процесс. Именно после этого меню приобретёт окончательный вид, показанный на Рис.2.24.
Чтобы вставить в форму заголовок "Вам необходимо подойти в Отдел кадров и ознакомиться с приказом под подпись", выберите ссылку "edit" поля "html code" и вставьте этот текст как заголовок второго уровня в начале текста. Выберите ссылку "update" для сохранения.
Теперь в поле "html code" поменяйте местами блоки кода, относящиеся к полям "Приказ" и "Струдник" (Рис.2.27). Выберите ссылку "update" для сохранения внесённых правок. Обратите внимание, что порядок полей в списке тоже изменился.
Создайте в форме недостающие поля, в поле "html code" удалите заголовок и отстройте порядок полей как показано на Рис.2.28. Сохраните композицию (синяя дискета).
Разрешите для группы "Сотрудники" вход в систему (см. "Практикум. Вводное занятие", [выполнения работы] пункты 7-9, Рис. 5.7 - 5.9 ).
Дайте полномочия группе "Сотрудники" на чтение на всех созданных пользователей (см. "Практикум. Вводное занятие", Порядок выполнения работы, Пункты 12-13, Рис. 5.12-5.13).
После стартового ввода данных "Паучков" получит задачу "Проверка данных для оформления служебной записки" (Рис.2.31а).
Если данные введены правильно, "Паучков" должен выбрать кнопку "Правильно" для продолжения процесса.
Далее "Паучков" получит задачу "Подписать служебную записку и передать её в отдел кадров". Откройте задание, нажмите на ссылку "Служебная записка о начислении премии.docx", скачайте/откройте сформированную с помощью обработчика "Word handler" на основе шаблона служебную записку (Рис.2.32).
Распечатайте служебную записку. Выполните задание.
Параллельно "Отдел кадров" получает задание "Получить подписанную служебную записку на премию сотруднику".
Войдите в систему под пользователем, входящим в группу "Отдел кадров", например, "Личинкин". Возьмите задачу на выполнение и исполните её (Рис.2.33).
Член группы "Директор" (в нашем случае это пользователь Стрекозин) получает задание "Рассмотреть заявку на премию".
Войдите в систему под пользователем "Стрекозин", возьмите задание на выполнение, введите комментарий и одобрите заявку на премию (Рис. 2.34).
Руководитель (Паучков) получит задание "Ознакомиться с сообщением о согласии", параллельно с этим будет запущена композиция "Издание приказа и начисление премии", в которой "Отделу кадров" поступит задание "Издать приказ о премировании".
Войдите в систему под пользователем "Паучков", выполните активное задание (Рис.2.35).
Войдите в систему под пользователем "Личинкин", входящим в группу "Отдел кадров", возьмите на выполнение задание, введите "Номер приказа" и выполните задачу (Рис.2.36).
Войдите в систему под пользователем "Сверчков", откройте задание "Ознакомиться с приказом".
Нажмите ссылку на сгенерированный с помощью Word сценария файл "Приказ.docx"
Распечатайте сгенерированный сценарием документ. Завершите запущенный экземпляр бизнес-процесса, последовательно выполнив соответствующие задания под пользователями Личинкин (входит в группу Отдел кадров), Бражникова (входит в группу Бухгалтеры) и Сверчков (сотрудник, которому начисляется премия).
Задание для самостоятельной работы
Разработайте бизнес-процесс "Пример 05-2", схема которого изображена на Рис.2.39.
Для генерации приказа на отпуск используйте тот же шаблон для документа "Приказ", который был использован в процессе "Пример 05-1".
"Заявление на отпуск" должно формироваться в задаче сценария с помощью обработчика "Word handler". При этом создайте новый шаблон для документа "Заявление на отпуск" непосредственно в процессе.
В задании "Введите номер приказа на отпуск" кроме непосредственно ввода номера приказа также необходимо расположить компонент "Выбор из членов группы", необходимый для формирования на форме списка пользователей группы "Директор и заместители". Соответственно роль Директор будет проинициализирована выбранным из списка пользователем.
В компоненте форм "Выбор из членов группы" в качестве параметра "Группа" можно использовать предварительно созданную переменную формата "Группа", проинициализированную значением "Директор и заместители" (Подобный пример см. в Практическое занятие "Изучение перспективы данных", Порядок выполнения работы, Пункт 6, Рис. 4.16).
Используйте задачи сценария для определения и формирования:
• ФИО сотрудника • Даты запуска процесса • Даты ввода номера приказа • ФИО директора • ФИО сотрудника в необходимом падеже • Текста приказа.
В бизнес-процессе "Пример 05-2" должны быть автоматически сгенерированы документы "Заявление на отпуск" и "Приказ на отпуск".
Документ "Заявление на отпуск" должен содержать:
• ФИО Сотрудника • Даты начала и окончания отпуска • Дату заявления (совпадает с датой запуска бизнес-процесса).
Документ "Приказ" должен содержать:
• Номер приказа • Текст приказа с ФИО сотрудника в необходимом падеже, с датами начала и окончания отпуска • Дату приказа (совпадает с датой ввода номера приказа сотрудником отдела кадров) • ФИО Сотрудника • ФИО Директора.
Замечание. В отличие от приказа из процесса "Пример 05-1", в данном приказе на отпуск используется дата, совпадающая с датой ввода номера приказа сотрудником отдела кадров, а не с датой запуска бизнес-процесса.
Замечание. В бизнес-процессе необходимо проверять, что дата начала отпуска была не позже даты окончания. Учитывая отсутствие в версии RunaWFE валидаторов полей форм, необходимо самостоятельно достроить этот бизнес-процесс.
Требования к представлению результатов занятия
В результате выполнения лабораторной работы должны быть представлены преподавателю отчет, файл с данными archive.datafile (как получить файл данных), содержащий разработанные на занятии бизнес-процессы.
В отчете должны содержаться следующие выходные данные:
- Скриншоты основных действий, совершенных на занятии, с пояснениями
- Скриншоты, содержащие маршруты точек управления для экземпляров бизнес-процессов, доведенных до завершения
- Скриншоты, содержащие созданные на занятии роли, переменные, основные формы
- Описание возникших при выполнении задания проблем и найденных путей их решения (не обязательно, только если возникли проблемы при выполнении задания).
Контрольные вопросы
- Где задается имя файла, в который будет помещен сгенерированный документ?
Практическое занятие 06: "Работа с MS Excel-документами"
Целью занятия является изучение работы с MS Excel-документами.
Необходимые теоретические сведения изложены в разделе "Стандарты и концепции, связанные с СУБПиАР".
Порядок выполнения работы
В данном занятии рассматривается работа с MS Excel-файлами и разработка бизнес-процессов, использующих сценарии для записи и чтения из Excel-файла.
- Зайдите в систему Runa-WEB под учётной записью Administrator.
- Создайте в разделе «Редактор процессов» новый проект - "Занятие 06" (Подробнее см. "Практикум. Вводное занятие", Порядок выполнения работы, Пункт 16, Рис 5.15).
- Создайте в нём новый бизнес-процесс "Пример 06-1".
- Добавьте элементы на схему бизнес-процесса в соответствии с Рис.3.01. Используйте элементы:
- Создайте роли.
- Создайте переменные для бизнес-процесса "Пример 06-1" согласно Рис.3.02.
- Создайте формы.
- Создайте обработчик. Выберите класс обработчика "Execute formula" ("Выполнить формулу") в задаче сценария "Определение даты создания документа" (см. Практическое занятие "03 Изучение перспективы данных", Порядок выполнения работы, Пункт 8, Рис. 4.39, 4.40).
- Выберите класс и сконфигурируйте обработчик для узла-сценария "Сохранить данные в Excel-документе". Для этого щёлкните правой кнопкой по этому узлу и выберите в выпавшем меню пункт "Configure script" ("Скофигурировать обработчик") (Рис.3.10а).
- Добавить ячейку
- Добавить горизонтально
- Добавить вертикально,
- входной файл - это файл шаблона, на основе которого будет создан выходной 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 будут записаны значения списковой переменной "перечень дисциплин", причём элементы списка будут располагаться вертикально, следующий под предыдущим.
- В разделе script будет автоматически сформирован скрипт формирования значений параметров.
- Сохраните процесс.
- Произведите деплой процесса. (Подробнее см. "Практикум. Перспективы исполнимых бизнес-процессов", Практическое занятие "01 Изучение перспективы потока управления", Порядок выполнения работы, Пункт 11-14).
- Войдите в систему под пользователем Administrator, пароль – wf.
- Дайте полномочия группе "Преподаватели" на запуск и чтение процесса и чтение экземпляра процесса "Пример 06-1".
- Войдите в систему под пользователем, входящим в группу "Преподаватели", например "Стрекозин", пароль - 123.
- Запустите экземпляр бизнес-процесса "Пример 06-1". Введите данные на стартовой форме, например:
- Завершите процесс.
- Запустите среду разработки.
- Создайте новый бизнес-процесс "Пример 06-2".
- Добавьте элементы на схему бизнес-процесса в соответствии с Рис.3.21.
- Создайте роль Студент. Выберите данную роль для стартового узла и узлов-действий.
- Создайте переменные. В данном процессе используются те же переменные, что и в процессе "Пример 06-1", за исключением переменной "полученный excel файл".
- Создайте формы. Создайте форму "Выполнить задание перед чтением из Excel-документа" вида, представленного на Рис.3.23.
- Создайте обработчик. Выберите класс обработчика "Excel Read handler" в задаче сценария "Прочесть данные из файла".
- Сохраните бизнес-процесс.
- Экспортируйте бизнес-процесс "Пример 06-2" в раздел "Запустить процесс", используя команду Deploy.
- Войдите в систему под пользователем Administrator, пароль –wf.
- Дайте права "Чтение", "Запуск", "Чтение экземпляра" на процесс "Пример 06-2" для группы "Группа МИБ-1".
- Войдите в систему под пользователем, входящим в группу "Группа МИБ-1", например "Гусеницын".
- Запустите экземпляр бизнес-процесса "Пример 06-2" и доведите его до завершения. В задании "Просмотреть данные, считанные из Excel-документа", будут выведены данные, считанные из встроенного в процесс файла, в переменные процесса (Рис.3.26).
• Начало • Действие • Задача сценария • Окончание.
(Подробнее см. Практическое занятие "05 Работа с Word-документами", Порядок выполнения работы, Пункт 1, Замечание, Рис. 2.2).
В данном процессе используется единственная роль:
● "Преподаватель" - роль будет инициализирована пользователем, запустившим процесс.
Выберите для узлов роли в соответствии с Рис.3.01.
Замечание. Обратите внимание на переменную "перечень дисциплин", имеющую формат "Список(Строка)". При создании переменной типа "Список" в интерфейсе выбора формата также необходимо будет выбрать и формат элементов списка ("Строка" в данном случае) (Рис.3.03).
Сначала создайте пользовательскую стартовую форму "Ввести данные для сохранения в Excel-документе" вида, представленного на Рис.3.04 (Подробнее см. Практическое занятие "03 Изучение перспективы данных", Порядок выполнения работы, Пункт 6, Рис. 4.11-4.12).
Напротив строки "Специальность" расположите компонент "Ввод переменной" для переменной - "специальность"
(Подробнее см. Практическое занятие "Изучение перспективы данных", Порядок выполнения работы, Пункт 6, Рис. 4.21-4.22).
Аналогично добавьте компонент для ввода переменной "номер курса".
Используйте компонент "Редактировать связанные списки" для переменной "перечень дисциплин".
Размещённые компоненты снабдите надписями:
● "Специальность" ● "Номер курса" ● "Перечень дисциплин".
Добавьте валидаторы для переменных внизу формы:
● "специальность" - обязательное поле ● "перечень дисциплин" - обязательное поле ● "номер курса" - обязательное поле.
Создайте пользовательскую форму для задания "Просмотреть данные перед сохранением в Excel-документе" вида, представленного на Рис.3.05.
На этой форме отображаются данные, введенные в стартовом узле.
Для переменных "Специальность" и "Номер курса" для компонента "Display variable" ("Отобразить переменную") используется форма отображения "string" ("Как строку") (Рис.3.06).
Для вывода списка "перечень дисциплин" используйте компонент "Display linked lists" ("Отобразить связанные списки").
Создайте пользовательскую форму "Получить созданный Excel-документ", на которой отобразите ссылку для скачивания созданного Excel-файла.
Используйте компонент "Display variable" ("Отобразить переменную") для файловой переменной "полученный excel файл".
В качестве конфигурации используйте скрипт "'дата создания документа'=current_date();". Таким образом с помощью функции current_date() будет определена текущая дата и сохранена в переменную "дата создания документа".
В появившемся интерфейсе из выпадающего списка "Handler" выберите обработчик "Excel Save Handler" (Рис.3.11). На экране появятся соответствующие этому обработчику параметры.
В поле "Input file" выбираем значение "Файл в процессе" (то есть файл шаблона, локализованный в процессе).
Следующим шагом создайте файл шаблона template.xlsx (Рис.3.12).
Теперь в интерфейсе, изображённом на Рис.3.11, выберите кнопку "Выбрать файл". На экран будет выдан интерфейс выбора файла из дерева файлов. Необходимо в нём найти созданный только что файл шаблона template.xlsx и его загрузить. После этого выберите кнопку update (Рис.3.13).
В разделе "Output file" определите параметры как показано на Рис.3.14.
Используя ссылки:
определите структуру данных выходного файла, приведенную на Рис.3.15.
На Рис.3.15 действуют обозначения:
Нажмите "Запустить", выполните полученное задание "Просмотреть данные перед сохранением в Excel-документе".
Сценарий "Сохранить данные в Excel-документе" выполнит задачу "Записать данные в файл". Значения переменных можно увидеть, открыв экземпляр запущенного процесса (Рис.3.18).
Будет получено задание со ссылкой на созданный Excel-файл. Выберите эту ссылку:
Будет загружен file.xlsx. Сохраните его на C:\. Откройте файл.
Как видно из Рис.3.20, полученный файл соответствует шаблону заданной конфигурации задачи сценария, а также содержит введенные пользователем данные.
Здесь используются те же элементы, что и в процессе "Пример 06-1".
Задаче сценария дайте название "Прочесть данные из файла", используйте опцию "Компактный вид".
Создайте форму "Просмотреть данные считанные из Excel-документа" вида, представленного на Рис.3.24.
Используйте компонент "Отобразить переменную" для переменных: "специальность", "номер курса", "дата создания документа".
Используйте компонент "Отобразить связанные списки" для переменной "перечень дисциплин".
Используйте конфигурацию, представленную на Рис.3.25.
Считанные по соответствующим адресам значения будут сохранены непосредственно в переменные бизнес-процесса "Пример 06-2".
Требования к представлению результатов занятия
В результате выполнения лабораторной работы должны быть представлены преподавателю отчет и файл с данными archive.datafile (как получить файл данных), содержащие разработанные на занятии бизнес-процессы.
В отчете должны содержаться следующие данные:
1) Скриншоты основных действий, совершенных на занятии, с пояснениями.
2) Скриншоты, содержащие маршруты точек управления для экземпляров бизнес-процессов, доведенных до завершения.
3) Скриншоты, содержащие созданные на занятии переменные и основные формы.
Контрольные вопросы
- Где задается имя Excel-файла, в который обработчик будет записывать данные?
- Где задается имя Excel-файла, из которого обработчик будет читать данные?
Практическое занятие 07: "Задания для самостоятельной работы"
Цель работы
На основе представленных описаний одного из условных бизнес-процессов реализовать этот бизнес-процесс в системе RunaWFE.
Теоретические сведения
Необходимые для выполнения данной работы теоретические сведения содержатся в первых трех разделах первой части лабораторного практикума.
Порядок выполнения работы
Ниже представлено десять описаний условных бизнес-процессов. Требуется в соответствии с каждым описанием разработать бизнес-процесс в среде разработки системы RunaWFE, отладить разработанный бизнес-процесс и сдать бизнес-процесс преподавателю.
Общие замечания для всех заданий
Замечание 1
Схема разработанного бизнес-процесса должна умещаться на экране компьютера. Если схема не помещается на экране, то ее части надо выносить во внутренние или внешние подпроцессы.
Замечание 2
Рассмотрим ситуацию, в которой действие должно быть выполнено одновременно двумя пользователям - например, сотрудник должен расписаться в документе должностного лица. Интуитивная реализация такого сценария обычно соответствует последовательному расположению двух узлов на схеме бизнес-процесса, при этом исполнителем в первом узле является сотрудник, а во втором — должностное лицо. Практика показывает, что такое решение является неудачным, так как в этом случае в момент выполнения действия соответствующие задания не могут находиться в списках заданий обоих сотрудников. Поэтому на схеме бизнес-процесса узлы, в которых даются задания двум исполнителям, в данном случае должны располагаться не последовательно, а параллельно, то есть они должны находиться в параллельных ветках (Рис.4.01).
Замечание 3
По возможности надо использовать парные разделения и слияния. Нотация BPMN позволяет использовать в схемах бизнес-процессов элементы разделения без парных им элементов - слияний. В этом случае для удаления выполнивших свою задачу точек управления можно использовать элемент - завершение потока управления. Однако предпочтительной схемой является схема с парными разделениями и слияниями. Такие схемы, несмотря на большее число содержащихся в них элементов, являются более понятными бизнес-аналитику, потому что участок схемы между разделением и парным ему слиянием можно мысленно декомпозировать и таким образом разделить схему бизнес-процесса на две более простых.
Замечание 4
Разделения и парные им слияния должны быть расположены на одной (горизонтальной или вертикальной) линии, причем на этой оси должны быть только два этих элемента, остальные парные элементы должны располагаться на других (параллельных друг другу) осях. В этом случае на схеме бизнес-процесса для одного элемента можно легко найти парный ему элемент.
Замечание 5
Желательно, чтобы линии переходов, соответствующих одновременно выполняющимся потокам действий, были параллельными, т.к. это увеличивает понятность схемы.
Замечание 6
Использовать элементы «окончание бизнес-процесса» предпочтительнее, чем элементы «завершение потока управления» (в тех случаях, когда это возможно), так как это упрощает бизнес-аналитику анализ схемы выполняющегося экземпляра бизнес-процесса с нанесенными на нее точками управления. В момент прихода точки управления в элемент «окончание бизнес-процесса» экземпляр бизнес-процесса сразу завершается. В случае же использования элементов «завершение потока управления» бизнес-аналитику приходится затрачивать больше усилий для того, чтобы следить за тем, чтобы все точки управления пришли в элементы «окончание бизнес-процесса».
При этом в подпроцессах и мультиподпроцессах завершение их происходит именно через элемент «завершение потока управления». При этом точка управления передаётся в родительский процесс. Использование элементов «окончание бизнес-процесса» в подпроцессах и мультиподпроцессах среда разработки не допускает.
Замечание 7
Практика эксплуатации СУБП на предприятиях показывает, что роли должностных лиц (например, Бухгалтер, Инспектор кадровой службы) соответствуют ответственным сотрудникам, а роли "Сотрудник" и "Подавший заявку" - гораздо менее ответственным сотрудникам, которые могут неделями не отмечать выполнение заданий. Поэтому требуется так составить схему бизнес-процесса, чтобы в таких случаях задание типа "ознакомиться с ..." у этих сотрудников было, но чтобы его невыполнение не останавливало дальнейшее выполнение бизнес-процесса. То есть эта задача и остальные шаги бизнес-процесса должны выполняться в параллельных ветках.
На Рис.4.02 показан пример неправильной схемы, в котором задача (в меньшем овале) останавливает выполнение блока действий (указанного в большем овале).
На Рис.4.03 также показан пример неправильной схемы, в котором задача "Ознакомиться с положительным решением" в некоторых случаях останавливает издание приказа.
На Рис.4.04 показан пример правильной схемы, в котором задачи ознакомления и задачи сотруднику не приводят к остановке дальнейшего выполнения бизнес-процесса.
Замечание 8
В заданиях настоящего занятия используется страница описания бизнес-процесса. Если эта страница задана в определении бизнес-процесса, то она открывается при клике на строку описания бизнес-процесса в web-интерфейсе системы (Рис.4.05).
При щелчке на "Строку описания" открывается форма описания бизнес-процесса (Рис.4.06).
Задать форму описания бизнес-процесса можно в среде разработки. Делается это следующим образом:
В свойствах определения бизнес-процесса заполняется поле "Значение" для свойства "Описание" (Рис.4.07).
Чтобы его отредактировать, надо выбрать иконку с тремя горизонтальными точками правее от поля (Рис.4.08).
После экспорта этого бизнес-процесса на ВЕБ-приложение значение свойства "Описание" будет видно в поле "Описание" в таблице раздела "Запустить процесс" (Рис.4.09).
Задания по разработке бизнес-процессов
Задание по разработке бизнес-процесса "Ежегодный отпуск"
1. Возможное содержание страницы описания бизнес-процесса (не обязательно)
Оплачиваемый отпуск предоставляется ежегодно.
2. Описание последовательностей действий в бизнес-процессе
Если сотрудник собирается пойти в отпуск, то запускает бизнес-процесс на выполнение. В появившейся стартовой форме надо ввести требуемые данные: ввести даты начала и окончания отпуска, причину и комментарий.
После выбора команды "Запустить" будет создан новый экземпляр бизнес-процесса.
Следующее задание «Рассмотреть заявку на отпуск» получит руководитель сотрудника (руководитель определяется отношением "Руководитель"). Руководитель одобряет или не одобряет заявку. Подавший заявку сотрудник знакомится с решением руководителя. Если решение руководителя было отрицательным, то далее процесс завершается.
Если решение руководителя было положительным, то следующее задание «Проверить соблюдение технологий и законов» получит инспектор кадровой службы (определяется членством в группе "Инспекторы КС"). В содержащейся в задании форме он отмечает, соблюдены ли законы и технологии (то есть, положен ли сотруднику ежегодный отпуск в соответствии с договором, заключенным с предприятием, не отгулял ли уже сотрудник все положенные дни отпуска за текущий год и т.п.).
Если законы или технологии не соблюдены, то бизнес-процесс сообщает руководителю сотрудника и самому сотруднику, подавшему заявку, о несоблюдении технологий. Далее процесс завершается. Если законы и технологии соблюдены, то сотрудник получает задание "Ознакомиться с подтверждением ежегодного отпуска", и инспектору кадровой службы направляется задание "Издать приказ". В форме задания "Издать приказ" инспектор кадровой службы вводит номер приказа (значение типа строка). После выполнения задания инспектором кадровой службы Word-сценарий получает задание "Сгенерировать приказ на ежегодный отпуск".
Приказ должен содержать:
- В верхней части листа - название условной компании
- Фразу "Приказ номер"
- Справа от этой фразы - значение "номер приказа", введенное инспектором кадровой службы"
- слово "от"
- Справа от этого слова - дату запуска экземпляра бизнес-процесса
- Далее - "Предоставить сотруднику" ФИО сотрудника "ежегодный основной оплачиваемый отпуск"
- Далее - "с" дата начала отпуска, введенная на стартовой форме
- Далее - "по" дата окончания отпуска, введенная на стартовой форме
- Далее - место для подписи Генерального директора (несколько знаков подчеркивания), ФИО условного генерального директора компании, дата запуска экземпляра бизнес-процесса
- Внизу - "С приказом ознакомлен", место для подписи сотрудника (несколько знаков подчеркивания), ФИО сотрудника, дата запуска экземпляра бизнес-процесса.
Далее Word-сценарий получает задание "Сгенерировать заявление на ежегодный отпуск".
Заявление должно содержать:
- В верхней части листа "Генеральному директору" - название условной компании, ФИО условного Генерального директора, "от сотрудника"
- ФИО уходящего в отпуск сотрудника
- Фразу "Заявление"
- На следующей строке "Прошу предоставить мне ежегодный основной оплачиваемый отпуск с", дата начала отпуска, введенная на стартовой форме, "по", дата окончания отпуска, введенная на стартовой форме
- Внизу - ФИО сотрудника, место для подписи сотрудника (несколько знаков подчеркивания), дата запуска экземпляра бизнес-процесса.
После выполнения этих заданий Word-сценарием сотрудник должен выполнить задачу «Сдать в КС заявление и подписать приказ». В форме этого задания должна быть ссылка для загрузки сформированного сценарием документа "Заявление на ежегодный отпуск". Инспектору кадровой службы направляется задача «Получить заявление и подпись на приказе». В форме этого задания должна быть ссылка для загрузки сформированного сценарием документа "Приказ на ежегодный отпуск". После выполнения этого задания бизнес-процесс должен дождаться момента времени за две недели до начала отпуска, после этого задание "Выплатить отпускные" получает бухгалтер (определяется членством в группе "Бухгалтеры").
После выполнения всех заданий бизнес-процесс завершается.
Замечание. В бизнес-процессе необходимо проверять, что дата начала отпуска не позже даты окончания.
Задание по разработке бизнес-процесса "Больничный"
1. Возможное содержание страницы описания бизнес-процесса (не обязательно)
Это отсутствие на работе в связи с болезнью, факт которой может быть подтвержден правильно оформленным больничным листом.
2. Описание последовательностей действий в бизнес-процессе
Если сотрудник заболел, то он или какой-то другой сотрудник запускает на выполнение бизнес-процесс "Больничный".
В появившейся стартовой форме он вводит данные: выбирает из списка (список соответствует членам группы "Все сотрудники") заболевшего сотрудника, вводит дату начала болезни, причину и комментарий.
После выбора команды "Запустить" создается новый экземпляр бизнес-процесса "Больничный".
Следующее задание получает инспектор кадровой службы (определяется членством в группе "Инспекторы КС"). Задание называется "Проверить соблюдение технологий и законов". В содержащейся в задании форме он отмечает, соблюдены ли законы и технологии (то есть, положен ли больничный лист сотруднику в соответствии с договором, заключенным с предприятием).
Если законы или технологии не соблюдены, то подавшему заявку направляется уведомление об отказе регистрации заявки на больничный и далее бизнес-процесс завершается.
Если законы и технологии соблюдены, то подавший заявку уведомляется о регистрации заявки на больничный, руководитель сотрудника (руководитель определяется отношением "Руководитель") уведомляется о болезни сотрудника, сотруднику направляется задание "Сообщить о выздоровлении и выходе на работу". Бухгалтер (определяется членством в группе "Бухгалтеры") получает задание "Отразить факт болезни сотрудника в бухучете".
После выхода сотрудника на работу после болезни инспектору кадровой службы направляется задание "Получить от сотрудника больничный", а сотруднику направляется задание "Отдать в КС больничный". В задании задания "Получить от сотрудника больничный" инспектор кадровой службы вводит дату окончания больничного.
После выполнения задания "Получить от сотрудника больничный" инспектором кадровой службы Word-сценарий получает задание "Сгенерировать справку о болезни сотрудника".
Справка должна содержать:
- В верхней части листа - название условной компании
- Фразу "Справка о болезни сотрудника"
- Далее - ФИО сотрудника
- Далее - "Начало болезни" дата начала болезни, введенная на стартовой форме
- Далее - "Окончание болезни" дата окончания болезни, введенная инспектором КС в задании "Получить от сотрудника больничный"
- Далее - место для подписи бухгалтера (несколько знаков подчеркивания).
После выполнения задания Word-сценарием, бухгалтер получает задание "Рассчитать больничный". Форма задания должна содержать сгенерированный Word-сценарием файл.
После выполнения всех заданий бизнес-процесс завершается.
Замечание. В бизнес-процессе необходимо проверять, что дата начала больничного не позже даты его окончания.
Задание по разработке бизнес-процесса "Командировка в другой регион"
1. Возможное содержание страницы описания бизнес-процесса (не обязательно)
Служебная командировка - поездка работника на определенный срок для выполнения служебного поручения вне места постоянной работы.
2. Описание последовательностей действий в бизнес-процессе
Бизнес-процесс начинается с того, что пользователь в стартовой форме заполняет данные, относящиеся к командировке:
- выбирает из списка (список соответствует членам группы "Все сотрудники") сотрудника, который отправляется в командировку
- вводит:
- дату начала командировки
- дату окончания командировки
- город
- организацию, в которую направляется сотрудник
- цель командировки
- причину
- комментарий
- данные для бухгалтера (стоимость билетов, гостиницы и т.п.; все данные для бухгалтера вводятся в одно текстовое поле).
После выбора команды "Запустить" создается новый экземпляр бизнес-процесса.
Далее задание «Рассмотреть заявку на командировку» направляется непосредственному руководителю отправляемого в командировку сотрудника (руководитель определяется отношением "Руководитель"). Руководитель одобряет или не одобряет командировку. В случае неодобрения заявки подавший заявку сотрудник знакомится с отрицательным решением руководителя, после чего бизнес-процесс завершается.
Если командировка одобрена, то подавший заявку сотрудник знакомится с положительным решением руководителя, инспектор кадровой службы (определяется членством в группе "Инспекторы КС") получает задание "Издать приказ".
В форме задания "Издать приказ" инспектор кадровой службы вводит номер приказа (значение типа "Строка"). После выполнения задания инспектором кадровой службы Word-сценарий получает задание "Сгенерировать приказ на командировку".
Приказ должен содержать:
- В верхней части листа - название условной компании
- Фразу "Приказ о направлении в командировку номер"
- Справа от этой фразы - значение "номер приказа", введенное инспектором кадровой службы"
- слово "от"
- Справа от этого слова - дату запуска экземпляра бизнес-процесса
- Далее - "Направить в командировку сотрудника" ФИО сотрудника "ежегодный основной оплачиваемый отпуск"
- "в г." город, введенный на стартовой форме
- "в организацию:" организация, введенная на стартовой форме
- "с целью:" цель, введенная на стартовой форме
- Далее - "с" дата начала командировки, введенная на стартовой форме
- Далее - "по" дата окончания командировки, введенная на стартовой форме
- Далее - место для подписи Генерального директора (несколько знаков подчеркивания), ФИО условного генерального директора компании, дата запуска экземпляра бизнес-процесса
- Внизу - "С приказом ознакомлен", место для подписи сотрудника (несколько знаков подчеркивания), ФИО сотрудника, дата запуска экземпляра бизнес-процесса.
Далее Word-сценарий получает задание "Сгенерировать командировочное удостоверение".
Командировочное удостоверение должно содержать:
- В верхней части листа - название условной компании
- Фразу "Командировочное удостоверение"
- ФИО сотрудника
- Организация
- Внизу:
- "Генеральный директор", название условной компании, место для подписи Генерального директора (несколько знаков подчеркивания), ФИО условного генерального директора компании
- "Работник", место для подписи сотрудника (несколько знаков подчеркивания), ФИО сотрудника
- Дата запуска экземпляра бизнес-процесса.
На следующей странице (обороте):
- "Отметки о выбытии в служебную поездку, прибытии в пункты назначения и выбытии из них и прибытии в место постоянной работы"
- Далее содержится таблица из четырех блоков
(из двух строк и двух колонок)
После выполнения этих заданий Word-сценарием командируемый сотрудник получает задание "Подписать приказ", инспектор кадровой службы получает задание "Получить подпись на приказе" (в форме этого задания должна быть ссылка для загрузки сформированного сценарием документа "Приказ на командировку").
После выполнения инспектором кадровой службы задания "Получить подпись на приказе", инспектор кадровой службы выдает сотруднику командировочное удостоверение: Инспектор получает задачу "Выдать командировочное удостоверение" (в форме этого задания должна быть ссылка для загрузки сформированного сценарием документа "Командировочное удостоверение"), Сотрудник получает задачу "Получить командировочное удостоверение" .
После выполнения задания "Выдать командировочное удостоверение" инспектором кадровой службы бухгалтер (определяется членством в группе "Бухгалтеры") получает задание "Ознакомиться с данными для бухгалтера", в этом задании бухгалтер знакомится с данными, которые были введены на стартовой форме (это требуется бухгалтеру, чтобы рассчитать сумму денег, которую ему надо будет выдать сотруднику).
Далее бухгалтер получает задачу "выдать деньги на командировку", сотрудник получает задание "Получить деньги на командировку". После выполнения задачи бухгалтером бизнес-процесс ждет момента окончания командировки ("Дата окончания командировки" плюс один день).
После этого сотрудник получает задание "Сдать в бухгалтерию документы", подтверждающие командировку, бухгалтеру направляется задание на получение этих документов.
После выполнения всех заданий бизнес-процесс завершается.
Замечание. В бизнес-процессе необходимо проверять, что дата начала командировки не позже даты её окончания.
Задание по разработке бизнес-процесса "Местная командировка"
1. Возможное содержание страницы описания бизнес-процесса (не обязательно)
Служебная командировка - поездка работника на определенный срок для выполнения служебного поручения вне места постоянной работы.
2. Описание последовательностей действий в бизнес-процессе
Бизнес-процесс начинается с того, что пользователь в стартовой форме заполняет данные, относящиеся к командировке: выбирает из списка (список соответствует членам группы "Все сотрудники") сотрудника, который отправляется в командировку, вводит дату, время начала, время окончания командировки, организацию, в которую направляется сотрудник, причину, комментарий. После выбора команды "Запустить" создается новый экземпляр бизнес-процесса. Далее задание «Рассмотреть заявку на командировку» направляется непосредственному руководителю отправляемого в командировку сотрудника (руководитель определяется отношением "Руководитель"). Руководитель одобряет или не одобряет командировку. Подавший заявку знакомится с положительным или отрицательным решением руководителя.
Если командировка одобрена, то бизнес-процесс проверяет, запущена ли командировка задним числом. Если командировка запущена задним числом, то задание «Утвердить заявку на командировку» получает руководитель отдела (определяется отношением "Руководитель отдела"), после чего подавший заявку знакомится с решением руководителя отдела. Если командировка подтверждена всеми необходимыми лицами, то Word-сценарий получает задание "Сгенерировать служебную записку на командировку".
Служебная записка должна содержать:
- Фразу "Служебная записка"
- Фразу "Прошу направить меня в местную командировку"
- Дату, время начала и время окончания местной командировки, введенные на стартовой форме
- Организацию и причину, введенные на стартовой форме
- Дату запуска экземпляра бизнес-процесса
- Место для подписи сотрудника (несколько знаков подчеркивания)
- ФИО сотрудника.
Далее сотрудник получает задание "Подписать и отдать служебную записку руководителю", в форме задания должна быть ссылка для загрузки сформированного сценарием документа "Служебная записка".
Руководитель сотрудника получает задание "Получить служебную записку".
После выполнения всех заданий бизнес-процесс завершается.
Замечание. В бизнес-процессе необходимо проверять, что время начала командировки не позже времени её окончания.
Задание по разработке бизнес-процесса "Отгул"
1. Возможное содержание страницы описания бизнес-процесса (не обязательно)
Руководитель может предоставить сотруднику отгул в качестве поощрения за хорошую работу. Отгул дается не более чем на 4 часа рабочего времени.
2. Описание последовательностей действий в бизнес-процессе
Бизнес-процесс начинается с того, что сотрудник, желающий получить отгул, в стартовой форме заполняет данные: дату и время начала отгула (не может быть более чем на 30 дней в прошлом, если речь идёт о ранее предоставленном отгуле), количество часов отсутствия (целое положительное число, не может быть больше четырех). После выбора команды "Запустить" создается новый экземпляр бизнес-процесса.
Далее задание «Рассмотреть заявку на отгул» направляется непосредственному руководителю сотрудника (руководитель определяется отношением "Руководитель"). Руководитель одобряет или не одобряет отгул. Подавший заявку знакомится с решением руководителя.
Если отгул одобрен, то бизнес-процесс проверяет, затребован ли отгул задним числом. Если отгул затребован задним числом, то задание «Утвердить заявку на отгул» получает руководитель отдела (определяется отношением "Руководитель отдела"), после чего подавший заявку струдник знакомится с решением руководителя отдела.
Если отгул подтвержден всеми необходимыми лицами, то сотрудник получает сообщение об этом, Word-сценарий получает задание "Сгенерировать служебную записку на отгул".
Служебная записка должна содержать:
- Фразу "Служебная записка"
- Фразу "Прошу предоставить мне отгул"
- Дату, время начала и количество часов отгула, введенные на стартовой форме
- Дату запуска экземпляра бизнес-процесса
- Место для подписи сотрудника (несколько знаков подчеркивания)
- ФИО сотрудника.
Далее сотрудник получает задание "Подписать и отдать служебную записку руководителю", в форме задания должна быть ссылка для загрузки сформированного сценарием документа "Служебная записка".
Руководитель сотрудника получает задание "Получить служебную записку".
Если отгул не подтвержден, то соответствующие лица получают об этом сообщения.
После выполнения всех заданий бизнес-процесс завершается.
Задание по разработке бизнес-процесса "Отпуск по уходу за ребенком"
1. Возможное содержание страницы описания бизнес-процесса (не обязательно)
По заявлению женщины ей предоставляется отпуск по уходу за ребенком до достижения им возраста полутора/трех лет. Порядок и сроки выплаты пособия по государственному социальному страхованию в период указанного отпуска определяются федеральными законами.
2. Описание последовательностей действий в бизнес-процессе
Бизнес-процесс начинается с того, что пользователь в стартовой форме заполняет данные, относящиеся к отпуску по уходу за ребенком: выбирает из списка (список соответствует членам группы "Все сотрудники") сотрудника (сотрудницу), вводит даты начала и окончания отпуска, причину и комментарий. После выбора команды "Запустить" будет создан новый экземпляр бизнес-процесса.
Следующее задание «Проверить соблюдение технологий и законов» получит инспектор кадровой службы (определяется членством в группе "Инспекторы КС"). В содержащейся в задании форме он отмечает, соблюдены ли законы и технологии. Если законы или технологии не соблюдены, то подавшему заявку направляется уведомление об отказе регистрации заявки и далее бизнес-процесс завершается.
Если законы и технологии соблюдены, то руководитель (руководитель определяется отношением "Руководитель") уведомляется об уходе сотрудника в отпуск, одновременно с этим инспектор кадровой службы получает задачу «Издать приказ».
В форме задания "Издать приказ" инспектор кадровой службы вводит номер приказа (значение типа "Строка"). После выполнения задания инспектором кадровой службы Word-сценарий получает задание "Сгенерировать приказ на отпуск по уходу за ребенком".
Приказ должен содержать:
- В верхней части листа - название условной компании
- Фразу "Приказ номер"
- Справа от этой фразы - значение "номер приказа", введенное инспектором кадровой службы"
- слово "от"
- Справа от этого слова - дату запуска экземпляра бизнес-процесса
- Далее - "Предоставить сотруднику" ФИО сотрудника "отпуск по уходу за ребенком"
- Далее - "с" дата начала отпуска, введенная на стартовой форме
- Далее - "по" дата окончания отпуска, введенная на стартовой форме
- Далее - место для подписи Генерального директора (несколько знаков подчеркивания), ФИО условного генерального директора компании, дата запуска экземпляра бизнес-процесса
- Внизу - "С приказом ознакомлен", место для подписи сотрудника (несколько знаков подчеркивания), ФИО сотрудника, дата запуска экземпляра бизнес-процесса.
Далее Word-сценарием получает задание "Сгенерировать заявление на отпуск по уходу за ребенком".
Заявление должно содержать:
- В верхней части листа "Генеральному директору" - название условной компании, ФИО условного Генерального директора, "от сотрудника"
- ФИО уходящего в отпуск сотрудника
- Фразу "Заявление"
- На следующей строке "Прошу предоставить мне отпуск по уходу за ребенком с", дата начала отпуска, введенная на стартовой форме, "по", дата окончания отпуска, введенная на стартовой форме
- Внизу - ФИО сотрудника, место для подписи сотрудника (несколько знаков подчеркивания), дата запуска экземпляра бизнес-процесса.
После выполнения этих заданий Word-сценарием сотрудник должен выполнить задачу «Отдать в КС заявление и подписать приказ». В форме этого задания должна быть ссылка для загрузки сформированного сценарием документа "Заявление на отпуск по уходу за ребенком". Инспектору кадровой службы направляется задача «Получить заявление и подпись на приказе». В форме этого задания должна быть ссылка для загрузки сформированного сценарием документа "Приказ на отпуск по уходу за ребенком".
После выполнения этого задания инспектором кадровой службы бухгалтер (определяется членством в группе "Бухгалтеры") получает задание "отразить в бухучете отпуск по уходу за ребенком". Далее (после выполнения задачи бухгалтером) в качестве подпроцесса запускается бизнес-процесс "Оповещение о завершении отпуска". После выполнения подпроцесса и выполнения всех заданий бизнес-процесс завершается.
В бизнес-процесс "Оповещение о завершении отпуска" передаются данные отпуска по уходу за ребенком. После старта этот бизнес-процес ждет момента времени за две недели перед окончанием отпуска и далее передает управление в узел, в котором руководитель сотрудника получает задание ознакомиться с тем, что отпуск по уходу за ребенком подходит к концу. В этой форме также должны содержаться все данные, которые были введены на стартовой форме бизнес-процесса "Отпуск по уходу за ребенком" (и переданы в качестве параметров в подпроцесс).
Замечание. В бизнес-процессе необходимо проверять, что дата начала отпуска не позже даты его окончания.
Задание по разработке бизнес-процесса "Сдвиг графика работы"
1. Возможное содержание страницы описания бизнес-процесса (не обязательно)
График работы можно сдвигать, начиная с завтрашней даты и далее. График заполняется на неделю, но использоваться будут только данные за те дни недели, которые попадают в интервал сдвига графика.
2. Описание последовательностей действий в бизнес-процессе
Бизнес-процесс начинается с того, что Сотрудник, желающий изменить график работы, в стартовой форме заполняет данные: дату начала действия графика (она не может быть в прошлом или текущей датой, чтобы таким образом нельзя было ликвидировать уже произошедшие опоздания), дату окончания действия графика, причину, комментарий, таблицу приходов и уходов в офис и обеденных перерывов с полями:
- день недели (содержится в строке таблицы, не вводится пользователем, значения в строках таблицы - пн. вт. ср. чт. пт. сб. вс.)
- время прихода (вводится пользователем для каждой строки; если прихода в этот день не предполагается, то остаётся значение 00:00)
- время ухода (вводится пользователем для каждой строки; если прихода не предполагается, то остаётся значение 00:00)
- величина обеденного перерыва (выбор из списка: 30 минут, 1 час).
После выбора команды "Запустить" создается новый экземпляр бизнес-процесса. Далее задание «Рассмотреть заявку на сдвиг графика» направляется руководителю Сотрудника (руководитель определяется отношением "Руководитель").
Руководитель одобряет или не одобряет заявку.
Если решение руководителя отрицательно, то Сотрудник знакомится с отрицательным решением руководителя, далее бизнес-процесс завершается.
Если решение руководителя положительно, то Сотрудник знакомится с положительным решением руководителя, параллельно с этим заданием задание на утверждение заявки направляется руководителю руководителя Сотрудника. Руководитель руководителя также может подтвердить или не подтвердить заявку. Сотрудник и руководитель сотрудника знакомятся с положительным (или отрицательным) решением руководителя руководителя.
Если решение руководителя руководителя положительно, то Word-сценарий получает задание "Сгенерировать служебную записку на сдвиг графика".
Служебная записка должна содержать:
- Фразу "Служебная записка"
- Фразу "Прошу утвердить мой индивидуальный график работы для периода времени:"
- Даты начала и окончания действия графика работы, введенные на стартовой форме
- Таблицу введенных на стартовой форме приходов и уходов по дням недели
- Дату запуска экземпляра бизнес-процесса
- Место для подписи сотрудника (несколько знаков подчеркивания)
- ФИО сотрудника.
Далее сотрудник получает задание "Подписать и отдать служебную записку руководителю", в форме задания должна быть ссылка для загрузки сформированного сценарием документа "Служебная записка". Руководитель сотрудника получает задание "Получить служебную записку". После выполнения всех заданий бизнес-процесс завершается.
Замечание 1. В бизнес-процессе необходимо проверять, что дата начала действия графика не позже даты окончания действия графика, дата начала действия графика не может быть раньше завтрашней даты.
Замечание 2. В каждой строке таблицы время прихода должно быть меньше или равно времени ухода. Случай, когда время прихода и время ухода равны 00:00 соответствует запланированному отсутствию сотрудника в этот день в офисе компании.
Задание по разработке бизнес-процесса "Отпуск без сохранения зарплаты"
1. Возможное содержание страницы описания бизнес-процесса (не обязательно)
По семейным обстоятельствам и другим уважительным причинам работнику по его письменному заявлению может быть предоставлен отпуск без сохранения заработной платы, продолжительность которого определяется по соглашению между работником и работодателем.
2. Описание последовательностей действий в бизнес-процессе
В случае ухода сотрудника в отпуск без сохранения зарплаты, он запускает бизнес-процесс на выполнение.
В появившейся стартовой форме надо ввести требуемые данные: ввести даты начала и окончания отпуска, причину и комментарий.
После выбора команды "Запустить" будет создан новый экземпляр бизнес-процесса.
Следующее задание «Рассмотреть заявку на отпуск» получит руководитель сотрудника (руководитель определяется отношением "Руководитель"). Руководитель одобряет или не одобряет заявку. Если решение руководителя было отрицательным, то подавший заявку сотрудник знакомится с отрицательным решением руководителя, далее процесс завершается.
Если решение руководителя было положительным, то подавший заявку сотрудник знакомится с положительным решением руководителя, задание «Проверить соблюдение технологий и законов» получает инспектор кадровой службы (определяется членством в группе "Инспекторы КС"). В содержащейся в задании форме он отмечает, соблюдены ли законы и технологии.
Если законы или технологии не соблюдены, то бизнес-процесс сообщает руководителю и подавшему заявку сотруднику о несоблюдении технологий. Далее процесс завершается.
Если законы и технологии соблюдены, то бизнес-процесс отправляется на окончательное подтверждение и одобрение заявки директором (определяется членством в группе "Директор"). Если решение директора отрицательное, то сотрудник, руководитель и инспектор кадровой службы получают сообщения об этом, далее процесс завершается.
Если решение директора положительное – инспектору кадровой службы направляется задание "Издать приказ". В форме задания "Издать приказ" инспектор кадровой службы вводит номер приказа (значение типа строка). После выполнения задания инспектором кадровой службы Word-сценарий получает задание "Сгенерировать приказ на отпуск без сохранения зарплаты".
Приказ должен содержать:
- В верхней части листа - название условной компании
- Фразу "Приказ номер"
- Справа от этой фразы - значение "номер приказа", введенное инспектором кадровой службы"
- слово "от"
- Справа от этого слова - дату запуска экземпляра бизнес-процесса
- Далее - "Предоставить сотруднику" ФИО сотрудника "отпуск без сохранения зарплаты"
- Далее - "с" дата начала отпуска, введенная на стартовой форме
- Далее - "по" дата окончания отпуска, введенная на стартовой форме
- Далее - место для подписи Генерального директора (несколько знаков подчеркивания), ФИО условного генерального директора компании, дата запуска экземпляра бизнес-процесса
- Внизу - "С приказом ознакомлен", место для подписи сотрудника (несколько знаков подчеркивания), ФИО сотрудника, дата запуска экземпляра бизнес-процесса.
Далее Word-сценарий получает задание "Сгенерировать заявление на отпуск без сохранения зарплаты".
Заявление должно содержать:
- В верхней части листа "Генеральному директору" - название условной компании, ФИО условного Генерального директора, "от сотрудника"
- ФИО уходящего в отпуск сотрудника
- Фразу "Заявление"
- На следующей строке фразу "Прошу предоставить мне отпуск без сохранения зарплаты с", дата начала отпуска, введенная на стартовой форме, "по", дата окончания отпуска, введенная на стартовой форме
- Внизу - ФИО сотрудника, место для подписи сотрудника (несколько знаков подчеркивания), дата запуска экземпляра бизнес-процесса.
После выполнения этих заданий Word-сценарием сотрудник должен выполнить задачу «Сдать в КС заявление и подписать приказ». В форме этого задания должна быть ссылка для загрузки сформированного сценарием документа "Заявление на отпуск без сохранения зарплаты". Инспектору кадровой службы одновременно направляется задача «Получить заявление и подпись на приказе». В форме этого задания должна быть ссылка для загрузки сформированного сценарием документа "Приказ на отпуск без сохранения зарплаты".
После выполнения всех заданий бизнес-процесс завершается.
Замечание. В бизнес-процессе необходимо проверять, что дата начала отпуска не позже даты его окончания.
Задание по разработке бизнес-процесса "Сверхурочные"
1. Предлагаемое содержание страницы описания бизнес-процесса (не обязательно)
Сверхурочные работы проводятся только тогда, когда проведение данных работ в рабочее время нарушит нормальную работу офиса компании.
2. Описание последовательностей действий в бизнес-процессе
Бизнес-процесс начинается с того, что пользователь в стартовой форме заполняет данные, относящиеся к сверхурочным работам: выбирает из списка (список соответствует членам группы "Все сотрудники") сотрудника, которому предлагается выйти на сверхурочную работу, вводит дату, время начала, время окончания сверхурочных, причину, комментарий.
После выбора команды "Запустить" создается новый экземпляр бизнес-процесса. Далее задание "Рассмотреть предложение о сверхурочных работах" направляется сотруднику.
Сотрудник соглашается или не соглашается на сверхурочные работы. Подавший заявку знакомится с решением сотрудника. Если решение сотрудника было положительным, то задание «рассмотреть заявку на сверхурочные» направляется руководителю сотрудника (руководитель определяется отношением "Руководитель").
Руководитель одобряет или не одобряет сверхурочные. Подавший заявку струдник и выбранный сотрудник знакомятся с решением руководителя. Если руководитель одобрил заявку, то далее задание «Утвердить заявку» направляется в Директорат (определяется членством в группе "Директор и заместители").
Директорат утверждает или не утверждает заявку. Если Директорат не утвердил заявку, то происходит оповещение соответствующих лиц об этом и бизнес-процесс завершается. Если Директорат утвердил заявку, то бизнес-процесс ждет даты сверхурочных, после этого руководитель сотрудника получает задачу "Подтвердить выполнение сверхурочных" (руководитель выполняет это задание для того, чтобы подтвердить/не подтвердить, что сверхурочные работы действительно были выполнены). Если руководитель не подтвердил выполнение сверхурочных работ, то все ранее участвующие в бизнес-процессе лица получают уведомления об этом, и после выполнения задач уведомления бизнес-процесс завершается.
Если руководитель сотрудника подтвердил выполнение сверхурочных, то инспектор кадровой службы (определяется членством в группе "Инспекторы КС") получает задание "Издать приказ".
В форме задания "Издать приказ" инспектор кадровой службы вводит номер приказа (значение типа строка). После выполнения задания инспектором кадровой службы Word-сценарий получает задание "Сгенерировать приказ на сверхурочные работы".
Приказ должен содержать:
- В верхней части листа - название условной компании
- Фразу "Приказ о сверхурочных работах номер"
- Справа от этой фразы - значение "номер приказа", введенное инспектором кадровой службы
- слово "от"
- Справа от этого слова - дату запуска экземпляра бизнес-процесса
- Далее - "Привлечь к сверхурочным работам сотрудника" ФИО сотрудника
- Далее - "в период", время начала, время окончания, дата сверхурочных работ (введенные на стартовой форме)
- Далее - место для подписи Генерального директора (несколько знаков подчеркивания), ФИО условного генерального директора компании, дата запуска экземпляра бизнес-процесса
- Внизу - "С приказом ознакомлен", место для подписи сотрудника (несколько знаков подчеркивания), ФИО сотрудника, дата запуска экземпляра бизнес-процесса.
После выполнения этого задания Word-сценарием сотрудник получает задание "Подписать приказ на сверхурочные работы", инспектор кадровой службы получает задание "Получить подпись на приказе" (в форме этого задания должна быть ссылка для загрузки сформированного сценарием документа "Приказ на сверхурочные работы").
После выполнения задания "Получить подпись сотрудника на приказе" инспектором КС - бухгалтер (определяется членством в группе "Бухгалтеры") получает задание "Начислить деньги за сверхурочные".
Замечание. На стартовой форме бизнес-процесса надо проверять, что время начала сверхурочных меньше времени окончания сверхурочных.
Задание по разработке бизнес-процесса "Отсутствие по неизвестной причине"
1. Возможное содержание страницы описания бизнес-процесса (не обязательно):
Это оформление отсутствия сотрудника на работе, причина которого неизвестна.
2. Описание последовательностей действий в бизнес-процессе
В случае незапланированного отсутствия сотрудника его руководитель запускает бизнес-процесс на выполнение.
В появившейся стартовой форме он вводит данные: выбирает из списка (список соответствует членам группы "Все сотрудники") сотрудника, вводит дату начала отсутствия и комментарий.
После выбора команды "Запустить" создается новый экземпляр бизнес-процесса.
Далее запустившему бизнес-процесс руководителю направляется задание "Сообщить об окончании отсутствия".
После появления сотрудника на работе, запустивший процесс сотрудник должен выполнить это задание ("Сообщить об окончании отсутствия"). В форме задания надо ввести дату появления сотрудника на работе.
Далее процесс разделяется на две параллельные ветки.
В первой ветке сотруднику направляется задание "Написать объяснительную записку", в форме которого содержится текстовая область для ввода текста объяснительной записки. Это поле должно быть обязательным для ввода.
Далее Word-сценарий получает задание "Сгенерировать объяснительную записку по незапланированному отсутствию".
Объяснительная записка должна содержать:
- Фразу " Объяснительная записка по факту отсутствия на работе в период с"
- Дату начала отсутствия
- "по", дату окончания отсутствия
- Текст объяснительной записки, введенный в форме предыдущего узла-действия
- Текущую дату
- Место для подписи сотрудника (несколько знаков подчеркивания)
- ФИО сотрудника.
Далее сотрудник получает задание "Подписать и отдать объяснительную записку руководителю", в форме задания должна быть ссылка для загрузки сформированного сценарием документа "Объяснительная записка".
Руководитель сотрудника получает задание "Получить объяснительную записку".
Во второй ветке запустившему процесс направляется задание "Выбрать тип отсутствия". Это задание служит для облегчения запуска процесса, "покрывающего" незапланированное отсутствие (больничного, отпуска и т.д.), если интервал незапланированного отсутствия можно покрыть одним видом отсутствия. В форме содержится список выбора:
- Больничный
- Ежегодный отпуск
- Отпуск без сохранения зарплаты
- Другое отсутствие.
После выбора "покрывающего" отсутствия (кроме случая "Другое отсутствие") точка управления должна перейти в соответствующий покрывающему отсутствию подпроцесс, в этот подпроцесс должны быть переданы нужные для его дальнейшего исполнения данные из родительского процесса.
Далее запустившему бизнес-процесс руководителю направляется задание «Ознакомиться с сообщением о завершении процесса», после чего бизнес-процесс завершается.
Замечание 1. В бизнес-процессе необходимо проверять, что дата начала отсутствия сотрудника по неизвестной причине не позже даты его окончания.
Замечание 2. В качестве подпроцессов, запускаемых для покрытия незапланированного отсутствия, предполагается использовать бизнес-процессы, разрабатываемые другими студентами группы в рамках настоящего практикума. Начать надо с единственного варианта выбора "Другое отсутствие", к которому постепенно добавлять варианты вызова покрывающих подпроцессов.
Требования к представлению результатов занятия
В результате выполнения лабораторной работы должны быть представлены преподавателю отчет, шаблоны документов для Word-сценариев, файл с данными archive.datafile (как получить файл данных), содержащий разработанные на занятии бизнес-процессы.
В отчете должны содержаться следующие выходные данные:
- Скриншоты основных действий, совершенных на занятии, с пояснениями
- Скриншоты, содержащие маршруты точек управления для экземпляров бизнес-процессов, доведенных до завершения
- Скриншоты, содержащие созданные на занятии роли, переменные, группы пользователей, отношения, основные формы
- Описание возникших при выполнении задания проблем и найденных путей их решения (не обязательно, только если возникли проблемы при выполнении задания).
Ссылки
- Документация Runa WFE [официальный сайт проекта]. URL: https://runawfe.ru/rus/Документация
Необходимые доработки
- Необходимо актуализировать ссылки, переадресовав их на страницы из раздела "Cloud".
- Для обработчика "Word Handler" необходимо значение "Файл" параметра "Input file" переименовать на "Файл в процессе".