Опубликован: 24.09.2015 | Уровень: для всех | Доступ: платный | ВУЗ: Московский институт стали и сплавов
Практическое занятие 6:

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

Аннотация: Цель занятия: целью занятия является изучение работы с MS Excel - ботом.

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

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

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

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

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

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

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

(Подробнее см. "Изучение интерфейса системы RunaWFE" ).

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

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

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

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

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

(Подробнее см. "Работа с MS Word-ботом" ).

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

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

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

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

Выберите для узлов роли в соответствии с рис. 11.1

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • "специальность" - обязательное поле
  • "перечень дисциплин" - обязательное поле
  • "номер курса" - обязательное поле, а также диапазон числа (от 1 до 6)

Для этого кликните на стартовом узле правой клавишей мыши и выберите пункт "Форма > Проверка переменных формы", в появившейся форме выделяйте переменные и устанавливайте необходимые валидаторы. (см. "Изучение перспективы ресурсов" ).

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

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

увеличить изображение
Рис. 11.6. Форма "Просмотреть данные перед сохранением в Excel документ"

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

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

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

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

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

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

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

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

увеличить изображение
Рис. 11.9. Форма "Получить созданный Excel документ"

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

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

(см. "Изучение перспективы данных" )

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

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

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

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

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

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

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

Создайте нового бота с именем "Excel бот" (Подробнее см. "Работа с MS Word-ботом" ).

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

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

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

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

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

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

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

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

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

  • "Выходной файл" - тип Файл

(Подробнее см. "Работа с MS Word-ботом" )

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

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

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

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

Вызов конфигуратора

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

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

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

Рис. 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, следующего вида:

Входной файл Excel

Рис. 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

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

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

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

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

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

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

(Подробнее см. "Работа с MS Word-ботом" ).

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

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

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

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

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

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

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

Ввод данных на стартовой форме

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

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

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

увеличить изображение
Рис. 11.21. Задание "Перед записью в файл"

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

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

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

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

Ссылка на созданный Excel файл

Рис. 11.23. Ссылка на созданный Excel файл

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

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

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

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

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

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

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

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

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

Рис. 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.

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

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

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

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

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

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

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

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

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

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

Рис. 11.30. Выбор класса обработчика

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

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

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

Рис. 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)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Студент - инициализируется пользователем запустившим процесс
  • Excel бот - используется инициализатор роли ботом "Excel бот"

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

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

  • специальность - Строка
  • номер курса - Целое число
  • перечень дисциплин - Список(Строка)
  • дата создания документа - Дата

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Контрольные вопросы

  1. Где задается имя Excel-файла, в который обработчик будет записывать данные?
  2. Где задается путь к Excel-файлу, в который обработчик будет записывать данные?
  3. Где задается имя и путь к Excel-файлу, из которого обработчик будет читать данные?
  4. Как создается задача бота с формальными параметрами
Александр Шальных-Булатов
Александр Шальных-Булатов

Вижу по теме информацию о том, что преподавателю нужно отправить отчет и контрольный файл.

Всего вопросов 2.

1. Куда и как отправлять преподавателю контрольный файл?

2. Какой отчет, о чем писать?

Инна Инна
Инна Инна

Та же проблема, что и у Марины. Содержание черного окошка и версию Java отправила на указанный почтовый адрес.

 

Жанна Одайкина
Жанна Одайкина
Россия, Курск, РФЭИ, 2015
Андрей Частухин
Андрей Частухин
Россия