Автоматизация ввода в корпоративную систему через Power Automate for desktop — вместо ручного ввода из Excel и с бумаги

· Обновлено: · · Power Automate, RPA, классический поток, UI-автоматизация, Excel, корпоративная система, автоматизация бизнес-процессов, техническая консультация

История изменений (4 обновлений, последнее 30 Aug 2026)

Журнал изменений этой статьи. Там, где версия до правки была заархивирована, она остаётся доступной для чтения по постоянной ссылке с DOI.

Локализованы подписи экрана установки PAD. Утверждения статьи не менялись.
Переведены примеры значений в пошаговом разборе PAD. Утверждения статьи не менялись.
Переведены названия источников; ссылки на лицензии направлены на маршруты /ru/. Утверждения статьи не менялись.
Русский текст переписан как полноценный технический перевод, а не калька с японского. Утверждения статьи не менялись.
Первая публикация
Цитирование статьи(DOI (зарегистрированный архив): 10.5281/zenodo.21620106)

Приведённые ниже DOI относятся к ранее зарегистрированным архивным версиям, которые могут отличаться от текущего текста. Для ссылки на текущий текст используйте URL этой страницы.

Го Комура (2026). Автоматизация ввода в корпоративную систему через Power Automate for desktop — вместо ручного ввода из Excel и с бумаги. KomuraSoft LLC. https://comcomponent.com/ru/blog/power-automate-desktop-legacy-app-data-entry/

DOI (зарегистрированный архив)
10.5281/zenodo.21620106
DOI (последняя зарегистрированная версия)
10.5281/zenodo.21620107

«Заказы с веб-формы и из почты сотрудник каждый день вручную заново вбивает в систему управления продажами». «В конце месяца свести табель и заявки из Excel в корпоративную систему занимает два полных дня». Такие обращения нам приходят регулярно. Общее в них то, что приёмник — старая учётная система, которой пользуются 10–20 лет (экраны эпохи WinForms или VB6, выделенный клиент), без API и без импорта CSV.

Доработка системы сняла бы проблему в корне, но ручной ввод часто живёт дальше: вендора уже нет, исходников нет, стоимость доработки не окупается. Практичный инструмент для этого разрыва — UI-автоматизация через Power Automate for desktop (PAD). Она воспроизводит те же нажатия клавиш и движения мыши, что делает человек, поэтому вводить данные можно, не трогая саму целевую систему. На Windows 11 это ещё и удобно попробовать: отдельная установка не нужна.

При этом UI-автоматизация — инструмент, который «в первый раз поднять легко, а держать стабильным трудно». Ниже разбираем именно ввод в корпоративную систему: стоит ли вообще выбирать UI-автоматизацию, где проходит граница бесплатного контура и лицензий, как проектировать устойчивую работу и как восстанавливаться после сбоя. Как выбирать между частями Power Automate и как в целом проектировать обработку ошибок, мы писали в «Автоматизация бизнес-процессов с Power Automate ── выбор между облачным потоком и потоком рабочего стола, проектирование обработки ошибок». Здесь — частный случай именно для ввода данных.

1. Короткий вывод

  • UI-автоматизация — последний вариант. Сначала ищите у целевой системы импорт CSV, прямую запись в базу, API или файловый обмен. Если есть хотя бы один такой вход, он будет заметно стабильнее.
  • PAD уже входит в Windows 11; на Windows 10 его можно установить бесплатно. Recorder и более 400 действий позволяют собрать без кода поток, который читает Excel и вводит данные на экран.12
  • Если поток только создаёте и запускаете вручную (выполнение с сопровождением), доплачивать не нужно — и с рабочей/учебной учётной записью, и с учётной записью Microsoft. Автозапуск из облачного потока, расписание и совместный доступ требуют лицензии Power Automate Premium.34
  • Для выполнения без сопровождения (unattended), как у ночного пакета, нужны ещё регистрация компьютера и лицензия Power Automate Process. Есть и технические условия: например, все пользователи на компьютере должны заранее выйти из системы.56
  • Устойчивость держится на трёх вещах: как построены селекторы, ожидание элементов и обработка исключений на одну запись. Поток из одних фиксированных Wait рано или поздно сломается.789
  • Чтобы при сбое было видно, «до какой записи данные уже введены», с самого начала закладывайте в исходный Excel колонку статуса и колонку регистрационного номера и записывайте их после каждой записи. Тогда повторный запуск не даст двойного ввода.
  • Уязвимость к смене экрана никуда не девается, поэтому большие объёмы, процессы, которые нельзя останавливать, и часто обновляемые приложения — это уже разработка обмена данными или доработка корпоративной системы. Где проходит граница, разбираем в главе 8.

На схеме сплошная линия обозначает отношение, которое выполняется всегда, а пунктирная — условное отношение (условия указаны в пояснении к каждому отношению на странице сведений). Полный список отношений (всего 18, с доказательствами и степенью уверенности) и определения основных понятий собраны на странице сведений карты знаний (на японском). Данные: JSON-LD / Turtle

2. В чём проблема ручного ввода

