Кейс RPA: Автоматизация ввода документов КС-3 с помощью робота
Мы активно занимаемся изучением новых технологий в сфере автоматизации. И сейчас заметен взрывной рост такой технологии, как RPA. Что же такое RPA?
Robotic process automation — современная технология автоматизации процессов, которая основана на использовании программных роботов.
Чтобы на деле проверить, на что способны роботы, мы взяли пилотный проект.
Задача:
Автоматизировать ввод документов КС-3 в СУП (Система управления проектами) Advanta. В месяц необходимо загрузить около 200-300 документов. Сотрудник заполняет 4 поля, которые берет из документа и прикрепляет этот самый документ. Документ имеет стандартизированную форму, что является главным критерием для автоматизации процесса. В данной задаче использовалось ПО от Electroneek.
Алгоритм робота:
- Сканирует PDF-документ;
- Извлекает данные (Дата, номер договора, номер документа, сумма);
- Запускает браузер;
4. Переходит в систему Advanta и авторизуется;
5. Ищет необходимый контракт, используя номер договора (Его извлекли во 2 пункте);
6. Далее вводится дата, номер документа и сумма;
7. Прикрепляется документ КС-3.
Распишем подробнее каждый шаг робота:
Шаг 1 — «Сканирует PDF-документ». Используется технология от ABBYY. После обработки файла, выдается массив с текстом, с которым могут выполняться дальнейшие действия. Работа с ABBYY происходит с помощью API, на данный момент ABBYY выдает его бесплатно в тестовом режиме на 3 месяца.
Шаг 2 — «Извлечение данных». Данные извлекаются с помощью регулярных выражений. Иногда по шаблону регулярного выражения подходят несколько значений. Поэтому мы сужаем зону поиска, создаем копию главной переменной и вырезаем необходимую часть (используем метод slice - JavaScript). Так поступаем и с другими переменным.
Остановимся на последней, сумме. На определении суммы возникли такие проблемы, что если она будет больше 1 млрд или меньше 1 млн, то просто не определится. От заказчика получили дополнительную информацию. Документов с суммой больше 1 млрд у них нет, а вот меньше 1 млн есть, поэтому мы сделали дополнительные проверки: меньше 1 млн, меньше 100 тыс., меньше 10 тыс. и меньше 1 тыс. Именно работа по выявлению и устранению таких нюансов, занимает большую часть времени.
Шаг 3 — «Запуск браузера». Робот запускает браузер для дальнейшего ввода данных. В Electroneek можно выбрать какой именно браузер нужно запустить.
Шаг 4 — «Авторизация в системе Advanta». Робот переходит в систему Advanta для авторизации. Ничего сложного, переходит по определенному URL и вводит логин и пароль. Логин и пароль можно хранить прямо в переменной внутри RPA или использовать файл конфигурации (файл настроек в формате Excel).
Шаг 5 — «Поиск необходимого контракта». Для этого используем поиск по сайту в самой СУП Advanta, но чтобы не тратить время на ввод, решили сделать поиск с помощью генерации URL. Тем самым сокращаем общее время процесса ввода данных.
Шаг 6 — «Ввод данных». Каждое поле имеет свой ID (смотрим HTML разметку), и он уникален. Робот ищет заданный ID и вводит данные, которые определили в пункте 2. В Electroneek можно использовать Атрибуты (тот самый ID, CSS-селектор, Xpath-селектор). Разработчики советуют использовать определение по ID (самый быстрый). Сохраняем.
Шаг 7 — «Прикрепления документа КС-3». Чтобы не тратить время на поиск документа, заложили в робот генерирующий путь, вида: E:\RPA\pdf + namefiles. Наши документы всегда лежат в определенной папке, меняется лишь название (namefiles). Сразу генерируется полный путь к файлу. Звучит легко и просто, но догадались не сразу.
Далее все шаги повторяются, только уже для других документов КС-3. Конечно, не все документы смог загрузить робот. Всё зависело от качества документа и расположении печати. Из 40 предоставленных документов, загрузилось 39. Не загруженный документ перемещается в отдельную папку. Его придется вбивать вручную.
Результат: Заказчик остался доволен. Однозначно принято решение о внедрении RPA и в других процессах организации. Мы же получили ценный опыт в новой для нас сфере автоматизации.
Автор статьи: Гильмияров Ринат
Оригинал статью можно найти на сайте ГК Софт-Сервис