Работа с действиями

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

Действия по работе с приложениями 1С

Общая информация

Платформа ROBIN поддерживает несколько вариантов работы с приложениями 1С:

  1. Через графический интерфейс. В этом случае робот имитирует поведение пользователя и работает с приложением используя действия групп «Машинное зрение», «Windows», «Имитация устройств».
  2. С помощью специальных действий по группы «1С». Действия этой групп позволяют работать с приложениями 1С не через графический интерфейс, окна и кнопки, а используя программные интерфейсы 1С.

Такой способ работы является более надежным и предпочтительным для обработки больших массивов данных.

Включение oData на стороне сервера

Одним из способов взаимодействия программных роботов с 1C через программные интерфейсы, является протокол oData. Это стандартизированный протокол работы с данными, в основе которого лежит REST. 1С активно развивает его с версии 8.3.5 и на сегодняшний день этот протокол является наиболее полным и стандартизованным, простым и безопасным способом работы с 1С*.

https://infostart.ru/1c/articles/711302/

https://infostart.ru/public/403426/

Для того, чтобы роботом иметь возможность использовать стандартные методы 1C, необходимо включить oData на стороне сервера, для этого необходимо выполнить шаги:

  1. Запустить 1С от имени администратора.

  2. В пункте меню «Администрирование» выбрать «Публикация на веб-сервере».

  3. Включить «Публиковать стандартный интерфейс OData».

  4. Нажать «Опубликовать».

  5. После этого нужно будет определить состав интерфейса oData, т.е. указать — какие объекты конфигурации в него входят, а какие нет (изначально в составе нет ни одного объекта).

  6. Сформировать ссылку на опубликованный web-сервис можно по шаблону:

http://<имя|АдресСервера1С>/<ИмяБазы1С >/odata/standard.odata

  1. Все, теперь вы можете обращаться через программного робота в 1с.

Try-Catch (Группа Базовые действия)

Try-Catch - действие группы «Базовые действия». Действие предназначено для обработки исключений в выбранных действиях, т.е. если при выполнении действия из блока «Try» произошла ошибка, указанная в параметрах действия «Try-Catch», то робот перейдет к выполнению действий, указанных в блоке «Catch».

Порядок работы с Try-Catch

  1. Выбрать действие «Try-Catch» из группы действий «Базовые действия» и перетащить на рабочую область.

2. В блок «Try» поместить действия, для которых будет выполнено исключение. В блок «Catch» поместить действия, которые будут выполнены, если возникнет исключение, т.е. какая-либо ситуация, когда действие выполнено некорректно, иными словами, возникнет ошибка. Если блок «Catch» не заполнен, то робот продолжит работу сценария, проигнорировав возникшие ошибки. Пример заполнения:

Блоков «Сatch» может быть несколько, тогда для каждого блока будет создан параметр «Исключение для CATCH [Номер блока]». Это нужно, когда для каждой возможной ошибки есть свой вариант действия.

Пример: Действие «Try-Catch» в сценарии:

Заполненные параметры действия «Try-Catch»:

Таким образом, если веб-элемент не будет найден, то робот выполнит действие из блока «Catch», а если возникнет неизвестная ошибка, то робот выполнит действие из блока «CATCH 2».

  1. Заполнить параметры действия «Try-Catch».

Параметры заполняются в формате коллекции, представляющей собой список исключений, для обработки которых предназначена соответствующая последовательность Catch. Доступно несколько типов ошибок. Для выбора типа ошибки необходимо нажать на выбранный тип, а затем на стрелку рядом с ним.

После перенесения всех необходимых типов ошибок, нажать кнопку «Сохранить».

Пример заполненных параметров:

Пример заполненных параметров для нескольких блоков «Catch».

  1. Если необходимо, заполнить блок «Finally».

Блок Finally является не обязательным блоком. Действия, указанные в этом блоке, выполнятся вне зависимости от того, возникла ошибка или нет. Если в блоке Finally отсутствуют действия, то робот продолжит свою работу.

Пример заполнения блока Finally:

Выше были рассмотрены общие моменты работы с действием «Try-Catch». Рассмотрим кейс «Погода», где продемонстрирована работа этого действия.

Кейс «Погода»

Задача: Роботу необходимо зайти в поисковую систему, сделать запрос «Погода» и получить сегодняшнюю температуру, а затем сохранить ее в excel-файл. Задача простая, но в ходе ее выполнения могут возникнуть ошибки.

Решение:

  1. Поместим все действия сценария в блок «Try»,
  2. В блок «Catch» действие «Сообщение», в котором робот сообщит, что возникла ошибка при работе с браузером.
  3. В блок «CATCH 2» поместим действие «Сообщение», которое сообщит, что ошибка произошла в действии группы «Excel».
  4. В блоке Finally будет информационное сообщение о том, что робот закончил работу.

Пример заполнения блока «Try»:

Пример заполнения блока «Catch»:

  1. Заполним параметры: Выберем типы ошибок, которые могут возникнуть во время работы с действиями группы «Браузеры» для блока «Catch».

И типы ошибок, которые могут возникнуть в результате работы с действиями группы «Excel» из предложенных для блока «CATCH 2».

Результат:

Затем на экране появилось сообщение из блока «Finally».

При работе робота произошла ошибка, анализируя лог в студии, можно увидеть, как робот остановил работу с действиями в блоке «Try», перешел в блок «CATCH 2» и вывел на экран информационное сообщение.

Из-за наличия блока «Try-Cath» робот завершил свою работу без ошибок , несмотря на то, что при открытии файла возникла ошибка.

Распознавание документов (OCR)

Платформа ROBIN поставляется вместе со встроенным OCR-модулем Google Tesseract 5. Он поставляется бесплатно и как есть, работает on-premise в контуре заказчика, без необходимости подключения к сети Интернет.

Более того, в составе платформы поставляются действия по работе со следующими инструментами (движками):

Также, компания Робин готова, в рамках проекта, рассмотреть интеграцию платформы с OCR-решением Заказчика.

Давайте пошагово рассмотрим работу с действиями группы «Распознавание текста»:

  • Подгруппа Yandex OCR - Извлечение текста из изображения;
  • Подгруппа «Tesseract OCR» - Найти страницу в PDF;
  • Подгруппа «Tesseract OCR» - Получить текст из PDF;
  • Подгруппа «Tesseract OCR» - Прочитать текст;
  • Подгруппа «FlexiCapture» - Распознать.