Перенос из Excel или с бумаги в корпоративную систему — это не только «простая работа отнимает время». В обращениях чаще всего повторяются три вещи.

  • Нагрузка сжимается к дате закрытия периода. Ежедневный ввод заказов ещё как-то распределён, но счета и табель на конец месяца собираются в 1–2 дня сразу после закрытия. В эти дни сотрудник почти ничем другим заняться не может. Во многих компаниях это закрывают сверхурочными и подмогой.
  • Ошибка ввода уходит дальше по цепочке. Неверный разряд, сдвиг строки, перепутанный код товара. Ошибка всплывает уже как неверный счёт или неверный остаток, поэтому разобрать причину и исправить стоит в разы дороже самой опечатки. Двойная проверка снижает число ошибок, но добавляет время.
  • Работа привязывается к одному человеку. Знания вроде «на этом экране нужно вводить строго в таком порядке, иначе ошибка» или «для этого клиента ввод особый» живут в голове исполнителя. Если его нет — процесс встаёт.

Ценность автоматизации не сводится к экономии времени. Поток вводит только так, как задано, поэтому ошибки переноса пропадают, а процедура остаётся в самом потоке — зависимость от человека слабеет. Немаловажно и то, что пик вокруг даты закрытия можно разгладить.

Если источник — бумага или факс, перед вводом нужен ещё этап распознавания. OCR бланков заказа по факсу мы разбираем в одновременно вышедшей статье «Как распознавать факсимильные бланки заказов с помощью AI Builder и обрабатывать их в Power Automate». Здесь исходим из того, что источник уже в виде данных — например, Excel.

3. Варианты автоматизации: UI-автоматизация — последний шаг

Первое, что стоит подчеркнуть: автоматизация работы с экраном (UI-автоматизация) — последний пункт в списке. Она зависит от «условий отображения»: компоновки, разрешения, времени отклика. Как бы аккуратно её ни собирать, прямой обмен данными будет надёжнее. Сначала проверьте, нет ли у корпоративной системы одного из следующих входов.

Способ интеграции Что проверить Стабильность Примечание
Импорт CSV или файла фиксированной длины Нет ли глубоко в меню пунктов вроде «импорт внешних данных» или «массовая регистрация». Спросить у вендора по документации и поддержке Высокая Даже у старых учётных систем это нередко есть. Файл для импорта можно собирать PAD или PowerShell
Прямая запись в базу Известны ли СУБД и параметры подключения; разрешает ли договор сопровождения прямую запись Высокая Есть риск обойти бизнес-логику (нумерацию, проверки целостности). Чтение — напрямую, запись — осторожно. Нужна проверка
API или интеграционное middleware Есть ли опция интеграции у более новой версии пакета Высокая Сравнить со стоимостью опции
Файловый обмен (папка наблюдения) Есть ли механизм, который забирает файлы из заданной папки Высокая Часто встречается в системах отчётности и на складе
UI-автоматизация (PAD) Если ничего из перечисленного нет Средняя Единственный способ не трогать экраны. Тема этой статьи

Другой путь — убрать сам перенос: доработать или переписать корпоративную систему. Добавить импорт в приложение на VB6 или заново собрать вход заказов как веб мы разбираем в «До каких пор будут работать приложения VB6 ── состояние поддержки среды выполнения и практичный путь миграции на .NET» и «Когда не стоит переводить Windows-приложение в веб: таблица решений и «разделение» как реальный выход». Доработка стоит денег на разработку, поэтому реалистичен и такой порядок: сначала выиграть время через PAD, а вкладываться в доработку — когда объём вырастет и станет видно, где автоматизация упирается в потолок.

4. Основы Power Automate for desktop

Порог входа низкий

PAD входит в состав Windows 11. В меню «Пуск» достаточно найти «Power Automate»: приложение появится, при первом запуске скачается само, и им можно пользоваться.2 На Windows 10 и Windows Server 2016 право использования тоже есть, установщик бесплатно берётся из Центра загрузки.2 Есть два способа установки — Microsoft Store и MSI. Если дальше нужна облачная связка (регистрация компьютера, о ней ниже), берите MSI: вместе с ним ставится приложение machine runtime.10

Recorder: сначала каркас

В PAD есть Recorder: он записывает действия и превращает их в цепочку шагов. Операции мыши и клавиатуры он привязывает к UI-элементам — для каркаса потока ввода этого достаточно. Для ввода в старые системы важно, что способ записи можно выбрать: UIA (UI Automation) или MSAA (Microsoft Active Accessibility). UIA — рекомендуемый вариант для относительно новых приложений вроде WPF и WinForms. MSAA — вариант для старых приложений, у которых UIA не видит элементы: VB6, классический Win32. Если на экране старой корпоративной системы элементы не захватываются, переключение Recorder на MSAA иногда помогает.11

Recorder — только каркас. Условия и циклы он не записывает, поэтому после записи поток доводят в конструкторе.11

UI-элементы и селекторы

PAD запоминает кнопки и поля на экране как «UI-элементы». За этим стоит селектор: сочетание иерархии окон и атрибутов, по которому элемент находят. Срок жизни потока ввода почти целиком определяется тем, как эти селекторы собраны. Если в селектор попал порядковый индекс или динамический ID, в один день элемент перестанет находиться, хотя экран выглядит так же.

Селектор задаёт иерархию через > и описывает каждый элемент как элемент[атрибут="значение"]. Для окна «Блокнот» это выглядит так: :desktop > window[Name="Notes.txt - Notepad"][Process="Notepad"].7 Recorder подставляет в «значение» строку ровно как на экране, поэтому такие селекторы ломаются так:

