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