УДК 004

Программные аспекты роботизации бизнес-процесса закупки в предприятиях, предоставляющих услуги общественного питания

Матвеев Владимир Евгеньевич – студент направления Прикладной информатики Российского технологического университета Института информационных технологий.

Копылова Яна Антоновна – студент направления Прикладной информатики Российского технологического университета Института информационных технологий.

Аннотация: Данная статья подробно исследует процесс пошагового создания программного робота с использованием передовых технологий автоматизации бизнес-процессов, таких как RPA (Robotic Process Automation), в сочетании с программным обеспечением Robin Studio. Авторы предоставляют углубленный анализ технических аспектов реализации роботизированной системы для оптимизации бизнес-процесса закупки в предприятиях, специализирующихся на предоставлении услуг общественного питания. Эта статья служит ценным ресурсом для профессионалов, стремящихся понять и внедрить инновационные подходы к автоматизации в своих организациях.

Ключевые слова: программа, робот, RPA, документ, алгоритм, бизнес-процесс, ИТ.

Программный робот разработан на платформе создания роботов от компании Robin RPA [1]. Данная платформа предоставляет широкий спектр возможностей в рамках роботизации бизнес-процессов и является одним из передовых решений на рынке Российской федерации [2].

Robin RPA является low-code средой разработки, поэтому внутри неё для реализации алгоритма работы робота строится блок-схема, с последовательностью действий программного робота.

Для формирования более точной и аккуратной структуры описания плана работы программного робота было принято решение разделить алгоритм на несколько ключевых этапов.

На первом этапе робот обрабатывает входную информацию в виде документа «Лист учета» с расширением .xlsx, создает новый документ с расширением .xlsx с наименованием «Лист закупок» и осуществляет его первичную настройку. Блоки первого этапа представлены на рисунках 1 и 2.

Рисунок1

Рисунок 1. Первый этап работы робота (часть 1)

Рисунок2

Рисунок 2. Первый этап работы робота (часть 2)

Сперва робот открывает входящий документ «Лист учета» с расширением .xlsx, свойства действий данного блока представлены на Рисунке 3

Рисунок3

Рисунок 3. Свойства действия «Открыть 1»

Входящий документ представлен на Рисунке 8.4.

Рисунок4

Рисунок 4. Содержимое входящего документа

Далее робот выполняет действие по подсчету количества строк. Свойства действия «Получить количество строк 1» представлено на Рисунке 5.

Рисунок5

Рисунок 5. Свойства действия «Получить количество строк 1»

Далее робот создает документ формата .xlsx. В состав наименования данного документа входит значение даты создания данного файла. Для формирования наименования используются блоки: «Получить текущую дату 1», «Преобразовать дату в строку 1» и «Создать имя 1». Свойства этих действий представлены соответственно на рисунках 6-8.

Рисунок6

Рисунок 6. Свойства действия «Получить текущую дату 1»

Рисунок7

Рисунок 7. Свойства действия «Преобразовать дату в строку 1»

Рисунок8

Рисунок 8. Свойства действия «Создать имя 1»

Далее робот создает документ «Лист закупок» с настроенным наименованием, открывает файл и вносит записи в ячейки таблицы для формирования пустого шаблона Листа учета. Для создания документа и формирования шаблона используются блоки: «Создать файл Excel 1», «Открыть 2» и ряд блоков «Установить значение ячейки» под номерами 5, 6, 7, 8, 9, 18. Свойства этих действий представлены соответственно на рисунках 9-11.

Рисунок9

Рисунок 9. Свойства действия «Создать файл Excel 1»

Рисунок10

Рисунок 10. Свойства действия «Открыть 2»

Рисунок11

Рисунок 8.11. Свойства действий «Установить значение ячейки» под номерами 5, 6, 7, 8, 9, 18 соответственно

Созданный пустой шаблон документа «Лист закупок» представлен на Рисунке 12.

Рисунок12

Рисунок 12. Созданный пустой шаблон документа «Лист закупок» под названием «List_Zakupok_na_19.12.2023»

На втором этапе алгоритма робот запускает цикл проверки позиций склада ресторана, получаемых последовательно из входящего документа на потребность закупки. Блоки данного шага представлены на Рисунке 13.