Хрупкий селектор Что происходит Как исправить
Заголовок с датой или числом записей задан полным совпадением, например window[Name="Ввод заказа - 2026/07/18"] На следующий день тот же экран уже не совпадает Для атрибута Name сменить оператор с Equal to на Contains и оставить в значении только «Ввод заказа»
Глубоко зафиксирована иерархия контейнеров, например pane > pane > pane > edit Достаточно одной лишней рамки на экране — иерархия съезжает, элемент не находится Отключить промежуточные уровни и оставить стабильное родительское окно и сам элемент
Зависимость от порядка соседей (третье поле Edit и т. п.) Добавили или убрали одно поле — ввод уходит в соседнюю ячейку Искать не по порядку, а по свойству элемента, например Id (AutomationId). Если его нет, попробовать заново снять элемент через MSAA
Полное совпадение со строкой из данных, например edit[Name="Клиент: ООО Ямада"] Как только сменится клиент, шаг падает Подставить переменную PAD (%CustomerName%) или использовать Regular expression match

В редакторе селектора доступны шесть операторов: Equal to / Not equal to / Contains / Starts with / Ends with / Regular expression match (диалект регулярных выражений — .NET). В визуальном редакторе переменные можно использовать только с Equal to, поэтому «подставить переменную в часть значения» и «частичное совпадение через Contains» лучше считать взаимоисключающими.7

Для важных шагов задайте запасные селекторы. У одного UI-элемента может быть несколько селекторов: их пробуют сверху вниз, при неудаче переходят к следующему. Если селектор сломался, Repair selector может предложить варианты восстановления. Сама идея есть и в обзорной статье, но для потока ввода это напрямую срок жизни, поэтому здесь доведены до примеров.7

Есть ещё одна оговорка именно для ввода. Действия UI-автоматизации рассчитаны на то, что целевое окно на переднем плане; если нет — его выводят вперёд сами.12 То есть ПК во время выполнения по сути занят потоком. Не запускайте поток на той же машине, где сотрудник параллельно делает другую работу: это источник случайных щелчков и неверного ввода.

Базовая схема ввода: прочитать Excel, записать на экран

Базовая форма потока ввода — «прочитать действиями Excel → в цикле по одной записи писать через UI». Launch Excel открывает файл, Read from Excel worksheet читает диапазон в переменную-таблицу. Если включить «использовать первую строку как имена столбцов», дальше в цикле можно брать значения по имени, например CurrentItem['Код клиента'], и поток меньше зависит от порядка столбцов.13 Результат записывают действием Write to Excel worksheet. Чтобы дописать в конец, свободную строку ищут через Get first free row on column.13

5. Где заканчивается бесплатный контур и где начинается лицензия

При решении о внедрении PAD всегда спрашивают: «до какой границы бесплатно и откуда платно?» Граница лежит между «собрать и запустить руками» и «запускать автоматически и вести на уровне организации».

Что можно делать Учётная запись Microsoft Рабочая/учебная учётная запись (без доп. лицензии) Power Automate Premium
Создание потоков, Recorder, более 400 действий, обработка исключений Да Да Да
Куда сохраняется поток OneDrive (личный) Dataverse среды по умолчанию Dataverse в нескольких средах
Ручной запуск из консоли PAD (с сопровождением) Да Да Да
Запуск из облачного потока (расписание / событие) Нет Нет Да
Совместный доступ к потокам, централизованные журналы выполнения Нет Нет Да

Создание и ручной запуск не требуют доплаты ни для какого типа учётной записи.34 С учётной записью Microsoft потоки лежат в OneDrive, с рабочей или учебной — в Dataverse среды по умолчанию. Если инструмент идёт в компанию, с самого начала лучше рабочая учётная запись: так проще потом сопровождать.4

Граница пересекается, когда поток должен работать «без нажатия кнопки человеком». Чтобы запускать классический поток в заданное время или по событию, его вызывают из облачного потока. Для этого нужна такая подготовка.14

  1. Регистрация компьютера. ПК, на котором будет выполняться поток, регистрируют в облаке Power Automate. Регистрация происходит при входе через приложение machine runtime из MSI. Редакции Home у Windows 10/11 прямое подключение не поддерживают.10
  2. Подключение классического потока. Создают подключение (учётные данные учётной записи Windows), по которому облачный поток входит на этот компьютер.14
  3. Лицензия. У пользователя, который создаёт подключение, должна быть лицензия под выбранный режим выполнения.14 Если поток идёт на ПК, где пользователь уже вошёл, то есть выполнение с сопровождением (attended), нужна Power Automate Premium (пользовательская лицензия с правом attended RPA).106
  4. Для выполнения без сопровождения (unattended) компьютеру дополнительно назначают лицензию Power Automate Process. Process привязывается не к пользователю, а к компьютеру (или к потоку) и даёт один слот выполнения без сопровождения (unattended-бот) на машину. Важно: компьютер, которому назначают Process, должен быть уже зарегистрирован пользователем с Premium. То есть купить только Process недостаточно: без пользователя Premium конфигурацию не собрать.56

Порядок регистрации компьютера и подключения классического потока

