Практика процессного управления на свободном программном обеспечении

Работа с MS Word-ботом

Показывать лекцию целиком

Теоретические сведения

Необходимые теоретические сведения изложены в первой части лабораторного практикума в пункте "Концепция ботов и бот-станций" раздела "Стандарты и концепции, связанные с СУБПиАР".

Порядок выполнения работы

1. Запустите среду разработки

Создайте новый проект - Занятие 5

Создайте новый бизнес-процесс "Пример 5-1".

Используйте следующие элементы для создания бизнес-процесса в соответствии с рис. 10.1

  • Начало
  • Задача сценария
  • Действие
  • Параллельный шлюз
  • Исключающий шлюз
  • Подпроцесс
  • (рис 10.1) Схема бизнес процесса "Пример 5-1"

    Замечание: для "Задача сценария" используйте компактный вид, кликните на элементе правой клавишей мыши и выберите пункт "Опции - Компактный вид" (см. рис. 10.2), после чего элемент примет вид изображенный на рис. 10.1. Используйте данную опцию для всех 4 задач сценариев.

    (рис 10.2) Компактный вид для задач сценариев

    Создайте роли:

  • Руководитель
  • Сотрудник
  • Отдел кадров
  • Директор
  • Бухгалтер
  • Word бот
  • Далее выберите для узлов роли в соответствии с рис. 10.1

    Замечание. Роль "Руководитель" инициализируется в стартовом узле бизнес-процесса.

    2. Запустите симулятор. Войдите в web-интерфейс системы RunaWFE под пользователем Administrator.

    3. Создайте отношение "Руководитель" (См. пример создания отношения в пунктах 10-11 раздела "Практическое занятие "Изучение перспективы ресурсов", рис. 3.5, 3.6)

    Откройте отношение "Руководитель" и создайте пару "Паучков " - "Сверчков" (см. рис. 10.3)

    (рис 10.3) Отношение Руководитель

    Таким образом, Паучков руководитель Сверчкова.

    4. Создайте группы

  • Отдел кадров
  • Бухгалтеры
  • (см. Вводное занятие. Пункт 5, рис. 5.5).

    5. Инициализирйте роли "Директор", "Отдел кадров" и "Бухгалтер" с помощью соответствующих групп (директор, отдел кадров, бухгалтеры)

    Для этого вернитесь в среду разработки к разрабатываемому процессу, перейдите на вкладку Роли, выделите роль и нажмите на "Изменить". Используйте инициализацию с помощью групп (подробнее см. Практическое занятие "Изучение перспективы операций", Порядок выполнения работы, Пункт 13, рис. 9.13-9.14)

    6. Создайте переменные в соответствии с рис. 10.4

    (рис 10.4) Переменные бизнес-процесса

    Для переменной "Отношение" необходимо использовать значение по умолчанию, для этого выделите переменную и нажмите "Изменить", затем "Далее" Переключитесь на строку "Использовать значение по умолчанию", после чего в текстовое поле введите "Руководитель" (см. рис. 2.5).

    (рис 10.5) Ввод значения по умолчанию переменной (рис 10.6) Список переменных в случае установленного IE11

    7. Создайте форму для стартового узла "Подать заявку на премию"

    Замечание. По умолчанию в качестве редактора форм используется CKEditor4. Однако, в случае если у вас в системе установлен браузер Microsoft Internet Explorer устаревшей версии - 6 (IE6) или 7 (IE7), формы могут отображаться некорректно. В этом случае следует переключить редактор на FCKEditor2, Практическое занятие "Изучение перспективы данных", Пункт 6, рис. 8.9, рис. 8.10

    На данной форме Руководитель будет вводить данные (сотрудник, размер премии, выполненные работы) для подачи заявки на премию.

    (рис 10.7) Форма стартового узла

    Напротив строки "Сотрудник" расположите компонент форм "Выбрать пользователя по отношению с параметром". Данный компонент формирует список выбора пользователя по отношению, отфильтрованного по параметру отношения (при этом группы в список не попадают).

    Дважды кликните по добавленному на форму компоненту, далее в поле "Пользователь" выберите роль "Сотрудник".

    Поля "Название отношения" и "Параметр" необходимо заполнить с помощью переменных, для этого нажмите на кнопку "..." напротив поля, а затем кликните на ссылку "Выберите переменную" (см. рис. 10.8), после чего откроется список доступных для выбора переменных.

    В поле "Название отношения" выберите строковую переменную "Отношение", в качестве параметра выберите роль "Руководитель".

    Кроме того, используйте обратное отношение (см. рис. 10.9).

    (рис 10.8) Выбор переменной в качестве названия отношения (рис 10.9) Выбор пользователя по обратному отношению "Руководитель"

    Таким образом будет сформирован список выбора пользователя по отношению "Руководитель", при этом используем обратное отношение т.е. параметр роль "Руководитель" соответствует "левой" части в паре, в список же попадут пользователи из "правой части" (подробнее об отношениях см. в "Стандарты и концепции, связанные с СУБПиАР. Использование бинарных отношений для упрощения инициализации ролей").

    Напротив строки "Сумма" расположите компонент для ввода переменной "Размер премии" (см. рис. 10.10). Также разместите компонент для ввода переменной "Описание выполненных работ".

    (рис 10.10) Ввод переменной "Размер премии"

    Сохраните и закройте форму.

    8. Задайте валидацию для переменных и роли стартовой формы

    Для переменных "Размер премии" и "Описание выполненных работ" добавьте валидатор "обязательное поле" (см. Практическое занятие "Изучение перспективы операций", Пункт 15, рис. 9.27, 9.28).

    В форме валидации перейдите на вкладку Роли, и таким же образом, как и для переменных, добавьте валидатор "обязательное поле" для роли "Сотрудник" (см. рис. 10.11)

    (рис 10.11) Валидатор для роли "Сотрудник"

    Нажмите Finish и сохраните процесс.

    9. Настройте задачи сценариев

    Выделите первую задачу сценария, перейдите в свойства, здесь введите название - "ФИО сотрудника". Кликните на выбор класса обработчика и выберите из списка - обработчик "Получить информацию об исполнителе", нажмите ОК (см. рис. 10.12, рис. 10.13)

    (рис 10.12) Задача сценария "определение ФИО Сотрудника" (рис 10.13) Выбор класса обработчика

    Далее вызовите конфигурацию данного обработчика, выберите параметры "Исполнитель", "Формат", "Результат" в соответствии с рис. 10.14

    (рис 10.14) Конфигурация обработчика "Получить информацию об исполнителе"

    Данный обработчик определяет полное имя (ФИО) Сотрудника и сохраняет результат в строковую переменную "ФИО сотрудника", однако в служебной записке и приказе на премирование должно использоваться ФИО в "Дательном" падеже.

    Настройте следующую задачу сценария. Название - "ФИО сотрудника в дательном падеже", класс обработчика - "Выполнить формулу". Добавьте конфигурацию данного обработчика, следующего вида

    'ФИО сотрудника 3'=FIO_case_ru('ФИО сотрудника', 3, "F i o")

    'ФИО сотрудника 3' - переменная, в которую будет сохранено ФИО в дательном падеже,

    FIO_case_ru(fio, caseNumber, mode) - функция склоняющая ФИО, имеет параметры:

  • fio - фамилия, имя и отчество в именительном падеже (в нашем случае задана с помощью переменной 'ФИО сотрудника')
  • caseNumber - номер падежа от 1 до 6 (в нашем случае 3 - это Дательный падеж)
  • mode - строка форматирования
  • Символы F, I и O заменяются на фамилию, имя или отчество в соответствующем падеже.
    Символы f, i и o заменяются на первую букву фамилии, имени или отчества.

    т.е. данный обработчик сформирует Фамилию в дательном падеже, первую букву Имени и первую букву Отчества, например Иванову И.И.

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

    (рис 10.15) Получение ФИО сотрудника в дательном падеже

    Следующая задача сценария (см. рис. 10.16) - это "Определение текущей даты". Здесь также используется "Выполнить формулу" в качестве обработчика. Конфигурация имеет следующее выражение

    'Текущая дата' = current_date();

    функция current_date определяет текущую дату и сохраняет результат в переменную "Текущая дата"

    (рис 10.16) Определение текущей даты

    Следующая задача сценария будет генерировать файл служебной записки. Выделите задачу, дайте ей название "Генерации служебной записки", в качестве класса обработчика выберите - "Word: Формирование документа DOCX используя шаблон" (см. рис. 10.17)

    (рис 10.17) Задача "Генерировать служебную записку"

    Вызовите конфигуратор данного обработчика. В поле "Входной файл" выберите вариант - "Шаблон в процессе", выходной файл задайте с помощью файловой переменной "Служебная записка",а в поле "Имя файла" введите название файла служебной записки - "служебная записка о начислении премии.docx"

    (рис 10.18) Конфигуратор docx обработчика

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

    (рис 10.19) Шаблон служебной записки на премирование

    При выполнении обработчик заменит выражения вида ${Переменная} на значения переменных из процесса в формате, определенном в среде разработки. Кроме ранее рассмотренных переменных, тут также используется поле fullName, определяющее ФИО пользователя (в именительном падеже) роли Руководитель.

    Сохраните шаблон и закройте редактор word файлов.

    10. Создайте форму для узла "Подписать служебную записку и отдать ее в отдел кадров"

    Отобразите файловую переменную "Служебная записка"

    (рис 10.20) Форма "Подписать служебную записку и отдать ее в отдел кадров"

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

    11. Создайте форму для узла "Рассмотреть заявку на премию"

    (рис 10.21) Форма "Рассмотреть заявку на премию"

    Здесь расположите компоненты "Отобразить переменную". Для отображение роли "Руководитель" (будет выведены ФИО Руководителя), переменных "ФИО сотрудника", "размер премии" - используйте форму отображения "Как строку". Для отображения переменной "Описание выполненных работ" используйте в качестве формы отображения вариант "Как неактивный компонент ввода"

    Также добавьте компонент для ввода переменной "Комментарий директора"

    Здесь Директор рассматривает заявку, вводит комментарии и одобряет или отказывает в премировании.

    Для переменной "Комментарий директора" добавьте валидатор "обязательное поле"

    12. Создайте форму для узла "Ознакомиться с сообщением об отказе"

    (рис 10.22) Форма "Ознакомиться с сообщением об отказе"

    Сделайте отображение значений переменных "ФИО сотрудника", "Размер премии", "Описание выполненных работ", "Комментарий директора". При этом для строковых переменных используйте отображение "Как строка", для текстовых переменных - "Как неактивный компонент ввода"

    13. Создайте форму для узла "Ознакомиться с сообщением о согласии"

    Т.к. данная форма отличается от формы "Ознакомиться с сообщением об отказе" лишь заголовком, то можно воспользоваться функцией создания формы на основе существующей (Подробнее см. Практическое занятие "Изучение перспективы данных", Порядок выполнения работы, Пункт 6, рис. 8.27, рис. 8.28).

    (рис 10.23) Форма "Ознакомиться с сообщением о согласии"

    14. Создайте композицию "Издание приказа и начисление премии"

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

    Выделите на схеме элемент подпроцесс, дайте ему название "Издание приказа и начисление премии", затем кликните на данном элементе правой клавишей мыши и выберите "Использовать композицию. Новый подпроцесс" (см. рис. 10.24)

    (рис 10.24) Вызов функции создание композиции

    В появившемся окне введите название "Издание приказа и начисление премии"

    (рис 10.25) Форма создания композиции

    15. Создайте композицию вида изображенного на рис. 10.26.

    (рис 10.26) Схема композиции "Издание приказа и начисление премии"

    Проинициализируйте задачи ролями в соответствии с рисунком. При этом для задач у которых роль - "Отдел кадров" (Издать приказ о премировании, Получить подпись сотрудника об ознакомлении с приказом) используйте опцию "Переинициализация роли" (см. рис. 10.27)

    (рис 10.27) Переинициализация роли Отдел кадров

    16. Создайте форму для узла "Издать приказ о премировании"

    Расположите здесь компонент для ввода переменной "номер приказа"

    (рис 10.28) Форма "Издать приказ о премировании"

    Для переменной "номер приказа" добавьте валидатор "обязательное поле" (см. рис. 10.29)

    (рис 10.29) Валидатор для переменной "Номер приказа"

    17. Настройте задачи сценария

    В задаче сценария "ФИО директора" используя класс обработчика "Получить информацию об исполнителе" определите фамилию, имя и отчество Директора (см. рис. 10.30)

    (рис 10.30) Определение ФИО директора

    Выберите класс обработчика "Выполнить формулу" для задачи сценария "Сформировать текст приказа"

    (рис 10.31) Задача "Сформировать текст приказа"

    Используйте следующую конфигурацию для данного обработчика:

    'Текст приказа о премировании'="Начислить сотруднику " + 'ФИО сотрудника 3' + " премию за высокие достижения в работе в сумме " + 'Размер премии' + " руб."

    Здесь используются переменные: 'Текст приказа о премировании', 'ФИО сотрудника 3' и 'Размер премии'

    Сохраните и закройте процесс с композицией.

    18. Разработайте Word бота и задачу бота "Сгенерировать приказ" непосредственно в среде разработки

    Откройте вкладку "Боты" (см. рис. 10.32)

    Замечание. ОБЯЗАТЕЛЬНО (!) удалите все ботстанции из среды разработки, иначе создание ботов и задач будет приводить к ошибкам и некорректной работе. Для этого выделите ботстанцию правой клавишей мыши и выберите пункт "Удалить"

    (рис 10.32) Вкладка "Боты"

    Сделайте импорт бот станции с wfe (была создана ранее в "Практическое занятие "Изучение перспективы операций"), для этого кликните правой клавишей мыши в окне боты, и выберите пункт "Импорт бот станции" (см. рис. 10.33)

    (рис 10.33) Меню вызова импорта бот станции

    В появившемся окне переключитесь на "Импорт с сервера WFE" и нажмите "Синхронизация". Выделите бот станцию localbotstation и нажмите "Готово" (см. рис. 10.34)

    (рис 10.34) Импорт бот localbotstation с WFE сервера

    localbotstation будет добавлена в среду разработки. Перейдем к созданию бота Word бот.

    Сделайте клик правой клавишей мыши на localbotstation и выберите пункт "Новый бот"

    (рис 10.35) Создание нового бота

    Введите имя бота - "Word бот" и нажмите "Готово" (см. рис. 10.36)

    (рис 10.36) Форма создания нового бота

    Теперь создайте задачу бота "Сгенерировать приказ". Для этого кликните правой клавишей мыши по "Word бот" и воспользуйтесь пунктом "Новая задача бота" (см. рис. 10.37)

    (рис 10.37) Меню для создания задачи бота

    Введите название задания - "Сгенерировать приказ" и нажмите "Готово"

    (рис 10.38) Создание задачи бота

    Будет создана расширенная задача с формальными параметрами. Нажмите "Выбрать" для показа списка обработчиков (см. рис. 10.39)

    (рис 10.39) Вызов списка обработчиков

    Выделите обработчик "Word: формирование документа DOCX используя шаблон" и нажмите ОК (см. рис. 10.40)

    (рис 10.40) Список обработчиков

    Нажмите кнопку "Добавить" в окне "Входные параметры" (см. рис. 10.41)

    (рис 10.41) "Добавить" входные параметры

    Откроется форма в которой необходимо ввести название параметра и выбрать его тип (см. рис. 10.42)

    (рис 10.42) Форма создания входного параметра

    Выходные параметры создаются аналогично.

    Создайте входные и выходные параметры согласно рис. 10.43

    (рис 10.43) Параметры задачи "Сгенерировать приказ"

    Сохраните задачу.

    Перейдем к созданию шаблона для приказа. Запустите редактор для Word файлов и создайте "Шаблон приказа.docx" следующего вида:

    (рис 10.44) Шаблон приказа

    Сохраните файл "Шаблон приказа.docx" в корне диска C:\

    Как видно из шаблона, в конструкции ${..} заданы названия входных формальных параметров задачи "Сгенерировать приказ": "Текст приказа", "дата", "имя директора", "полное имя сотрудника". Кроме того, здесь используется "Номер приказа", который не входит в список параметров задачи "Сгенерировать приказ" т.е. процесс который будет использовать данную задачу бота, должен содержать переменную с названием "Номер приказа".

    Замечание: обратите внимание, в представленном шаблоне допущена ошибка. Вместо формального параметра с названием "полное имя директора" используется "имя директора". Причина этого будет объяснена при описании выполнения данного бизнес-процесса.

    Вернитесь в среду разработки, к задаче "Сгенерировать приказ". Вызовите окно конфигуратора обработчика docx, для этого нажмите на кнопку "Изменить" в окне конфигурации (см. рис. 10.45)

    (рис 10.45) Вызов конфигуратора обработчика

    Входной файл шаблона задайте с помощью пути к файлу, для выходного файла используйте файловую переменную параметр "Файл приказа", в поле "имя выходного файла" введите "Приказ.docx" (см. рис. 10.46)

    (рис 10.46) Конфигурация обработчика docx файлов

    Нажмите OK, и сохраните задачу.

    Вернитесь к процессу "Пример 5-1", здесь необходимо инициализировать роль Word бот. Перейдите на вкладку "Роли", выделите Word бот, нажмите "Изменить".

    На вкладке "Бот" выберите исполнителя по имени "Word бот" (см. рис. 10.47)

    (рис 10.47) Инициализатор роли Word бот

    Нажмите ОК, сохраните процесс.

    Перейдите к композиции "Издание приказа и начисление премии", здесь необходимо привязать Word бота к задаче. Кликните правой клавишей мыши на узле "Сгенерировать приказ" и выберите пункт "Привязать"

    (рис 10.48) Вызов списка задач бота

    В списке выберите "Сгенерировать приказ" (см. рис. 10.49)

    (рис 10.49) Список доступных для привязки задач

    Нажмите ОК, будет открыта форма редактирования параметров задачи, выберите параметры в соответствии с рис. 10.50

    (рис 10.50) Выбор параметров для задачи Word бота

    19. Создайте форму "Ознакомиться с приказом" (см. рис. 10.51)

    Отобразите на ней файловую переменную "Приказ" с помощью компонента "Отобразить переменную" как строку.

    (рис 10.51) Форма "Ознакомиться с приказом"

    Создайте форму для узла "Начислить премию сотруднику", выведите значения переменных "ФИО сотрудника", "Размер премии", "Описание выполненных работ", "Приказ", при этом для текстовых переменных используйте форму отображения "как неактивный компонент ввода" (см. рис. 10.52)

    (рис 10.52) Форма "Начислить премию сотруднику"

    Форма для узла "Ознакомиться с начислением премии" (см. рис. 10.53)

    (рис 10.53) Форма "Ознакомиться с начислением премии"

    20. Экспортируйте разработанный процесс и Word бот с задачей на сервер WFE

    Кликните на разработанный бизнес-процесс, в меню выберите команду "Файл / Экспорт процесса" (Подробнее см. Практическое занятие "Изучение перспективы потока управления", Порядок выполнения работы, Пункты 11-14).

    Для экспорта бота с задачей, перейдите на вкладку "Боты", кликните правой клавишей мыши на Word бот, и выберите "Экспорт бота" (см. рис. 10.54) В появившемся окне выберите "Экспорт на WFE сервер", далее нажмите Готово (см. рис. 10.55).

    (рис 10.54) Экспорт бота с задачей (рис 10.55) Экспорт бота с задачей на WFE сервер

    21. Войдите на сервер под пользователем Administrator

    Выберите пункт "Бот станции", и перейдите в ранее созданную бот станцию "localbotstation" (см. рис. 10.56)

    (рис 10.56) Бот станции

    Будет открыт список ботов входящих в бот станцию "localbotstation", проверьте присутствие в списке "Word бот" (см. рис. 10.57)

    (рис 10.57) Word бот

    Процесс "Пример 5-1" должен запускать "Руководитель", поэтому дайте права на чтение и запуск для пользователя "Паучков" (который является руководителем Сверчкова). Подробнее см. Вводное занятие. Изучение интерфейса системы RunaWFE, Порядок выполнения работы, Пункты 28-32.

    Также дайте право на чтение процесса для Word бота. (см. рис. 10.58)

    (рис 10.58) Обладатели полномочий на процесс "Пример 5-1"

    Добавьте в группу "Бухгалтеры" пользователей "Жуков" и "Бражникова".

    Добавьте в группу "Отдел кадров" пользователей "Личинкин" и "Гусеницын".

    Добавьте в группу "Сотрудники" пользователей: Жуков, Бражникова, Личинкин, Гусеницын, а также Сверчков и Паучков.

    Разрешите для группы "Сотрудники" вход в систему (см. Вводное занятие. Изучение интерфейса системы RunaWFE, пункты 7-9, рис. 5.6- 5.8).

    Дайте полномочия группе "Сотрудники" на чтение на всех созданных пользователей (см. Вводное занятие. Изучение интерфейса системы RunaWFE, Порядок выполнения работы, Пункты 12-13, рис. 5.11-5.12).

    Дайте на отношение "Руководитель" право на чтение для группы "Сотрудники" (см. Практическое занятие "Изучение перспективы ресурсов", Пункт 15)

    22. Запустите периодическую активацию ботов (см. Практическое занятие "Изучение перспективы операций", Пункт 12)

    23. Выполните процесс "Пример 5-1"

    Войдите в систему под пользователем "Паучков", запустите процесс.

    Введите данные на стартовой форме, и нажмите "Запустить" (см. рис. 10.59)

    (рис 10.59) Стартовая форма процесса "Пример 5-1"

    "Паучков" получит задачу "Подписать служебную записку и передать ее в отдел кадров", откройте задание, и нажмите на ссылку "служебная записка о начислении премии.docx", скачайте/откройте сформированную с помощью обработчика DocxHandler на основе шаблона, служебную записку (см. рис. 10.60).

    (рис 10.60) Служебная записка о начислении премии

    Распечатайте служебную записку. Выполните задание.

    Параллельно, "Отдел кадров" получает задание "Получить подписанную служебную записку на премию сотруднику".

    Войдите в систему под пользователем входящем в группу "отдел кадров", например "Личинкин". Возьмите задачу на выполнение, и исполните ее (см. рис. 10.61).

    (рис 10.61) Задание "Получить подписанную служебную записку на премию сотруднику"

    Член группы "Директор" (в нашем случае это пользователь Стрекозин) получает задание "Рассмотреть заявку на премию".

    Войдите в систему под пользователем "Стрекозин", возьмите задание на выполнение, введите комментарий и одобрите заявку на премию (см. рис. 10.62)

    (рис 10.62) Задание "Рассмотреть заявку на премию"

    Руководитель (Паучков) получит задание "Ознакомиться с сообщением о согласии", параллельно с этим будет запущена композиция "Издание приказа и начисление премии", в которой "Отделу кадров" поступит задание "Издать приказ о премировании".

    Войдите в систему под пользователем "Паучков", выполните активное задание (см. рис. 10.63).

    (рис 10.63) Задание "Ознакомиться с сообщением о согласии"

    Т.к. в узле "Издание приказа и начисление премии" была настроена переинициализация для роли "Отдел кадров", то соответствующее задание снова поступит всем членам группы "отдел кадров".

    Войдите в систему под пользователем "Гусеницын", входящим в группу "Отдел кадров", возьмите на выполнение задание, введите "Номер приказа" и выполните задачу (см. рис. 10.64)

    (рис 10.64) Задание "Издание приказа и начисление премии"

    Проверьте, выполнил ли Word бот задание "Сгенерировать приказ"

    Для этого войдите в систему под Administrator, в меню "Запущенные процессы".

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

  • перейдите в меню "Запущенные процессы"
  • кликните по надписи "Вид", в результате будут открыты параметры отображения экземпляров
  • (рис 10.65) Параметры отображения запущенных экземпляров процессов
  • проверьте, что позиция сортировки для поля "Номер" установлена в "1", если нет, выберите - "1"
  • измените "Тип сортировки" с "возр" на "убыв" т.е. по убыванию номера
  • (рис 10.66) Выбор типа сортировки - "по убыванию" поля "Номер"
  • введите название профиля "по убыванию номера" и нажмите "Сохранить как..."
  • (рис 10.67) Ввод названия и сохранение профиля
  • кликните снова по надписи "Вид" для сокрытия области с параметрами отображения
  • В результате чего, будет выбран только что созданный профиль и запущенные процессы будут отображаться в порядке убывания номера экземпляра

    (рис 10.68) Отображение запущенных процессов с сортировкой по убыванию номера

    Вернемся к проверке, выполнил ли Word бот задание "Сгенерировать приказ"

    Найдите соответствующий экземпляр бизнес-процесса "Пример 5-1" в меню "Запущенные процессы" и кликните на его номер.

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

    Найдите узел композицию "Издание приказа и начисление премии" (см. рис. 10.70), и кликните на него.

    (рис 10.69) Граф выполнения экземпляра бизнес процесса "Пример 5-1"

    Откроется схема композиции с отмеченным положением точек управления. Word бот не выполнил задание "Сгенерировать приказ" (см. рис. 10.69).

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

    (рис 10.70) Граф выполнения композиции "Издание приказа и начисление премии". Задание "Сгенерировать приказ" не выполнено

    Закройте граф выполнения композиции, и вернитесь к свойствам экземпляра бизнес-процесса "Пример 5-1", прокрутите страницу вверх. Обратите внимание на сообщение "Ошибки в процессе". Кликните по строке "Сгенерировать приказ" - будет открыто окно с техническими подробностями ошибки (см. рис. 10.71).

    (рис 10.71) Ошибки при выполнении бизнес-процесса "Пример 5-1"

    Кроме того, сообщение об ошибках в процессах и конфигурациях заданий ботов можно наблюдать в разделе "Система" (доступен только Администратору).

    (рис 10.72) Информация об ошибках в процессах, представленная на странице "Система"

    Из ошибки следует, что "имя директора" не найдено среди формальных параметров задания бота, и при этом не определено как переменная бизнес-процесса.

    Исправьте эту ошибку. Для этого откройте шаблон приказа ("Шаблон приказа.docx" в корне диска C:) и измените конструкцию ${имя директора} на ${полное имя директора} т.е. используем существующий формальный параметр (см. рис. 10.73). Сохраните шаблон.

    (рис 10.73) Исправленный шаблон приказа

    Откройте веб интерфейс системы RunaWFE и перейдите по ссылке "Бот станции", расположенной в меню. Откройте ботстанцию localbotstation, остановите и заново запустите периодическую активацию ботов (см. Практическое занятие "Изучение перспективы операций", Пункт 12).

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

    Узел "Сгенерировать приказ" должен быть отмечен как выполненный (см. рис. 10.74).

    (рис 10.74) Граф выполнения композиции "Издание приказа и начисление премии"

    Войдите в систему под пользователем "Сверчков", откройте задание "Ознакомиться с приказом".

    Нажмите ссылку на сгенерированный с помощью Word бота файл "Приказ.docx"

    (рис 10.75) Задание "Ознакомиться с приказом" (рис 10.76) Сгенерированный приказ

    Распечатайте сгенерированный ботом документ. Завершите запущенный экземпляр бизнес-процесса, последовательно выполнив соответствующие задания под пользователями Личинкин (входит в группу Отдел кадров), Бражникова (входит в группу Бухгалтеры), и Сверчков (сотрудник которому начисляется премия).

    Задание для самостоятельной работы

    Разработайте бизнес-процесс "Пример 5-2", схема которого изображена на рис. 10.77 Для генерации приказа на отпуск используйте того же Word бота с задачей "Сгенерировать приказ" что и в процессе "Пример 5-1", и тот же шаблон для документа "приказ".

    Замечание. Задача "Сгенерировать приказ" бота "Word бот" имеет формальные параметры, поэтому переменные в процессе "Пример 5-2" могут иметь отличные названия от переменных из "Процесс 5-1", но также в шаблоне приказа используется и непосредственно переменная "Номер приказа", поэтому она должна существовать в процессе "Пример 5-2".

    "Заявление на отпуск" должно формироваться в задаче сценария с помощью обработчика "Word: Формирование документа DOCX используя шаблон". При этом создайте новый шаблон для документа "Заявление на отпуск" непосредственно в процессе.

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

    Замечание. По умолчанию в качестве редактора форм используется CKEditor4. Однако, в случае, если у вас в системе установлен браузер Microsoft Internet Explorer устаревшей версии - 6 (IE6) или 7 (IE7), формы могут отображаться некорректно. В этом случае следует переключить редактор на FCKEditor2. (Подробнее см. Практическое занятие "Изучение перспективы данных", Порядок выполнения работы, Пункт 6, рис. 8.9, рис. 8.10).

    В компоненте форм "Выбор из членов группы" в качестве параметра "Группа" можно использовать предварительно созданную переменную формата "Группа", проинициализированную значением "Директор и заместители" (подобный пример см. в Практическое занятие "Изучение перспективы данных", Порядок выполнения работы, Пункт 6, рис. 8.16)

    Используйте задачи сценария для определения и формирования:

  • ФИО сотрудника
  • Даты запуска процесса
  • Даты ввода номера приказа
  • ФИО директора
  • ФИО сотрудника в необходимом падеже
  • Текста приказа
  • (рис 10.77) Схема бизнес-процесса "Пример 5-2" для самостоятельной разработки

    В бизнес-процессе "Пример 5-2" должны быть автоматически сгенерированы документы "Заявление на отпуск" и "Приказ на отпуск".

    Документ "Заявление на отпуск" должен содержать:

  • ФИО Сотрудника
  • Даты начала и окончания отпуска
  • Дату заявления (совпадает с датой запуска бизнес-процесса)
  • Документ "Приказ" должен содержать

  • Номер приказа
  • Текст приказа с ФИО сотрудника в необходимом падеже, с датами начала и окончания отпуска
  • Дату приказа (совпадает с датой ввода номера приказа сотрудником отдела кадров)
  • ФИО Сотрудника
  • ФИО Директора
  • Замечание. В отличии от приказа из процесса "Пример 5-1", в приказе на отпуск используется дата совпадающая с датой ввода номера приказа сотрудником отдела кадров, а не с датой запуска бизнес-процесса.

    Замечание. В бизнес-процессе необходимо проверять, что дата начала отпуска не позже даты окончания.

    Требования к представлению результатов занятия

    В результате выполнения лабораторной работы должны быть представлены преподавателю отчет, шаблоны документов для Word бота, файл с данными archive.datafile, полученный командой "Система/Выгрузить файл с данными/Экспортировать", содержащий разработанные на занятии бизнес-процессы и Word бот.

    В отчете должны содержаться следующие выходные данные:

  • Скриншоты основных действий, совершенных на занятии, с пояснениями
  • Скриншоты, содержащие маршруты точек управления для экземпляров бизнес-процессов, доведенных до завершения.
  • Описание возникших при выполнении задания проблем и найденных путей их решения (не обязательно, только если возникли проблемы при выполнении задания)
  • Контрольные вопросы

  • В каком месте шаблона документа ставится в соответствие переменная бизнес-процесса?
  • Где задается имя файла, в который будет помещен сгенерированный документ?
  • Вернуться к учебному плану