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

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

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

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

Необходимые теоретические сведения изложены в пункте "Концепция ботов и бот-станций" лекции 3.

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

В данном занятии рассматривается создание бота для работы с MS Excel файлами и разработка бизнес-процессов использующих задания данного бота для записи и чтения из Excel файла.

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

2. Создайте новый проект - "Занятие 6"

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

(Подробнее см. Вводное занятие. Изучение интерфейса системы RunaWFE, Порядок выполнения работы, Пункт 16, рис. 5.14).

4. Добавьте элементы на схему бизнес-процесса в соответствии с рис. 11.1

(рис 11.1) Схема бизнес-процесса "Пример 6-1"

Используйте элементы Начало, Действие, Задача сценария, Окончание.

Замечание. Для элемента Задача сценария используйте компактный вид.

(Подробнее см. Практическое занятие "Работа с MS Word-ботом", Порядок выполнения работы, Пункт 1, Замечание, рис. 10.2).

Элемент "Начало" назовите "Ввести данные для сохранения в Excel документ", задачу сценария - "Определение даты создания документа", остальные элементы в соответствии с рис. 11.1

5. Создайте роли

В данном процессе используются следующие Роли:

  • "Преподаватель" - будет инициализирована пользователем, запустившим процесс
  • "Excel бот" - будет инициализирована ботом для работы с MS Excel (настройка инициализации будет рассмотрена позже)
  • Выберите для узлов роли в соответствии с рис. 11.1

    6. Создайте переменные для бизнес-процесса "Пример 6-1" согласно рис. 11.2

    (рис 11.2) Переменные бизнес-процесса "Пример 6-1"

    Замечание. Обратите внимание на переменную "перечень дисциплин" имеющую формат Список(Строка). При создании этой переменной, на форме выбора формата также необходимо будет выбрать и формат элементов (см. рис. 11.3)

    (рис 11.3) Выбор формата переменной "перечень дисциплин" бизнес-процесса "Пример 6-1"

    7. Создайте формы

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

    Создайте стартовую форму "Ввод данных" вида представленного на рис. 11.4.

    (Подробнее см. Практическое занятие "Изучение перспективы данных", Порядок выполнения работы, Пункт 6, рис. 8.11-8.12).

    (рис 11.4) Стартовая форма "Ввести данные для сохранения в Excel документ" бизнес-процесса "Пример 6-1"

    Напротив строки "Специальность", расположите компонент "Ввод переменной" для переменной - "Специальность" (Подробнее см. Практическое занятие "Изучение перспективы данных", Порядок выполнения работы, Пункт 6, рис. 8.21-8.22).

    Аналогично добавьте компонент для ввода переменной "номер курса".

    Используйте компонент "Редактировать связанные списки" для переменной "перечень дисциплин" (см. рис. 11.5)

    (рис 11.5) "Редактировать связанные списки" для переменной "перечень дисциплин"

    Добавьте валидаторы для переменных:

  • "специальность" - обязательное поле
  • "перечень дисциплин" - обязательное поле
  • "номер курса" - обязательное поле, а также диапазон числа (от 1 до 6)
  • Для этого кликните на стартовом узле правой клавишей мыши и выберите пункт "Форма > Проверка переменных формы", в появившейся форме выделяйте переменные и устанавливайте необходимые валидаторы. (см. Практическое занятие "Изучение перспективы операций", Пункт 15, рис. 7.27, рис. 7.28).

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

    (рис 11.6) Форма "Просмотреть данные перед сохранением в Excel документ"

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

    (рис 11.7) Отобразить как строку переменную "Специальность"

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

    (рис 11.8) Отобразить связанные списки

    Создайте форму "Получить созданный Excel документ" на которой отобразите ссылку для скачивания созданного Excel файла. Используйте компонент "Отобразить переменную" для файловой переменной "полученный Excel файл"

    (рис 11.9) Форма "Получить созданный Excel документ"

    8. Создайте обработчик

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

    (см. Практическое занятие "Изучение перспективы данных", Порядок выполнения работы, Пункт 8,рис. 8.33, рис. 8.34)

    В качестве конфигурации используйте:

    'дата создания документа'=current_date();

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

    9. Создайте бота "Excel бот" с задачей "Записать данные в файл"

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

    10. Запустите симулятор

    Вернитесь в среду разработки и перейдите на вкладку "Боты" и сделайте импорт бот станции с сервера (Подробнее см. Практическое занятие "Работа с MS Word-ботом", Порядок выполнения работы, Пункт 18, рис. 10.32 - 10.34).

    Создайте нового бота с именем "Excel бот" (Подробнее см. Практическое занятие "Работа с MS Word-ботом", Порядок выполнения работы, Пункт 18, рис. 10.35 - 10.36).

    Создайте задачу с формальными параметрами "Записать данные в файл" (Подробнее см. Практическое занятие "Работа с MS Word-ботом", Порядок выполнения работы, Пункт 18, рис. 10.37 - 10.38).

    (рис 11.10) Excel бот с задачей "Записать данные в файл"

    Нажмите "Выбрать" и в появившемся окне выберите из списка обработчик "Excel: Сохранить данные в файл" (ExcelSaveHandler) (см. рис. 11.11)

    (рис 11.11) Выбор обработчика "Excel: Сохранить данные в файл"

    Создайте входные параметры:

  • "название" - тип Строка,Текст
  • "номер" - тип Целое число
  • "дата" - тип Дата,Дата со временем,Время
  • "Список" - тип Список
  • Создайте Выходной параметр:

  • "Выходной файл" - тип Файл
  • (Подробнее см. Практическое занятие "Работа с MS Word-ботом", Порядок выполнения работы, Пункт 18, рис. 10.41 - 10.42)

    (рис 11.12) Формальные параметры задачи "Записать данные в файл"

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

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

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

    Используйте конфигурацию приведенную на рис. 11.14.

    (рис 11.14) Конфигуратор обработчика "Excel: Сохранить данные в файл"

    Здесь:

  • входной файл - задан с помощью пути C:\xls_tmp.xlsx, это файл шаблона на основе которого будет создан Excel файл с именем file.xlsx
  • выходной файл - задан с помощью параметра "выходной файл", имя - file.xlsx, это файл Excel который будет создан на основе шаблона и в который будут записаны данные взятые из входных параметров
  • отдельная ячейка (страница 1, столбец 2, строка 1) - по данному адресу в таблицe Excel будет записано значение из параметра "название"
  • отдельная ячейка (страница 1, столбец 2, строка 2) - по данному адресу в таблицe Excel будет записано значение из параметра "номер"
  • отдельная ячейка (страница 1, столбец 2, строка 3) - по данному адресу в таблицe Excel будет записано значение из параметра "дата"
  • массив по вертикали (страница 1, столбец 1, строка 6) - начиная с данного адреса в таблицe Excel будут записаны значения из параметра "список", при чем будут располагаться вертикально
  • Нажмите ОК, сохраните и закройте задачу.

    10. Создайте файл шаблона

    Далее необходимо создать файл шаблона C:\xls_tmp.xlsx, следующего вида:

    (рис 11.15) Входной файл Excel

    11. Добавьте инициализатор для роли Excel бот

    Вернитесь в бизнес-процесс "Пример 6-1", перейдите на вкладку роли, выделите роль "Excel бот" и нажмите "Изменить" В появившейся форме перейдите вкладку Бот, где из выпадающего списка выберите "Excel бот" (см. рис. 11.16)

    (рис 11.16) Инициализация роли бота

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

    12. Выполните привязку бота к задаче

    Перейдите на граф процесса, щелкните правой клавишей мыши на узле "Сохранить данные в Excel файл", выберите пункт "Задача бота > привязать" (см. рис. 11.17)

    (рис 11.17) Вызов привязки задачи

    Появится форма со списком задач с формальными параметрами бота "Excel бот", выделите задачу "Записать данные в файл" и нажмите ОК (см. рис. 11.18)

    (рис 11.18) Привязка задачи

    Будет вызвана форма конфигурации задачи. Установите соответствие между параметрами задачи и переменными процесса согласно рис. 11.19

    (рис 11.19) Конфигурация задачи Excel "Сохранить данные в файл"

    Сохраните процесс.

    13. Экспортируйте процесс на сервер

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

    14. Экспортируйте Excel бот с задачей на сервер

    (Подробнее см. Практическое занятие "Работа с MS Word-ботом", Порядок выполнения работы, Пункт 20, рис. 2.54 - 2.57).

    15. Войдите в систему под пользователем Administrator, пароль –wf

    16. Дайте полномочия группе "Преподаватели" на запуск, чтение и чтение экземпляра процесса "Пример 6-1"

    17. Запустите периодическую активацию ботов

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

    18. Войдите в систему под пользователем, входящим в группу "Преподаватели", например "Стрекозин", пароль - 123

    19. Запустите экземпляр бизнес-процесса "Пример 6-1" и доведите его до завершения.

    Введите данные на стартовой форме, например:

    (рис 11.20) Ввод данных на стартовой форме

    Нажмите Запустить, выполните полученное задание "Просмотреть данные перед сохранением в Excel документ"

    (рис 11.21) Задание "Перед записью в файл"

    Excel бот выполнит задачу "Записать данные в файл"

    (рис 11.22) Граф выполнения процесса "Пример 6-1"

    Будет получено задание, со ссылкой на созданный Excel файл, нажмите на ссылку

    (рис 11.23) Ссылка на созданный Excel файл

    Будет загружен file.xlsx, сохраните его на C:\ Откройте файл.

    (рис 11.24) Созданный с помощью Excel бота file.xlsx

    Как видно из полученный файл соответствует шаблону, заданной конфигурации задачи бота, а также содержит введенные пользователем данные.

    20. Завершите процесс

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

    22. Создайте новый бизнес-процесс "Пример 6-2":

    23. Добавьте элементы на схему бизнес-процесса в соответствии с рис. 11.25

    (рис 11.25) Схема бизнес-процесса "Пример 6-2"

    Здесь используются те же элементы что и в процессе "Пример 6-1". Задаче сценария дайте название "Прочесть данные из файла", используйте опцию "компактный вид".

    24. Создайте роль Студент

    Выберите данную роль для стартового узла и действий.

    25. Создайте переменные

    В данном процессе используются те же переменные что и в "Пример 6-1", за исключением переменной "полученный Excel файл".

    Откройте процесс "Пример 6-1", перейдите на вкладку переменные, выделите переменные (за исключением полученный excel файл") и нажмите кнопку "Копировать" (см. рис. 11.26).

    (рис 11.26) Копирование переменных

    Затем откройте процесс "Пример 6-2", перейдите на вкладку "Переменные" и нажмите кнопку "Вставить", переменные добавятся в список (см. рис. 11.27).

    (рис 11.27) Вставка переменных

    26. Создайте формы

    Создайте форму "Выполнить задание перед чтением из Excel документа" вида представленного на рис. 11.28.

    (рис 11.28) Форма "Выполнить задание перед чтением из Excel документа"

    Создайте форму "Просмотреть данные считанные из Excel документа" вида представленного на рис. 11.29.

    (рис 11.29) Форма "Просмотреть данные считанные из Excel документа"

    Используйте компонент "Отобразить переменную" для переменных: "специальность", "номер курса", "дата создания документа".

    Используйте компонент "Отобразить связанные списки" для переменной "перечень дисциплин".

    27. Создайте обработчик

    Выберите класс обработчика "Excel: Прочесть данные из файла" в задаче сценария "Прочесть данные из файла"

    (рис 11.30) Выбор класса обработчика

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

    Используйте конфигурацию, представленную на рис. 11.31.

    (рис 11.31) Конфигурация "Чтение из файла Excel"

    Т.е. предполагается чтение из файла C:\file.xlsx, который был создан при выполнении бизнес-процесса "Пример 6-1" использующего задачу Excel бота - "Записать данные в файл".

    Считанные по соответствующим адресам значения будут сохранены непосредственно в переменные бизнес-процесса "Пример 6-2".

    Замечание. Во время выполнения экземпляра бизнес-процесса потребуется обязательное наличие файла для чтения/записи данных в указанной в конфигурации папке - C:\file.xlsx

    28. Сохраните бизнес-процесс

    29. Экспортируйте бизнес-процесс на сервер

    30. Войдите в систему под пользователем Administrator, пароль –wf

    31. Дайте права "Чтение", "Запуск", "Чтение экземпляра" на процесс "Пример 6-2" для группы "Группа МИБ-1"

    32. Войдите в систему под пользователем входящим в группу "Группа МИБ-1", например Гусеницын

    33. Запустите экземпляр бизнес-процесса "Пример 6-2" и доведите его до завершения.

    В задании "Просмотреть данные считанные из Excel документа" будут выведены считанные из файла C:\file.xlsx в переменные процесса данные (см. рис. 11.32)

    (рис 11.32) Задание "Просмотреть данные, считанные из Excel документа"

    Считанные значения соответствуют введенным данным во время выполнения процесса "Пример 6-1".

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

    Создайте новую задачу Excel бота - "Прочитать данные из файла" с формальными параметрами.

    В качестве обработчика в данной задаче используйте "Excel: Прочесть данные из файла".

    Добавьте формальные параметры задачи в соответствии с рис. 11.33

    (рис 11.33) Формальные параметры задачи "Прочитать данные из файла" Excel бота

    Используйте конфигурацию, представленную на рис. 11.34.

    (рис 11.34) Конфигурация обработчика "Excel: Прочесть данные из файла" в задаче

    Создайте на основе процесса "Пример 6-2" новый процесс "Пример 6-3", в соответствии с рис. 11.35

    Можно воспользоваться функцией копирования процесса (см. Практическое занятие "Изучение перспективы потока управления", Задание для самостоятельной работы, рис. 6.16, рис. 6.17)

    (рис 11.35) Схема бизнес-процесса "Пример 6-3"

    В отличии от "Пример 6-2", вместо задачи сценария "Прочесть данные из файла" используется элемент Действие, с выбранной ролью "Excel бот".

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

  • Студент - инициализируется пользователем запустившим процесс
  • Excel бот - используется инициализатор роли ботом "Excel бот"
  • Замечание. Если использовалась функция копирования процесса, то "Студент" уже будет в списке ролей, и ее создавать не требуется.

    Создайте переменные:

  • специальность - Строка
  • номер курса - Целое число
  • перечень дисциплин - Список(Строка)
  • дата создания документа - Дата
  • Замечание. Если использовалась функция копирования процесса, то переменные будут также автоматически скопированы, их создавать не потребуется.

    В узле "Прочесть данные из файла" сделайте привязку к задаче "Прочитать данные из файла" Excel бота (см. Практическое занятие "Работа с MS Excel-ботом ", рис. 11.17).

    Установите соответствие между переменными процесса и задачей (см. рис. 11.36)

    (рис 11.36) Привязка параметров задачи к переменным процесса "Пример 6-3"

    Сохраните и экспортируйте процесс "Пример 6-3".

    Экспортируйте на сервер созданную задачу "Прочитать данные из файла". Нажмите правой клавишей мыши на этой задаче и выберите пункт "Экспортировать задачу бота", в открывшемся окне переключитесь на вариант "Экспорт на WFE сервер", т.е. таким же образом как и экспорт процесса.

    Дайте на процесс "Пример 6-3" права на запуск, чтение и чтение экземпляра для "Группа МИБ-1".

    Запустите периодическую активацию ботов.

    Запустите новый экземпляр процесса под пользователем входящим в "Группа МИБ-1". Доведите его до завершения.

    Проверьте, что Excel бот выполнил задание "Прочесть данные из файла", и значения выведенные на форму в задании "Вывод данных" соответствуют данным из файла C:\file.xlsx

    Замечание. Все действия аналогичны действиям при создании и выполнении процессов "Пример 6-1" и "Пример 6-2"

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

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

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

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

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