ДРУГИЕ МОДУЛИ

Модуль «Вычисления»

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

Интерфейс модуля

Окно модуля очень простое и состоит всего лишь из поля для ввода и кнопок «Сохранить» и «Отмена».

Рис. 1. Окно модуля

Поле «Выражение». В поле вводится код на языке программирования JavaScript. Возможно использование локальных переменных модуля (с объявлением их через let, var или const, но они не будут видны в других модулях скрипта робота), либо переменных студии, которые должны начинаться с символов «v.».

Модуль полностью подчиняется правилам языка JavaScript, то есть поддерживаются все стандартные функции JS, разделение строк производится посредством ввода символа «;» или переходом строки (клавиша Enter).

Пример работы с модулем

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

let date = new Date(); let year = date.getFullYear(); let month = date.getMonth(); v.lastDay = new Date(year,month,0); v.lastDay = v.lastDay.getDate();

Листинг 1. Получение последнего дня предыдущего месяца

Рис. 2. Пример заполнения модуля

Что делает написанный выше код? А вот что – получаем сегодняшний день, например, сегодня 25 марта, из этой даты мы берем информацию о текущем годе и месяце, затем создаем новый экземпляр даты, устанавливая в качестве года и месяца текущие, а в качестве дня – нулевой, вследствие чего язык JS создаст дату с последним днем предыдущего месяца. Более подробно:

1 строка – создание нового экземпляра даты без передачи параметров, в следствиии чего создастся сегодняшняя дата (date = 25.03.2020);

2 строка – использование метода getFullYear, который возвращает полный год даты, к которой он применен (year = 2020);

3 строка – использование метода getMonth, который возвращает месяц даты, к которой он применен (month = 2, так как месяца в JS считаются с 0);

4 строка – создание нового экземпляра даты, в качестве параметров подаются текущий год, текущий месяц и 0 в качестве дня (v.lastDay = 29.02.2020);

5 строка – получение числа последнего дня предыдущего месяца (v.lastDay = 29).

В качестве знакомства с языком программирования JavaScript рекомендуем к изучению интернет-ресурс «Современный учебник JavaScript», доступный по ссылке https://learn.javascript.ru/.

Модуль «Запустить процесс»

Модуль «Запустить процесс» предназначен для запуска каких-либо приложений. Это может быть браузер, MS Word, 1С и другие.

Интерфейс модуля

Окно модуля состоит из полей «Путь к файлу», «Параметры», флажок «От имени администратора», «Пауза», «Переменная с именем процесса» и «Переменная с id процесса», а также кнопок «Сохранить» и «Отмена».

Рис. 3. Окно модуля

Поле «Путь к файлу». В данное поле вводится название стандартного процесса Windows (например, notepad – блокнот), либо путь до корневого расположения программы, например, стандартный путь до браузера Google Chrome - C:\Program Files (x86)\Google\Chrome\Application\chrome.exe.

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

Рис. 4. Пример заполнения

Флажок «От имени администратора» запускает процесс с правами, позволяющими запускаемому процессу вносить изменения в системные файлы компьютера. Если вы не доверяете приложению, то не стоит ставить этот флажок.

Поле «Пауза» устанавливает время ожидания после начала запуска процесса.

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

Флажок «Скрыто» запускает процесс со свойством hide (скрытый), то есть запускает фоновый процесс.

Флажок «Ожидать завершения» позволяет данному модулю дождаться окончания работы процесса и только затем продолжить работу робота.

Модуль «Завершить процесс»

Модуль «Завершить процесс» предназначен для завершения ранее запущенных процессов по их имени и идентификатору.

Интерфейс модуля

Окно состоит из двух полей – имени и идентификатора (id) завершаемого процесса.

Рис. 5. Окно модуля

Если завершаемый процесс запускался через модуль «Запустить процесс», то в эти поля передаются переменные, указанные в одноименных полях окна запуска процессов. В противном случае, если известно имя процесса, который необходимо завершить, достаточно ввести только его, но (!) в таком случае завершатся все процессы с подобным именем. Например, если вы захотите закрыть excel-файл и напишете просто «Excel», то закроются все excel-файлы, которые были открыты.