Рисунок13

Рисунок 13. Второй этап работы робота

Первым блоком является цикл «Для 1». Данный цикл прогоняет входящий в него скрипт от 1 до N раз, где N — количество строк позиций во входящем документе. Свойства действия данного блока представлены на Рисунке 14.

Рисунок14

Рисунок 14. Свойства действия «Для 1»

Далее робот проверяет количество единиц позиции на складе ресторана и осуществляет логическую операцию «Меньше или ровно» для дальнейшего построения условия. Условие заключается в том, что если полученное значение меньше или ровно 10, то робот переходит на этап закупки позиции, внесения информации по позиции в лист закупок и подсчета итоговой суммы закупки, иначе пропускает перечисленные операции. Свойства действия блоков «Получить значение из ячейки 12», «Меньше или равно 1» и «Недостаточно 2» представлены на Рисунке 15.

Рисунок15

Рисунок 15. Свойства действий «Получить значение из ячейки 12», «Меньше или равно 1» и «Недостаточно 2»

На третьем этапе алгоритма робот формирует вспомогательные счетчики в виде переменных, проводит проверку типа позиции, сверяя ячейку типа позиции с определенным наименованием типа из глоссария (Столбец G). На Рисунке 16 представлены блоки данного этапа.

Рисунок16

Рисунок 16. Блоки третьего этапа

Свойства действий «Сложение 1» и «Сложение 2», отвечающих за работу счетчиков представлены на Рисунке 17. Свойства действий «Получить значение из ячейки 13», «Получить значение из ячейки 14» и логическое действие «Равно 3», отвечающих за сравнение значения типа текущей позиции с выбранным значением типа из глоссария представлены на Рисунке 18.

Рисунок17

Рисунок 17. Свойства действий «Сложение 1» и «Сложение 2»

Рисунок18

Рисунок 18. Свойства действий «Получить значение из ячейки 13», «Получить значение из ячейки 14» и логическое действие «Равно 3»

Свойства действия блока условия «Продукт 3» представлены на

Рисунке 19.

Рисунок19

Рисунок 19. Свойства действия блока условия «Продукт 3»

Четвертый этап алгоритма робота разделен на два альтернативных сценария. Каждый сценарий запускается в зависимости от значения типа позиции. Так как в рамках эксперимента было утверждено два типа: продукт и инвентарь, робот имеет данное конечное количество сценариев. Но данное решение не исключает факта возможного расширения функционала путем добавления дополнительных сценариев. На Рисунке 20 представлены блоки четвертого этапа.

Рисунок20

Рисунок 20. Блоки четвертого этапа

В сценарии закупки продукта робот получает значения ячеек «Тип» и «Название продукта или инвентаря», открывает браузер “Google Chrome” и переходит по заданной ссылке на онлайн-магазин продуктов для поставки в рестораны “Global Foods” [3]. Далее робот проводит процедуру поиска товара по каталогу, внося название позиции в поле поиска, получает ответ в виде количества найденного товара по запросу или в виде информации о том, что товар не найден. Робот проверяет условие наличия найденного товара. В данном сценарии участвуют такие действия как: «Получить значение из ячейки 15», «Получить значение из ячейки 18», «Открыть браузер 7», «Открыть поиск 1», «Вставить искомое 1», «Осуществить поиск 1», «Получить найдено 1», «Проверка наличия товара 1», «Если 1». Свойства данных действий представлены соответственно на Рисунке 21.

Рисунок21

Рисунок 21.Свойства действий «Получить значение из ячейки 15», «Получить значение из ячейки 18», «Открыть браузер 7», «Открыть поиск 1», «Вставить искомое 1», «Осуществить поиск 1», «Получить найдено 1», «Проверка наличия товара 1», «Если 1»

Аналогичную цепочку действий представляет второй сценарий. Второй сценарий предназначен для формирования корзины товаров в онлайн-магазине инвентаря ресторанов «РЕСТОРАН КОМПЛЕКТ» [4]. В данном случае используется идентичный набор действий, но имеющий иной набор свойств. В данном сценарии участвуют такие действия как: «Получить значение из ячейки 16», «Получить значение из ячейки 17», «Открыть браузер 8», «Отправить клик 8», «Отправить текст 3», «Отправить клик 9», «Получить найдено 2», «Проверка наличия товара 2», «Если 2». Свойства данных действий представлены соответственно на Рисунке 22.