На внедрении чаще всего спотыкаются именно здесь, поэтому ниже — порядок шагов и имена пунктов (рядом — подписи английской версии).

  1. Поставить machine runtime. При установке PAD через MSI на экране установки включите «Установить приложение machine runtime для подключения к облачному порталу Power Automate (Install the machine-runtime app to connect to the Power Automate cloud portal)».10
  2. Войти и зарегистрировать. Запустите «Power Automate machine runtime» из меню «Пуск» и войдите: компьютер автоматически регистрируется в выбранной на этот момент среде. Если ещё не зарегистрирован, система предложит выбрать среду выполнения. После регистрации видны имя компьютера (Machine name), описание (Machine description) и среда (Machine environment).10
  3. Проверить предварительные условия. У регистрирующего пользователя должна быть роль «создатель среды (Environment Maker)» или «Desktop Flows Machine Owner». Прямое подключение требует PAD 2.8.73.21119 или новее и недоступно в редакциях Home Windows 10/11.10
  4. Проверить регистрацию. В портале Power Automate откройте «Monitor (мониторинг)» > «Machines (компьютеры)»: там список зарегистрированных компьютеров, состояние и число выполняющихся потоков.10
  5. Создать подключение классического потока. В облачном потоке добавьте действие классического потока, через «…» в правом верхнем углу действия выберите добавление нового подключения, в поле «подключение (Connect)» укажите «напрямую к компьютеру (Directly to machine)», введите имя компьютера и учётные данные учётной записи Windows, под которой нужно входить, и создайте подключение.10
  6. Назначить unattended-бота (только для режима без сопровождения). На странице сведений о компьютере в портале откройте «параметры (Settings)» и ползунком «Unattended bots (боты без сопровождения)» назначьте ёмкость процесса, затем сохраните. Назначенное число — сколько потоков без сопровождения этот компьютер может выполнять одновременно.15

Итого: сценарий «сотрудник утром нажимает кнопку и смотрит, как перед ним идёт ввод» целиком укладывается в бесплатный контур. Сценарий «к утру всё уже сделано само» требует Premium + Process (и зарегистрированный компьютер). Для ориентира по цене: на июль 2026 года публичные цены для Японии — Power Automate Premium 2 248 иен за пользователя в месяц, Power Automate Process 22 488 иен за бота (слот выполнения без сопровождения на один компьютер) в месяц; оба тарифа при годовой оплате, без налога.16 Минимальная конфигурация без сопровождения — «1 бот Process + 1 пользователь Premium», то есть около 25 тысяч иен в месяц и около 300 тысяч иен в год фиксированных затрат. Сравнение звучит так: «стоит ли 300 тысяч иен в год, чтобы каждую ночь без человека закрывать 30 минут ввода». Цены меняют, поэтому перед решением сверьтесь с актуальной суммой на странице цен Power Automate. Если ввод занимает около 30 минут в день, разумный порядок — начать с бесплатного выполнения с сопровождением и к режиму без сопровождения переходить, когда вырастет объём. Общую логику лицензий (включая границу стандартных и премиум-коннекторов) мы разобрали в одновременно вышедшей статье «Лицензирование Power Automate и граница между стандартными и премиум-коннекторами».

6. Как проектировать устойчивую работу

Ждать элемент, а не фиксированную паузу

У старых корпоративных систем время отклика на поиск и регистрацию сильно гуляет от нагрузки. Поток, который подогнали фиксированной паузой вроде «подождать 3 секунды», обязательно сломается в медленный день. Базовый приём — действие Wait for window content: «ждать, пока появится (или исчезнет) конкретный UI-элемент или текст».8 У получения окна (Get window) тоже можно задать тайм-аут: «через N секунд считать ошибкой, если не найдено» или «ждать появления».8 Для потока ввода особенно важно ждать так: «дождаться сообщения о завершении регистрации и только потом переходить к следующей строке». Если начать следующий ввод без ожидания, экран переключится раньше, чем закончится регистрация предыдущей строки, и данные смешаются.

Исключения — на одну запись

Для потока ввода исключения обычно оборачивают On Block Error не вокруг всего потока, а вокруг одной записи внутри цикла. При ошибке записывают, что случилось со строкой, возвращают экран в исходное состояние (закрыть форму ввода, вернуться в меню и т. п.) и идут к следующей строке. Тогда из 100 записей при неверном коде товара в одной остальные 99 будут введены, а человеку останется одна. Для временных сбоев (задержка отклика) можно дополнительно включить повтор на уровне отдельного действия.9 Тонкости обработки ошибок (текст ошибки через Get last error, уборка после сбоя) оставляем обзорной статье и одновременно вышедшей «Обработка ошибок и проектирование повторных попыток в Power Automate».

Чтобы при сбое было видно, до какой записи данные уже введены

У UI-автоматизации нет транзакций, как у веб-системы. Если поток падает на середине и непонятно, «до какой строки корпоративная система уже приняла данные», остаются два плохих варианта: двойной ввод при повторном запуске или сверка всех строк глазами. Это снимают двумя приёмами.

  1. Колонка статуса в исходном Excel. Заведите колонку статуса со значениями «не обработано», «в обработке», «завершено», «ошибка» и колонку регистрационного номера, который присвоила корпоративная система. Перед вводом одной записи ставьте «в обработке»; когда на экране видно завершение регистрации, считайте номер и записывайте «завершено» плюс номер. Поток всегда берёт только строки «не обработано», поэтому сколько раз его ни запускать, уже введённые строки он не трогает (безопасный повторный запуск).
  2. Человеку проверять только строки, оставшиеся «в обработке». Если поток упал, это произошло посреди ввода, так что под вопросом только строки «в обработке». Перед повторным запуском достаточно сверить эту строку в корпоративной системе — область сверки сжимается со 100 записей до одной.

Эта же колонка статуса служит журналом выполнения. Ответ на вопрос «вчерашний ввод дошёл до конца?» виден по Excel, даже не открывая историю потока — так это проще объяснить на местах.

Ловушки среды в режиме без сопровождения

