Документация 0.4

Справочник действий

Процесс состоит из шагов, а каждый шаг — это одно действие: записать в лог, нажать кнопку в окне, прочитать Excel, взять элемент из очереди. Справочник собран из каталога действий робота версии 0.4: названия, свойства, значения по умолчанию и выходы здесь те же, что в панели «Действия» студии и в «Свойства» шага.

На странице каждого действия:

  • назначение — что делает действие и когда его выбирать;
  • свойства — поля шага: имя в файле процесса, вид значения, обязательность и значение по умолчанию;
  • результат — выходы, которые можно сохранить в переменные;
  • ошибки — с каким кодом шаг завершается ошибкой и что делать;
  • пример — фрагмент процесса.

Как читать свойства #

Значение Как заполнять
текст, многострочный текст, путь к файлу, селектор страницы Обычный текст; значение переменной подставляется как {{ имя }}, например Привет, {{ userName }}!
выражение Выражение JavaScript без {{ }}: total + 1, rows.length > 0, { Номер: row['Номер'] }
число, да/нет, выбор из списка Значение поля; переключатель „{{ }}“ рядом с полем позволяет задать его выражением
имя переменной Переменная процесса, в которую действие запишет значение
селектор Windows Путь к элементу окна; задаётся пикером — кнопкой «Указать на экране»

Подробнее — в разделе Переменные и выражения. Свойства, которых нет в окне шага сразу, спрятаны в раздел „Дополнительно“: у них есть значение по умолчанию.

Коды ошибок #

Когда шаг не может выполниться, он завершается ошибкой с кодом. Ошибку можно перехватить шагом control.tryCatch: код окажется в error.code, текст — в error.message. У шага можно включить «Продолжать при ошибке» — тогда ошибка запишется в лог предупреждением, а процесс пойдёт дальше.

Код Что случилось
ElementNotFound Элемент окна или страницы не найден за время ожидания
Timeout Не дождались состояния элемента, загрузки страницы или окончания операции
InvalidArgument Неверное значение свойства, недопустимая операция (файл уже есть, лимит итераций)
ExpressionError Ошибка в выражении или в {{ }}: опечатка в имени переменной, кавычки, синтаксис
FileNotFound Файл или папка не найдены
FileLocked Файл открыт в другой программе (часто — в Excel)
BrowserError Браузер не установлен, не запустился или страница не открылась
AppStartFailed Программа не запустилась
UserThrow Ошибка вызвана шагом control.throw
OrchestratorUnavailable Нет связи с оркестратором или процесс запущен без оркестратора
QueueNotFound, QueueItemDuplicate Очереди нет в области; элемент с такой ссылкой уже есть
AssetNotFound Ресурса нет в области
AccessDenied Роботу или пользователю студии не хватает прав в области
ReportNotFound, ReportValidation, ReportsUnavailable Отчёта нет; значения не подходят к полям отчёта; база отчётов недоступна
Cancelled Запуск остановлен

Ниже — все действия по категориям, в том порядке, в каком они стоят в панели «Действия» студии.

Управление #

Действие Тип Что делает
Присвоить control.assign Присваивает переменной результат выражения
Если control.if Выполняет «То» или «Иначе» в зависимости от условия
Для каждого control.forEach Перебирает элементы массива
Пока control.while Повторяет тело, пока условие истинно
Прервать цикл control.break Выходит из ближайшего цикла
Следующая итерация control.continue Переходит к следующей итерации цикла
Попытка / перехват control.tryCatch Перехватывает ошибки шагов «Try»; «Finally» выполняется всегда
Вызвать ошибку control.throw Завершает шаг ошибкой с кодом UserThrow
Пауза control.delay Ждёт указанное время (отменяется по Стоп)
Записать в лог control.log Пишет сообщение в лог запуска
Группа control.group Визуальная группировка шагов
Окно сообщения system.messageBox Показывает модальное окно (для демо и отладки)

Файлы #

Действие Тип Что делает
Прочитать файл file.readText Читает текстовый файл целиком
Записать в файл file.writeText Записывает или дописывает текст в файл
Файл существует file.exists Проверяет, существует ли файл
Копировать файл file.copy Копирует файл
Удалить файл file.delete Удаляет файл; отсутствие файла — не ошибка

Windows #