Рисунок22

Рисунок 22. Свойства действий «Получить значение из ячейки 16», «Получить значение из ячейки 17», «Открыть браузер 8», «Отправить клик 8», «Отправить текст 3», «Отправить клик 9», «Получить найдено 2», «Проверка наличия товара 2», «Если 2»

Пятый этап алгоритма робота разделен на два альтернативных сценария. Каждый сценарий запускается в зависимости от получаемой информации о наличии товара. При этом, проверка на наличие товара в ассортименте присутствует сразу в двух альтернативных ветках: закупка продукта и закупка инвентаря. В итоге, определяются четыре варианта исходов событий. На Рисунке 23 представлены блоки пятого этапа.

Рисунок23

Рисунок 23. Блоки пятого этапа (Сценарий закупки продукта)

В случае, если поиск прошел успешно, робот сортирует по возрастанию цены найденные товары, добавляет его в корзину и вносит данные купленной позиции в созданный шаблон листа закупок. Если было получено сообщение об отсутствии искомого товара, робот также заполняет информацию о позиции в шаблон листа учета, но в столбцы «Количество купленного» и «Цена» выставляет значения, равные 0. В столбец «Примечание» вставляет строку «Отсутствует в ассортименте».

Шестой этап является заключительным в алгоритме работы робота. На данной стадии программа проверяет наличие записей в листе учета. В случае, если роботом была зафиксирована потребность в покупке товара, то документ лист учета будет иметь хотя бы одну запись, следовательно, он не будет являться пустым. В непустом документе произведётся подсчет общей суммы покупки по формуле Excel. Файл будет сохранен и закрыт. В обратном случае — документ будет являться пустым, он будет удален из-за ненадобности. Завершающим действием алгоритма является закрытие входящего на старте документа.

 

На Рисунке 24 представлены блоки шестого этапа.

Рисунок24

Рисунок 24. Блоки шестого этапа

На Рисунке 25 представлены свойства действия «Использовать

формулу 1».

Рисунок25

Рисунок 25. Свойства действия «Использовать формулу 1»

На Рисунке 26 представлены свойства действия «Использовать формулу 1».

Рисунок26

Рисунок 26. Свойства действия «Использовать формулу 1»

На Рисунке 27 представлены свойства действия «Больше чем 1».

Рисунок27

Рисунок 27. Свойства действия «Больше чем 1»

На Рисунке 28 представлены свойства действия «Сохранить 1».

Рисунок28

Рисунок 28. Свойства действия «Сохранить 1»

На Рисунке 29 представлены свойства действия «Закрыть 1».

Рисунок29

Рисунок 29. Свойства действия «Закрыть файл 3»

На Рисунке 30 представлены свойства действия «Удалить файл 1».

Рисунок30

Рисунок 30. Свойства действия «Удалить файл 1»

На Рисунке 31 представлен заполненный документ лист закупок.

Рисунок31

Рисунок 31. Заполненный документ лист закупок

Был продемонстрирован ряд скриншотов программного робота из ПО “Robin Studio”. Был описан полный алгоритм работы, а также приведен успешный результат работы робота.

Список литературы

  1. Robin RPA. О компании [Электронный ресурс]. — 2013. URL: https://www.rpa-robin.ru/o-kompanii (дата обращения: 28.11.2023).
  2. Robin RPA. Рейтинг RPA платформ 2023 [Электронный ресурс] / opengroup. [режим доступа: открытый доступ] — URL: https://rpa2.ru/rpa_platformy/reyting_rpa_platform/ (дата обращения: 23.11.2023). Текст — электронный.
  3. GlobalFoods.ru. Магазин продуктов для ресторанов [Электронный ресурс]. — 2022. URL: https://www.globalfoods.ru (дата обращения: 19.12.2023).
  4. РЕСТОРАН КОМПЛЕКТ. Магазин инвентаря для ресторанов [Электронный ресурс]. — 2023. URL: https://r-komplekt.ru (дата обращения: 19.12.2023).