Lexema-RPA_Studio_Docs/docs/Other.md

468 lines
27 KiB
Markdown
Raw Normal View History

2021-04-11 11:13:02 +00:00
# ДРУГИЕ МОДУЛИ
## Модуль «Вычисления»
Модуль «Вычисления» является связующим модулем или модулем пред- и
постобработки данных из других модулей. Данный модуль необходим для
создания, вычисления и изменения значений переменных. Модуль позволяет
производить вычисления и обработку информации с помощью языка
программирования JavaScript.
### Интерфейс модуля
Окно модуля очень простое и состоит всего лишь из поля для ввода и
кнопок «Сохранить» и «Отмена».
2021-04-12 06:06:06 +00:00
<center><img src="../media/image315.png" style="width:3.70157in;height:2.15029in" /></center>
2021-04-11 11:13:02 +00:00
<center>Рис. 1. Окно модуля</center>
**Поле «Выражение».** В поле вводится код на языке программирования
JavaScript. Возможно использование локальных переменных модуля (с
объявлением их через let, var или const, но они не будут видны в других
модулях скрипта робота), либо переменных студии, которые должны
начинаться с символов «v.».
Модуль полностью подчиняется правилам языка JavaScript, то есть
поддерживаются все стандартные функции JS, разделение строк производится
посредством ввода символа «;» или переходом строки (клавиша Enter).
### Пример работы с модулем
Предположим, необходимо получить последний день предыдущего месяца.
Сделаем это с помощью ввода следующего кода:
2021-04-11 11:22:43 +00:00
<listing>
let date = new Date();
let year = date.getFullYear();
let month = date.getMonth();
v.lastDay = new Date(year,month,0);
v.lastDay = v.lastDay.getDate();
</listing>
<center>Листинг 1. Получение последнего дня предыдущего месяца</center>
2021-04-11 11:13:02 +00:00
2021-04-12 06:06:06 +00:00
<center><img src="../media/image316.png" style="width:4.49351in;height:2.62828in" /></center>
2021-04-11 11:13:02 +00:00
<center>Рис. 2. Пример заполнения модуля</center>
Что делает написанный выше код? А вот что получаем сегодняшний день,
например, сегодня 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/></center>.
## Модуль «Запустить процесс»
Модуль «Запустить процесс» предназначен для запуска каких-либо
приложений. Это может быть браузер, MS Word, 1С и другие.
### Интерфейс модуля
Окно модуля состоит из полей «Путь к файлу», «Параметры», флажок «От
имени администратора», «Пауза», «Переменная с именем процесса» и
«Переменная с id процесса», а также кнопок «Сохранить» и «Отмена».
2021-04-12 06:06:06 +00:00
<center><img src="../media/image317.png" style="width:4.22767in;height:3.41288in" /></center>
2021-04-11 11:13:02 +00:00
<center>Рис. 3. Окно модуля</center>
**Поле «Путь к файлу»**. В данное поле вводится название стандартного
процесса Windows (например, notepad блокнот), либо путь до корневого
расположения программы, например, стандартный путь до браузера Google
Chrome - C:\\Program Files
(x86)\\Google\\Chrome\\Application\\chrome.exe.
**Поле «Параметры»** является необязательным полем, в него вводятся
аргументы вызываемого приложения. Например, для открытия нового блокнота
или чистого листа Excel-аргументы не нужны, но если необходимо открыть
конкретный файл, то в аргументы передается название файла, а если
открывается браузер, то аргументом может быть ссылка на сайт.
2021-04-12 06:06:06 +00:00
<center><img src="../media/image318.png" style="width:4.90688in;height:3.296in" /></center>
2021-04-11 11:13:02 +00:00
<center>Рис. 4. Пример заполнения</center>
**Флажок «От имени администратора»** запускает процесс с правами,
позволяющими запускаемому процессу вносить изменения в системные файлы
компьютера. ***Если вы не доверяете приложению, то не стоит ставить этот
флажок.***
**Поле «Пауза»** устанавливает время ожидания после начала запуска
процесса.
**Поле «Переменная с именем/id процесса».** В данное поле вводятся
переменные, в которые будут помещены имя и идентификатор (id)
запускаемого процесса соответственно. Данные параметры нужны, чтобы в
дальнейшем можно было завершить (закрыть) указанные процессы. ***Если у
вас задача только запустить процессы, то можете оставить эти поля
пустыми.***
**Флажок «Скрыто»** запускает процесс со свойством hide (скрытый), то
есть запускает фоновый процесс.
**Флажок «Ожидать завершения»** позволяет данному модулю дождаться
окончания работы процесса и только затем продолжить работу робота.
## Модуль «Завершить процесс»
Модуль «Завершить процесс» предназначен для завершения ранее запущенных
процессов по их имени и идентификатору.
### Интерфейс модуля
Окно состоит из двух полей имени и идентификатора (id) завершаемого
процесса.
2021-04-12 06:06:06 +00:00
<center><img src="../media/image319.png" style="width:4.90478in;height:1.6052in" /></center>
2021-04-11 11:13:02 +00:00
<center>Рис. 5. Окно модуля</center>
Если завершаемый процесс запускался через модуль «Запустить процесс», то
в эти поля передаются переменные, указанные в одноименных полях окна
запуска процессов. В противном случае, если известно имя процесса,
который необходимо завершить, достаточно ввести только его, но (!) в
таком случае ***завершатся все процессы с подобным именем.*** Например,
если вы захотите закрыть excel-файл и напишете просто «Excel», то
закроются все excel-файлы, которые были открыты.
## Модуль «SQL»
Модуль «SQL» обеспечивает работу с базами данных. Поддерживаемые СУБД:
MS SQL и PostgreSQL.
### Интерфейс модуля
Данный модуль обеспечивает работу с базами данных. Поддерживаются такие
СУБД, как MS SQL и PostgreSQL. Для работы с БД ***необходимо заполнить
все поля*** окна «Модуль SQL».
Окно состоит из следующих полей: «СУБД», «Источник данных», «База
данных», «Логин», «Пароль», «Время ожидания», «SQL-скрипт» и
«Переменная».
2021-04-12 06:06:06 +00:00
<center><img src="../media/image320.png" style="width:3.98701in;height:4.54586in" /></center>
2021-04-11 11:13:02 +00:00
<center>Рис. 6. Пример заполнения модуля</center>
**Поля** «СУБД», **«Источник данных», «База данных», «Логин» и
«Пароль»** обеспечивают подключение к БД.
**Поле «Время ожидания»**. В данное поле вводится значение времени в
секундах, которое должно хватить запросу на выполнение. Без этого поля
робот может работать бесконечно долго из-за исключительных ситуаций,
поэтому заполнение этого поля является обязательным. Для небольших
запросов значение может быть равно 20 секунд, для больших минута и
более.
**Поле «SQL-скрипт»**. В данное поле вводится скрипт на языке SQL,
поддерживается ввод переменных студии. При использовании переменных
студии необходимо подать в это поле строку в следующем виде: весь скрипт
должен быть взят в кавычки, за исключением переменных студии (как
показано на рисунке 11.40.1).
**Поле «Переменная»**. В поле вводится название переменной, в которую
будет записан ответ от базы данных в виде таблицы. *В одном SQL-модуле
может возвращаться только одна таблица, последующие будут
проигнорированы.*
## Модуль «HTTP OData»
Http-запросы запросы для передачи информации между сайтами (или
серверами) и клиентами (например, нами).
Модуль «HTTP OData» предназначен для отправки запросов по протоколу
***http***[9] к интеграционному сервису 1С OData.
### Интерфейс модуля
Данный модуль состоит из полей: «Ссылка», «Логин», «Пароль»,
«Переменная» и «Тип запроса».
2021-04-12 06:06:06 +00:00
<center><img src="../media/image321.png" style="width:4.27227in;height:3.54545in" /></center>
2021-04-11 11:13:02 +00:00
<center>Рис. 7. Пример настройки GET запроса</center>
**Поле «Ссылка»**. В поле вводится необходимый URL-адрес.
**Поле «Переменная»**. В поле вводится название переменной, в которую
будет помещен ответ.
**Поля «Логин» и Пароль».** Предназначены для ввода логина и пароля при
авторизации.
**Поле «Тип запроса».** Позволяет выбрать необходимый тип запроса.
Доступны методы «GET», «PUT», «POST» и «PUTCH».
**Поле «Запрос».** В поле вводится HTTP-сообщение, согласно общим
правилам его структуры. Доступно к заполнению только при выборе типов
запроса «PUT», «POST» и «PUTCH».
## Модуль «HTTP запрос»
Http-запросы запросы для передачи информации между сайтами (или
серверами) и клиентами (например, нами).
Модуль «HTTP запрос» предназначен для отправки запросов по протоколу
***http***.
### Интерфейс модуля
Данный модуль состоит из полей: «Ссылка», «Переменная», «Тип запроса» и
вкладок Headers и Body с одинаковыми полями Name и Value. Внизу модуля
расположена таблица с добавленными значениями аргументов.
2021-04-12 06:06:06 +00:00
<center><img src="../media/image322.png" style="width:4.18182in;height:4.33799in" /></center>
2021-04-11 11:13:02 +00:00
<center>Рис. 8. Интерфейс модуля «HTTP запрос»</center>
**Поле «Ссылка»**. В поле вводится необходимый URL-адрес.
**Поле «Переменная»**. В поле вводится название переменной, в которую
будет помещен ответ.
**Поле «Тип запроса».** Позволяет выбрать необходимый тип запроса.
Доступны методы «GET» и «POST».
**Поля «Name» и «Value» вкладок «Headers» и «Body»** предназначены для
составления http-запроса.
## Модуль «FTP запрос».
Модуль позволяет отправлять запросы по ***FTP***[10] протоколу.
### Интерфейс модуля
Модуль состоит из нескольких полей для подключения к серверу, ввода
названия переменной и выпадающего списка с выбором действия.
2021-04-12 06:06:06 +00:00
<center><img src="../media/image323.png" style="width:4.51948in;height:3.75061in" /></center>
2021-04-11 11:13:02 +00:00
<center>Рис. 9. Интерфейс модуля «FTP запрос»</center>
**Поле «Ссылка»** предназначено для ввода ссылки для подключения к FTP
серверу.
**Поле «Логин»** заполняется логином подключающегося к серверу
пользователя.
**Поле «Пароль»** заполняется паролем пользователя для доступа к
серверу.
**Поле «Переменная»** предназначено для ввода названия переменной, в
которую будет помещен результат выполнения модуля.
**Пол «Действие»** предоставляет перечень доступных действий с FTP
сервером.
## Модуль «JSON»
Данный модуль предназначен для обработки данных в формате JSON
парсинга JSON-объектов.
### Интерфейс модуля
В окне модуля расположены поля для ввода значений: «Переменная» и
«JSON», и кнопки «Сохранить» и «Отмена».
2021-04-12 06:06:06 +00:00
<center><img src="../media/image324.png" style="width:3.03896in;height:1.8032in" /></center>
2021-04-11 11:13:02 +00:00
<center>Рис. 10. Окно модуля</center>
**Поле «Переменная».** В поле «Переменная» вводится название переменной,
которая будет преобразована в объектную переменную с полями, имеющимися
в JSON-объекте.
**Поле «JSON».** В поле необходимо описать объект в формате JSON, в виде
пар «ключ»: «значение», обрамлённых в фигурные скобки. JSON-объект может
быть описан непосредственно текстом в поле «JSON» либо быть созданным в
процессе выполнения других модулей. В случае формирования JSON-объекта в
других модулях, в поле необходимо ввести название переменной, в которой
лежит необходимый объект.
**ПРИМЕР.**
Пусть у нас есть текст в формате JSON. Введем его в поле JSON модуля, а
результат пусть запишется в переменную v.a.
2021-04-12 06:06:06 +00:00
<center><img src="../media/image325.png" style="width:3.24952in;height:1.90909in" /></center>
2021-04-11 11:13:02 +00:00
<center>Рис. 11. Пример заполнения</center>
В результате переменная v.a станет объектом с полями «name» и «age». К
полям объекта можно обратиться, написав название поля через точку после
переменной. Проверить значение переменной можно с помощью функционала
2021-04-12 06:06:06 +00:00
«Узнать значение переменной», доступного по кнопке <img src="../media/image326.png" style="width:0.29417in;height:0.18561in" />
2021-04-11 11:13:02 +00:00
в обозревателе решений.
2021-04-12 06:06:06 +00:00
<center><img src="../media/image327.png" style="width:3.63496in;height:2.13515in" /></center>
2021-04-11 11:13:02 +00:00
<center>Рис. 12 Получение значения из поля «name» переменной «a»</center>
На рисунке 12 видно, что на основе текста формата JSON создалась
переменная с указанными в нем полями и заполненными значениями.
## Модуль «XML»
Модуль «XML» предназначен для парсинга текста формата XML. Результатом
работы модуля будет объект с полями и свойствами, указанными в исходном
тексте.
### Интерфейс модуля
Окно модуля состоит из двух полей поля «Переменная» и «XML».
2021-04-12 06:06:06 +00:00
<center><img src="../media/image328.png" style="width:4.25567in;height:2.468in" /></center>
2021-04-11 11:13:02 +00:00
<center>Рис. 13. Окно модуля «XML»</center>
Поле «Переменная» заполняется названием переменной, в которую будет
возвращен объект результат работы модуля.
Поле «XML» заполняется текстом в формате XML или переменной, содержащей
этот текст.
Результат работы модуля при его настройке, указанной на рисунке 14:
2021-04-12 06:06:06 +00:00
<center><img src="../media/image329.png" style="width:4.01163in;height:2.77728in" /></center>
2021-04-11 11:13:02 +00:00
<center>Рис. 14. Объект результат парсинга XML</center>
## Модуль «PDF»
Данный модуль позволяет работать с PDF файлами. В его возможности входит
получение текста из документа, изображений, и объединение нескольких PDF
файлов.
### Интерфейс модуля
Модуль состоит из 4-х полей, доступность которых определяется выбранным
действием, кнопок управления создаваемым действием и таблицей-списком
созданных действий.
2021-04-12 06:06:06 +00:00
<center><img src="../media/image330.png" style="width:4.63636in;height:4.81132in" /></center>
2021-04-11 11:13:02 +00:00
<center>Рис. 15. Интерфейс модуля «PDF»</center>
**Поле «Действие».** Представляет собой выпадающий список из доступных в
модуле действий.
**Поле «Документ 1».** Поле, в которое вводится путь до рабочего файла.
По кнопке в поле открывается диалог выбора файла.
**Поле «Документ 2».** Поле, в которое вводится путь до второго рабочего
файла, используется для действий, требующих несколько файлов (например,
объединение 2-х PDF). По кнопке в поле открывается диалог выбора файла.
**Поле «Переменная».** Поле, для ввода названия переменной, в которую
будет возвращен результат работы модуля.
### Перечень и описание действий
#### Получить text
Действие позволяет получить текст из файла PDF, если тот является
непосредственно текстом, а не изображением. Полученный текст будет
записан в указанную переменную.
2021-04-12 06:06:06 +00:00
<center><img src="../media/image331.png" style="width:4.42857in;height:1.56089in" /></center>
2021-04-11 11:13:02 +00:00
<center>Рис. 16. Пример настройки действия «Получить text»</center>
#### Получить image
Действие получает все изображения из PDF файла и сохраняет их в формате
.jpg в указанную в поле «Папка» директорию. В указанную переменную будет
записан список путей до выделенных изображений.
2021-04-12 06:06:06 +00:00
<center><img src="../media/image332.png" style="width:4.38961in;height:1.54664in" /></center>
2021-04-11 11:13:02 +00:00
<center>Рис. 17. Пример настройки действия «Получить image»</center>
#### Объединить документы
Действие объединяет два указанных PDF файла и сохраняет их в файле,
который необходимо указать в поле «Значение».
2021-04-12 06:06:06 +00:00
<center><img src="../media/image333.png" style="width:4.27273in;height:1.50905in" /></center>
2021-04-11 11:13:02 +00:00
<center>Рис. 18. Пример настройки действия «Объединить документы»</center>
## Модуль «Пауза»
Модуль «Пауза» предназначен для создания некоторой паузы между модулями.
Вся настройка модуля заключается в заполнении поля «Пауза» - количество
миллисекунд, которые необходимо подождать. Допускается использование
переменной.
2021-04-12 06:06:06 +00:00
<center><img src="../media/image334.png" style="width:3.38961in;height:1.31711in" /></center>
2021-04-11 11:13:02 +00:00
<center>Рис. 19. Окно модуля «Пауза»</center>
## Модуль «Прокси»
Модуль «Прокси» предназначен для создания подключения к прокси-серверу.
Для использования модуля необходимо заполнить адрес прокси-сервера.
2021-04-12 06:06:06 +00:00
<center><img src="../media/image335.png" style="width:5.0894in;height:1.3184in" /></center>
2021-04-11 11:13:02 +00:00
<center>Рис. 20. Окно модуля «Прокси»</center>
## Модуль «Лог»
Модуль «Лог» предназначен для вывода некоторых сообщений или значений
переменных в «Отладочный вывод» во время работы робота.
2021-04-12 06:06:06 +00:00
<center><img src="../media/image336.png" style="width:5.31169in;height:2.73855in" /></center>
2021-04-11 11:13:02 +00:00
<center>Рис. 21. Окно модуля «Лог»</center>
2021-04-12 06:06:06 +00:00
## Модуль «Локальный робот»
Данный модуль позволяет подгрузить в сценарий уже написанного робота, находящегося на машине,
с которой будет производится запуск робота.
Подключаемый робот будет использовать те же переменные, которые используются текущим роботом.
Для настройки действия необходимо лишь указать путь до подключаемого робота.
<center><img src="../media/image352.png" /></center>
<center>Рис. 22. Окно модуля «Локальный робот»</center>
## Модуль «Облачный робот»
С помощью данного модуля есть возможность использовать в роботе существующего, опубликованного в оркестраторе, робота.
Подключаемый робот будет использовать те же переменные, которые используются текущим роботом.
Для настройки действия необходимо выбрать одного из предложенных программой роботов, то есть тех, которые опубликованы текущим пользователем студии.
<center><img src="../media/image353.png" /></center>
<center>Рис. 23. Окно модуля «Облачный робот»</center>
По кнопке «Загрузить робота» выбранный робот будет загружен в отдельной вкладке студии.