Подгруппа Yandex OCR - Извлечение текста из изображения

До начала использования «Yandex OCR» Вам понадобится «Yandex API-ключ», который обеспечивает доступ к сервису распознавания на сервере Yandex. Для настройки действия «Извлечение текста из изображения» необходимо выполнить следующие шаги:

  1. Перенести действие «Yandex OCR» на рабочую область студии.
  1. Записать путь до нужного изобрадения в разделе «Параметры» в поле «Объект изображения».

  2. Записать ключ авторизации API Яндекс.Облако в поле «Yandex API-ключ». В случае, если у Вас нет API-ключа, необходимо его получить. Для этого выполните следующие действия:

  • Перейти на сайт Yandex.Cloud по ссылке https://cloud.yandex.ru/

  • Кликнуть по кнопке «Подключиться».

  • Кликнуть по кнопке «Войти в аккаунт на Яндексе».

  • Выполнить вход, заполнив необходимые поля и нажав на кнопку «Войти». Или зарегистрироваться и нажать на кнопку «Создать ID».

  • Авторизоваться, заполнив все поля.

  • Кликнуть по кнопке «Создать».

  • Кликнуть по кнопке «Активировать пробный период».

  • Заполнить все поля и кликнуть по кнопке «Активировать».

  • Нажать на строку с именем каталога, в котором нужно создать сервисный аккаунт.

  • Кликнуть по имени.

  • Выбрать вкладку «Сервисные аккаунты».

  • Нажать кнопку «Создать сервисный аккаунт».

  • Ввести имя сервисного аккаунта, нажать на кнопку «Добавить роль» и выбрать роль, например admin. Кликнуть по кнопке «Создать».

  • Кликнуть по созданному аккаунту.

  • Кликнуть по кнопке «Создать новый ключ».

  • Выбрать из списка «Создать API-ключ».

  • Кликнуть по кнопке «Создать».

  • Копировать секретный ключ.

  • Вставить скопированный ключ в параметр «Yandex API-ключ» и запустить робота.

Подгруппа «Tesseract OCR» - Найти страницу в PDF

Для настройки действия «Найти страницу в PDF» (содержащую определенный текст) необходимо выполнить следующие шаги:

  1. Перенести действие «Найти страницу в PDF» на рабочую область.

  2. Заполнить параметры действия:

  1. Параметр «Путь к файлу PDF» - указать путь до PDF-файла, в котором будет выполнен поиск страницы;
  2. Параметр «Текст» - указать текст, который должна содержать искомая страница;
  3. Параметр «Ожидаемые языки в PDF файле» - выбрать из выпадающего списка язык, который ожидается на искомой странице.

Доступные языки:

  • Русский язык;
  • Английский язык;
  • Русский и Английский язык;

Пример заполненных параметров:

  1. Результатом действия является коллекция, в которой хранятся номера страниц, на которых был найден искомый текст.

Подгруппа «Tesseract OCR» - Получить текст из PDF

Для извлечения текста из опеределенной страницы PDF выполните действия:

  1. Перенести действие «Получить текст из PDF» на рабочую область.

  2. Заполнить параметры действия:

  1. Параметр «Путь к файлу PDF» - указать путь до PDF-файла, в котором будет выполнен поиск страницы;
  2. Параметр «Язык текста» - выбрать из выпадающего списка язык, который ожидается на искомой странице.

Доступные языки:

  • Русский язык;
  • Английский язык;
  • Русский и Английский язык;

Параметр «Номер страницы» - номер страницы файла, с которой будет считываться текст. Пример заполненных параметров:

  1. Результат действия – текст с указанной страницы PDF-файла. Если страница отсутствует в документе, будет возвращено пустое значение.

Подгруппа «Tesseract OCR» - Прочитать текст

Для настройки действия «Прочитать текст», предназначенного для распознавания и чтения текста с изображения, выполните следующие шаги:

  1. Перенести действие «Прочитать текст» на рабочую область.

  2. Заполнить параметры действия:

  1. Параметр «Изображение» - ссылка на изображение, с которой будет прочитан текст;
  2. Параметр «Ожидаемые языки» - выбрать из выпадающего списка язык, который ожидается на искомой странице.

Доступные языки:

  • Русский язык;
  • Английский язык;
  • Русский и Английский язык;
  1. Параметр «Формат контента» - выбрать из выпадающего списка ожидаемый формат текста.

Доступные форматы:

  • Строка;
  • Блок;
  • Страница.

Пример заполнения параметров:

  1. Результат действия – строка, содержащая текст, полученный из изображения.

Подгруппа «FlexiCapture» - Распознать

Чтобы использовать возможности распознавания, Вам потребуется авторизация на сервере FlexiCapture. Для настройки действия «Распознать» необходимо выполнить следующие шаги:

  1. Перенести на рабочую область действие «Распознать».

  2. Заполнить параметры действия:

  1. Параметр «Графический файл» - указать путь до графического файла, из которого необходимо извлечь текст;
  2. Параметр «Url к веб-серверу FlexiCapture» - указать ссылку для авторизации на веб-сервере FlexiCapture;
  3. Параметр «Логин» - логин для авторизации на веб - сервере FlexiCapture;
  4. Параметр «Пароль» - пароль для авторизации на веб - сервере FlexiCapture;
  5. Параметр «ID роли подключения» - указать идентификатор роли оператора FlexiCapture;
  6. Параметр «ID типа станции» - указать идентификатор типа станции FlexiCapture;
  7. Параметр «Имя или Guid проекта» - указать имя или идентификатор проекта FlexiCapture;
  8. Параметр «ID типа пакета» - указать идентификатор типа пакета FlexiCapture;
  9. Параметр «ID пользователя или группы» - указать идентификатор владельца пакета FlexiCapture;
  10. Параметр «ID стадии экспорта» - указать идентификатор стадии экспорта FlexiCapture;
  11. Параметр «Формат вложения» - выбрать из выпадающего списка расширение файла, который будет возвращен с сервера;

Доступны следующие типы:

  • xlsx;
  • xls;
  • xml;
  • json;
  • csv;
  • txt;
  • dbf.
  1. Параметр «Папка для вложения» - казать путь до папки, куда будет сохранено вложение полученное с сервера.