Модуль «Командная строка»

Модуль «Командная строка» позволяет работать с консольными приложениями посредством отправки команд и получения ответа на команды (cmd, python и другие консольные приложения).

Интерфейс модуля

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

Рис. 5. Окно модуля

Настройки консоли

Перечень полей раздела:

«Работа с» - выпадающий список из двух позиций – «работа с командной строкой текущей машины» и «с сервером , подключенным по ssh». Если выбрана работа с текущей машиной, то поля настройки консоли будут следующими:

«Приложение» - название или путь до запускаемого консольного приложения, например «cmd»;

«Аргументы» - перечень аргументов, с которыми необходимо запустить консоль;

«Рабочая директория» - путь до папки, из которой должно быть вызвано консольное приложение;

«Переменная с id процесса» - поле, аналогичное одноименному полю в модуле «Запустить процесс» - позволяет сохранить идентификатор процесса в переменную для последующего обращения к нему или закрытия;

«От имени администратора» - запуск приложения с правами администратора;

«Скрыто» - запуск приложения в скрытом режиме.

Если выбрано подключение к ssh серверу, то поля будут следующими:

«Хост»- ip адрес машины, к которой осуществляется подключение;

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

«Пароль» - пароль для доступа к системе;

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

Команды

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

«Команда» - непосредственно сама команда, которая должна быть введена в консоль. Допускается использование переменных;

«Ожидать отклик (сек)» - поле для ввода количества секунд, которое дается на ожидание ответа от приложения на команду. По умолчанию 1 секунда;

«Переменная» - поле для ввода названия переменной, в которую будет записан результат команды в случае её успеха;

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

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

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

Для удаления команды необходимо выбрать нужную команду в списке команд и нажать «Удалить».

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

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

Модуль «SQL»

Модуль «SQL» обеспечивает работу с базами данных. Поддерживаемые СУБД: MS SQL, PostgreSQL и Oracle.

Интерфейс модуля

Данный модуль обеспечивает работу с базами данных. Для работы с БД необходимо заполнить все поля окна «Модуль SQL».

Окно состоит из следующих полей: «СУБД», «Источник данных», «База данных», «Логин», «Пароль», «Время ожидания», «SQL-скрипт» и «Переменная».

Рис. 6. Пример заполнения модуля

Поля «СУБД», «Источник данных», «База данных», «Логин» и «Пароль» обеспечивают подключение к БД. При указании сервера и порта через двоеточие необходимо заключать строку в кавычки (например, ‘localhost:1521’).

Примечание: для БД Oracle поле «База данных» заполнению не подлежит. В поле «Логин» можно добавить строку «;Connect Mode=SYSDBA» для работы с системным пользователем.

Поле «Время ожидания». В данное поле вводится значение времени в секундах, которое должно хватить запросу на выполнение. Без этого поля робот может работать бесконечно долго из-за исключительных ситуаций, поэтому заполнение этого поля является обязательным. Для небольших запросов значение может быть равно 20 секунд, для больших – минута и более.

Поле «SQL-скрипт». В данное поле вводится скрипт на языке SQL, поддерживается ввод переменных студии. При использовании переменных студии необходимо подать в это поле строку в следующем виде: весь скрипт должен быть взят в кавычки, за исключением переменных студии (как показано на рисунке 11.40.1).

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

Модуль «HTTP OData»

Http-запросы – запросы для передачи информации между сайтами (или серверами) и клиентами (например, нами).

Модуль «HTTP OData» предназначен для отправки запросов по протоколу http[9] к интеграционному сервису 1С – OData.

Интерфейс модуля

Данный модуль состоит из полей: «Ссылка», «Логин», «Пароль», «Переменная» и «Тип запроса».

Рис. 7. Пример настройки GET запроса

Поле «Ссылка». В поле вводится необходимый URL-адрес.

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

Поля «Логин» и Пароль». Предназначены для ввода логина и пароля при авторизации.

Поле «Тип запроса». Позволяет выбрать необходимый тип запроса. Доступны методы «GET», «PUT», «POST» и «PUTCH».

