498 lines
31 KiB
Markdown
498 lines
31 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 и Oracle.
|
||
|
||
### Интерфейс модуля
|
||
|
||
Данный модуль обеспечивает работу с базами данных. Для работы с БД ***необходимо
|
||
заполнить все поля*** окна «Модуль SQL».
|
||
|
||
Окно состоит из следующих полей: «СУБД», «Источник данных», «База
|
||
данных», «Логин», «Пароль», «Время ожидания», «SQL-скрипт» и
|
||
«Переменная».
|
||
|
||
<center><img src="../media/image320.png" style="width:3.98701in;height:4.54586in" /></center>
|
||
|
||
<center>Рис. 6. Пример заполнения модуля</center>
|
||
|
||
**Поля** «СУБД», **«Источник данных», «База данных», «Логин» и «Пароль»**
|
||
обеспечивают подключение к БД. При указании сервера и порта через
|
||
двоеточие необходимо заключать строку в кавычки (например, ‘localhost:1521’).
|
||
|
||
***Примечание:*** для БД Oracle поле «База данных» заполнению не подлежит.
|
||
В поле «Логин» можно добавить строку «;Connect Mode=SYSDBA» для работы
|
||
с системным пользователем.
|
||
|
||
|
||
**Поле «Время ожидания»**. В данное поле вводится значение времени в
|
||
секундах, которое должно хватить запросу на выполнение. Без этого поля
|
||
робот может работать бесконечно долго из-за исключительных ситуаций,
|
||
поэтому заполнение этого поля является обязательным. Для небольших
|
||
запросов значение может быть равно 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
|
||
сервером.
|
||
|
||
## Модуль «XML»
|
||
|
||
Модуль «XML» предназначен для парсинга текста формата XML. Результатом
|
||
работы модуля будет объект с полями и свойствами, указанными в исходном
|
||
тексте.
|
||
|
||
### Интерфейс модуля
|
||
|
||
Окно модуля состоит из двух полей – поля «Переменная» и «XML».
|
||
|
||
<center><img src="../media/image328.png" style="width:4.25567in;height:2.468in" /></center>
|
||
|
||
<center>Рис. 10. Окно модуля «XML»</center>
|
||
|
||
Поле «Переменная» заполняется названием переменной, в которую будет
|
||
возвращен объект – результат работы модуля.
|
||
|
||
Поле «XML» заполняется текстом в формате XML или переменной, содержащей
|
||
этот текст.
|
||
|
||
Результат работы модуля при его настройке, указанной на рисунке 14:
|
||
|
||
<center><img src="../media/image329.png" style="width:4.01163in;height:2.77728in" /></center>
|
||
|
||
<center>Рис. 11. Объект – результат парсинга XML</center>
|
||
|
||
## Модуль «PDF»
|
||
|
||
Данный модуль позволяет работать с PDF файлами. В его возможности входит
|
||
получение текста из документа, изображений, и объединение нескольких PDF
|
||
файлов.
|
||
|
||
### Интерфейс модуля
|
||
|
||
Модуль состоит из 4-х полей, доступность которых определяется выбранным
|
||
действием, кнопок управления создаваемым действием и таблицей-списком
|
||
созданных действий.
|
||
|
||
<center><img src="../media/image330.png" style="width:4.63636in;height:4.81132in" /></center>
|
||
|
||
<center>Рис. 12. Интерфейс модуля «PDF»</center>
|
||
|
||
**Поле «Действие».** Представляет собой выпадающий список из доступных в
|
||
модуле действий.
|
||
|
||
**Поле «Документ 1».** Поле, в которое вводится путь до рабочего файла.
|
||
По кнопке в поле открывается диалог выбора файла.
|
||
|
||
**Поле «Документ 2».** Поле, в которое вводится путь до второго рабочего
|
||
файла, используется для действий, требующих несколько файлов (например,
|
||
объединение 2-х PDF). По кнопке в поле открывается диалог выбора файла.
|
||
|
||
**Поле «Переменная».** Поле, для ввода названия переменной, в которую
|
||
будет возвращен результат работы модуля.
|
||
|
||
### Перечень и описание действий
|
||
|
||
#### Получить text
|
||
|
||
Действие позволяет получить текст из файла PDF, если тот является
|
||
непосредственно текстом, а не изображением. Полученный текст будет
|
||
записан в указанную переменную.
|
||
|
||
<center><img src="../media/image331.png" style="width:4.42857in;height:1.56089in" /></center>
|
||
|
||
<center>Рис. 13. Пример настройки действия «Получить text»</center>
|
||
|
||
#### Получить image
|
||
|
||
Действие получает все изображения из PDF файла и сохраняет их в формате
|
||
.jpg в указанную в поле «Папка» директорию. В указанную переменную будет
|
||
записан список путей до выделенных изображений.
|
||
|
||
<center><img src="../media/image332.png" style="width:4.38961in;height:1.54664in" /></center>
|
||
|
||
<center>Рис. 14. Пример настройки действия «Получить image»</center>
|
||
|
||
#### Объединить документы
|
||
|
||
Действие объединяет два указанных PDF файла и сохраняет их в файле,
|
||
который необходимо указать в поле «Значение».
|
||
|
||
<center><img src="../media/image333.png" style="width:4.27273in;height:1.50905in" /></center>
|
||
|
||
<center>Рис. 15. Пример настройки действия «Объединить документы»</center>
|
||
|
||
## Модуль «Пауза»
|
||
|
||
Модуль «Пауза» предназначен для создания некоторой паузы между модулями.
|
||
|
||
Вся настройка модуля заключается в заполнении поля «Пауза» - количество
|
||
миллисекунд, которые необходимо подождать. Допускается использование
|
||
переменной.
|
||
|
||
<center><img src="../media/image334.png" style="width:3.38961in;height:1.31711in" /></center>
|
||
|
||
<center>Рис. 16. Окно модуля «Пауза»</center>
|
||
|
||
## Модуль «Прокси»
|
||
|
||
Модуль «Прокси» предназначен для создания подключения к прокси-серверу.
|
||
|
||
Для использования модуля необходимо заполнить адрес прокси-сервера.
|
||
|
||
<center><img src="../media/image335.png" style="width:5.0894in;height:1.3184in" /></center>
|
||
|
||
<center>Рис. 17. Окно модуля «Прокси»</center>
|
||
|
||
## Модуль «Лог»
|
||
|
||
Модуль «Лог» предназначен для вывода некоторых сообщений или значений
|
||
переменных в «Отладочный вывод» во время работы робота.
|
||
|
||
<center><img src="../media/image336.png" style="width:5.31169in;height:2.73855in" /></center>
|
||
|
||
<center>Рис. 18. Окно модуля «Лог»</center>
|
||
|
||
## Модуль «Локальный робот»
|
||
|
||
Данный модуль позволяет подгрузить в сценарий уже написанного робота, находящегося на машине,
|
||
с которой будет производится запуск робота.
|
||
|
||
Подключаемый робот будет использовать те же переменные, которые используются текущим роботом.
|
||
|
||
Для настройки действия необходимо лишь указать путь до подключаемого робота.
|
||
|
||
<center><img src="../media/image352.png" /></center>
|
||
|
||
<center>Рис. 19. Окно модуля «Локальный робот»</center>
|
||
|
||
## Модуль «Робот-функция»
|
||
|
||
С помощью данного модуля есть возможность использовать в роботе существующего, опубликованного
|
||
в оркестраторе, робота. Робот-функция будет работать в своей изолированной среде – у него будут
|
||
свои переменные, не пересекающиеся с переменными основного робота.
|
||
|
||
Для настройки действия необходимо выбрать одного из опубликованных роботов, указать
|
||
название входной переменной и переменной, в которую будет записан результат работы робота.
|
||
|
||
<center><img src="../media/image365.png" /></center>
|
||
|
||
<center>Рис. 20. Окно модуля «Робот-функция»</center>
|
||
|
||
***Переменная-аргумент запуска.*** Если в вашем роботе-функции необходимы несколько значений,
|
||
то создайте переменную-объект, которая будет иметь столько полей, сколько вам необходимо.
|
||
Например, функция, которая рассчитывает некоторый показатель по нескольким значениям –
|
||
n1 и n2, должна принимать на вход переменную-объект, в которой присутствуют оба этих поля
|
||
(v.number.n1 и v.number.n2, как пример). Обратите внимание, что внутри робота-функции вы
|
||
должны будете обрабатывать переменную v.args как входную, независимо от того, какую
|
||
переменную как входную вы указали в модуле «Робот-функция». То есть, если в модуле в поле
|
||
«Переменная-аргумент запуска» вы указали переменную «v. number», то внутри самого
|
||
робота-функции значение v.number будет находиться в переменной v.args. Это сделано для
|
||
того, чтобы не нужно было запоминать используемую в функции переменную для её использования.
|
||
|
||
***Результат.*** Для заполнения переменной-результата внутри робота-функции необходимо использовать
|
||
модуль Return и указать в нем переменную, значение которой должно быть помещено в указанную
|
||
переменную результат.
|
||
|
||
<center><img src="../media/image366.png" /></center>
|
||
|
||
<center>Рис. 21. Пример возврата переменной из робота-функции.</center>
|
||
|
||
По кнопке «Загрузить робота» выбранный робот будет загружен в отдельной вкладке студии.
|
||
|
||
## Модуль «Облачный робот»
|
||
|
||
С помощью данного модуля есть возможность использовать в роботе существующего,
|
||
опубликованного в оркестраторе, робота.
|
||
|
||
Данный вариант робота из оркестратора не имеет входных и выходных переменных –
|
||
он изменяет и использует переменные основного робота, как бы являясь его частью.
|
||
|
||
Для настройки действия необходимо выбрать одного из предложенных программой роботов,
|
||
то есть тех, которые опубликованы текущим пользователем студии.
|
||
|
||
<center><img src="../media/image353.png" /></center>
|
||
|
||
<center>Рис. 22. Окно модуля «Облачный робот»</center>
|
||
|
||
По кнопке «Загрузить робота» выбранный робот будет загружен в отдельной вкладке студии.
|
||
|
||
## Модуль «Диспетчер учетных данных»
|
||
|
||
Данный модуль позволяет работать с учетными данными Windows – создавать новые,
|
||
получать логины и пароли существующих записей или удалять их.
|
||
|
||
<center><img src="../media/image367.png" /></center>
|
||
|
||
<center>Рис. 23. Интерфейс окна модуля «Диспетчер учетных данных»</center>
|
||
|
||
**Поле «Действие»** - выпадающий список, в котором предложены возможные действия
|
||
с учетными записями – создание новой, получение существующей и удаление существующей;
|
||
|
||
**В поле «Адрес в Интернете или сети»** вводится адрес сети или сайта;
|
||
|
||
**Поля «Пользователь», «Пароль», «Устойчивость» и «Тип»** необходимы к заполнению только
|
||
для создания новой учетной записи.
|
||
|
||
В поле **«Пользователь»** вводится логин учетной записи, в поле **«Пароль»** соответственно
|
||
пароль от учетной записи.
|
||
|
||
Поле **«Тип»** предлагает на выбор три типа учетной записи – «Учетные данные Windows»,
|
||
«Учетные данные на основе сертификатов» и «Общие учетные данные». Учетные данные Windows —
|
||
это имена и пароли, которые используются для доступа к общим сетевым папкам, веб-сайтам,
|
||
применяющим интегрированную аутентификацию, а также при подключении к удаленному рабочему столу.
|
||
Учетные данные на основе сертификатов — предназначены для аутентификации с помощью смарт-карт.
|
||
Общие учетные данные — используются сторонними приложениями, для которых требуется отдельная
|
||
авторизация с учетными данными, отличными от тех, что применяются для входа в систему.
|
||
|
||
Поле **«Устойчивость»** позволяет выбрать один из трех вариантов хранения учетных записей –
|
||
«Локальный компьютер», «Сеанс входа» и «Предприятие».
|
||
|
||
В поле **«Название переменной»** вводится переменная, в которую будет возвращен результат
|
||
получения учетной записи или создания новой. Переменная будет являться объектом из
|
||
двух полей – Username и Password.
|