Пример заполнения полей:

  1. Результат действия – словарь с результатом распознавания в формате ключ-значение и путь до файла с результатом распознавания.

Группа действий «Интеграции»

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

Очередь сообщений (MQ)

Действия по работе с очередью сообщений:

В студии есть возможность подключения к такому брокеру сообщений, как Apache Kafka.

Действие «Создать подключение к MQ обязательное, так как создается определенный контекст в рамках которого выполняются и другие действия по работе с очередью.

Действие «Разорвать подключение к очереди» не является обязательным, но рекомендуется его использовать, так как робот самостоятельно поключения, которые он открывает не разрывает. Таким образом может получиться так, вы не работаете уже с данным соединением, а оно будет оставаться и брать лишние ресурсы, а также может произойти утечка памяти, что может привести к возникновению ошибок.

Примечание

Немного теоретических понятий: - Топик, это некая тема, куда попадают сообщения, отправляемые в очередь, и затем из этой же темы (топика) мы забираем эти сообщения. - Группы, это разделение в части получателей сообщений или их отправителей. Например, если не указать группы для роботов, то они будут читать все сообщения параллельно. Разделение на группы, может показать, например, что 2 робота принадлежат к одной группе и разбирать сообщения они должны последовательно (каждый берет свое сообщение и они не повторяются).

У брокера Apache Kafka существует разбивка на разделам. Каждый топик сможет иметь один или несколько разделов, чтобы можно было считывать данные из одного топика одновременно , для этого и производится разбивка в Kafka на разделы.

При настройке действия «Создать подключение к MQ» необходимо заполнить параметры:

  • Подписаться при подключении - означает, что мы подписываемся к топику при подключении и занимаем раздел, который есть в топике.

  • Адрес - адрес машины, где установлен брокер очереди сообщений.

  • Логин и пароль - поля не обязательны, заполнение зависит от наличия аутентификации очереди.

  • Топик - название полученного XML-файла.

  • Имя группы.

Действие «Опубликовать в топик MQ» служит для отправки сообщения в очередь сообщений.

Контекст необходимо указать тот, который создавался при подключении. В поле «сообщение» в данном случае указан результат цикла «для каждого».

Поле таймаут не обязательно для заполнения (по умолчанию 2 секунды таймаута, даже если поле пустое).

В действии «Разорвать подключение к MQ» в параметре «Контекст MQ» необходимо указать контекст подключения.

Действие «Получить сообщение» часто выносят в блок TryCath. Зачем это нужно? Например, в очереди находятся 5 сообщений и робот прочитал последнее пятое и пытается прочитать шестое. Далее, робот подождет таймаут и упадет в ошибку. Чтобы не сбивать процесс рекомендуется использовать блок TryCath.

Вид исключения в данном блоке проставляется - любой.

При настройке действия «Получить сообщение» заполняется два параметра: контекст (в рамках которого выполняется действие) и таймаут.

REST и SOAP запросы

В данном описании рассмотрены способы заполнения параметров действий REST и SOAP для понимания работы с запросами при помощи Robin Robot, включая общую информацию по данным запросам.

Отправить запрос / Send request

Отправка HTTP-запроса для обращения к RESTful веб-сервису

Действие «Отправить запрос» – предназначено для отправки HTTP-запроса для обращения к RESTful веб-сервису.

REST-запрос – это архитектурный стиль создания web-сервиса, когда на имеющиеся URL можно отправлять запросы для получения информации.

В таблице ниже приведено описание параметров действия.

Описание параметров: тело запроса, параметры запроса, параметры формы, авторизация, заголовки запроса.

Описание параметра «прикрепить файл».

Отправить запрос SOAP

HTTP-запрос для обращения к веб-сервису SOAP