Поле «Запрос». В поле вводится HTTP-сообщение, согласно общим правилам его структуры. Доступно к заполнению только при выборе типов запроса «PUT», «POST» и «PUTCH».

Модуль «HTTP запрос»

Http-запросы – запросы для передачи информации между сайтами (или серверами) и клиентами (например, нами).

Модуль «HTTP запрос» предназначен для отправки запросов по протоколу http.

Интерфейс модуля

Данный модуль состоит из полей: «Ссылка», «Переменная», «Тип запроса» и вкладок Headers и Body с одинаковыми полями Name и Value. Внизу модуля расположена таблица с добавленными значениями аргументов.

Рис. 8. Интерфейс модуля «HTTP запрос»

Поле «Ссылка». В поле вводится необходимый URL-адрес.

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

Поле «Тип запроса». Позволяет выбрать необходимый тип запроса. Доступны методы «GET» и «POST».

Поля «Name» и «Value» вкладок «Headers» и «Body» предназначены для составления http-запроса.

Модуль «FTP запрос».

Модуль позволяет отправлять запросы по FTP[10] протоколу.

Интерфейс модуля

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

Рис. 9. Интерфейс модуля «FTP запрос»

Поле «Ссылка» предназначено для ввода ссылки для подключения к FTP серверу.

Поле «Логин» заполняется логином подключающегося к серверу пользователя.

Поле «Пароль» заполняется паролем пользователя для доступа к серверу.

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

Пол «Действие» предоставляет перечень доступных действий с FTP сервером.

Модуль «XML»

Модуль «XML» предназначен для парсинга текста формата XML. Результатом работы модуля будет объект с полями и свойствами, указанными в исходном тексте.

Интерфейс модуля

Окно модуля состоит из двух полей – поля «Переменная» и «XML».

Рис. 10. Окно модуля «XML»

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

Поле «XML» заполняется текстом в формате XML или переменной, содержащей этот текст.

Результат работы модуля при его настройке, указанной на рисунке 14:

Рис. 11. Объект – результат парсинга XML

Модуль «PDF»

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

Интерфейс модуля

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

Рис. 12. Интерфейс модуля «PDF»

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

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

Поле «Документ 2». Поле, в которое вводится путь до второго рабочего файла, используется для действий, требующих несколько файлов (например, объединение 2-х PDF). По кнопке в поле открывается диалог выбора файла.

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

Перечень и описание действий

Получить text

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

Рис. 13. Пример настройки действия «Получить text»

Получить image

Действие получает все изображения из PDF файла и сохраняет их в формате .jpg в указанную в поле «Папка» директорию. В указанную переменную будет записан список путей до выделенных изображений.

Рис. 14. Пример настройки действия «Получить image»

Объединить документы

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

Рис. 15. Пример настройки действия «Объединить документы»

Модуль «Пауза»

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

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

Рис. 16. Окно модуля «Пауза»

Модуль «Прокси»

Модуль «Прокси» предназначен для создания подключения к прокси-серверу.

Для использования модуля необходимо заполнить адрес прокси-сервера.

Рис. 17. Окно модуля «Прокси»

Модуль «Лог»

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

Рис. 18. Окно модуля «Лог»

Модуль «Локальный робот»

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

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

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

Рис. 19. Окно модуля «Локальный робот»

Модуль «Робот-функция»

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

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

Рис. 20. Окно модуля «Робот-функция»

Переменная-аргумент запуска. Если в вашем роботе-функции необходимы несколько значений, то создайте переменную-объект, которая будет иметь столько полей, сколько вам необходимо. Например, функция, которая рассчитывает некоторый показатель по нескольким значениям – n1 и n2, должна принимать на вход переменную-объект, в которой присутствуют оба этих поля (v.number.n1 и v.number.n2, как пример). Обратите внимание, что внутри робота-функции вы должны будете обрабатывать переменную v.args как входную, независимо от того, какую переменную как входную вы указали в модуле «Робот-функция». То есть, если в модуле в поле «Переменная-аргумент запуска» вы указали переменную «v. number», то внутри самого робота-функции значение v.number будет находиться в переменной v.args. Это сделано для того, чтобы не нужно было запоминать используемую в функции переменную для её использования.

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