Очень часто приходит обращение: поток работал с сопровождением и перестал, едва его перевели в режим без сопровождения. Причина почти всегда в разнице среды.

  • Условие на сеанс. В режиме без сопровождения Power Automate поднимает на целевом компьютере новый сеанс удалённого рабочего стола (RDP) и после выполнения выходит из системы. Пока поток идёт, экран целевого компьютера остаётся заблокированным. Условие: на компьютере все пользователи должны уже выйти из системы. На Windows 10/11 запуск падает, если осталась чья-то сессия — даже заблокированная. На Windows Server ошибка возникает, если осталась заблокированная сессия того же пользователя, что в подключении. Если после обслуживания уходят через «блокировку» или «отключение», ночной поток встанет. Правило короткое: всегда выходить из системы.5
  • Права. Учётная запись в подключении должна уметь создавать RDP-сеанс на этом компьютере (обычно членство в группе Remote Desktop Users). Режим без сопровождения не поддерживает шаги с повышением до прав администратора.5
  • Разрешение экрана. Разрешение RDP-сеанса по умолчанию может отличаться от экрана, на котором поток собирали. Если разрешение ниже, элементы, которые были видны при создании, оказываются за краем экрана — сбой «элемент не найден» — или клик по координатам попадает в другое место.5 В свойствах потока можно зафиксировать «разрешение экрана для выполнения без сопровождения» тем же значением, что при создании.17 Разница масштаба DPI даёт сбои того же рода, поэтому безопаснее выставить 100% и при создании, и при выполнении.18

Контрольный список режима без сопровождения

Условия режима без сопровождения размазаны по лицензии, регистрации, среде и эксплуатации: не хватает одного — не запустится. Ниже собраны требования из глав 5 и 6. Перед переходом на режим без сопровождения пройдите таблицу сверху вниз.

Раздел Что проверить Если этого нет
Лицензия У пользователя, который создаёт подключение, есть Power Automate Premium6 Нельзя зарегистрировать компьютер и создать подключение
Лицензия Компьютеру назначен unattended-бот (ёмкость процесса от лицензии Process)15 Выполнение без сопровождения не начинается
Регистрация Компьютер зарегистрирован через machine runtime из MSI10 Нельзя вызвать из облачного потока
Регистрация Целевой компьютер — не редакция Home Windows 10/1110 Прямое подключение недоступно
Сеанс К моменту запуска все пользователи вышли из системы (не оставлять блокировку или отключение)5 Запуск завершается ошибкой
Права Учётная запись подключения может создавать RDP-сеанс (группа Remote Desktop Users)5 Сеанс не создаётся, запуск падает
Права В потоке нет шагов с повышением до прав администратора5 Вне поддержки, запуск падает
Экран Разрешение для режима без сопровождения зафиксировано тем же значением, что при создании потока17 Элемент уходит за край экрана и не находится
Экран Масштаб DPI и при создании, и при выполнении — 100%18 Съезжает распознавание элементов и клики по координатам
Эксплуатация После обслуживания все выходят из системы, а не блокируют экран; это доведено до участников Ночной поток останавливается
Эксплуатация По колонке статуса в исходном Excel утром видно, до какой строки дошли При сбое неясно, какой объём откатывать

После этой проверки уже на стороне облачного потока задают запуск по расписанию (например, каждый будний день в 6:00). Расписание с рабочими днями и обработкой конца месяца — в одновременно вышедшей статье «Регулярное выполнение потоков Power Automate и проектирование с учётом рабочих дней».

7. Пример проектирования потока ввода

Если сложить детали выше, типичный поток «Excel со списком заказов → экран ввода заказа в корпоративной системе → запись результата обратно в Excel» выглядит так.

НетЕстьОшибка на одной записиВсе записи обработаныНачало: вручную или из облачного потокаRead from Excel worksheetЧитаем список заказов, первая строка — имена столбцовЕсть строки со статусом «не обработано»?Свести итог, записать лог и уведомитьКонецЗапустить корпоративную систему и войтиДождаться меню ожиданием элементаЦикл по необработанным строкам по однойТело цикла обернуть в On Block ErrorОбновить колонку статуса на «в обработке»Открыть экран ввода заказа и заполнить поляНа каждом переходе экрана Wait for window contentКнопка регистрации → ждать сообщение о завершенииСчитать присвоенный регистрационный номер с экранаСтатус «завершено», записать регистрационный номерЗаписать в строку сведения об ошибкеСбой до регистрации → «ошибка» / после → оставить «в обработке»Вернуть экран в меню и перейти к следующей строкеВыйти из корпоративной системы и закрыть её

Если разложить эту схему в цепочку действий PAD, получится такой порядок. В конструкторе действия кладут именно так — и схема выше становится рабочим потоком.

# Действие На что обратить внимание
1 Launch Excel Открыть файл со списком заказов, экземпляр Excel принять в переменную
2 Read from Excel worksheet Прочитать все доступные значения листа; в дополнительных параметрах включить «в первой строке диапазона есть имена столбцов». Результат — ExcelData
3 Set variable В RowIndex записать 2 (первая строка — имена столбцов, данные с 2-й)
4 Run application Запустить корпоративную систему (если она уже работает постоянно — взять существующее окно через Get window)
5 Wait for window content Ждать элемент, уникальный для меню после входа
6 For each Идти по ExcelData построчно в CurrentItem
7 If Если CurrentItem['Статус'] не «не обработано», увеличить RowIndex через Increase variable и пропустить строку через Next loop
8 On block error Обернуть шаги 9–13 как блок одной записи; при ошибке переходить к метке шага 14
9 Write to Excel worksheet В колонку статуса строки RowIndex записать «в обработке»
10 Populate text field in window Брать значения по имени столбца, например CurrentItem['Код клиента'], и класть в поля. Даты и числа сначала привести к строке
11 Press button in window Нажать кнопку «Регистрация»
12 Wait for window content Ждать элемент вроде «Регистрация завершена» (не фиксированный Wait)
13 Get details of the UI element in window → Write to Excel worksheet Считать присвоенный регистрационный номер с экрана; в строке RowIndex статус «завершено», в колонку номера — это значение
14 (блок обработки ошибок) Get last error → Write to Excel worksheet Получить текст ошибки, записать в колонку ошибки строки RowIndex, вернуть экран в меню через Close window и т. п.
15 Increase variable Увеличить RowIndex на 1 и вернуться к началу цикла
16 Close Excel Сохранить через «сохранить документ», закрыть, выйти из корпоративной системы и закрыть её

