1С и RPA: подводные камни
Что такое RPA?
🤖 Сейчас много шума вокруг ИИ — как поможет, да кого заменит. Но и всё неразвлекательное ПО, созданное ранее, имело ту же цель, что и ИИ: помочь что-то сделать и сократить время выполнения. Один из примеров такого ПО — RPA.
Далеко не все программы позволяют заменить пользователя роботом. Например, в Excel есть возможность записать свои действия в макрос, немного его поправить при необходимости, и делать впоследствии некоторую последовательность действий автоматически или даже зациклить её — например, для всех книг каталога, и в том числе — запустить внешней программой. А вот в Блокноте нет такой возможности.
Программы RPA дают возможность запрограммировать обращение к другим программам, в том числе с помощью имитации действий пользователей.
Ключевая особенность — так же, как и в ИИ — Low-code, то есть возможность обойтись без программиста.
🏢 Мой опыт внедрения RPA
И вот один из моих работодателей решил попробовать RPA.
Подход организовали грамотно: собрали список рутинных операций.
Поверьте, у многих других начиналось наоборот — разбирались, что можно проще всего сделать с программой, а до общего списка не доходило, и после покупки оставались у разбитого корыта в виде списка из пяти возможных операций.
В списке оказалось 80% операций, связанных с 1С — по причине специфики деятельности фирмы. Поэтому сразу же привлекли нас, 1С-ников.
Запросили наше мнение — я сразу же дал отрицательное резюме: в части 1С надо всё делать на 1С.
Не поверили — решили, что не хотим конкуренции. Такое недоверие имеет основание, я к нему отнёсся спокойно и принял участие в проекте внедрения RPA.
🛠 Выбор и старт
На втором шаге был предложен список RPA-программ. Была выбрана программа российского производства, о чём впоследствии совсем не жалели.
Был плотный диалог, разработчики быстро исправляли найденные ошибки, хорошо работала поддержка.
Выбрали первую рутинную операцию для автоматизации.
Старт — и сразу сталкиваемся с первой особенностью.
⚠ Внедрение
Для одного пользователя и одной операции всё почти прекрасно: записал действия, запустил, повторяй. Но в реальной жизни не всё так просто:
- 🖥 Немного отличаются интерфейсы в базах.
- 👥 У разных пользователей они тоже отличаются.
- 🔄 В разных базах действия тоже могут быть немного разными.
И без программиста ну вот никак не получается:
- 📁 Надо записывать файлы, у каждого свой путь, а формировать его надо программно.
- 🖱 Надо правильно сформулировать, какую кнопку нажать: это кнопка с надписью «Ок», левая кнопка, или кнопка с определённым положением на экране в определённом окне?
- 🪟 В процессе выполнения открывается несколько окон, надо переключаться между ними, и надо правильно объяснить роботу, когда в какое окно возвращаться.
- ⚡ 1С в разных элементах реагирует по-разному, и может задавать или не задавать дополнительные вопросы — и это тоже надо учесть.
⏱ С учётом того, что выявлялись отсутствующие возможности или ошибки в платформе RPA, отработка всех вариантов рутинной операции заняла более месяца.
📈 Моя оценка — для первой операции это вполне неплохо, с учётом того, что в месяц она экономила более человеко-недели.
🔍 Эксплуатация
Пока запускалась вторая операция, выяснились некоторые проблемы:
1 Часть операций по причине ошибок данных или возникновения особенных ситуаций не могла обрабатываться, и отрабатывать все эти ситуации в RPA не получалось: 5–10% операций не выполнялась, и по списку их позже выполняли пользователи.
2 RPA очень чувствительна к интерфейсам. А они меняются при обновлениях 1С (поле чуть-чуть сдвинулось), браузера, и что ещё важнее — сайтов, с которыми приходилось работать. ИФНС поменяла интерфейс сайта, и много чего пришлось переписывать.
Поэтому появились трудозатраты на поддержку автоматизации, в том числе — на проверку причин попадания в список для ручного повторения. И это были периодические трудозатраты программиста, а не пользователя.
💻 Пробуждение скрытых сил
🖥 Третья операция была не для 1С, а для рутинной операции сисадмина.
Как только стали его опрашивать по сути операции, он посмотрел на RPA, поморщился и за день написал скрипт, автоматизирующий его рутину. Вопрос отпал.
🔄 Финал проекта
🔄 Финалом по первой операции стало обновление RPA. Выяснилось, что убрали часть устаревших возможностей, и наша программа работать перестала.
Переписывать заново не было никакого желания.
Тут уже я за недельку переписал эту операцию на 1С. Недельку — поскольку пришлось немного поразбираться с Automation и API сайта.
📈 Взамен получили:
- Ускорение в работы программы 4 раза.
- Простоту обслуживания.
- Снижение ошибок до 1–2%. В 1С получить данные 1С таки легче.
- Независимость от интерфейса.
И эта программа осталась надолго. А RPA крутилась только на второй операции, т.к. развитие RPA приостановили.
💎 Мои выводы
- Чудес не бывает.
- RPA может быть эффективным, но далеко не так часто, как кажется, и как это рекламируют. Начинать надо именно с выявления того списка операций, где RPA может быть полезна. В первую очередь это простейшие рутинные операции или операции с несколькими неинтегрируемыми системами в статических интерфейсах, при условии, что программирование другими средствами значительно сложнее.
- В части 1С RPA может быть эффективным крайне редко — только в процессе с другим неинтегрируемым ПО, где доля участия 1С невысока.
- Иногда 1С тоже может выступать как RPA. Но тоже нечасто.
- Если есть API или другая легитимная интеграция — использовать вместо неё RPA не стоит.
- Увидели «Low-code»? Не верьте! Простые случаи, разовые операции и там, где не важен результат — да, здесь возможно. И в некоторых особенных случаях. Как и ИИ, впрочем.
Считаете, что вашей 1С не хватает RPA? Готов обсудить плюсы и минусы.