Рис. 21. Пример возврата переменной из робота-функции.

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

Модуль «Облачный робот»

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

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

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

Рис. 22. Окно модуля «Облачный робот»

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

Модуль «Диспетчер учетных данных»

Данный модуль позволяет работать с учетными данными Windows – создавать новые, получать логины и пароли существующих записей или удалять их.

Рис. 23. Интерфейс окна модуля «Диспетчер учетных данных»

Поле «Действие» - выпадающий список, в котором предложены возможные действия с учетными записями – создание новой, получение существующей и удаление существующей;

В поле «Адрес в Интернете или сети» вводится адрес сети или сайта;

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

В поле «Пользователь» вводится логин учетной записи, в поле «Пароль» соответственно пароль от учетной записи.

Поле «Тип» предлагает на выбор три типа учетной записи – «Учетные данные Windows», «Учетные данные на основе сертификатов» и «Общие учетные данные». Учетные данные Windows — это имена и пароли, которые используются для доступа к общим сетевым папкам, веб-сайтам, применяющим интегрированную аутентификацию, а также при подключении к удаленному рабочему столу. Учетные данные на основе сертификатов — предназначены для аутентификации с помощью смарт-карт. Общие учетные данные — используются сторонними приложениями, для которых требуется отдельная авторизация с учетными данными, отличными от тех, что применяются для входа в систему.

Поле «Устойчивость» позволяет выбрать один из трех вариантов хранения учетных записей – «Локальный компьютер», «Сеанс входа» и «Предприятие».

В поле «Название переменной» вводится переменная, в которую будет возвращен результат получения учетной записи или создания новой. Переменная будет являться объектом из двух полей – Username и Password.

Модули RuCaptcha

Lexema-RPA Studio содержит набор модулей, позволяющих вводить капчу на страницах браузера. Данный функционал работает с помощью платного сервиса RuCaptcha - https://rucaptcha.com/.

Модуль RuCaptcha загрузить

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

Рис. 24. Интерфейс модуля «RuCaptcha загрузка»

Описание полей модуля:

Ключ API – вводится ключ, который выдается на сайте сервиса при его покупке;

Путь к файлу – путь до скриншота с капчей;

Id капчи – необходимо указать переменную для идентификации капчи – по этому идентификатору в последующем будет получен результат;

Левый верхний угол, правый нижний угол – если вы загрузили скриншот, где не только капча, то необходимо заранее рассчитать координаты левого верхнего и правого нижнего углов капчи. Если же была загружена только капча, то эти поля не нужно заполнять. Формат заполнения – x;y.

Модуль RuCaptcha получить ответ

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

Рис. 25. Интерфейс модуля «RuCaptcha получить ответ»

Описание полей модуля:

Ключ API – вводится ключ, который выдается на сайте сервиса при его покупке;

Результат – вводится переменная, в которую будет помещен результат распознавания капчи;

Id капчи – необходимо указать переменную для идентификации капчи, ту, которая была указана в модуле загрузки капчи.

Модуль «Вырезать изображение»

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

Рис. 25. Интерфейс «Вырезать изображение»

Описание полей модуля:

Путь к файлу – путь до основного изображения;

Левый верхний угол – координаты левого верхнего угла необходимого фрагмента изображения, формат - x;y;

Правый нижний угол – координаты правого нижнего угла необходимого фрагмента изображения, формат - x;y;

Путь сохранения – путь до папки, куда должен быть сохранен получившийся фрагмент изображения. Может быть указан вместе с итоговым названием файла (должен иметь расширение);

Название – название итогового фрагмента изображения, если оно не указано в пути выше. Если расширение не указано, будет сохранен в формате bmp.

Модуль «Буфер обмена»

Модуль позволяет работать с буфером обмена устройства.

Рис. 26. Интерфейс «Буфер обмена»

В данном модуле предлагаются следующие действия по работе с буфером: 1. Записать в буфер обмена; 2. Считать из буфера обмена; 3. Очистить буфер обмена; 4. Проверить наличие строки в буфере обмена.