sap rpa что это такое
SAP запустила в России ПО для роботизации бизнеса
В России появилось решение SAP iRPA, предназначенное для роботизации бизнес-процессов. Оно работает с различными программами, вроде мессенджеров и текстовых редакторов, через пользовательский интерфейс, как если бы команды им отдавал человек, за счет чего и достигается автоматизация процессов.
SAP iRPA вышел в России
SAP выпустила на российский рынок первую версию решения по роботизации бизнес-процессов SAP Intelligent Robotic Process Automation (SAP iRPA). Решение взаимодействует с другими приложениями через пользовательский интерфейс, то есть имитирует действия сотрудника-человека, за счет чего и достигается автоматизация процессов.
Пока что в SAP iRPA предусмотрено взаимодействие с популярными мессенджерами, редакторами документов и таблиц, почтовыми программами. В будущем разработчики намерены интегрировать продукт с основными бизнес-системами SAP, а также добавить в него машинное обучение и разговорный искусственный интеллект.
SAP iRPA базируется на решении по созданию ботов, разработанном компанией Contextor. SAP приобрела данную компанию осенью 2018 г. На тот момент Contextor считалась лидером в области автоматизации роботизированных процессов (RPA) в Европе. Количество ботов, созданных ее клиентами, превышало 100 тыс. Сама Contextor была основана в 2000 г. во Франции.
Кому это нужно
SAP поясняет, что роботизация наиболее популярна в сфере взаимодействия бизнеса с клиентами — например, в торговле, банковском секторе и телекоме, где большому количеству сотрудников-людей постоянно приходится совершать однотипные операции.
В качестве примера действий, которые могут быть роботизированы, SAP приводит обработку обращений от клиентов, бумажный и электронный документооборот, поиск информации в почте, массовые рассылки, построение отчетов и др. Помимо этого, такие решения потенциально могут применяться в кросс-индустриальных сценариях в сфере управления персоналом, финансами, логистикой и т. д.
Как отметил заместитель генерального директора SAP CIS Юрий Бондарь, «применение технологий роботизации поможет нашим клиентам перенести часть рутинных операций в SAP-системы и освободить персонал для принятия важных стратегических решений в бизнесе. К тому же, появление в нашем портфеле подобного решения — это еще один шаг вперед в создании интеллектуальных предприятий с нашими российскими клиентами».
Боты для SAP S/4HANA
Помимо этого, в будущем SAP намерена создать преднастроенные боты для SAP S/4HANA. Разработчики обещают, что при их использовании внедрение и поддержка решений по роботизации будут обходиться в среднем в два раза дешевле. В ботах для SAP S/4HANA будет предусмотрена интеграция с чат-ботами, голосовыми и интеллектуальными помощниками на базе машинного обучения. В результате взаимодействие с техникой должно будет выглядеть для сотрудников и клиентов естественно.
SAP S/4HANA — это флагманская система планирования ресурсов предприятия (ERP), анонсированная SAP в феврале 2015 г. Решение унаследовало возможности систем R/3 и SAP Business Suite. Взаимодействие с пользователем осуществляется через упрощенный пользовательский интерфейс Fiori. Анализ данных SAP S/4HANA производит на базе работающей в памяти (in-memory) СУБД HANA.
Основы RPA: программные роботы и зачем они нужны
Многие наши читатели хорошо знают, что такое RPA, но тем не менее, мы часто встречаем на Хабре вопросы о программных роботах, и поэтому решили подготовить статью об основах роботизированной автоматизации. Те, кто не до конца понимают, что же такое программные роботы, смогут узнать что-то новое, а опытные читатели повторят основы RPA.
Статья написана при поддержке технического эксперта UiPath: Кристины Виролайнен.
Зачем нужен RPA
«. если бы вы были фермером, стали бы вы покупать трактор с позитронным мозгом, жатку, борону, доильный аппарат, автомобиль и так далее — всё с позитронным мозгом? Или приобрели бы обычную технику и одного позитронного робота, который мог бы на ней работать? Причем хочу вас предупредить, что второй вариант в пятьдесят, а то и в сто раз дешевше.»
А. Азимов «Стальные пещеры» 1953 г.
Введем определение: Robotic Process Automation — роботизированная автоматизация бизнес-процессов, такая автоматизация базируется не на классическом подходе с использованием программирования и API систем, а на применении программных роботов, которые работают с пользовательским интерфейсом (GUI) ваших систем. При этом роботы могут работать и с API, если системы его предоставляют.
Применение RPA
Два главных эффекта от внедрения роботизации — RPA обеспечивает бизнесу снижение затрат и повышение эффективности рабочих процессов.
IТ-специалисты полагаются на RPA для развертывания приложений и мониторинга сетевых устройств. RPA является идеальным решением для удаленного управления IТ-инфраструктурой, потому что может находить и устранять проблемы быстрее, чем человек, и делать это в режиме 24/7.
Финансовые и бухгалтерские отделы используют RPA для устранения человеческих ошибок и оптимизации времени ввода данных: обработка списаний, поступлений, выставление счетов — всё это задачи для робота.
В центрах обработки клиентских запросов и в приложениях для обслуживания клиентов роботы могут помогать сотрудникам поддержки, повышая их производительность. Таким образом, человеческие ресурсы могут быть перераспределены для решения более сложных вопросов. Робот найдет информацию о клиенте сразу во всех системах и представит сотруднику поддержки полную информацию с историей его обслуживания. Таким образом сотрудник контакт-центра тратит свои ресурсы на помощь клиенту, а не на работу с бизнес-приложениями и поиск информации.
Отделы кадров полагаются на роботов в оформлении сотрудников, отпусков, больничных, переводов и увольнений. Например, обработка запросов от сотрудников с помощью RPA позволяет автоматически формировать и предоставлять необходимые справки и документы. Роботы могут проводить поиск и обработку резюме и откликов кандидатов — список задач не ограничен.
RPA обеспечивает интеграцию корпоративных приложений, упрощая рабочий процесс для отделов продаж. Благодаря автоматизированной роботизации отделы продаж сокращают циклы продаж и повышают показатели конверсии.
Аутсорсеры бизнес-процессов (BPO) могут легко использовать RPA для оптимизации управления клиентскими операциями.
Роботы способны быстро взять на себя возросшую нагрузку. Например, во время пандемии в рамках господдержки были введены льготные кредиты для предприятий малого и среднего бизнеса. Это привело к большому потоку заявок на такой кредит. Один банк, решая проблему возросшей нагрузки на персонал, за 3 недели роботизировал процесс обработки и проверки заявок на льготный кредит. Это позволило принимать большее число заявок и помогло многим предприятиям: в день робот обрабатывал от 500 до 1500 заявок, а средняя скорость работы с одной заявкой увеличилась в 5 раз. Банку удалось снять рутинную нагрузку с 3000 своих сотрудников, что позволило им работать в штатном режиме.
RPA — роботы, которые не видны
В течение многих лет роботы играли важную роль в производстве. Под роботами обычно привыкли понимать устройства, выполняющие полезную работу без участия человека. Все мы хорошо представляем себе завод и роботов, которые насыпают продукт, упаковывают, наклеивают этикетки, и делают массу другой полезной работы. Но существуют и программные роботы — эти программы способны производить вычисления и автономно решать поставленные им задачи.
По сути программные роботы имитируют действия человека: они могут видеть элементы открытых приложений; понимать, где находятся кнопки, поля для ввода, текст, таблицы и другие интерактивные элементы интерфейса. Роботы «знают», что им нужно сделать — нажать на кнопку, ввести данные, и делают это. Главная сила программных роботов — их способность взаимодействовать с пользовательским интерфейсом. Это дает возможность автоматизировать длинные сквозные процессы, в которых задействовано множество систем. При этом мы не привязываемся к наличию API у систем: могут быть роботизированы как стандартные офисные приложения, так и сложные ERP-системы, и даже самописные или legacy-приложения, классическая интеграция с которыми невозможна. В общем, любые системы и приложения, с которыми может работать человек, могут быть автоматизированы с использованием роботов.
Робота можно представить, как умного стажера: вы даете ему задачу скопировать данные из файла Excel и занести их все в 1С, или наоборот. С этой задачей идеально справится робот, но, конечно, он умеет не только копировать и переносить данные. Робот также может проводить простую аналитику, а с помощью ИИ — обрабатывать данные по сложным алгоритмам. Классическими примерами использования роботов являются финансовые процессы: проведение сверок с контрагентами, расчет заработной платы, обработка больничных листов и др.
Чтобы не запутаться в терминологии, добавим: робот — программа, которая выполняет роботизированные процессы. Один робот может выполнять и процессы для бухгалтерии, и процессы для кадров. Вы можете роботизировать несколько процессов, имея всего одну лицензию робота.
Преимущества роботизации в компании
Благодаря RPA можно по-новому взглянуть на бизнес-процессы. Эта технология позволяет автоматизировать множество корпоративных функций: от бэк-офиса до удаленной IТ-инфраструктуры. Вот основные преимущества роботизации:
Сотрудники могут сосредоточиться на более интеллектуальной работе, а не на повторяющихся рутинных задачах. Избавившись от необходимости выполнять повторяющиеся механические задачи, у людей появляется время максимально использовать свой потенциал, они вдохновляются решением сложных нетривиальных задач. Производительность труда в таком коллективе возрастает.
Роботы не ошибаются — возможность ошибки полностью исключена. Человек может некорректно вводить текстовые и цифровые данные, робот же всегда действует по указанной инструкции и никогда не опечатывается.
Робот — цифровой сотрудник, который справится с работой, которую можно делать по инструкции. Он отлично выполняет такие операции, как:
Копировать и распознавать текст.
Вставлять скопированный текст в другие системы и формы.
Выполнять действия в приложениях.
Работать со сканами документов. Роботы могут использовать сторонние движки для распознавания текста, чтобы потом работать с текстом.
Работать с базами данных и госсистемами.
Отправлять сообщения в мессенджерах.
Выполнять другие простые и рутинные операции.
RPA значительно сокращает время, необходимое для выполнения широкого спектра бизнес-процессов, включая обработку поступлений, обслуживание клиентов и любые другие процессы, требующие доступа к нескольким существующим IТ-системам. Производительность предприятия возрастает по мере сокращения времени рабочего цикла и транзакций.
Бизнес-аналитика более надежна и легкодоступна. Каждая транзакция, совершенная с помощью RPA, записывается в журнал. С помощью этих данных можно всесторонне анализировать любые завершенные процессы.
Если необходимо, робот может спрашивать у человека помощи и ждать его ответа.
Выполняет операции в 10-20 раз быстрее человека.
Не ошибается и работает 24/7.
Помогает бизнесу расти без увеличения персонала.
Какие есть альтернативы?
У роботизации есть два основных конкурента:
Ничего не менять и работать по-старому.
Использовать классическую автоматизацию бизнес-процессов.
У каждого из путей есть свои плюсы и минусы. Программные роботы — не панацея: если процесс имеет большое число ветвлений и исключений, или часто требуется принятие интеллектуальных решений человеком — лучшим вариантом будет оставить этот процесс на ручном исполнении.
Классическая автоматизация может выигрывать тогда, когда требуется автоматизация работы в одной системе. Например, в статье «Лайфхаки для роботизации 1С» мы отмечаем, что при необходимости автоматизации работы в 1С и, уже имея компетенции разработки в этой системе, дешевле будет провести автоматизацию классическим способом.
Однако, когда в процессе задействовано более одной системы, роботизация значительно обходит по эффективности классическую автоматизацию.
RPA-решения имеют целый ряд преимуществ по сравнению с сервисами для классической автоматизации бизнес-процессов. В первую очередь это:
Простота реализации: роботизация одного процесса занимает 2 месяца, а если роботизация поставлена на поток — то этот процесс можно сократить до двух недель. Выше мы привели пример робота, разработанного за 3 недели, и в этом же банке есть робот, разработанный за рекордных 3 дня.
Быстрый эффект — 6 месяцев до возврата инвестиций, ROI.
Роботы требуют минимум изменений в действующих IТ-системах, поскольку в этом случае работа происхолит с пользовательским интерфейсом.
Выводы
Программные роботы — эффективный инструмент по оптимизации бизнес-процессов. По сравнению с классической разработкой RPA-системы проще разворачиваются, быстрее окупаются и требуют минимальных изменений в существующих IT-системах. Параллельная автоматизация нескольких процессов с помощью одного робота позволяет повышать экономическую выгоду каждой лицензии. Сегодня программные роботы всё больше завоевывают рынок и становятся движущей силой цифровой трансформации компаний.
Как создать виртуального робота?
Автоматизация процессов знакома бизнесам любого масштаба. Практически в каждой компании используются макросы на VBA, например, для создания отчетности или проведения вычислений. Но зачастую для сквозной автоматизации бизнес-процесса применения макросов бывает недостаточно: большинство из них использует несколько различных приложений, работу с веб-страницами, электронной почтой, базами данных и, конечно же, учетными системами. Здесь и приходит на помощь технология RPA (Robotic Process Automation), позволяющая создавать виртуальных «роботов», эмулирующих действия обычного бизнес-пользователя.
Роботизация особенно популярна в B2C сегменте, в том числе, в торговле, банках и телекоме, за счет большого числа ежедневно выполняемых похожих операций. Однако в любых компаниях существует множество рутинных процессов, подходящих для роботизации. Они не зависят от индустрии. Это может быть внесение данных в разные системы, их сверка между собой, формирование отчетности или справок, создание заказов и платежных требований, проверка информации о поставщиках, загрузка проводок и банковской выписки, контроль записей в нормативно-справочной информации и др.
Хотя идея, лежащая в основе RPA, и не является новой, с каждым годом к ней обращено все больше внимания. В последние несколько лет рынок RPA стал одним из самых быстрорастущих, в 2019 году его объем составил 1,4 млрд долларов, а к 2022 году ожидается объем в 2.4 млрд. Это отражается и в росте количества RPA-вендоров, в том числе фокусирующихся на определенных нишах или направлениях бизнеса. В связи с этим многие крупные предприятия сейчас переходят на мультивендорную стратегию и используют разных поставщиков для различных задач.
В конце 2018 года SAP приобрел одного из вендоров технологии RPA, французскую компанию Contextor, представленную в основном на европейском рынке. С тех пор решение было доработано как с точки зрения интеграции с другими SAP-приложениями, так и для улучшения общей производительности и расширения функционала. В мае 2019 года был представлен новый продукт SAP Intelligent Robotic Process Automation. В планах компании продолжать работу над «интеллектуальной» составляющей роботов: использовать технологии ML и Conversational AI для упрощения взаимодействия пользователей с роботами и предотвращения возникающих в процессе выполнения ошибок.
Как это работает?
RPA-бот состоит из элементарных шагов процесса, или навыков (например, открыть Excel, сохранить значение ячейки). Эти навыки соединяются между собой в нужной последовательности в визуальном интерфейсе, образуя целый набор шагов. Мы называем этот процесс «workflow». При этом для расширения возможностей можно добавить «custom» шаг и использовать встроенную в решение среду Javascript. Полученный workflow определяет сценарий робота. Далее мы можем запланировать его выполнение с определенной периодичностью или делать вручную по команде пользователя, либо по событию. Принцип работы изображен на рис. 1.
Рисунок 1. Принцип создания робота
Решение умеет работать как с традиционными инструментами (MS Office, PDF, Outlook), так и с облачными приложениями и веб-сервисами, legacy-приложениями, и, конечно же, с SAP. А еще оно имеет специальные коннекторы для интерфейсов GUI и UI5. Поддерживается работа в двух разных режимах, переключение между которыми доступно в самом роботе:
Рисунок 2. Архитектура решения
Сценарий создания робота с SAP Intelligent RPA
Теперь рассмотрим, как создается простой робот на примере процесса проверки контрагента в системе СПАРК и получения оттуда контактных данных контрагента для последующего внесения этих данных в ERP.
Как только все необходимые страницы и элементы определены, можно приступать к созданию сценария для робота. Представьте, что у нас есть чистый лист, с которого начинается написание сценария. И мы пишем его, добавляя активности, которые будут выступать в качестве шагов робота.
Первым шагом добавим активность для чтения письма. Затем робот должен открыть вложение и считать из него информацию, открыть СПАРК, найти данные и последним шагом внести их в ERP. В результате, получаем workflow, как на рисунке 3.
Рисунок 3. Студия для разработки: создание workflow
Обратите внимание, с некоторыми приложениями робот работает с помощью API (MS Office), а с остальными на уровне графического интерфейса. Именно поэтому на скриншоте можно видеть разницу между активностями с Excel и страницами СПАРК.
Далее, если «провалиться» на уровень конкретной активности, то можно увидеть, какие действия будет выполнять робот на этом шаге, как, например, на экране ниже (рис. 4). Робот записывает телефон и адрес электронной почты в заранее созданные переменные.
Рисунок 4. Активности для работы со страницей
Но и это еще не всё: под каждый шаг генерируется Javascript-код, в который можно перейти прямо из шага, посмотреть его, внести изменения или написать шаг с нуля (рис. 5). Также есть конструктор, который помогает строить pop-up окошки для attended роботов для упрощения взаимодействия с пользователем.
Рисунок 5. Код проекта
Запуская робота в режиме отладки, можно протестировать отдельные функции созданного workflow. Проверить, корректно ли определяются страницы и элементы приложений, с которыми работает робот, присвоить им определенные значения, ну и в целом протестировать отдельные шаги workflow, чтобы быть уверенным, что всё отрабатывает, как было запланировано.
Для продуктивного использования робота наш сценарий нужно загрузить в оркестратор. Там же задается среда выполнения, иерархии для управления компьютерами или группами компьютеров, расписание для роботов, а также поддерживается контроль версий.
После того, как мы загрузили робота на платформу оркестрации и определили расписание и среду выполнения, он запускается из области уведомлений Windows в соответствии с настройками и отрабатывает свой сценарий. Аналитика по результатам будет доступна в оркестраторе.
В целом, принцип работы RPA-решения достаточно прост. Однако, пройдя полный цикл от постановки задачи до ее реализации, можно обратить внимание на детали, для которых крайне важна гибкость, как, например, расширение функциональности и масштабируемость. Надеемся, эта статья поможет вам подготовиться к созданию вашего первого робота с SAP Intelligent RPA. Также хочется отметить, что у нас есть общедоступный, бесплатный онлайн-курс по созданию роботов на платформе OpenSAP. Если у вас возникнут вопросы, пишите в комментариях, будем рады помочь. Успехов!
Авторы: Ботагоз Жатакбаева, Мария Ларичева, Евгений Горбунов, архитекторы бизнес-решений SAP CIS
RPA: роботизация процесса регистрации счета. Наиболее полное руководство
Привет! Тема с RPA становится всё более хайповой. Принцип работы программных роботов и отличие RPA от других способов автоматизации освещаются на тематических порталах. Я же решил сосредоточиться на подходах к моделированию RPA-процессов. Для примера выбрал процесс регистрации счета покупателю. Остановился именно на нем, так как этот процесс универсален и актуален для компаний любой отрасли и масштаба.
В итоге процесс обработки счета автоматизируется лишь частично — на каждом из этапов, где работает та или иная система. Но вот на стыках между системами работают люди, причем их действия скучны и монотонны: они просто копируют данные из одной системы и вставляют в другую. Встает вопрос о интеграции систем между собой.
Какие-то системы уже в стандартной конфигурации могут содержать готовый функционал для интеграции. Сложность в том, что он не подойдет, если система, с которой выполняется интеграция, имеет неподдерживаемую версию или очень сильно дописана «под себя».
В этом случае решением может быть реализация собственной интеграции между системами. У этого решения есть недостаток — это дорогой и длительный проект. Иногда такая интеграция может быть невозможна из-за отсутствия API или закрытого исходного кода. Иногда нецелесообразна, например, в случае устаревшей системы, которую не планируется поддерживать в дальнейшем.
Технология RPA лучше всего показывает себя в рутинных задачах, где требуется простой перенос данных через заполнение форм, нажатие клавиш. В таких задачах не должно быть логики, которую нельзя представить в виде системы очень четких правил. Чем проще логика – тем дешевле реализовать такой процесс. Чем чаще он повторяется в бизнес-процессах компании, тем ощутимее будет выгода от его внедрения.
Робот выполняет процесс со скоростью немного превышающей скорость человека. На одном роботе может одновременно выполняться только одна задача. Поэтому, если с помощью автоматизации мы планируем переключить на робота операции, которые сейчас выполняются вручную, то RPA – подходящий вариант, если же данные должны обрабатываться с высокой скоростью – лучше рассмотреть другие способы.
В моем примере, где требуется простой перенос данных между системами и сверхчеловеческая скорость не обязательна, интеграция через RPA — оптимальное решение.
Моделирование процесса в RPA
Конкретный кейс регистрации счета, который я смоделировал, выглядит следующим образом:
Робот берет на себя создание счета в 1С и отправку его в Диадок, таким образом процесс будет полностью автоматизирован.
Конечно, нет смысла описывать здесь пошаговую инструкцию, потому что в основном при моделировании выполняются повторяющиеся шаги. Да и в вашем случае реализация наверняка будет в чем-то отличаться. Я хочу рассказать скорее об общих подходах к реализации RPA-процессов и показать, как выполняются самые часто используемые шаги в дизайнере RPA.
RPA-процесс – это в первую очередь про взаимодействие с пользовательским интерфейсом. Робот должен повторить действия пользователя. А пользователь для навигации внутри окна приложения чаще всего использует клики мышкой по соответствующим визуальным элементам интерфейса. Если нужно закрыть окно, пользователь нажмет «крестик», для подтверждения действия — кнопку «ОК», если нужно ввести дату — предпочтет найти ее в выпадающем календаре. Чтобы повторить такое действие, в процессе записывается указатель для поиска нужного элемента. В общем случае это заголовок окна, где должен находиться элемент и его название. Приложения могут быть организованы по-разному, не всегда удается выделить такой текстовый указатель. В этом случае робот может ориентироваться по изображению, тогда в качестве указателя в процессе будет записана картинка.
Поиск элемента по указателю-картинке будет работать медленнее, чем поиск по текстовому указателю. Кроме того, такой поиск менее надежен: изменение разрешение экрана или фона под элементом – и робот может не найти элемент. Есть еще один вариант – использовать для навигации клавиши. С их помощью можно открывать приложения, перемещаться между элементами, нажимать кнопки. Поиск при этом не нужен. Это самый быстрый и надежный вариант, именно он самый предпочтительный для RPA. После него – текстовый указатели и в крайнем случае – поиск по изображению.
Для моделирования я взял бесплатную RPA систему от ELMA.
Вызов 1С
Создаю в дизайнере новый процесс.
Первое, что должен сделать робот – запустить приложение 1С. Надежнее всего работают действия, выполняемые нажатием клавиш. Поэтому запускаю 1С с помощью команды «Выполнить».
Для этого перемещаю на графическую модель процесса действие «Сочетание клавиш» и указываю, какие клавиши должны быть нажаты – Win + R. Далее перемещаю действие «Ввод текста» и указываю адрес исполняемого файла 1С, например, «C:\Program Files\1cv8\8.3.16.1063\bin\1cv8s.exe». И наконец действие «Сочетание клавиш», которое и должно нажать клавишу Enter.
Выбор конфигурации
Далее на экране появится окно выбора конфигурации 1С. В простейшем случае для выбора конфигурации можно так же использовать последовательность нажатия клавиш. Но если вы не знаете, какой по порядку будет выведена в списке нужная конфигурация, придется предусмотреть поиск с помощью указателя.
Для поиска указателя подходит специальный инструмент дизайнера — рекордер. Он позволяет записывать последовательность действий пользователя и автоматически определяет указатели. Когда рекордер запущен, он распознает элементы интерфейса на которые наведен указатель мыши и подсвечивает их зеленым цветом. Таким образом можно сориентироваться, к какому элементу будет применено записанное действие. Рекордер умеет записывать самые разные действия пользователя: перетаскивания элементов, прокрутку, клики мышью, нажатия клавиш и т.д.
Запускаю рекордер, навожу на название нужной конфигурации. После того, как она подсветилась зеленым, кликнем на нее. Затем Enter. Останавливаю запись и подтверждаю добавление действий в процесс.
Ввод логина-пароля
Следующий шаг – ввод логина и пароля для входа в приложение. Пусть эти параметры передаются процессу в качестве аргументов вызова. Добавляю их в контекст процесса.
Теперь нужно ввести значения этих переменных в соответствующие поля 1С. Для этого воспользуюсь рекордером. В режиме записи после наведения на нужный элемент можно вызвать особое меню рекордера, позволяющее применить к элементу дополнительные действия. Например, вставку значения из контекстной переменной.
Записываю клик по полю «Пользователь», затем применяю к нему действие «Вставить», указав переменную login, затем Tab, функция «Вставить» для поля «Пароль» и наконец ввод клавиши Enter.
Переход к форме «Документы поставщика»
Если сейчас запустить воспроизведение процесса, дизайнер попросит вас указать значения контекстных переменных login и password, далее запустит 1С, выберет конфигурацию и залогинится в приложении. Теперь перед нами главное меню приложения.
Следующим действием нам нужно открыть форму «Документы покупателей». Скорее всего, вы уже догадались, что нужно для этого сделать: запускаем рекордер, кликаем по меню «Продажа», а затем по «Документы поставщиков».
Новый документ
Дальше нужно создать новый документ. В 1С нажимаю клавишу Insert. Добавляю это действие в процесс с помощью рекордера или вручную, перетащив из палитры действие «Сочетание клавиш».
Выбор вида документа
1С попросит нас выбрать вид документа. Мне нужен «Счет на оплату покупателю».
Работа с таблицами и списками часто вызывает сложности. Не всегда определяются указатели. Или сложно с помощью простых действий, доступных роботу, построить процесс, требующий анализа таблицы, где много полей, много строк. Универсального способа тут нет, для каждой задачи подбирается свой подход.
Но в данном случае все просто. Можно или записать клик по нужному типу документа или воспользоваться строкой поиска вверху формы или начать набирать название нужного нам документа и 1С выделит его. Затем Enter, и мы готовы к вводу данных счета.
Шапка счета
В шапке счета вводим дату счета, контрагента, договор, склад. Эти значения необходимо передать процессу в качестве входных аргументов, поэтому добавляю нужные переменные в контекст.
1С позволяет просто ввести эти значения в соответствующие поля, открывать формы справочников и выбирать в них не обязательно. Запускаю рекордер и с помощью быстрого меню записываю вставку значений контекстных переменных в нужные поля и перемещение между полями с помощью клавиши Tab
Строка счета
Теперь добавим строки счета. Очевидно, как моделировать работу с отдельной строкой. Но в каждом конкретном счете строк может быть сколько угодно. Нужно предусмотреть возможность передачи процессу произвольного количества строк, которые в свою очередь состоят из нескольких полей, и после этого добавление каждой полученной строки на форму в 1С.
Для передачи коллекции строк я создаю контекстную переменную с типом «Массив». Отдельная строка такой коллекции будет представлять собой текстовую строку с перечислением значений полей.
Чтобы процесс мог работать с отдельными полями строк, воспользуюсь действием «Сценарий». Это действие позволяет включить в логику процесса произвольный программный код на C#. В нашем случае программа будет вызываться в цикле и при каждом следующем выполнении брать следующую строку коллекции, выполнять ее разбор и присваивать значения полей соответствующим переменным. Для выхода из цикла я буду использовать специальную переменную с типом «Да/Нет», значение которой будет изменяться в коде сценария при разборе последней строки.
Чтобы организовать цикл выбираю действие «Повторять, пока…». Он представляет из себя контейнер, куда нужно поместить действия, которые должны повторяться.
Печать, сохранение файла
Процесс почти готов. Используя те же приемы, что я показал выше, добавляю формирование печатной формы счета и сохранение его на диске, сохранение счета в системе и закрытие приложения.
Отправка счета в Контур Диадок
Все базовые приемы моделирования на примере 1С подходят и для моделирования работы в любых других приложениях.
Следующая этап обработки счета – отправка его клиенту через Диадок. Создание счета в 1С и его отправку лучше моделировать как два разных процесса. Это позволит независимо их отлаживать и запускать на разных машинах.
Робот будет взаимодействовать с Диадок через web-интерфейс. Не во всех браузерах рекордеру удается хорошо распознать указатели. Лучше всего они определяются в IE и Firefox.
Для открытия web-страницы Диадок используем команду «Выполнить». В качестве параметра указываю «iexplore diadoc.kontur.ru». Дальше создайте необходимые входные параметры. Дальше используя рекордер моделирую логирование в системе, загрузку файла счета, ввод параметром и отправку. Там, где это возможно, выполняю действия при помощи нажатия клавиш, где нет – использую указатели.
Подытожу
В процессе появились две новые зоны ответственности: Робот и Администратор по роботизации. При выполнении процесса робот может столкнуться с чем-то, что мы не предусматривали при моделировании. Например, 1С выдаст непредвиденную ошибку или в Контур Диадок после обновления изменится интерфейс, и робот не найдет нужных контролов. В этом случае требуется, чтобы специалист, отвечающий за поддержку роботов, проверил, что пошло не так и восстановил работу робота. Описанный мной процесс предусматривает такую ситуацию. Получив статус задания робота «Ошибка», система создаст соответствующую задачу администратору, после его проверки робот запускается повторно.