SOAP (HTTP-запрос для обращения к веб-сервису (SOAP).

SOAP – это простой протокол, который используется для обмена произвольными сообщениями в формате XML, а также для реализации удалённого вызова процедур.

В таблице ниже приведено описание параметров действия.

Циклы

Циклы необходимы для повторения определенной последовательности действий нужное количество раз.

В ROBIN Studio 2.0 представлено четыре вида циклов в группе действий «Базовые действия»: «Для», «Для каждого», «Пока» и «Цикл с постусловием», а так же действия «Прервать цикл» и «Продолжить цикл» для остановки работы цикла и перехода к началу его выполнения.

Рассмотрим порядок работы с каждым циклом.

Цикл «Для»

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

Порядок работы с действием цикл «Для»:

  1. Выбрать действие «Для» из группы действий «Базовые действия» и перенести в сценарий:

  2. Заполнить тело цикла необходимыми действиями. Пример заполнения:

  3. Заполнить параметры действия:

  • Начальное значение (значение, с которого начнется отсчет);
  • Конечное значение (значение до которого будет вестись отсчет.);
  • Инкремент (число, на которое будет увеличиваться значение итератора);

Пример заполнения:

  1. Результат работы цикла: состояние итератора, т.е. значение счетчика для использования в текущей итерации цикла.

Цикл «Для каждого»

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

Порядок работы с циклом «Для каждого»:

  1. Выбрать действие «Для каждого» из группы действий «Базовые действия» и перенести в сценарий:

  2. Заполнить тело цикла необходимыми действиями. Пример заполнения:

  3. Заполнить параметр действия:

  • Коллекция (список значений, которые будут обработаны в цикле)

Пример заполнения параметра:

  1. Результат работы цикла: объект, в который будет помещен каждый элемент коллекции во время выполнения итерации.

Сравнение циклов «Для» и «Для каждого»

Цикл «Для» выполнит работу заданное количество раз. Итератор будет принимать значения от начального заданного значения до конечного с шагом, указанным в поле «Инкремент». Цикл «Для каждого» последовательно работает с элементами выбранной коллекции. Количество итераций равно количеству элементов в коллекции, выбранной на входе.

Таким образом результат цикла «Для» это число, а «Для каждого» объект.

Цикл «Пока»

Предназначен для создания цикла действий, который выполняется до тех пор, пока результат условия равен «True».

Порядок работы с циклом «Пока»:

  1. Выбрать действие «Пока» из группы действий «Базовые действия» и перенести в сценарий.

  2. Заполнить тело цикла (блок внутри цикла, где прописывается алгоритм для работы робота) необходимыми действиями. Пример заполнения:

  3. Заполнить параметр действия:

  • Условие (критерий, по которому будет приниматься решение о продолжении или прекращении работы цикла).

Пример заполнения:

Если условие заполняется посредством инструмента построения выражений, то оно отобразиться в разделе «Условие» внутри цикла. Инструмент построения выражений:

При заполнении чек-бокса условие цикла считается равным True. Если чек-бокс не заполнен и не указано иное условие, то условие цикла считается равным False.

Пример цикла с условием, заполненным с помощью инструмента построения выражений:

«Цикл с постусловием»

Предназначен для создания цикла действий, который выполняется до тех пор, пока результат условия равен «True».

Порядок работы с «Циклом с постусловием»:

  1. Выбрать действие «Цикл с постусловием» из группы действий «Базовые действия» и перенести в сценарий:

  2. Заполнить тело цикла необходимыми действиями. Пример заполнения:

  3. Заполнить параметр действия - «Условие».

Пример заполнения:

Если условие заполняется посредством инструмента построения выражений, то оно отобразиться в разделе «Условие» внутри цикла. Пример цикла с постусловием, где условие заполнено с помощью инструмента построения выражений:

Сравнение циклов «Пока» и цикла с «Постусловием»

Оба цикла работают до тех пор, пока результат условия равен «True». Однако в цикле «Пока» проверка действия происходит перед началом выполнения цикла, т.е. цикл может отработать 0 раз и более.

Проверка условия в действии «Цикл с постусловием» происходит после выполнения действий в теле цикла, т.е. цикл отработает минимум один раз.

Действия «Прервать цикл» и «Продолжить цикл»

Действие «Прервать цикл»

Выбрать действие «Прервать цикл» и перенести в сценарий.

В результате выполнения этого действия робот завершит работу с циклом и продолжит выполнять действия вне цикла.

Действие «Продолжить цикл»

Выбрать действие «Продолжить цикл» и перенести в сценарий.

В результате выполнения этого действия робот прекратит выполнение текущего цикла и начнет выполнять действия в теле цикла сначала.

Для более точного понимания работы циклов в Robin Studio рассмотрим небольшие кейсы.

Цикл «Для». Кейс «Нумерация строк»

Задача: пронумеровать строки в Excel-файле.

Решение:

  1. Создать переменную «Номер». Тип переменной «Число».

  2. Перенести на рабочую область действие «Открыть» из группы действий «Excel».

  3. Перенести на рабочую область действие «Для» (цикл) из группы действий «Базовые действия».

  4. Перенести на рабочую область действия «Сохранить» из группы действий «Excel».

  5. Перенести на рабочую область действия «Закрыть» из группы действий «Excel».

  6. Заполнить параметры действий, перенесенных на рабочую область:

а. Действие «Открыть»: В строке «Путь к фалу» указать путь к Excel-файлу в котором будет проведена работа.

  1. Действие «Для». Установить «Начальное значение», «Конечное значение» и «Инкремент». В параметр «Результат» записать созданную ранее переменную «Номер».

Пример заполнения параметров:

с. Для действия «Сохранить». В строке «Контекст» указать экземпляр открытого Excel-файла.

  1. Действие «Закрыть». В строке «Контекст» указать экземпляр открытого Excel-файла.

  1. В тело цикла поместить действия «Конвертировать данные» из группы «Базовые действий», «Соединить» из группы «Текст» и «Установить значение ячейки» из группы действий «Excel».

  2. Заполнить параметры выбранных действий в теле цикла:

  1. Действие «Конвертировать данные»
  • В строке «Источник» выбрать переменную «Номер».

  • В строке «Тип» выбрать значение «Строка» из выпадающего цикла.

  1. Действие «Соединить»
  • «Текст 1» - название столбца, который будет пронумерован.

  • «Текст 2» - результат действия «Конвертировать данные».

с. Действие «Установить значение ячейки».

  • В строке «Контекст» указать экземпляр открытого Excel-файла.

  • В строке «Ячейка» указать результат действия «Соединить».

  • В строке «Значение» указать переменную «Номер».

  1. Запустить робота по кнопке «Запуск» в верхней панели.

Результат: алгоритм прошел по циклу, ячейки в выбранном столбце Excel-файла были пронумерованы.

Цикл «Для каждого». Кейс «Сортировка»

Задача: В папке находятся файлы с расширением .xls(x) и .docx. Необходимо создать папки с названием расширения и распределить файлы по папкам.

Решение:

  1. На рабочую область перенести действия «Получить содержимое папки» и «Для каждого».

  2. Заполнить параметры действий.

а. Действие «Получить содержимое папки».

  • В строке «Папка» указать путь до папки с файлами, которые необходимо рассортировать.

  • В поле «Тип объектов» указать значение «только файлы».

  1. Действие «Для каждого».
  • В строке «Коллекция» указать результат выполнения действия «Получить содержимое папки»

Пример:

  1. В тело цикла поместить следующие действия в указанном порядке:
  1. «Получить информацию о файле»;

  2. «Извлечь с позиции»;

  3. «Найти папку»;

  4. «Получить длину»;

  5. «Если»

  6. На ветвь «Истина» поставить действия:
    • «Получить значение по индексу»;
    • Конвертировать данные;
    • «Переместить файл»;
  7. На ветвь «Ложь» установить действия:
    • «Создать новую папку»;
    • «Переместить файл»;
  1. Заполнить параметры действий.
  1. Для действия «Получить информацию о файле»:
  • Параметр «Файл» - ссылка на объект, обрабатываемый в момент итерации цикла.

  • Параметр «Свойство» - «Тип».

  1. Для действия «Извлечь с позиции»;
  • Параметр «Исходный текст» - результат действия «Получить информацию о файле».

  • Параметр «Позиция» - 1.

  • Параметр «Длина» - если данный параметр не заполнен, то текст извлекается с заданной позицией до конца.

с. Для действия «Найти папку».

  • Параметр «Папка для поиска» - путь до папки, где храниться подпапка для сортировки файлов.

  • Параметр «Шаблон поиска» - результат действия «Извлечь с позиции».

  1. Для действия «Получить длину».
  • Параметр «Коллекция или массив» - результат действия «Найти папку».

  1. Для действия «Если».

С помощью инструмента построения выражения в параметр условия записать логический оператор «Больше чем», где первый операнд – результат действия «Получить длину», а второй – 0.

  1. Для действия «Получить значение по индексу».
  • Параметр «Коллекция» - результат действия «Найти папку».

  • Параметр «Индекс» - 0.

  1. Для действия «Конвертировать данные».
  • Параметр «Источник» - результат действия «Путь к папке».

  • Параметр «Тип» - путь к папке.

  1. Для действия «Переместить файл».
  • Параметр «Файл» - ссылка на объект, обрабатываемый в момент итерации цикла.

  • Параметр «Папка назначения» - результат действия «Конвертировать данные».

  1. Для действия «Создать новую папку».
  • Параметр «Родительская папка» - путь до папки, где , где храниться подпапка для сортировки файлов.

  • Параметр «Имя» - результат действия «Извлечь с позиции».

  1. Для действия «Переместить файл».
  • Параметр «Файл» - ссылка на объект, обрабатываемый в момент итерации цикла.

  • Параметр «Папка назначения» - результат действия «Создать новую папку».

Результат: Алгоритм прошел по циклу, рассортировывая файлы по папкам.

Цикл «Пока». Кейс «Первое вхождение»

Задача: В Excel-файле записаны дата и температура воздуха в этот день. Необходимо найти первый день в списке, когда температура стала отрицательной.

Решение:

  1. Создать переменные «Счетчик» и «Значение» тип переменных – число.

  2. На рабочую область перенести действия «Открыть» и «Получить данные из столбца» (группа «Excel»), действие «Пока» (группа «Базовые действия»), «Сохранить» и «Закрыть» (группа «Excel»).

  3. Заполнить параметры действий.

а. Действие «Открыть». В строке «Путь к фалу» указать путь к Excel-файлу с котором будет проведена работа.

  1. Действие «Получить значение из столбца». Указать контекст и название столбца с температурными данными.

с. Действие «Пока». С помощью инструмента построения выражений записать условие «Переменная Значение больше 0».

Пример:

  1. Действие «Сохранить». В строке «Контекст» указать экземпляр открытого Excel-файла.

е. Действие «Закрыть». В строке «Контекст» указать экземпляр открытого excel-файла.

  1. В тело цикла добавить действие «Получить значение по индексу» (группа действий «Коллекции») и «Сложение» (группа действий «Операторы»).

  2. Заполнить параметры этих действий.

а. Действие «Получить значение»:

  • В строке коллекция указать результат действия «Получить значения из столбца».

  • В строке «Индекс» указать переменную «Счетчик».

  • В параметре «Результат» записать переменную «Значение».

  1. Действие «Сложение»:
  • Первый слагаемое – переменная «Счетчик».

  • Второе слагаемое – 1.

  • Результат – переменная «Счетчик».

Результат: алгоритм начнет перебирать значения коллекции в цикле и прекратит работу, как только встретит первое отрицательное число. Оно будет записано в переменную «Значение».

«Цикл с постусловием». Кейс «Поиск файла»

Задача: В папке есть несколько подпапок, где лежит необходимый нам файл. Нужно просмотреть подпапки и выяснить в какой из них сохранен этот файл.

Решение:

  1. Создать переменную «Счетчик», тип переменной – число.

  2. Создать переменную «Значение», тип переменной – объект.

  3. На рабочую область перенести действия «Получить содержимое папки» (группа действий «Файловая система»), «Цикл с постусловием» (группа действий «Базовые действия»).

  4. Заполнить параметры действий.

а. Для действия «Получить содержимое папки»:

  • В параметр «Папка» указать путь до папки с подпапками.

  • В параметре «Тип объектов» выбрать из выпадающего списка значение «Только папки».

  1. Для действия «Цикл с постусловием».

В параметр условие с помощью инструмента построение выражений записать условие «Длина коллекции, полученной в результате действия «Найти файл» равно 0».

Пример:

  1. В тело цикла добавить действия «Получить значение по индексу» (группа действий «Коллекции»), «Конвертировать данные» (группа действий «Базовые действия»), «Найти файл» (группа действий «Файловая система») и «Сложение» (группа действий «Операторы»).
  1. Заполнить параметры действий.

а. Для действия «Получить значение по индексу»:

  • Параметр «Коллекция» - результат действия «Получить содержимое папки».

  • Параметр «Индекс» - переменная «Счетчик».

  • Параметр «Результат» - переменная «Значение».

  1. Для действия «Конвертировать данные»:
  • Параметр «Источник» - результат действия «Получить значение по индексу».

  • Параметр «Тип» - путь до папки.

с. Для действия «Найти файл»:

  • Параметр «Папка для поиска» - результат действия «Конвертировать данные».

  • Параметр «Шаблон» - название искомого файла.

  1. Для действия «Сложение»:
  • Первое слагаемое – переменная «Счетчик».

  • Второе слагаемое – 1.

  • Результат – переменная «Счетчик».

Результат: алгоритм пройдет по циклу до тех пор, пока не будет найден искомый файл. Путь до папки с этим файлом будет сохранен в переменную «Значение».

Хранение и использование паролей в сценариях

Хранение паролей в переменной типа «Пароль»

В Robin Studio существует возможность создания переменной с типом «Пароль» для хранения паролей. При создании переменной пароль вводится в поле «Значение», где сам текст пароля будет скрыт. Пример:

После сохранения в поле «Значения» пароль будет отображаться в виде звездочек:

Значение пароля, сохраненное в переменной, не отображается в логе студии, его нельзя получить посредством вывода текста или иным способом.

Шифрование происходит с помощью AES шифрования.

Примечание

AES – это симметричный алгоритм блочного шифрования, принятый в качестве стандарта шифрования, который оперирует блоками по 128 бит. Это значит, что AES берет 128 бит исходного сообщения и превращает их с помощью некоего ключа в 128-битный шифротекст. Размер ключа может быть 128, 192 или 256 бит.

Получение пароля из хранилища

Пароли, находящиеся в хранилище, можно посмотреть в диспетчере учетных данных Windows.

Получить информацию оттуда, можно с помощью действия «Получить пароль из хранилища» из группы действий «Безопасность».

Для этого необходимо:

  1. Перенести действие «Получить пароль из хранилища» на рабочую область.
  2. Заполнить параметр «Идентификатор», указать идентификатор записи с учетными данными в диспетчере задач учетных данных Windows.

Пример:

  1. Результатом выполнения действия является логин и пароль, которые можно использовать для работы робота.

Базы данных

Работу с базами данных робот осуществляет посредством действий группы «Базы данных». Группа действий содержит три подгруппы. Действия подгруппа «Запросы» позволяет обрабатывать базу данных, действия подгруппы «Общее» организует настройку подключения к базе данных и закрытие подключения с ней, действия подгруппы «Транзакции» позволяют закрыть и откатить транзакцию.

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

Подключение к базе данных

В Robin Studio существует два типа подключения к базе данных: пользовательское и стандартное.

Стандартное подключение содержит в себе подключение к типам СУБД

Однако, есть намного больше типов СУБД, которые так же используются и чтобы не ограничивать себя этими 4-мя видами существует действие по пользовательскому подключению, которое предназначено для случаев, когда тип СУБД не является стандартным в ROBIN Studio. Рассмотрим варианты подключения к базам данных.

Настройка стандартного подключения:

  1. Выбрать действие «Стандартное подключение», перенести его в схему робота.

  2. Заполнить параметры действия.

  • Тип СУБД, обязательное поле (на выбор Oracle, MySQL, PostgreSQL или MsSqlServer)
  • Логин, обязательное поле
  • Пароль
  • Хост сервера
  • Порт сервера
  • Имя БД
  • Тайм-аут
  • Уровень изоляции
  • Параметры

Пример заполнения параметров:

  1. Перейти к созданию сценария робота. При запуске робот подключится к выбранной СУБД.

Настройка пользовательского подключения:

  1. Выбрать действие «Пользовательское подключение».

  2. Заполнить параметры действия:

  • Выбрать уровень изоляции из выпадающего списка. Доступно пять уровней изоляции:
    • Без транзакций;
    • Чтение незаконченных транзакций разрешено (Самый небезопасный и открытый уровень. Например, один процесс обновляет таблицу, а второй процесс обратился к этой же таблице на ее чтение. Если будет выбран данный уровень изоляции, то нам не важно выполняются ли какие-то действия с этой таблицей, мы все равно получим наши данные. Но тут нужно понимать риски при получении не совсем полной информации);
    • Чтение только законченных транзакций (Законченная транзакция - транзакция, которая зафиксирована. Если обращаться на изменение данных, то доступ будет, но будет ограничено чтение при незаконченной транзакции);
    • Повторное чтение данных вернет те же значения, что и в начале транзакции (Мы не можем читать и изменять данные пока не закончена другая транзакция);
    • Сериализуемость (Текущая транзакция может считывать только текущие данные, которые при этом были модифицированы другой транзакцией. Пока мы читаем эти данные, все остальные транзакции становятся в очередь и ожидают пока мы закончим чтение).
  • Логин;
  • Пароль;
  • URL сервера, где размещена БД (обязательное поле);
  • Класс драйвера (обязательное поле);
  • Путь к классу драйвера (обязательное поле);
  • Тайм-аут.

Пример заполнения параметров:

  1. Перейти к созданию сценария робота. При запуске робот подключится к выбранной СУБД. По завершению работы с базой данных роботу необходимо закрыть подключение к ней.

Закрытие подключения к выбранной базе данных

  1. Выбрать действие «Закрыть подключение».

  2. Заполнить параметры действия:

  • Контекст БД (Контекст подключения к выбранной базе данных).

Пример заполнения:

После создания подключения возможна работа с базой данных.

Выполнение запроса

Запрос в базу данных выполняется на языке запросов SQL.

  1. Выбрать действие «Выполнить запрос».

  2. Заполнить параметры:

  • Контекст БД (обязательное поле);
  • Шаблон запроса;
  • Список параметров.

Пример заполнения запроса без параметров: В поле «Шаблон запроса» вводится запрос на языке SQL.

Пример заполнения запроса с параметром:

В поле «Шаблон запроса» вводится запрос на языке SQL, где в месте, куда необходимо будет подставить параметр, знак вопроса. Список параметров оформляется в формате словаря в том порядке, в котором они будут заполняться в шаблоне.

Результат действия - таблица.

Добавление записи

  1. Выбрать действие «Добавить запись».

  2. Заполнить параметры действия:

  • Контекст БД (обязательное поле);
  • Имя таблицы (обязательное поле);
  • Данные для вставки (обязательное поле);

Поле заполняется в формате словаря. Пример заполнения:

  • Список имен полей первичного ключа. Пример заполнения параметров:

Результат действия - таблица.

Извлечение записи из базы данных

  1. Выбрать действие «Извлечь запись».

  2. Заполнить параметры действия:

  • Контекст БД (обязательное поле);
  • Имя таблицы (обязательное поле);
  • Поля таблицы. Заполняются в формате коллекции;
  • Значения первичного ключа. Заполняется в формате словаря (обязательное поле).

Пример заполнения полей:

Результат действия: словарь, где ключи – указанные в запросе имена столбцов.

Обновление записи в базе данных

  1. Выбрать действие «Обновить запись».

  2. Заполнить параметры действия. Все поля обязательны для заполнения:

  • Контекст БД;
  • Имя таблицы;
  • Данные для обновления записей;

Поле заполняется в формате словаря. Пример заполнения:

  • Первичный ключ.

Пример заполнения параметров:

Удаление записи из базы данных

  1. Выбрать действие «Удалить запись».

  2. Заполнить параметры действия. Все поля обязательны для заполнения:

  • Контекст БД;
  • Имя таблицы;
  • Первичный ключ;

Поле заполняется в формате словаря. Пример заполнения параметров:

Закрытие транзакции

  1. Выбрать действие «Закрыть транзакцию».

  2. Заполнить параметры:

  • Контекст БД

Пример заполнения параметров:

Откат транзакции

  1. Выбрать действие «Откатить транзакцию».

Заполнить параметры:

  • Контекст БД

Пример заполнения параметров:

Регулярные выражения (группа действий «Текст»)

Общая информация

Регулярные выражения (их еще называют regexp, или regex) — это механизм для поиска и замены текста.

Для поиска используется строка-образец (англ. pattern, по-русски её часто называют «шаблоном», «маской»), состоящая из символов и метасимволов и задающая правило поиска. Для манипуляций с текстом дополнительно задаётся строка замены, которая также может содержать в себе специальные символы.

Регулярные выражения используются некоторыми текстовыми редакторами и утилитами для поиска и подстановки текста. Например, при помощи регулярных выражений можно задать шаблоны, позволяющие:

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

Регулярные выражения позволяют задавать и гораздо более сложные шаблоны поиска или замены.

Результатом работы с регулярным выражением может быть:

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

Если регулярное выражение используется для замены текста, то результатом работы будет новая текстовая строка, представляющая из себя исходный текст, из которого удалены найденные подстроки (сопоставленные образцу), а вместо них подставлены строки замены (возможно, модифицированные запомненными при разборе группами символов из исходного текста). Частным случаем модификации текста является удаление всех вхождений найденного образца — для чего строка замены указывается пустой.

Вспомогательные ссылки

  1. Шаблоны для работы с файловой системой • https://en.wikipedia.org/wiki/Glob_(programming)
  2. Регулярные выражения для работы с текстом • https://docs.microsoft.com/ru-ru/dotnet/standard/base-types/regularexpression-language-quick-reference
  3. Форматы для работы с датами • https://docs.microsoft.com/en-us/dotnet/standard/base-types/custom-dateand-time-format-strings

Примеры регулярных выражений

  • Взять текст между заданным текстом.

  • Взять текст с заданным текстом.

  • Извлечь из текста год.

[2][0][1][8-9]

Регулярное выражение позволяет извлечь из текста четырехзначное число, у которого разряд тысяч = 2, разряд сотен = 0, разряд десятков = 1, разряд единиц 8 или 9.

  • Извлечь из текста последовательность из n чисел.

  • Проверить язык символов в строке.

Регулярное выражение проверяет все символы строки на соответствие кириллице.

Применение регулярных выражений в работе с ROBIN Studio

Пример касается применения регулярных выражений при построении схемы робота, а также применении некоторых действий при работе с текстом

Задача: Извлечь из текста заявления (файл MS Word) даты:

«Прошу предоставить мне ежегодный оплачиваемый отпуск с 01 марта 2021 года по 14 марта 2021 года сроком на 14 календарных дней».

Решение:

  1. Настроить получение текста из Word файла при помощи действий:

  2. Настроить действие «Извлечь по шаблону» (группа действий «Текст»). В параметре «Шаблон» необходимо указать регулярное выражение. В данном случае (при извлечении первой даты) возможно опираться на предлоги с и по, так как текст в шаблоне регламентирован.

  3. Настроить действие «Получить значение по индексу» (так как может быть больше совпадений, чем одно).

  4. После запуска робота в панели логов возможно просмотреть результат:

  5. Для обрезки лишних данных: с 01 марта 2021 года по необходимо воспользоваться действиями «Удалить с позиции» (для предлога с) и «Удалить совпадения (для года по).

  6. Для извлечения даты окончания воспользоваться действием «Извлечь по шаблону».

  7. Настроить действие «Получить значение по индексу».

  8. Запустить робота и проверить в панели логов корректность дат.

В дате окончания необходимо удалить слишнюю информацию: по 14 марта 2021 года

  1. Настроить действие «Удалить с позиции» для удаления предлога «по».

  2. Настроить действие «Удалить совпадения» для удаления слова «года».

  1. При запуске робота в панели логов проверить корректность дат.

Данные извлечены верно.

Outlook

В ROBIN Studio имеется встроенная группа действий Outlook, которая позволяет выполнять настройку отправки, получения сообщений из почты Outlook, сохранение полученных вложений.

Рассмотрим кейс «Получение сообщений по Outlook».

Задача: Настроить получение сообщений из Outlook и сохранить вложения писем в требуемую папку.

Решение:

  1. Вначале нужно остановить Outlook (в случае, если он уже запущен, второй экземляр Outlook, для работы робота, не откроется). Для этого, из группы «Процессы» перетащите на рабочую область действие «Завершить процесс»

В поле «Способ идентификации процесса» необходимо выбрать одно из трех значений:

PID процесса = ИД процесса (можно просмотреть в диспетчере задач)

При необходимости, возможно указать частичное совпадение имени при поиске процесса в поле «Частичное совпадение».

  1. Перетащить на рабочую область и настроить действие «Запустить процесс».
  • В поле «Задать процесс» выбрать одно из продложенных значений (в данном случае «По пути к файлу»).

  • В поле «Файл процесса» указать путь к файлу или переменную, содержащую требуемый путь.

  • В поле «Имя процесса» указать имя процесса (если процесс будет запущен не по пути к файлу, а по имени).

  • В поле «Аргументы» есть возможность указать аргументы. В случае, если требуется запустить другого робота. (необходимо будет указать файл плеера и аргументом будет робот).

3.Настроить выборку сообщений. Для этого перетащить на рабочую область действие «Выбрать сообщения».

  • В поле «Хранилище писем» указать адрес электронной почты.

  • В поле «Папка» указать значение «Входящие».

  • В поле «Тема» указать тему письма (в данном случае «Заявление на отпуск»).

  • В поле «Начиная с даты» указать дату, с которой пришли требуемые письма.

  • В поле «Количество» указать количество требуемых писем, которые необходимо брать из почтового ящика по указанным критериям.

  • В поле «Пометить как прочитанные» установить флаг. (Письма будут выделенны в почтовом ящике, как прочитанные).

  1. Перетащить на рабочую область действие «Прочитать».

Указать в поле «ID сообщений» переменную с ID сообщений, которые были получены на предыдущем шаге.

  1. Перетащить на рабочую область действие «Сохранить вложения».

В поле «Идентификаторы сообщений» указать переменную с коллекцией полученных писем.

В поле «Папка» указать путь к папке или указать переменную, содержащую данный путь.

XML

В ROBIN Studio имеется возможность работы с XML-документами. При помощи этих действий возможно, как редактирование XML-файлов, так и их создание, а так же возможно получение значений из уже готовых XML-файлов.

Рассмотрим процесс по получению значений из XML и далее создание XML с параметрами.

Получение значений из XML

Для получения значения из XML сформировать цикл для каждого, куда поместить действия, отображенные на скрине.

Для настройки цикла «Для каждого» необходимо заполнить поле «Коллекция» переменной, полученной в результате предыдущего действия. (Коллекция значений сетевой папки).

Далее, необходимо поместить в цикл действия: Открыть, Получить таблицу ИЛИ Получить элементы по XPath, Закрыть.

Для настройки действия «Открыть» необходимо заполнить параметр «Путь до файла» (заполнить данное поле результатом действия цикла «Для каждого»). Именно в данном цикле мы перебираем все XML-файлы лежащие в сетевой папке.

Файл выглядит следующим образом. В нашем примере требуемый тег из этого файла - ИНН.

Для получения значений из XML необходимо воспользоваться действием «Получить таблицу». Для настройки действия необходимо заполнить поля: XML- контекст (переменная «Открыть список конрагентов» и имя тега - line. (строка бывшей таблицы))

При неверном указании тега или в случае, если такой тег вообще отсутствует в файле XML робот не выдаст ошибку, но проверить это возможно в логах, в результате выполнения такого действия будет пустота.

В данном случае тег указан верно.

Результат выполнения данного действия - переменная табличного типа.

Вторым вариантом получения значений из XML файла является «Получение значений по Xpath». Необходимо так же заполнить поле «XML-контекст» переменной «Открыть список контрагентов» и поле «Xpath» указав путь до нужного элемента в XML (в данном случае ИНН). Результатом данного действия является коллекция (нам вернуться все значения ИНН).

Далее, настроить действие «Закрыть», указав необходимый контекст.

После запуска данной схемы в логе можно увидеть информацию по Xpath.

Создание XML с параметрами

Когда мы хотим запустить одного робота из другого и при этом, мы хотим передать на вход како-либо значение, это значение мы должны записать в специальный XML- файл, который имеет свою специальную структуру.

Шаблон файла выглядит следующим образом:

В атрибуте тега InOutResource указано значение «Топик» - название переменной , в которую запишется значение у второго робота. Значение «Очередь 1» - значение, которое будет записано в эту переменную. Значение «RobinString» - тип переменной. (изменить на подходящий в конкретной ситуации) .

Остальные значения в шаблоне не следует менять.

Если файл создавать по схеме XSD, то необходимо воспользоваться действием «Создать по XSD».

Для создания XML-файла с нуля необходимо перенести на рабочую область действие «Создать новый» и заполнить параметры к действию: версия и кодировка.

Результатом этого действия будет контекст, в рамках которого будут исполняться последующие действия.

Перетащить на рабочую область действие «Добавить элемент». Указать контекст, имя тега и параметры.

Параметры указываются в формате словаря.

Далее необхожимо добавить следующий элемент InOutResources и настроить необходимые параметры.

После, поместим на рабочую область действие по замене и настроим его параметры. Название XML-файла может быть любым, поэтому сразу мы его не указываем.

В поле «Текст» необходимо ввести переменную «Параметр» со значением:

После, добавим элемент InOutResource и настроим параметры действия.

Далее, добавим элемент ActionBreakpoints и ActionLogLevels.

Настройка параметров действия ActionBreakPoints:

Настройка параметров действия ActionLogLevels:

Далее необходимо сохранить созданный файл и его закрыть.

Действия по работе с Java приложениями

Работа с настольными Java приложениями происходит с помощью отдельной группы действий «Java». Действия этой группы используют технологию JavaBridge для получения свойств элементов окон приложений.

Для корректной работы необходимо проверить, что JavaBridge активирован в панели управления:

  1. Выберите « Пуск» > « Панель управления» > «Центр специальных возможностей» . Либо нажмите клавишу с логотипом Windows + u, чтобы получить доступ к Центру специальных возможностей.
  2. Выберите «Использовать компьютер без дисплея» .
  3. В разделе «Другие установленные программы» установите флажок «Включить Java Access Bridge» (возможно, вам придется прокрутить вниз).

Важно

После включения Java Access Bridge необходимо перезапустить Java приложения.

Действия по работе с SAP GUI

Общая информация

Группа действий по работе с SAP GUI позволяет выполнять роботу автоматизированные действия с интерефейсом приложения. Для обеспечения работы группы действий используется SAP GUI Scripting API, при этом сервер SAP не видит разницы между взаимодействием с помощью SAP GUI Scripting и действиями выполняемыми пользователем. Сценарий робота имеет те же права на выполнение операций SAP и ввод данных, что и пользователь. При работе с помощью SAP GUI Scripting работают такие же правила проверки данных в полях, как и при работе пользователя. Для обеспечения работы SAP GUI Scripting API возможность должна быть выключена как на сервере, так и на клиенте.

Активация сценариев SAP GUI на стороне сервера

1. Запустите «saplogon.exe», войдите на сервер SAP, используя свои учетные данные. Откроется окно SAP Easy Access. Запустите транзакцию RZ11. Укажите имя параметра «sapgui/user_scripting» и нажмите Enter на клавиатуре или «Отобразить» («Display») в интерфейсе SAP.

  1. В окне «Отображение атрибутов параметра» профиля («Display Profile Parameter Attributes») нажмите кнопку «Изменить значение» («Change Value») на панели инструментов и задайте для параметра «sapgui/user_scripting» новое значение (New value) = TRUE. Сохраните изменения.

  2. Выйдите из системы и снова войдите в нее, чтобы проверить вступление изменений в силу.

Сообщение в строке состояния «Имя параметра неизвестно» («Parameter name is unknown») указывает на то, что параметр sapgui/user_scripting не может быть изменен с помощью этой транзакции, поскольку отсутствует пакет сервера SAP. Необходима предварительная установка отсутствующего пакета.

Активация сценариев SAP GUI на стороне клиента

  1. На панели инструментов нажмите кнопку «Изменить локальный макет» («Customise Local Layout») и выберите «Параметры» («Options») из раскрывающегося меню. Откроется окно «Параметры SAP GUI» («SAP GUI Options»).
  2. Перейдите в раздел «Доступность и сценарии» («Accessibility & Scripting») и нажмите «Сценарии» («Scripting»). В разделе «Настройки пользователя» («User Settings») установите флажок «Включить сценарии» («Enable scripting»). Два других параметра — «Уведомить, когда сценарий подключается к SAP GUI» («Notify when a script attaches to SAP GUI») и «Уведомить, когда сценарий открывает соединение» («Notify when a script opens a connection») — должны быть выключены. Сохраните изменения, нажав кнопку «OK».

Теперь запись сценариев с помощью SAP GUI Scripting активна.

Дополнительная информация

С помощью использования SAP GUI Scripting ROBIN позволяет автоматизировать действия пользователя в клиентах SAP GUI для Windows и SAP Business Client (NWBC). Одновременная автоматизация SAP GUI для Windows и SAP Business Client невозможна. Сценарии робота, работающие с этими приложениями должны выполняться последовательно.