Найти тему
ГК "СОФТ-СЕРВИС"

Кейс RPA: Автоматизация ввода документов КС-3

Оглавление

Кейс RPA: Автоматизация ввода документов КС-3 с помощью робота

Мы активно занимаемся изучением новых технологий в сфере автоматизации. И сейчас заметен взрывной рост такой технологии, как RPA. Что же такое RPA?

Robotic process automation — современная технология автоматизации процессов, которая основана на использовании программных роботов.
Создать карусель             История о нашем первом проекте на RPA
Создать карусель История о нашем первом проекте на RPA

Чтобы на деле проверить, на что способны роботы, мы взяли пилотный проект. 

Задача:

Автоматизировать ввод документов КС-3 в СУП (Система управления проектами) Advanta. В месяц необходимо загрузить около 200-300 документов. Сотрудник заполняет 4 поля, которые берет из документа и прикрепляет этот самый документ. Документ имеет стандартизированную форму, что является главным критерием для автоматизации процесса. В данной задаче использовалось ПО от Electroneek. 

Создать карусель             Пример документа КС-3
Создать карусель Пример документа КС-3

Алгоритм робота:

  1. Сканирует PDF-документ;
  2. Извлекает данные (Дата, номер договора, номер документа, сумма);
  3. Запускает браузер;

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).

Создать карусель             Авторизация в систему Advanta
Создать карусель Авторизация в систему Advanta

Шаг 5 — «Поиск необходимого контракта». Для этого используем поиск по сайту в самой СУП Advanta, но чтобы не тратить время на ввод, решили сделать поиск с помощью генерации URL. Тем самым сокращаем общее время процесса ввода данных.

Создать карусель             Список госконтрактов
Создать карусель Список госконтрактов

Шаг 6 — «Ввод данных». Каждое поле имеет свой ID (смотрим HTML разметку), и он уникален. Робот ищет заданный ID и вводит данные, которые определили в пункте 2. В Electroneek можно использовать Атрибуты (тот самый ID, CSS-селектор, Xpath-селектор). Разработчики советуют использовать определение по ID (самый быстрый). Сохраняем. 

Создать карусель             Окно для ввода извлеченных данных
Создать карусель Окно для ввода извлеченных данных

Шаг 7 — «Прикрепления документа КС-3». Чтобы не тратить время на поиск документа, заложили в робот генерирующий путь, вида: E:\RPA\pdf + namefiles. Наши документы всегда лежат в определенной папке, меняется лишь название (namefiles). Сразу генерируется полный путь к файлу. Звучит легко и просто, но догадались не сразу. 

Создать карусель             Ввод пути к файлу КС-3
Создать карусель Ввод пути к файлу КС-3

Далее все шаги повторяются, только уже для других документов КС-3. Конечно, не все документы смог загрузить робот. Всё зависело от качества документа и расположении печати. Из 40 предоставленных документов, загрузилось 39. Не загруженный документ перемещается в отдельную папку. Его придется вбивать вручную. 

Результат: Заказчик остался доволен. Однозначно принято решение о внедрении RPA и в других процессах организации. Мы же получили ценный опыт в новой для нас сфере автоматизации.

Автор статьи: Гильмияров Ринат

Оригинал статью можно найти на сайте ГК Софт-Сервис