Отдельная переменная RowIndex нужна потому, что For each не возвращает номер строки. Её нужно увеличивать и на пропущенных строках (шаг 7), иначе запись результата будет съезжать на одну строку за раз.

Дополнения по проектированию.

  • Проверяйте входные значения до любой UI-операции. Длина кода товара, нет ли текста в числовом поле, не пусты ли обязательные поля. Сразу после чтения Excel проверяйте это в потоке и помечайте плохие строки как «ошибка», ещё не касаясь корпоративной системы. Отсечь заранее в разы стабильнее, чем разбирать диалоги ошибок корпоративной системы через UI.
  • Статус «ошибка» допустим только для сбоев до нажатия кнопки регистрации. Если обработка ошибок всегда переписывает колонку статуса в «ошибка», туда попадут и строки, у которых регистрация уже прошла, а сбой случился позже (ожидание сообщения о завершении или запись обратно). Тогда сотрудник повторно запустит строку и получит двойную регистрацию. Сбои после операции регистрации оставляйте «в обработке», такие строки в повторный запуск не включайте и переводите в «завершено» или «не обработано» только после того, как человек сверит наличие регистрации в корпоративной системе. Смысл не в том, чтобы убрать неоднозначность, а в том, чтобы неоднозначные случаи отдать человеку.
  • Заложите диалоги ошибок на экране. Ошибки при вводе всё равно будут: нет запаса, ошибка кредитного лимита клиента и т. п. Ожидаемые диалоги ловите условием «содержит ли окно…» и пишите в сведения об ошибке строки; остальное оставляйте On Block Error.9
  • Держите ориентир по объёму и времени. UI-автоматизация нередко занимает десятки секунд на запись. 100 записей за час спокойно укладываются в ночной запуск без сопровождения. Несколько тысяч записей каждый день — сигнал пересмотреть сам способ (следующая глава).
  • Нормализацию источника делайте заранее. Ловушки CSV и Excel — кодировки, форматы дат, смесь полноширинных и полуширинных символов — разобраны в «CSV — не «просто текст»: практика работы с CSV в бизнес-приложениях на C# (кодировки, совместимость с Excel, защита от инъекций)».

8. Где заканчивается зона PAD

UI-автоматизация рано или поздно ломается, как только меняется экран. Это не лечится проектированием — это свойство самого способа. Поэтому нужна граница между вводом, который можно автоматизировать PAD, и вводом, который стоит выносить в разработку или доработку.

Ситуация Решение
Десятки–сотни записей в день, при сбое повтор на следующий рабочий день допустим PAD достаточно. Начинать с выполнения с сопровождением
Экран целевого приложения не менялся годами (законсервированное legacy-приложение) Хорошо ложится на PAD. Как ни странно, «неизменный экран» как раз дружит с UI-автоматизацией
Целевое приложение часто обновляют (веб-экран SaaS и т. п.) Решать с расчётом на постоянное сопровождение селекторов. Если ломается на каждом обновлении, UI-автоматизация не подходит
Несколько тысяч записей в день и больше, время выполнения давит на рабочие часы Скорость UI-автоматизации упирается в потолок. Это уже разработка функции импорта CSV или обмена данными (заказная разработка)
Процесс, без которого в тот же день встают отгрузка или счета Если нельзя «пока чиним — вернуться к ручному вводу», UI-автоматизация не подходит. Смотреть доработку корпоративной системы или обмен между системами
Хочется, чтобы поток заодно принимал сложные решения (резервирование запаса, цена) Бизнес-логику в поток не запихнуть надолго. Ей место на стороне системы

Ориентир, которым мы пользуемся: «если этот поток неделю пролежит сломанным, сможет ли работа идти через ручной ввод?» Если да — автоматизация через PAD оправдана. Если нет — это уже не «автоматизация», а требование к интеграции систем: добавить импорт, связать базы или перевести сам приём заказов в электронный вид (EDI и перевод заказов с факса на веб).

Ещё одно: потоки PAD тоже легко становятся активом, к которому может прикоснуться только автор. Кто примет содержимое потока, подключения и компьютер выполнения, разбираем в одновременно вышедшей статье «Меры против зависимости от одного человека в Power Automate ── проектирование владельца, подключений и передачи дел».

9. Итог

Ввод в корпоративную систему без API и без импорта CSV можно автоматизировать UI-автоматизацией PAD, не трогая саму систему. На Windows 11 можно начать сразу, а собрать поток и запускать его вручную можно без доплаты. Одного только освобождения сотрудника от часа ежедневного ввода и исчезновения разбора ошибок переноса часто хватает, чтобы окупить внедрение.