Действие Тип Что делает
Запустить приложение app.start Запускает программу с аргументами
Закрыть приложение app.close Закрывает главные окна приложения или завершает его процесс
Дождаться элемента ui.waitElement Ждёт появления или исчезновения элемента
Клик по элементу ui.click Нажимает на элемент Windows-приложения
Ввести текст ui.typeInto Вводит текст в поле Windows-приложения
Получить текст ui.getText Читает текст элемента (значение поля, текст или имя)
Нажать клавиши ui.sendHotkey Нажимает сочетание клавиш (Ctrl+S, Alt+F4, Enter …)
Выбрать пункт ui.selectItem Выбирает пункт в выпадающем списке (ComboBox) или списке (ListBox)
Установить флажок ui.setChecked Включает или выключает флажок (CheckBox)

Браузер #

Действие Тип Что делает
Открыть браузер browser.open Запускает установленный Edge или Chrome и открывает страницу
Перейти по адресу browser.navigate Открывает адрес в текущей вкладке сессии и ждёт загрузки страницы
Клик на странице browser.click Ждёт элемент на странице и нажимает на него
Ввести текст на странице browser.typeInto Вводит текст в поле на странице
Выбрать в списке browser.selectOption Выбирает вариант в выпадающем списке (select) по значению или видимому тексту
Получить текст со страницы browser.getText Читает текст элемента (у полей ввода — значение) или его атрибут
Ждать элемент на странице browser.waitElement Ждёт, пока элемент появится, станет видимым, скроется или исчезнет
Выполнить JavaScript browser.evaluate Выполняет скрипт на странице и возвращает результат
Снимок страницы browser.screenshot Сохраняет снимок текущей страницы в файл PNG или JPEG
Закрыть браузер browser.close Закрывает браузер сессии; если сессия не открыта — ничего не делает

Excel #

Действие Тип Что делает
Прочитать диапазон excel.readRange Читает строки листа книги Excel (.xlsx) в массив; Excel на компьютере не нужен
Записать ячейку excel.writeCell Записывает значение в ячейку; создаёт файл и лист, если их нет
Записать диапазон excel.writeRange Записывает массив объектов или массив массивов на лист; создаёт файл и лист, если их нет
Добавить строку excel.appendRow Добавляет строку после последней заполненной (начиная с колонки A); создаёт файл и лист, если их нет

Оркестратор #

Действие Тип Что делает
Добавить в очередь orch.queueAddItem Добавляет элемент (данные одной заявки, клиента, документа) в очередь оркестратора — его обработает робот
Взять элемент из очереди orch.queueGetItem Берёт в работу следующий элемент очереди (по приоритету и сроку). Пустая очередь — не ошибка: «Найден» = нет
Результат элемента очереди orch.queueSetResult Сообщает, чем закончилась обработка элемента: успешно или ошибка. Системная ошибка повторяется по настройке очереди, бизнес-ошибка — окончательная
Получить ресурс orch.getAsset Читает настройку из «Ресурсов» оркестратора (путь, адрес, число, флаг, JSON) — значение для этого робота, если оно задано, иначе общее
Изменить ресурс orch.setAsset Меняет значение ресурса (не учётных данных): для этого робота, если у ресурса есть значения роботов, иначе общее
Получить учётные данные orch.getCredential Получает логин и пароль из «Ресурсов» оркестратора только на время задания. Пароль скрывается (***) во всех журналах
Нужно ли остановиться orch.shouldStop Да — оператор нажал «Остановить после текущего элемента»: закончите элемент и выйдите из цикла
Результат задания orch.setOutput Сохраняет значение в результат (output) задания — его видно на странице задания и через API (всего до 64 КБ)
Прикрепить файл к заданию orch.attachFile Отправляет файл (отчёт, выгрузку) в оркестратор — его можно скачать на странице задания (до 50 МБ)
Добавить запись в отчёт orch.reportAdd Записывает строку в отчёт оркестратора (номер, сумма, дата, статус…). Значения проверяются по полям отчёта; запись помнит задание и робота
Добавить записи в отчёт orch.reportAddMany Записывает в отчёт оркестратора список строк (до 5000 за раз) одним вызовом. Всё или ничего: при ошибке в любой строке не записывается ни одна, в тексте ошибки — номера строк и поля
Изменить запись отчёта orch.reportUpdate Меняет поля записи отчёта, найденной по id или по ключу записи (например, статус платежа). Нет такой записи — не ошибка: «Изменена» = нет
Найти записи отчёта orch.reportFind Ищет записи отчёта оркестратора по значениям полей (равно, от и до). У каждой записи — id, задание, робот и values со значениями полей