Важно не перепутать порядок и проектирование. Перед UI-автоматизацией искать входы CSV, БД, API и файлового обмена. Начинать с бесплатного выполнения с сопровождением, а для режима без сопровождения заранее закладывать Premium + Process и компьютер, с которого все вышли. Стабилизировать селекторами, ожиданием элементов и исключениями на одну запись; колонкой статуса всегда оставлять след, «до какой записи данные уже введены». И когда объём, критичность или частота смены экрана выходят за зону UI-автоматизации — не наращивать её через силу, а переходить к доработке корпоративной системы или к разработке обмена данными.

Мы принимаем обращения на всём этом пути: от ревью проектирования ввода через PAD до заказной разработки импорта и обмена между системами и миграции legacy-приложений. Можно писать уже на стадии «а получится ли это с нашей корпоративной системой».

Похожие статьи

Смежные области консультирования

KomuraSoft LLC (合同会社小村ソフト) консультирует по проектированию и стабилизации ввода через Power Automate for desktop и берёт заказную разработку обмена данными для корпоративных систем и доработку legacy-приложений — там, где UI-автоматизации уже недостаточно.

Справочные ссылки

  1. Microsoft Learn, Get started with Power Automate in Windows 11. О приложении Power Automate, предустановленном в Windows 11, и о том, что более 400 действий и Recorder позволяют собирать потоки без опыта программирования. 

  2. Microsoft Learn, Power Automate licensing FAQ. О том, что пользователи Windows 11 в среде по умолчанию могут без доплаты запускать классические потоки attended RPA (без совместного доступа и без создания в других средах), что поиск Power Automate в строке поиска Windows при первом запуске скачивает приложение автоматически, и что на Windows 10 и Windows Server 2016 право использования тоже есть — установщик берётся из Центра загрузки.  2 3

  3. Microsoft Learn, Get started with a work or school account. О том, что Power Automate for desktop с рабочей или учебной учётной записью не требует доплаты, что среде по умолчанию нужна база Dataverse, и что автоматический запуск, совместный доступ к потокам и прочие RPA-функции открываются после перехода на Premium.  2

  4. Microsoft Learn, Prerequisites and limitations. Сравнение возможностей по типу учётной записи (Microsoft / рабочая или учебная / премиум-учётная запись организации): Recorder, действия и обработка исключений есть у всех; связка с облачным потоком (запуск, расписание), совместный доступ и централизованное управление/отчёты — только у Premium; хранение — OneDrive или Dataverse.  2 3

  5. Microsoft Learn, Run unattended desktop flows. О том, что для выполнения без сопровождения нужен план Power Automate Process; что Power Automate создаёт сеанс RDP и после выполнения выходит из системы; что во время выполнения экран заблокирован; что все пользователи должны выйти из системы, а на Windows 10/11 оставшиеся сессии, включая заблокированные, приводят к ошибке; что у учётной записи подключения должно быть право создавать RDP-сеанс (группа Remote Desktop Users); что шаги с повышением до администратора не поддерживаются; и что разрешение RDP-сеанса по умолчанию может отличаться от использованного при создании и давать сбой «элемент не найден».  2 3 4 5 6 7 8

  6. Microsoft Learn, Types of Power Automate licenses. О том, что права attended RPA (регистрация компьютера, запуск с сопровождением и т. п.) входят в пользовательскую лицензию Premium; что для unattended RPA нужна лицензия Process, назначаемая компьютеру (один unattended-бот на компьютер); и что назначение Process компьютеру предполагает его предварительную регистрацию пользователем с Premium.  2 3 4

  7. Microsoft Learn, Build a custom selector. О том, что селектор задаёт иерархию через > и описывает элементы как element[Attribute="Value"] (пример: :desktop > window[Name="Notes.txt - Notepad"][Process="Notepad"]); что доступны шесть операторов Equal to / Not equal to / Contains / Starts with / Ends with / Regular expression match, а движок регулярных выражений — .NET; что в визуальном редакторе переменные можно использовать только с Equal to; что у одного UI-элемента можно зарегистрировать несколько селекторов с переходом к следующему при неудаче; и что уровни иерархии можно включать и выключать, меняя область поиска. Также о генерации вариантов восстановления через Repair selector.  2 3 4

  8. Microsoft Learn, UI automation actions. О действии Wait for window content, которое ждёт появления или исчезновения заданного текста или UI-элемента, и о тайм-ауте Get window (ошибка, если не найдено за заданное время, или ждать появления).  2 3

  9. Microsoft Learn, Handle errors in desktop flows. Об обработке исключений на уровне блока через On Block Error и о повторе на уровне отдельного действия (Retry action if an error occurs).  2 3

  10. Microsoft Learn, Manage machines. О регистрации компьютера через приложение machine runtime (входит в MSI; при установке выбирают «Install the machine-runtime app to connect to the Power Automate cloud portal»); о том, что вход в machine runtime автоматически регистрирует компьютер в выбранной среде и показывает имя, описание и среду; что для регистрации нужны роли Environment Maker или Desktop Flow Machine Owner; что прямое подключение требует версии 2.8.73.21119 или новее и недоступно в Windows 10 Home и Windows 11 Home; что зарегистрированные компьютеры смотрят в портале Monitor > Machines; что при создании подключения классического потока выбирают «Directly to machine» и вводят имя компьютера и учётные данные; что запуск классического потока из облачного требует премиум-плана пользователя с attended RPA; и что для выполнения без сопровождения компьютеру нужно назначить ёмкость процесса (unattended-бот).  2 3 4 5 6 7 8 9 10

  11. Microsoft Learn, Record desktop flows. О том, что Recorder записывает операции мыши и клавиатуры в привязке к UI-элементам и превращает их в действия; что способ записи можно выбрать: UIA (рекомендуется для более новых платформ вроде WPF и WinForms) или MSAA (для legacy-приложений вроде VB6 и классического Win32, которые UIA не покрывает); и что условия и циклы не записываются — после записи поток нужно править.  2

  12. Microsoft Learn, Automate desktop applications. О том, что действия UI-автоматизации требуют целевое окно на переднем плане и сами выводят его вперёд, если его там нет. 

  13. Microsoft Learn, Excel actions. О создании экземпляра через Launch Excel, о чтении ячейки или диапазона действием Read from Excel worksheet (таблица данных, опция «первая строка — имена столбцов»), о записи через Write to Excel worksheet и о поиске свободной строки через Get first free row on column.  2

  14. Microsoft Learn, Trigger desktop flows from cloud flows. О предварительных условиях запуска классического потока из облачного (зарегистрированный компьютер или группа компьютеров, рабочая или учебная учётная запись, подключение классического потока, у создателя подключения — лицензия под режим выполнения) и о передаче данных между облаком и компьютером через входные и выходные переменные.  2 3

  15. Microsoft Learn, Process capacity. О том, что ёмкость процесса от лицензии Process, назначенная компьютеру, становится unattended-ботом; что один такой бот одновременно выполняет один классический поток без сопровождения; что назначение делают ползунком «Unattended bots» в «Settings» на странице сведений о компьютере; что максимум ботов на компьютер зависит от ОС; и что ёмкость в среде общая.  2

  16. Microsoft, Цены на Power Automate. Публичные цены для Японии на июль 2026 года: Power Automate Premium — около 2 248 иен за пользователя в месяц (годовая оплата), Power Automate Process — около 22 488 иен за бота в месяц (годовая оплата); налог не включён. 

  17. Microsoft Learn, Set screen resolution on unattended mode. О том, что если разрешение в режиме без сопровождения ниже, чем при создании, и элементы скрываются, его можно зафиксировать в свойствах потока (Display resolution for unattended runs) или через реестр.  2

  18. Microsoft Learn, Troubleshoot unattended desktop flow execution failures. О том, что разница в разрешении или масштабе DPI между сеансами с сопровождением и без него становится причиной сбоев, и о мерах вроде выравнивания DPI на 100% и при проектировании, и при выполнении.  2

Недавние статьи с теми же тегами помогут подробнее изучить близкие темы.

Эти страницы показывают тему статьи в более широком контексте услуг и решений.

Статья напрямую связана со следующими услугами.

Частые вопросы

Вопросы, которые часто возникают при консультациях по теме статьи.

Можно ли пользоваться Power Automate for desktop бесплатно?
Да. В Windows 11 приложение Power Automate уже входит в состав системы, а на Windows 10 его можно бесплатно установить из Центра загрузки Microsoft. С рабочей или учебной учётной записью без доплаты доступен полный набор для создания потоков и ручного запуска (выполнение с сопровождением): Recorder, более 400 действий, обработка исключений. Автозапуск из облачного потока, совместный доступ к потокам и централизованные журналы выполнения требуют платной лицензии Power Automate Premium.
Что нужно, чтобы поток ввода работал ночью или рано утром, когда никого нет?
Для выполнения без сопровождения (unattended) поток вызывают из облачного потока. Для этого нужны регистрация целевого компьютера, подключение классического потока и лицензия Power Automate Process, назначенная компьютеру. Регистрировать компьютер тоже должен пользователь с лицензией Premium. Технически режим без сопровождения поднимает новый сеанс удалённого рабочего стола, поэтому на целевом компьютере все пользователи должны выйти из системы: если останется хотя бы одна заблокированная сессия, на Windows 10/11 запуск завершится ошибкой.
Говорят, UI-автоматизация хрупкая. Её можно ставить в работу?
Можно, если экраны целевой корпоративной системы стабильны. Чаще всего ломается способ поиска элементов (селекторы) и не хватает ожидания. Стабильность заметно растёт, если изменчивые атрибуты переводят на Contains или регулярные выражения, задают запасные селекторы и ждут появления элемента, а не фиксированную паузу. Сама уязвимость к смене компоновки экрана никуда не девается: если приложение часто обновляют, а простой останавливает работу, лучше проектировать обмен данными или доработку самой корпоративной системы, а не UI-автоматизацию.
Если поток ввода упадёт на середине, разве не станет непонятно, до какой записи данные уже введены?
Этого можно избежать проектированием. В исходном Excel держат колонку статуса (не обработано / в обработке / завершено / ошибка) и колонку регистрационного номера. После ввода каждой записи проверяют результат в корпоративной системе и записывают статус обратно. Тогда при сбое в Excel видно, до какой строки регистрация уже прошла, а повторный запуск берёт только строки «не обработано» — двойного ввода не будет. Если исключения обрабатывать по одной записи — фиксировать ошибочную строку и переходить к следующей, — одна ошибка ввода не остановит весь поток.

Об авторе

Страница с профилем автора статьи.

Го Комура

Представитель KomuraSoft LLC

Специализируется на разработке программного обеспечения для Windows, техническом консалтинге и расследовании сбоев, особенно в проектах с унаследованными системами и трудно воспроизводимыми ошибками.

Публичные ссылки

Вернуться в блог