This commit is contained in:
karamovavv 2021-04-11 16:16:47 +05:00
commit a46d007388
15 changed files with 4733 additions and 853 deletions

View File

@ -1,39 +1,368 @@
# <H1 align="center">Модуль «Усовие»</h1>
# МОДУЛИ-ОПЕРАТОРЫ: «ЦИКЛ», «УСЛОВИЕ», «WHILE», «TRY-CATCH», «BREAK», «RETURN», «SWITCH»
<p> Описываемые в этой части модули сами по себе ничего не делают, их следует использовать вместе с любыми другими. У описываемых модулей (кроме модуля «Break»), помимо привычного «Примечания», есть еще несколько параметров, обязательных для заполнения, но нет отдельного окна с настройками.
<p> Модуль «Условие» позволяет в зависимости от указанного условия выполнять те или иные действия. Условием может быть любое выражение, которое приводится к значению «True» или «False».</p>
## Модуль «Условие»
## Интерфейс модуля
<p> Модуль состоит из полей «Примечание» и «Условие». Действия, которые должны выполняться при значении условия «True», добавляются в раздел «THEN», при значении «False» - в раздел «ELSE». Действия добавляются в модуль перетаскиванием их из меню или другого места рабочей области.
<H1 align="center">![Screenshot](img/condition_1.png)</h1>
<p> Поле «Примечание» предназначено для внесения комментария от разработчика робота.
<p> Поле «Условие» заполняется по правилам языка программирования C#. Для пользователей, незнакомых с этим языком, предлагается помощь в виде «Конструктора условий», доступная по кнопке справа от условия -![Screenshot](img/condition_2.png).
## Конструктор условий
<p> Конструктор условий позволяет составлять условия в соответствии с синтаксисом языка C#.
<H1 align="center">![Screenshot](img/condition_3.png)</h1>
### Добавление
<p> Для того чтобы составить условие, необходимо заполнить оба операнда, выбрать тип операндов (строки или числа), выбрать оператор между ними из предложенного и нажать на кнопку «Добавить»:
<H1 align="center">![Screenshot](img/condition_4.png)</h1>
<H1 align="center">![Screenshot](img/condition_5.png)</h1>
<p> Список операций для строк и для чисел отличается, поэтому сначала выберите тип операндов, а лишь затем операцию.
### Связывание
<p> Несколько условий можно связать с помощью логического «И» либо логического «ИЛИ».
<p> Делается это следующим образом удерживая клавишу Shift, выбираются несколько условий, которые должны быть соединены одним оператором, затем нажимается кнопка с соответствующим логическим оператором:
<H1 align="center">![Screenshot](img/condition_6.png)</h1>
<H1 align="center">![Screenshot](img/condition_7.png)</h1>
<p> Символ «||» означает логическое ИЛИ, символ «&&» - логическое И.
### Разъединение
<p> Условия, состоящие из нескольких простых условий, то есть те, которые используют логическое И или ИЛИ, можно разъединить, нажав на соответствующую кнопку. Разъединение происходит по логическим операторам.
<H1 align="center">![Screenshot](img/condition_8.png)</h1>
<H1 align="center">![Screenshot](img/condition_9.png)</h1>
### Сохранение
<p> Для сохранения условия необходимо нажать на кнопку «Сохранить». Получившиеся условие вставится в поле «Условие» условного модуля:
<H1 align="center">![Screenshot](img/condition_10.png)</h1>
<H1 align="center">![Screenshot](img/condition_11.png)</h1>
<p> Законченный модуль может выглядеть следующим образом:
<H1 align="center">![Screenshot](img/condition_12.png)</h1>
### Сворачивание
<p> Для уменьшения занимаемого места в рабочей области проекта, можно свернуть входящие в данный модуль действия по кнопке «Свернуть».
<p> Для удобства использования также можно менять размеры веток «THEN» и «ELSE» вплоть до полного сворачивания одной из них, если та, к примеру, не используется.
<H1 align="center">![Screenshot](img/condition_14.png)</h1>
<H1 align="center">![Screenshot](img/condition_15.png)</h1>
Описываемые в этой части модули сами по себе ничего не делают, их
следует использовать вместе с любыми другими. У описываемых модулей
(кроме модуля «Break»), помимо привычного «Примечания», есть еще
несколько параметров, обязательных для заполнения, но нет отдельного
окна с настройками.
Модуль «Условие» позволяет в зависимости от указанного условия выполнять
те или иные действия. Условием может быть любое выражение, которое
приводится к значению «True» или «False».
### Интерфейс модуля
Модуль состоит из полей «Примечание» и «Условие». Действия, которые
должны выполняться при значении условия «True», добавляются в раздел
«THEN», при значении «False» - в раздел «ELSE». Действия добавляются в
модуль перетаскиванием их из меню или другого места рабочей области.
<center><img src="\media\image216.png" style="width:6.04845in;height:2.28125in" /></center>
<center>Рис. 1. Условный модуль</center>
**Поле «Примечание»** предназначено для внесения комментария от
разработчика робота.
**Поле «Условие»** заполняется по правилам языка программирования JS.
Для пользователей, незнакомых с этим языком, предлагается помощь в виде
«Конструктора условий», доступная по кнопке справа от условия -
<img src="\media\image217.png" style="width:0.17708in;height:0.17708in" />
### Конструктор условий
Конструктор условий позволяет составлять условия в соответствии с
синтаксисом языка JS.
<center><img src="\media\image218.png" style="width:5.15in;height:3.21875in" /></center>
<center>Рис. 2. Конструктор условий</center>
#### Добавление
Для того чтобы составить условие, необходимо заполнить оба операнда,
выбрать тип операндов (строки или числа), выбрать оператор между ними из
предложенного и нажать на кнопку «Добавить»:
<center><img src="\media\image219.png" style="width:6.69306in;height:1.13264in" /></center>
<center><img src="\media\image220.png" style="width:3.98908in;height:0.57285in" /></center>
<center>Рис. 3. Добавление условий</center>
Список операций для строк и для чисел отличается, поэтому сначала
выберите тип операндов, а лишь затем операцию.
#### Связывание
Несколько условий можно связать с помощью логического «И» либо
логического «ИЛИ».
Делается это следующим образом удерживая клавишу Shift, выбираются
несколько условий, которые должны быть соединены одним оператором, затем
нажимается кнопка с соответствующим логическим оператором:
<center><img src="\media\image221.png" style="width:5.8808in;height:1.32468in" /></center>
<center>Рис. 4. Связывание условий</center>
<center><img src="\media\image222.png" style="width:5.98701in;height:1.35668in" /></center>
<center>Рис. 5. Результат связывания условий</center>
Символ «\|\|» означает логическое ИЛИ, символ «&&» - логическое И.
#### Разъединение
Условия, состоящие из нескольких простых условий, то есть те, которые
используют логическое И или ИЛИ, можно разъединить, нажав на
соответствующую кнопку. Разъединение происходит по логическим
операторам.
<center><img src="\media\image223.png" style="width:6.00358in;height:1.37662in" /></center>
<center>Рис. 6. Разъединение условий</center>
<center><img src="\media\image224.png" style="width:5.90909in;height:1.33595in" /></center>
<center>Рис. 7. Результат разъединения условий</center>
#### Сохранение
Для сохранения условия необходимо нажать на кнопку «Сохранить».
Получившиеся условие вставится в поле «Условие» условного модуля:
<center><img src="\media\image225.png" style="width:5.42857in;height:3.37441in" /></center>
<center>Рис. 8. Сохранение условия</center>
<center><img src="\media\image226.png" style="width:5.58441in;height:2.25277in" /></center>
<center>Рис. 9. Отображение условия</center>
Законченный модуль может выглядеть следующим образом:
<center><img src="\media\image227.png" style="width:5.81045in;height:3.09091in" /></center>
<center>Рис. 10. Заполненный модуль «Условие»</center>
#### Сворачивание
Для уменьшения занимаемого места в рабочей области проекта, можно
свернуть каждый блок данного модуля по кнопке «Свернуть».
<center><img src="\media\image228.png" style="width:5.939in;height:2.57143in" /></center>
<center>Рис. 11. Свернутый блок ELSE</center>
<center><img src="\media\image229.png" style="width:6.23924in;height:1.68831in" /></center>
<center>Рис. 12. Свернутые THEN и ELSE</center>
## Модуль «Цикл»
Модуль «Цикл» применяется для неоднократного (цикличного) выполнения
набора действий. Действия, добавленные в модуль, будут выполняться до
тех пор, пока не пройдёт указанное в настройках количество итераций.
### Интерфейс модуля
Модуль состоит из полей «Примечание», «Количество итераций» и
«Переменная». Действия, которые должны выполняться в цикле, добавляются
в блок, расположенный в нижней части модуля. Действия добавляются в
модуль перетаскиванием их из меню или другого места рабочей области.
Модуль выглядит следующим образом:
<center><img src="\media\image230.png" style="width:5.94792in;height:1.36427in" /></center>
<center>Рис. 13. Вид модуля</center>
**Поле «Примечание»**, как и во всех других модулях, служит для внесения
комментария от разработчика робота.
Остальные поля присущи только этому модулю.
**Поле «Количество итераций»** предназначено для ввода числа,
означающего, сколько раз необходимо выполнить действия, содержащиеся в
модуле.
**Поле «Переменная»** - переменная, в которой будет храниться число
текущий шаг цикла. Цикл начинается с единицы.
Пример заполненного цикла представлен на рисунке 14.
<center><img src="\media\image231.png" style="width:5.5in;height:1.82211in" /></center>
<center>Рис. 14. Пример заполнения модуля</center>
По кнопке «Свернуть» можно свернуть действия цикла для более компактного
отображения команды.
<center><img src="\media\image232.png" style="width:6.69306in;height:1.15625in" /></center>
<center>Рис. 15. Свернутый вид модуля</center>
## Модуль «Break»
Для «аварийного» выхода из простого цикла используют модуль «Break».
Например, в цикле ведется поиск конкретного изображения, и если такое
изображение найдётся, следует нажать на него, считать какие-либо данные
и перейти к следующему действию, иначе выйти из цикла и не проигрывать
следующее действие. Для такого сценария необходимо создать цикл, в
котором будет модуль «Условие», в одной из веток которого будет
находиться модуль «Break» (модуль «Break» представлен самым последним
модулем на примере):
<center><img src="\media\image233.png" style="width:6.69306in;height:5.37361in" /></center>
<center>Рис. 16. Пример использования модуля «Break»</center>
Модуль «Break» не требует настройки, но может применяться только внутри
модуля «Цикл».
## Модуль «Return»
Бывают ситуации, когда при некотором условии необходимо завершить работу
робота, например, нужно обработать письмо, которое должно прийти на
почту, а оно не пришло. Для таких целей существует модуль «Return».
<center><img src="\media\image234.png" style="width:6.46794in;height:0.61451in" /></center>
<center>Рис. 17. Внешний вид модуля</center>
Данный модуль заканчивает работу всего робота и не требует настройки.
Может использоваться в любом месте.
**ПРИМЕР.**
На рисунке ниже представлен пример использования модуля: пусть с помощью
модуля «Считать письма» считываются все письма за определенный
промежуток времени. Все темы письма и их содержания необходимо внести в
Excel-файл. Но что, если этих писем нет? Для этого проверяем наличие
писем, и, если их нет, робот прекратит работу, иначе продолжит.
<center><img src="\media\image235.png" style="width:6.69306in;height:3.76319in" /></center>
<center>Рис. 18. Пример использования модуля «Return»</center>
Благодаря этому модулю можно писать робота в общей рабочей области, а не
в ветках модуля «Условие». Так робот выглядит более аккуратным и
наглядным.
## Модуль «Continue»
Модуль «Continue» позволяет перейти к следующей итерации цикла без
использования модуля «Условие» или других методов ветвления алгоритма.
Модуль не требует дополнительной настройки. Единственное требование
модуль должен находиться внутри модуля «Цикл» или внутри любого модуля,
который в свою очередь находится внутри цикла (вложенность модулей не
ограничена).
<center><img src="\media\image236.png" style="width:6.69306in;height:0.42014in" /></center>
<center>Рис. 19. Модуль «Continue»</center>
### ПРИМЕР
Допустим, что необходимо провести действия с файлом, но лишь в том
случае, если он присутствует в определенной папке. Для этого достаточно
в начале цикла проверить наличие файла и, если его нет, то перейти к
следующей итерации цикла.
<center><img src="\media\image237.png" style="width:6.69306in;height:4.62292in" /></center>
<center>Рис. 20. Пример работы с «Continue»</center>
Отличие от работы с условием лишь в лучшей читабельности алгоритма (то
есть, без модуля Continue пришлось бы все действия над файлом делать
внутри ветки ELSE модуля «Условие»).
## Модуль «While»
Модуль «While» (цикл с условием) выполняет добавленные в него действия
до тех пор, пока указанное условие возвращает значение «True».
### Интерфейс модуля
В окне модуля расположены поля «Примечание» и «Условие». В блоке,
расположенном в нижней части модуля, следует располагать действия,
которые требуется выполнять в цикле.
<center><img src="\media\image238.png" style="width:6.65868in;height:1.4375in" /></center>
<center>Рис. 21. Вид модуля</center>
**Поле «Условие».** В поле вводится условие, как и в модуле «Условие»,
которое необходимо писать в соответствии с синтаксисом языка JS, поэтому
здесь присутствует кнопка, открывающая «Конструктор условий» (описание дано в главе "Модуль «Условие»").
Добавление действий в модуль происходит с помощью перетаскивания из меню
модулей или из рабочей области проекта.
<center><img src="\media\image239.png" style="width:6.69306in;height:2.22292in" /></center>
<center>Рис. 22. Добавление действий</center>
При нажатии на кнопку «Свернуть» действия, описанные в цикле,
сворачиваются для более компактного отображения команды.
<center><img src="\media\image240.png" style="width:6.69306in;height:1.15069in" /></center>
<center>Рис. 23. Свернутый вид модуля</center>
## Модуль «Try/Catch»
Данный модуль позволяет обрабатывать ошибки, которые могут возникнуть в
процессе выполнения некоторого блока модулей.
<center><img src="\media\image242.png" style="width:6.69306in;height:2.38333in" /></center>
<center>Рис. 24. Внешний вид модуля Try/Catch</center>
Модуль состоит из двух блоков TRY и CATCH. Блок TRY содержит набор
модулей или целого робота, который должен выполниться, блок CATCH
содержит набор модулей на случай, если произойдет ошибка исполнения
модулей блока TRY.
Модуль имеет два текстовых поля, первое поле «Примечание», в которое
можно ввести описание модуля для более удобной навигации по роботу, а
второе поле предназначено для сохранения возникшей в модуле TRY ошибки.
Так как есть возможность узнать, какая ошибка возникла, каждую возможную
ошибку можно корректно обработать в блоке CATCH.
**ПРИМЕР.**
Пусть стоит задача скачать письмо с почты с определенным названием
вложения в заранее заданную папку и обработать это вложение модулем
Excel, причем в модуле Excel путь до файла будет всегда одинаковым.
Например, вложение называется «Отчет за день», путь до папки
«C:\\Reports», тогда в Excel будет всегда открываться файл
«C:\\Reports\\Отчет за день.xlsx», а вложения с почты всегда будут
скачиваться в вышеназванную папку.
Если письмо с необходимым вложением еще не пришло, то модуль Excel
выдаст ошибку «Не удалось открыть документ C:\\Reports\\Отчет за
день.xlsx». В таком случае необходимо как-то обработать эту ошибку,
предложить пользователю запустить робота позже, или сказать ему
подождать в течение некоторого времени и попробовать снова.
Для обработки ошибки с выводом информационного окна необходимо добавить
модуль «Try/Catch», где в блоке TRY будут содержаться модули считывания
письма и Excel, а в блоке CATCH модуль «Интерфейс» для вывода
пользовательского окна.
<center><img src="\media\image243.png" style="width:6.69306in;height:3.56875in" /></center>
<center>Рис. 25. Пример использования модуля «Try/Catch»</center>
В результате работы такого робота будет либо стандартное сообщение
«Скрипт отработал успешно!», если письмо было на почте, либо окно с
текстом «Письмо еще не пришло» в ином случае. В переменной v.error будет
содержаться текст «Не удалось открыть документ C:\\Reports\\Отчет за
день.xlsx».
<center><img src="\media\image244.png" style="width:3.08295in;height:1.37483in" /></center>
<center>Рис. 26. Пример обработки ошибки окно с информацией</center>
## Модуль «Switch»
Оператор Switch это оператор выбора, который выбирает для выполнения
один раздел case из списка кандидатов, сравнивая их с выражением,
указанным в самом switch. Аналогичен нескольким модулям «Условие», как
если бы необходимо было сравнить одно значение с несколькими другими и
для каждого был бы отдельный набор действий для выполнения, то есть он
используется в тех случаях, когда развилок условий больше двух, но
сравнение идет с одним и тем же значением.
**Внутри блока Switch могут быть только блоки Case и наоборот блоки
Case могут быть только внутри блока Switch**.
### Интерфейс модуля
Модуль Switch имеет поле «Условие», в которое записывается переменная, с
которой в дальнейшем будут сравниваться подмодули case для выбора
необходимого алгоритма. По кнопке «Добавить» добавляются эти самые
подмодули.
<center><img src="\media\image245.png" style="width:6.59375in;height:1.29557in" /></center>
<center>Рис. 27. Модуль «Switch»</center>
После нажатия на кнопку «Добавить», внутри модуля появится блок Case,
который может быть использован только внутри блока Switch. Блоки Case
также содержат поле «Условие», но в этом случае в них указывается
ожидаемое значение переменной, указанной в модуле Switch. Если
переменная из Switch будет равна значению Case, то этот Case будет
выполняться, остальные блоки Case выполнены не будут (даже если они
содержат то же значение).
<center><img src="\media\image246.png" style="width:6.69306in;height:2.95139in" /></center>
<center>Рис. 28. Модули «Switch Case»</center>
Внутри блоков Case располагаются любые модули программы, подобно модулю
«Группа».

View File

@ -1,87 +1,265 @@
# <H1 align="center">Модуль «Работа с файлами»</h1>
# МОДУЛЬ «РАБОТА С ФАЙЛАМИ»
<p> Модуль «Работа с файлами» предназначен для изменения расположения файлов, их копирования, архивирования, создания папки и переноса файлов в неё, в общем, для манипуляции с файлами и директориями.</p>
## Основные моменты модуля
## Интерфейс модуля
<p> Окно модуля объединяет три группы элементов.
<p> Первая группа элементов это набор полей и кнопок для создания команды. Вторая непосредственно список команд. И третья это область предварительного просмотра текстовых файлов.
<H1 align="center">![Screenshot](img/FM_1.png)</h1>
<p> Набор доступных полей для заполнения меняется в зависимости от выбранного действия, подробное описание всех полей будет дано позже.
## Функциональность модуля
### Создание команды
<p> Команда создается следующим образом выбирается необходимое действие, заполняются остальные поля нажимается кнопка «Добавить», по которой команда добавляется в «Список команд».
### Редактирование команды
<p> Для того чтобы отредактировать команду, выделите её в списке команд щелчком левой кнопкой мыши, после чего все поля в левой верхней части окна «Работа с файлами» заполнятся в соответствии с выбранной командой. Измените те поля, которые требуется отредактировать, и, убедившись, что в списке команд все еще выбрано нужное действие, нажмите на кнопку «Редактировать».
### Удаление команды
<p> Для удаления команды необходимо выбрать её в списке команд и нажать на кнопку «Удалить».
### Отключение/включение команды
<p> Созданные команды можно отключать и обратно включать. Отключенные команды не будут выполняться. Сделать это можно, нажав на соответствующую отключаемой команде строку правой кнопкой мыши и выбрав «Отключить/включить».
<H1 align="center">![Screenshot](img/FM_2.png)</h1>
### Выбор файла/папки
<p> Кнопка ![Screenshot](img/FM_3.png) в заполняемых полях открывает стандартный диалог выбора файла или папки, в зависимости от выбранного действия.
## Перечень и описание действий
### Действие «Сохранить в файл»
<p> Действие перезаписывает существующий текстовый файл, записывая в него строку, указанную в поле «Значение».
<H1 align="center">![Screenshot](img/FM_4.png)</h1>
### Действие «Считать файл»
<p> Действие считывает весь текст из выбранного файла и записывает его в указанную переменную.
<H1 align="center">![Screenshot](img/FM_5.png)</h1>
<p> Поле «Начальная кодировка» отвечает за выбор кодировки, которая будет использоваться при чтении из файла.
### Действие «Получить список файлов в папке»
<p> Действие создает переменную-список, в которой лежат пути до каждого файла в папке.
<H1 align="center">![Screenshot](img/FM_6.png)</h1>
### Действие «Добавить текст в файл»
<p> Действие добавляет текст к уже существующему в файле, не перетирая его данных.
<H1 align="center">![Screenshot](img/FM_6_1.png)</h1>
### Действие «Добавить переход на новую строку»
<p> Действие добавляет символ перехода на новую строку в текст файла.
<H1 align="center">![Screenshot](img/FM_6_2.png)</h1>
### Действие «Переместить файл»
<p> Действие перемещает выбранный файл в указанную папку.
<H1 align="center">![Screenshot](img/FM_7.png)</h1>
### Действие «Переименовать файл»
<p> Действие меняет имя выбранного файла на указанное в поле «Имя файла».
<H1 align="center">![Screenshot](img/FM_7_1.png)</h1>
### Действие «Создать файл txt»
<p> Действие создает новый файл с расширением .txt.
<H1 align="center">![Screenshot](img/FM_13.png)</h1>
### Действие «Удалить файл»
<p> Действие удаляет выбранный файл.
<H1 align="center">![Screenshot](img/FM_14.png)</h1>
### Действие «Скопировать файл»
<p> Действие копирует выбранный файл в указанную директорию.
<p> В поле «Путь до конечного файла» необходимо ввести путь до папки, в которую файл должен скопироваться, и его название с расширением так, как будто файл уже есть. Новое название может отличаться от исходного.
<H1 align="center">![Screenshot](img/FM_15.png)</h1>
### Действие «Проверить существование файла»
<p> Действие проверяет существование указанного файла и записывает результат в переменную.
<p> «True» - если существует, и иначе «False».
<H1 align="center">![Screenshot](img/FM_16.png)</h1>
### Действие «Переместить папку»
<p> Действие перемещает папку, указанную во втором поле, в директорию, указанную в третьем поле.
<H1 align="center">![Screenshot](img/FM_8.png)</h1>
### Действие «Создать папку»
<p> Действие создает папку с указанным названием в выбранной директории.
<H1 align="center">![Screenshot](img/FM_11.png)</h1>
### Действие «Удалить папку»
<p> Действие удаляет выбранную папку.
<H1 align="center">![Screenshot](img/FM_12.png)</h1>
### Действие «Проверить существование папки»
<p> Действие проверяет существование указанной папки и записывает результат в переменную.
<p> «True» - если существует, и иначе «False».
<H1 align="center">![Screenshot](img/FM_17.png)</h1>
### Действие «Получить список папок в папке»
<p> Действие создает переменную-список, в которой лежат пути до каждого файла в папке.
<H1 align="center">![Screenshot](img/FM_17_1.png)</h1>
### Действие «Заархивировать папку»
<p> Действие создает ZIP-архив с указанным именем, добавляя в него содержимое выбранной папки.
<H1 align="center">![Screenshot](img/FM_9.png)</h1>
### Действие «Распаковать архив»
<p> Действие распаковывает ZIP-архив в указанную папку.
<H1 align="center">![Screenshot](img/FM_10.png)</h1>
Модуль «Работа с файлами» предназначен для изменения расположения
файлов, их копирования, архивирования, создания папки и переноса файлов
в неё, в общем, для манипуляции с файлами и директориями.
### Интерфейс модуля
Окно модуля объединяет три группы элементов.
Первая группа элементов это набор полей и кнопок для создания команды.
Вторая непосредственно список команд. И третья это область
предварительного просмотра текстовых файлов.
<center><img src="\media\image194.png" style="width:5.78116in;height:4.45792in" /></center>
<center>Рис. 1. Окно модуля</center>
Набор доступных полей для заполнения меняется в зависимости от
выбранного действия, подробное описание всех полей будет описано дальше.
### Функциональность модуля
#### Создание команды
Команда создается следующим образом выбирается необходимое действие,
заполняются остальные поля нажимается кнопка «Добавить», по которой
команда добавляется в «Список команд».
#### Редактирование команды
Для того чтобы отредактировать команду, выделите её в списке команд
щелчком левой кнопкой мыши, после чего все поля в левой верхней части
окна «Работа с файлами» заполнятся в соответствии с выбранной командой.
Измените те поля, которые требуется отредактировать, и, убедившись, что
в списке команд все еще выбрано нужное действие, нажмите на кнопку
«Редактировать».
#### Удаление команды
Для удаления команды необходимо выбрать её в списке команд и нажать на
кнопку «Удалить».
#### Отключение/включение команды
Созданные команды можно отключать и обратно включать. Отключенные
команды не будут выполняться. Сделать это можно, нажав на
соответствующую отключаемой команде строку правой кнопкой мыши и выбрав
«Отключить/включить».
<center><img src="\media\image195.png" style="width:5.22851in;height:1.23943in" /></center>
<center>Рис. 2. Контекстное меню команды</center>
#### Выбор файла/папки
Кнопка <img src="\media\image196.png" style="width:0.26038in;height:0.23955in" />
в заполняемых полях открывает стандартный диалог выбора файла или папки,
в зависимости от выбранного действия.
## Описание действий, доступных в модуле
Модуль содержит 19 действий, позволяющих работать с папками и файлами,
каждое из которых состоит из своего набора полей для настройки. Ниже
описаны все действия модуля.
Модуль имеет возможность работы с сетевыми папками, для этого
предусмотрены поля «Домен», «Пользователь» и «Пароль». Остальные поля
заполняются в соответствии с выбранным действием.
### Перечень и описание действий
#### Действие «Сохранить в файл»
Действие перезаписывает существующий текстовый файл, записывая в него
строку, указанную в поле «Значение».
<center><img src="\media\image197.png" style="width:3.91055in;height:1.09984in" /></center>
<center>Рис. 3. Пример настройки действия «Сохранить в файл»</center>
#### Действие «Считать файл»
Действие считывает весь текст из выбранного файла и записывает его в
указанную переменную.
<center><img src="\media\image198.png" style="width:4.016in;height:1.45349in" /></center>
<center>Рис. 4. Пример настройки действия «Считать файл»</center>
Поле «Начальная кодировка» отвечает за выбор кодировки, которая будет
использоваться при чтении из файла.
#### Действие «Получить список файлов в папке»
Действие создает переменную-список, в которой лежат пути до каждого
файла в папке.
<center><img src="\media\image199.png" style="width:4.23377in;height:1.1603in" /></center>
<center>Рис. 5. Пример настройки действия «Получение списка файлов»</center>
**ПРИМЕР.**
Пусть имеется папка «Робот», в которой находится 3 Excel-файла. Тогда в
модуле Excel мы можем работать с каждым из файлов, например, чтобы
работать с первым, нужно записывать в поле «Имя файла» v.files\[0\].
Переменная после выполнения действия будет выглядеть как на рисунке
6:
<center><img src="\media\image200.png" style="width:4.12987in;height:4.11325in" /></center>
<center>Рис. 6. Пример переменной, в которой содержится список файлов</center>
#### Действие «Добавить текст в файл»
Действие добавляет текст к уже существующему в файле, не перетирая его
данных.
<center><img src="\media\image201.png" style="width:4.41559in;height:1.21682in" /></center>
<center>Рис. 7. Пример настройки действия «Добавить текст в файл»</center>
#### Действие «Добавить переход на новую строку»
Действие добавляет символ перехода на новую строку в текст файла.
<center><img src="\media\image202.png" style="width:3.96792in;height:0.70084in" /></center>
<center>Рис. 8. Пример настройки действия «Добавить переход на новую строку»</center>
#### Действие «Переместить файл»
Действие перемещает выбранный файл в указанную папку. В поле
«Переменная» можно, но не обязательно, ввести название переменной, в
которую будет возвращен новое расположение до файла (в ниже
представленном примере
C:\\Users\\user\\Desktop\\Документы\\text.docx).
<center><img src="\media\image203.png" style="width:4.07792in;height:1.49213in" /></center>
<center>Рис. 9. Пример настройки действия «Перемещение файла»</center>
#### Действие «Переименовать файл»
Действие меняет имя выбранного файла на указанное в поле «Имя файла».
<center><img src="\media\image204.png" style="width:4.24675in;height:1.53454in" /></center>
<center>Рис. 10. Пример настройки действия «Переименовать файл»</center>
#### Действие «Создать файл txt»
Действие создает новый файл с расширением .txt. Если поле «Переменная»
будет заполнено, то в указанную в нем переменную будет возвращено
расположение созданного файла.
<center><img src="\media\image205.png" style="width:4.1039in;height:1.51423in" /></center>
<center>Рис. 11. Пример настройки действия «Создать файл txt»</center>
#### Действие «Удалить файл»
Действие удаляет выбранный файл.
<center><img src="\media\image206.png" style="width:4.18604in;height:0.75in" /></center>
<center>Рис. 12. Пример настройки действия «Удалить файл»</center>
#### Действие «Скопировать файл»
Действие копирует выбранный файл в указанную директорию.
В поле «Путь до конечного файла» необходимо ввести путь до папки, в
которую файл должен скопироваться, и его название с расширением так, как
будто файл уже есть. Новое название может отличаться от исходного.
Если поле «Переменная» будет заполнено, то в указанную в нем переменную
будет возвращено расположение нового файла.
<center><img src="\media\image207.png" style="width:4.38961in;height:1.64381in" /></center>
<center>Рис. 13. Пример настройки действия «Скопировать файл»</center>
#### Действие «Проверить существование файла»
Действие проверяет существование указанного файла и записывает результат
в переменную.
«true» - если существует, и иначе «false».
<center><img src="\media\image208.png" style="width:4.57503in;height:1.26076in" /></center>
<center>Рис. 14. Пример настройки действия «Проверить существование файла»</center>
#### Действие «Переместить папку»
Действие перемещает папку, указанную поле «Путь к папке», в директорию,
указанную в поле «Путь до конечной папки». Если поле «Переменная» будет
заполнено, то в указанную в нем переменную будет возвращено новое
расположение перемещаемой папки.
<center><img src="\media\image209.png" style="width:4.61155in;height:1.65592in" /></center>
<center>Рис. 15. Пример настройки действия «Перемещение папки»</center>
#### Действие «Создать папку»
Действие создает папку с указанным названием в выбранной директории.
Если поле «Переменная» будет заполнено, то в указанную в нем переменную
будет возвращено расположение новой папки.
<center><img src="\media\image210.png" style="width:4.35065in;height:1.6043in" /></center>
<center>Рис. 16. Пример настройки действия «Создание папки»</center>
#### Действие «Удалить папку»
Действие удаляет выбранную папку.
<center><img src="\media\image211.png" style="width:4.58333in;height:0.82462in" /></center>
<center>Рис. 17. Пример настройки действия «Удалить папку»</center>
#### Действие «Проверить существование папки»
Действие проверяет существование указанной папки и записывает результат
в переменную.
«true» - если существует, и иначе «false».
<center><img src="\media\image212.png" style="width:4.51948in;height:1.258in" /></center>
<center>Рис. 18. Пример настройки действия «Проверить существование папки»</center>
#### Действие «Получить список папок в папке»
Действие создает переменную-список, в которой лежат пути до каждого
файла в папке.
<center><img src="\media\image213.png" style="width:4.46753in;height:1.24412in" /></center>
<center>Рис. 19. Пример настройки действия «Проверить существование папки»</center>
#### Действие «Заархивировать папку»
Действие создает ZIP-архив с указанным именем, добавляя в него
содержимое выбранной папки. Если поле «Переменная» будет заполнено, то в
указанную в нем переменную будет возвращено расположение созданного
архива.
<center><img src="\media\image214.png" style="width:4.47211in;height:1.63636in" /></center>
<center>Рис. 20. Пример настройки действия «Заархивировать папку»</center>
#### Действие «Распаковать архив»
Действие распаковывает ZIP-архив в указанную папку.
<center><img src="\media\image215.png" style="width:4.42748in;height:1.20833in" /></center>
<center>Рис. 21. Пример настройки действия «Распаковать архив»</center>

View File

@ -12,25 +12,23 @@
### Главное окно
Главное окно студии имеет несколько разделов и основные кнопки
управления
управления проектом (рис. 1).
проектом (Рис. 1.1.1).
<center><img src="\media\image9.png" style="width:6.4543in;height:3.61458in" /></center>
<img src="\media\image9.png" style="width:6.4543in;height:3.61458in" />
Рис. 1.. Главное окно студии
<center>Рис. 1. Главное окно студии</center>
Все панели (меню, обозреватель решений и отладочный вывод) могут быть
закреплены или открываться при наведении на них (Рис. 1.1.2).
закреплены или открываться при наведении на них (рис. 2).
Чтобы открепить или закрепить панель необходимо нажать на иконку с
изображением канцелярской кнопки
<img src="\media\image10.png" style="width:0.16665in;height:0.23955in" />
в правом верхнем углу панели.
<img src="\media\image11.png" style="width:6.67847in;height:3.48681in" />
<center><img src="\media\image11.png" style="width:6.67847in;height:3.48681in" /></center>
Рис. 1... Скрытая панель «Обозреватель решений»
<center>Рис. 2. Скрытая панель «Обозреватель решений»</center>
Студия имеет две цветовые схемы светлая тема, та, которая идет по
умолчанию, и темная. Для перехода на темную тему необходимо нажать на
@ -50,9 +48,9 @@
личный кабинет и ввести ключ в поле «Ключ лицензии». После сохранения
данных лицензия будет продлена.
<img src="\media\image12.png" style="width:3.20048in;height:5.53466in" />
<center><img src="\media\image12.png" style="width:3.20048in;height:5.53466in" /></center>
Рис. 1... Личный кабинет
<center>Рис. 3. Личный кабинет</center>
### Кнопки управления
@ -63,11 +61,11 @@
сохранения
<img src="\media\image14.png" style="width:0.21739in;height:0.21739in" />,
открытия
<img src="\media\image15.png" style="width:0.22609in;height:0.22609in" />,
<img src="\media\image15.png" style="width:0.22609in;height:0.22609in" /> ,
выполнения описанных в проекте действий
<img src="\media\image16.png" style="width:0.21739in;height:0.21739in" />
<img src="\media\image16.png" style="width:0.21739in;height:0.21739in" />
и выхода из программы
<img src="\media\image17.png" style="width:0.21739in;height:0.21739in" />.
<img src="\media\image17.png" style="width:0.21739in;height:0.21739in" /> .
Также поддерживаются различные комбинации горячих клавиш. Например, для
создания проекта можно использовать комбинацию Ctrl+N.
@ -77,12 +75,11 @@
#### Создать
Нажатие на кнопку «Создать» вызывает окно создания нового проекта (Рис.
1.1.4).
Нажатие на кнопку «Создать» вызывает окно создания нового проекта (рис. 4).
<img src="\media\image18.png" style="width:3.22692in;height:2.2093in" />
<center><img src="\media\image18.png" style="width:3.22692in;height:2.2093in" /></center>
Рис. 1... Создание нового проекта
<center>Рис. 4. Создание нового проекта</center>
В открывшемся окне необходимо ввести имя нового проекта, дополнительно
можно указать его описание. Ключ проекта уникальный идентификатор
@ -95,9 +92,9 @@
Нажатие на кнопку «Создать» в указанном окне завершит процесс создания
проекта. Новый проект будет открыт в главном окне студии.
<img src="\media\image19.png" style="width:6.01013in;height:3.36584in" />
<center><img src="\media\image19.png" style="width:6.01013in;height:3.36584in" /></center>
Рис. 1... Окно нового проекта
<center>Рис. 5. Окно нового проекта</center>
#### Сохранить
@ -107,8 +104,7 @@
и название файла, в котором будет сохранен проект (по умолчанию,
предлагается название проекта, которое вы задали при его создании).
Файлы проектов Lexema-RPA Studio имеют расширение «.rpa». После выбора
папки для сохранения, необходимо нажать на кнопку «Сохранить» (Рис.
1.1.6). По завершении операции, файл проекта будет сохранен по
папки для сохранения, необходимо нажать на кнопку «Сохранить» (рис. 6). По завершении операции, файл проекта будет сохранен по
указанному расположению. Существующий проект будет сохранен в его
текущем расположении.
@ -126,9 +122,9 @@
Выбранный файл проекта будет загружен в главное окно студии.
<img src="\media\image20.png" style="width:6.44178in;height:3.34822in" />
<center><img src="\media\image20.png" style="width:6.44178in;height:3.34822in" /></center>
Рис. 1... Диалоговое окно сохранения проекта
<center>Рис. 6. Диалоговое окно сохранения проекта</center>
#### Проиграть
@ -147,14 +143,14 @@
Кнопка «Открыть оркестратор»
<img src="\media\image21.png" style="width:0.21698in;height:0.21698in" />
вызывает диалог публикации текущего проекта в оркестратор роботов[5].
вызывает диалог публикации текущего проекта в оркестратор роботов.
#### Форум
Кнопка «Техподдержка в Telegram»
<img src="\media\image22.png" style="width:0.22361in;height:0.22361in" alt="forum" />
<img src="\media\image22.png" style="width:0.22361in;height:0.22361in" alt="forum" /></center>
позволяет открыть чат по техподдержке в мессенджере Telegram -
<https://t.me/CourseLexemaRPA/>.
<https://t.me/CourseLexemaRPA/> .
#### О программе
@ -162,14 +158,14 @@
<img src="\media\image23.png" style="width:0.17917in;height:0.17917in" alt="about" />
выводит диалоговое окно, содержащее информацию о текущей версии студии.
<img src="\media\image24.png" style="width:3.58754in;height:1.96119in" />
<center><img src="\media\image24.png" style="width:3.58754in;height:1.96119in" /></center>
Рис. 1... Информация о текущей версии студии
<center>Рис. 7. Информация о текущей версии студии</center>
#### Выйти
Кнопка «Выйти»
<img src="\media\image25.png" style="width:0.22083in;height:0.22083in" alt="exit" />закрывает
<img src="\media\image25.png" style="width:0.22083in;height:0.22083in" alt="exit" /> закрывает
студию.
### Меню
@ -190,14 +186,13 @@ OData, HTTP запрос, FTP запрос, Break, Continue, JSON, Интерф
Закрыть Excel-файл, While, Пауза, Return, XML, Word, Создать скриншот,
Прокси, Try/Catch.
В списке доступных модулей выводятся все имеющиеся модули (Рис. 1.1.8.
Меню доступных модулей.).
В списке доступных модулей выводятся все имеющиеся модули (рис. 8).
#### Поиск модуля
Поиск модуля можно выполнить с помощью текстового поля, расположенного
над списком доступных модулей. Список будет фильтроваться по мере ввода
поисковой фразы (Рис. 1.1.9. Поиск в списке модулей).
поисковой фразы (рис. 9).
#### Добавление модуля в проект
@ -208,27 +203,27 @@ OData, HTTP запрос, FTP запрос, Break, Continue, JSON, Интерф
соседний модуль будет подсвечен красным выделением и положение нового
модуля будет отображаться в виде яркого выделения сверху или снизу:
сверху если новый модуль будет добавлен перед соседним, снизу если
после него (Рис. 1.1.10 Рис. 1.1.12).
после него (рис. 10 рис. 12).
<img src="\media\image26.png" style="width:1.57292in;height:5.53861in" />
<center><img src="\media\image26.png" style="width:1.57292in;height:5.53861in" /></center>
Рис. 1... Меню доступных модулей
<center>Рис. 8. Меню доступных модулей</center>
<img src="\media\image27.png" style="width:1.8125in;height:2.18894in" />
<center><img src="\media\image27.png" style="width:1.8125in;height:2.18894in" /></center>
Рис. 1... Поиск в списке модулей
<center>Рис. 9. Поиск в списке модулей</center>
<img src="\media\image28.png" style="width:6.29413in;height:1.5252in" />
<center><img src="\media\image28.png" style="width:6.29413in;height:1.5252in" /></center>
Рис. 1... Выбор модуля и перетягивание его в нужную область
<center>Рис. 10. Выбор модуля и перетягивание его в нужную область</center>
<img src="\media\image29.png" style="width:6.375in;height:1.6933in" />
<center><img src="\media\image29.png" style="width:6.375in;height:1.6933in" /></center>
Рис. 1... Подсветка 2-го модуля при перемещении нового модуля после него
<center>Рис. 11. Подсветка 2-го модуля при перемещении нового модуля после него</center>
<img src="\media\image30.png" style="width:6.44675in;height:1.78125in" />
<center><img src="\media\image30.png" style="width:6.44675in;height:1.78125in" /></center>
Рис. 1... Итоговое расположение модуля
<center>Рис. 12. Итоговое расположение модуля</center>
### Обозреватель решений
@ -238,9 +233,9 @@ OData, HTTP запрос, FTP запрос, Break, Continue, JSON, Интерф
(окно которого сейчас открыто) выделен зеленым цветом и помечен маркером
зеленая точка.
<img src="\media\image31.png" style="width:2.42523in;height:1.90883in" />
<center><img src="\media\image31.png" style="width:2.42523in;height:1.90883in" /></center>
Рис. 1... Обозреватель решений
<center>Рис. 13. Обозреватель решений</center>
Панель управления переменными и функциями содержит следующие кнопки
(перечисление слева направо): «Переменные», «Создать новую переменную»,
@ -259,9 +254,9 @@ OData, HTTP запрос, FTP запрос, Break, Continue, JSON, Интерф
<img src="\media\image32.png" style="width:0.19792in;height:0.19792in" alt="var" />
в обозревателе решений и доступно только при наличии открытого проекта.
<img src="\media\image33.png" style="width:6.07483in;height:1.72917in" />
<center><img src="\media\image33.png" style="width:6.07483in;height:1.72917in" /></center>
Рис. 1... Обзор переменных проекта
<center>Рис. 14. Обзор переменных проекта</center>
Окно содержит строку для поиска переменной по её названию и таблицу со
списком всех доступных проекту переменных. Таблица имеет два столбца:
@ -287,11 +282,11 @@ OData, HTTP запрос, FTP запрос, Break, Continue, JSON, Интерф
просмотра свойств переменной. В диалоговом окне предоставляется
возможность перейти в окно редактирования свойств переменной,
просмотреть дерево свойств переменной и удалить переменную из проекта.
Подробное описание работы с переменными будет рассмотрено в главе 2.
Подробное описание работы с переменными будет рассмотрено далее.
<img src="\media\image34.png" style="width:4.76651in;height:3.33941in" />
<center><img src="\media\image34.png" style="width:4.76651in;height:3.33941in" /></center>
Рис. 1... Окно просмотра переменной
<center>Рис. 15. Окно просмотра переменной</center>
#### Обзор локальных переменных
@ -309,16 +304,16 @@ Lexema-RPA Studio позволяет хранить конфиденциальн
- Описание ваш комментарий относительно переменной.
<img src="\media\image36.png" style="width:5.90625in;height:1.53386in" />
<center><img src="\media\image36.png" style="width:5.90625in;height:1.53386in" /></center>
Рис. 1... Локальные переменные
<center>Рис. 16. Локальные переменные</center>
При двойном нажатии по переменной откроется окно её редактирования,
аналогичное окну создания локальной переменной.
<img src="\media\image37.png" style="width:4.1875in;height:1.876in" />
<center><img src="\media\image37.png" style="width:4.1875in;height:1.876in" /></center>
Рис. 1... Окно редактирования локальной переменной
<center>Рис. 17. Окно редактирования локальной переменной</center>
### Отладочный вывод
@ -327,9 +322,9 @@ Lexema-RPA Studio позволяет хранить конфиденциальн
после нажатия на кнопку «Проиграть». Сообщения выводятся для всех
действий по порядку их выполнения в проекте.
<img src="\media\image38.png" style="width:5.94038in;height:1.36011in" />
<center><img src="\media\image38.png" style="width:5.94038in;height:1.36011in" /></center>
Рис. 1... Пример успешного вывода
<center>Рис. 18. Пример успешного вывода</center>
В отладочном выводе выводится информация о времени начала робота, общее
время работы. Для каждого модуля выводится информация о начале времени
@ -340,9 +335,9 @@ Lexema-RPA Studio позволяет хранить конфиденциальн
информация об ошибке. Текст последней строки отладочного вывода будет
написан красным цветом.
<img src="\media\image39.png" style="width:5.87948in;height:1.33721in" />
<center><img src="\media\image39.png" style="width:5.87948in;height:1.33721in" /></center>
Рис. 1... Пример вывода при исключительной ситуации
<center>Рис. 19. Пример вывода при исключительной ситуации</center>
## Основы работы
@ -385,13 +380,13 @@ Lexema-RPA Studio позволяет хранить конфиденциальн
переменные могут создаваться только с типом «Элемент», поэтому окно их
настройки немного отличается от настройки обычных переменных.
<img src="\media\image40.png" style="width:2.1376in;height:1.30722in" /><img src="\media\image41.png" style="width:2.12854in;height:1.30671in" />
<center><img src="\media\image40.png" style="width:2.1376in;height:1.30722in" /></center> <center><img src="\media\image41.png" style="width:2.12854in;height:1.30671in" /></center>
Рис. 1... Кнопки создания переменной
<center>Рис. 20. Кнопки создания переменной</center>
<img src="\media\image42.png" style="width:3.01806in;height:2.09821in" /><img src="\media\image43.png" style="width:3.03125in;height:1.358in" />
<center><img src="\media\image42.png" style="width:3.01806in;height:2.09821in" /></center> <center><img src="\media\image43.png" style="width:3.03125in;height:1.358in" /></center>
Рис. 1... Окна создания переменной (слева обычной, справа локальной)
<center>Рис. 21. Окна создания переменной (слева обычной, справа локальной)</center>
***Для работы с локальными переменными*** требуется наличие
установленного сертификата Windows. Он может быть выпущен вами или вы
@ -411,9 +406,9 @@ sert.pfx, далее следуйте инструкциям по установ
- поле для ввода значения.
<img src="\media\image44.png" style="width:3.29167in;height:2.63333in" />
<center><img src="\media\image44.png" style="width:3.29167in;height:2.63333in" /></center>
Рис. 1... Окно создания обычной переменной-элемента
<center>Рис. 22. Окно создания обычной переменной-элемента</center>
Переменные с типом «Список» хранят набор (массив) переменных. Обращение
к каждому элементу списка осуществляется по его индексу, индекс
@ -425,9 +420,9 @@ v.array\[1\].
поле «Значение», затем нажатием кнопки «Добавить», после чего введенный
элемент добавится в список элементов в нижней части окна.
<img src="\media\image46.png" style="width:3.125in;height:3.13753in" />
<center><img src="\media\image46.png" style="width:3.125in;height:3.13753in" /></center>
Рис. 1... Создание переменной-списка
<center>Рис. 23. Создание переменной-списка</center>
Переменные с типом «Таблица» представляют собой таблицу (двумерный
массив), т.е. это список, элементами которого являются списки. Другими
@ -439,9 +434,9 @@ a\[i-1,j-1\] (так как индекс начинается с нуля). Эт
обращения к элементу в 3 строке и 5 столбце, отвечающему за ячейку
таблицы, необходимо указывать два индекса: v.table\[2, 4\].
<img src="\media\image47.png" style="width:3.38542in;height:3.35156in" />
<center><img src="\media\image47.png" style="width:3.38542in;height:3.35156in" /></center>
Рис. 1... Создание переменной-таблицы
<center>Рис. 24. Создание переменной-таблицы</center>
Для заполнения значений переменных с типом «Таблица» становится
доступной таблица, набор столбцов которой можно расширять с помощью
@ -459,23 +454,23 @@ a\[i-1,j-1\] (так как индекс начинается с нуля). Эт
поле, к которому хотите обратиться: v.person.name (результатом будет
строка John).
<img src="\media\image48.png" style="width:3.58001in;height:3.22917in" />
<center><img src="\media\image48.png" style="width:3.58001in;height:3.22917in" /></center>
Рис. 1... Создание объектной переменной
<center>Рис. 25. Создание объектной переменной</center>
При нажатии в обозревателе решений на кнопку «Узнать значение
переменной» открывается окно, с помощью которого можно проверить
значение переменной активного проекта (рис. 1.2.71.2.8). ***Для
значение переменной активного проекта (рис. 2627). ***Для
проверки значения необходимо ввести полное наименование переменной
(включая символы v.).***
<img src="\media\image49.png" style="width:2.00829in;height:1.25132in" />
<center><img src="\media\image49.png" style="width:2.00829in;height:1.25132in" /></center>
Рис. 1... Кнопка «Узнать значение переменной»
<center>Рис. 26. Кнопка «Узнать значение переменной»</center>
<img src="\media\image50.png" style="width:2.7151in;height:1.59803in" />
<center><img src="\media\image50.png" style="width:2.7151in;height:1.59803in" /></center>
Рис. 1... Окно проверки значения переменной
<center>Рис. 27. Окно проверки значения переменной</center>
### Рабочая область
@ -488,9 +483,9 @@ a\[i-1,j-1\] (так как индекс начинается с нуля). Эт
модуля в структуру проекта он отображается в виде элемента,
обозначающего выполняемое действие.
<img src="\media\image51.png" style="width:5.23333in;height:1.39097in" />
<center><img src="\media\image51.png" style="width:5.23333in;height:1.39097in" /></center>
Рис. 1... Структура проекта
<center>Рис. 29. Структура проекта</center>
Элемент действия имеет несколько составляющих:
@ -517,9 +512,9 @@ a\[i-1,j-1\] (так как индекс начинается с нуля). Эт
- удалить.
<img src="\media\image52.png" style="width:2.97917in;height:1.56903in" />
<center><img src="\media\image52.png" style="width:2.97917in;height:1.56903in" /></center>
Рис. 1... Контекстное меню структуры проекта
<center>Рис. 30. Контекстное меню структуры проекта</center>
**Пункт «Отключить/Включить»** позволяет переключать активность
выбранного действия. Выключенное действие будет пропущено при запуске
@ -542,9 +537,9 @@ a\[i-1,j-1\] (так как индекс начинается с нуля). Эт
**Пункт «Удалить»** позволяет удалить выбранный модуль.
<img src="\media\image53.png" style="width:5.38542in;height:1.57789in" />
<center><img src="\media\image53.png" style="width:5.38542in;height:1.57789in" /></center>
Рис. 1... Проект с отключенным действием и точкой остановки
<center>Рис. 31. Проект с отключенным действием и точкой остановки</center>
#### Точка остановки
@ -556,9 +551,9 @@ a\[i-1,j-1\] (так как индекс начинается с нуля). Эт
рамкой, а в панели инструментов появляются две новые кнопки, позволяющие
управлять *пошаговой отладкой*.
<img src="\media\image54.png" style="width:6.69306in;height:3.65833in" />
<center><img src="\media\image54.png" style="width:6.69306in;height:3.65833in" /></center>
Рис. 1... Пошаговая отладка
<center>Рис. 32. Пошаговая отладка</center>
Пошаговая отладка позволяет выполнять каждый модуль робота друг за
другом, при этом можно следить за значениями всех переменных. Для

View File

@ -1,93 +1,314 @@
# <H1 align="center">Модуль «Интерфейс»</h1>
# МОДУЛЬ «ИНТЕРФЕЙС»
<p> Данный модуль предназначен для создания диалоговых окон для общения с пользователем робота. Это могут быть окна, позволяющие прикрепить файл, ввести какие-либо данные дату, имена, почтовые адреса и другое, с чем впоследствии будет работать робот, или наоборот, окна, отображающие результат работы.</p>
<p> Создание окна заключается в добавлении на него контролов элементов интерфейса таких, как надписи, текстовые поля, кнопки, выпадающие списки.</p>
## Основные моменты
## Основное окно
<p> Окно модуля состоит из нескольких частей:
<p> • Добавить элемент - настройка добавляемого элемента;
<p> • Общие настройки общие настройки диалогового окна;
<p> • Список элементов таблица, в которой содержатся все добавленные элементы;
<p> • Окно с предварительным просмотром диалогового окна на текущий момент (правая часть окна).
<H1 align="center">![Screenshot](img/interface_1.png)</h1>
<p> Начинать работу с диалоговым окном следует с общих настроек, а именно с настройки сетки, которую можно открыть по кнопке «Настройка сетки».
## Общие настройки
<p> К общим настройкам относится название окна «Титул», его ширина и высота и настройка сетки. При установке флажка «На весь экран» поля «Высота» и «Ширина» не будут учитываться.
<p> По нажатию на кнопку «Настройка сетки» появится окно настроек строк и колонок сетки.
<H1 align="center">![Screenshot](img/interface_2.png)</h1>
<p> Сетка это условная разметка элементов интерфейса, некоторая таблица, в которую будут помещаться контролы. Например, если нужно создать окно, в которое пользователь бы вводил два каких-то параметра конечную и начальную даты, за которые необходимо скачивать почту, то настроить диалоговое окно для ввода этих дат можно несколькими способами:
<p> • Первый способ
<p> В две строки, 4 элемента интерфейса на первой строке подпись и поле для ввода начальной даты, на второй строке подпись и поле для ввода конечной даты
<H1 align="center">![Screenshot](img/interface_3.png)</h1>
<p> Для такой настройки сетки необходимо задать две колонки первая, для надписей, вторая для полей ввода, и две строки первая для начальной даты, вторая - для конечной.
<p> • Второй способ
<p> В одну строку, 3 элемента интерфейса подпись, поле для ввода первой даты, поле для ввода второй даты.
<H1 align="center">![Screenshot](img/interface_4.png)</h1>
<p> В таком случае используется три колонки и одна строка.
<p> • Третий способ
<p> В одну строку, 4 элемента интерфейса два поля для ввода и подписи к каждому из них.
<H1 align="center">![Screenshot](img/interface_5.png)</h1>
<p> Здесь используются 4 колонки и 1 строка.
<p> Для каждой колонки можно задать свою ширину, для каждой строки высоту:
<H1 align="center">![Screenshot](img/interface_6.png)</h1>
<p> Высота и ширина вводятся в пикселях, но можно использовать относительные размеры окна, например, если одна колонка должна быть больше другой в два раза и их всего две, то в поле «Ширина» можно ввести «1*» для первой колонки, и «2*» для второй:
<H1 align="center">![Screenshot](img/interface_7.png)</h1>
<p> Результат такой разметки:
<H1 align="center">![Screenshot](img/interface_8.png)</h1>
<p> Нумерация строк и колонок начинается с 0. С помощью кнопки «Удалить» можно удалить ненужную строку или колонку, по кнопке «Редактировать» можно изменить высоту или ширину.
<p> После настройки сетки она будет отображена пунктирной линией в окне предварительного просмотра в правой части окна, и затем можно приступить к добавлению контролов.
## Добавление элемента интерфейса
<p> Для добавления на окно нового элемента необходимо заполнить поля, представленные на рисунке:
<H1 align="center">![Screenshot](img/interface_9.png)</h1>
<p> Обязательными полями являются все, кроме полей «Объединить колонки/строки».
## Поле «Тип»
<H1 align="center">![Screenshot](img/interface_10.png)</h1>
<p> Сначала выбирается тип добавляемого элемента интерфейса из предложенных:
<p> • Поле для ввода поле, в которое можно ввести любую строку;
<H1 align="center">![Screenshot](img/interface_11.png)</h1>
<p> • Надпись статичная строка текста, которая не может быть отредактирована пользователем;
<H1 align="center">![Screenshot](img/interface_12.png)</h1>
<p> • Выпадающий список поле со стрелочкой сбоку, по нажатию которого открывается список заранее определенных значений;
<H1 align="center">![Screenshot](img/interface_13.png)</h1>
<p> • Таблица отображение в виде таблицы заранее созданной переменной. Возможно редактирование полей таблицы, но невозможно создание новых колонок в ней;
<H1 align="center">![Screenshot](img/interface_14.png)</h1>
<p> • Выбор даты поле с иконкой календаря, по нажатию на которую пользователю будет предложено выбрать определенную дату. Возможен ввод значения даты вручную, при вводе других строк поле автоматически подберет наиболее подходящую дату к введенным данным. Формат даты ДД.ММ.ГГГГ;
<H1 align="center">![Screenshot](img/interface_15.png)</h1>
<p> • Выбор файла поле с иконкой в виде трех точек, по нажатию на которую пользователю будет предложено выбрать файл. Путь до выбранного файла запишется в это поле;
<H1 align="center">![Screenshot](img/interface_16.png)</h1>
<p> Для фильтрации отображаемых пользователю файлов можно воспользоваться полем «Фильтр по файлам», в которое вводится строка вида: «Название типа файлов (доступные расширения)|доступные расширения». Можно задать несколько настроек фильтрации, разделителем для этого является символ «|». Пример:
<H1 align="center">![Screenshot](img/interface_16_1.png)</h1>
<p> В данном случае отображается две настройки фильтрации:
<p> 1. All files (*.*), в которой отображаются файлы с любым расширением;
<p> 2. Microsoft Excel Worksheet (*.xl*; *.csv), в которой отображаются файлы с расширениями .csv и начинающимися на .xl (то есть .xlsx, xls и другие).
<H1 align="center">![Screenshot](img/interface_16_2.png)</h1>
<p> • Выбор папки поле с иконкой в виде трех точек, по нажатию на которую пользователю будет предложено выбрать папку. Путь до выбранной папки запишется в это поле. Выглядит так же, как и «Выбор файла».
## Поле «Источник данных»
<p> В это поле вводится название переменной или строка, на основе которой контрол будет заполнен. Немного поподробнее о поле при выборе различных элементов интерфейса:
<p> • Для типа элемента «Надпись» туда вводится значение, которое должно быть отображено в выводимой надписи;
<p> • Для «Поле для ввода», «Выбор даты», «Выбор файла» и «Выбор файла» вводится значение, которое сразу будет указано в поле, если это необходимо. Если поле должно быть пустым, то не надо заполнять «Источник данных»;
<p> • Для «Таблицы» необходимо подать заполненную табличную переменную для её отображения;
<p> • Для элемента интерфейса «Выпадающий список» необходимо передать набор значений, которые пользователю будет предложено выбрать. Делается это через символ «;». Это могут быть строки, переменные-элементы, переменные-списки или табличные переменные, состоящие из одного столбца. Например, введено следующее значение, при приведенных далее примерах заполнения переменных:
<H1 align="center">![Screenshot](img/interface_17.png)</h1>
<H1 align="center">![Screenshot](img/interface_18.png)</h1>
<H1 align="center">![Screenshot](img/interface_19.png)</h1>
<p> Результат будет выглядеть следующим образом:
<H1 align="center">![Screenshot](img/interface_20.png)</h1>
## Поля «Колонка» и «Строка»
<p> В эти поля необходимо ввести номер колонки и строки сетки (таблицы), в которых должен располагаться добавляемый контрол. Например, в примере с датами (рис. 8.22.2) контрол «Надпись» - «Начальная дата» располагается в 0 колонке и 0 строке, а надпись «Конечная дата» - в 0 колонке и 1 строке.
## Поля «Объединить колонки» и «Объединить строки»
<p> В некоторых случаях необходимо выводить поля не в конкретной клеточке сетки, а в объединении нескольких клеток. Например нужно предложить пользователю выбрать Excel-файл для записи в него результатов и ввести начальную и конечную дату, по которым будут собираться некоторые данные. Хотелось бы объединить это в две строки, но для ввода даты нужно как минимум 2 поля, а поле для выбора файла одно.
<H1 align="center">![Screenshot](img/interface_21.png)</h1>
<p> Для того, чтобы растянуть поле для выбора файла по длине полей для ввода даты, нам необходимо разместить его не просто в 1 колонке и 0 строке, но и объединить для него две колонки, чтобы оно занимало сразу обе:
<H1 align="center">![Screenshot](img/interface_22.png)</h1>
<H1 align="center">![Screenshot](img/interface_23.png)</h1>
<p> То есть при заполнении поля «Объединить колонки» колонки, начиная с той, что указана в поле «Колонка», будут объединены по горизонтали в одну.
<p> Аналогично с полем «Объединять строки» - указанное количество строк, начиная с той, что указана в поле «Строка», будут объединены в одну:
<H1 align="center">![Screenshot](img/interface_24.png)</h1>
## Поле «Переменная»
<p> В это поле вводится название переменной, в которую будет записано значение, введенное (для выпадающего списка выбранное) пользователем. Является обязательным полем для всех типов контролов, кроме «Надписи».
<p> После заполнения всех полей необходимо нажать на кнопку «Добавить». После нажатия на нее элемент сразу отобразиться в окне предпросмотра в правой части окна.
<H1 align="center">![Screenshot](img/interface_25.png)</h1>
<p> По кнопке «Предпросмотр» откроется диалоговое окно в таком виде, в котором оно будет представлено пользователю.
<p> Удалить или отредактировать элемент можно, предварительно выбрав его в области «Список элементов», а затем нажав на соответствующую кнопку, находящуюся над списком с элементами.
<p> После добавления всех необходимых контролов нужно нажать кнопку «Сохранить» в правой нижней части окна.
Данный модуль предназначен для создания диалоговых окон для общения с
пользователем робота. Это могут быть окна, позволяющие прикрепить файл,
ввести какие-либо данные дату, имена, почтовые адреса и другое, с чем
впоследствии будет работать робот, или наоборот, окна, отображающие
результат работы.
Создание окна заключается в добавлении на него контролов элементов
интерфейса таких, как надписи, текстовые поля, кнопки, выпадающие
списки.
### Основное окно
Окно модуля состоит из нескольких частей:
- Настройки окна общие настройки диалогового окна;
- Параметры элемента интерфейса - настройка добавляемого элемента;
- Список элементов таблица, в которой содержатся все добавленные
> элементы;
- Окно с предварительным просмотром диалогового окна на текущий момент
> (правая часть окна).
<center><img src="\media\image275.png" style="width:5.875in;height:3.42708in" /></center>
<center>Рис. 1. Основное окно модуля</center>
Начинать работу с диалоговым окном следует с общих настроек, а именно с
настройки сетки, которую можно открыть по кнопке «Настройка сетки».
## Настройки окна
К настройкам окна относится название окна «Титул», его ширина и высота
и настройка сетки. При установке флажка «На весь экран» поля «Высота» и
«Ширина» не будут учитываться.
По нажатию на кнопку «Настройка сетки» появится окно настроек строк и
колонок сетки.
<center><img src="\media\image276.png" style="width:5.05208in;height:3.03125in" /></center>
<center>Рис. 2. Настройка сетки</center>
Сетка это условная разметка элементов интерфейса, некоторая таблица, в
которую будут помещаться контролы. Например, если нужно создать окно, в
которое пользователь бы вводил два каких-то параметра конечную и
начальную даты, за которые необходимо скачивать почту, то настроить
диалоговое окно для ввода этих дат можно несколькими способами:
- Первый способ
\- в две строки, 4 элемента интерфейса на первой строке подпись и поле
для ввода начальной даты, на второй строке подпись и поле для ввода
конечной даты
<center><img src="\media\image277.png" style="width:2.59375in;height:1.709in" /></center>
<center>Рис. 3. Пример окна №1</center>
Для такой настройки сетки необходимо задать две колонки первая, для
надписей, вторая для полей ввода, и две строки первая для начальной
даты, вторая - для конечной.
- Второй способ
\- в одну строку, 3 элемента интерфейса подпись, поле для ввода первой
даты, поле для ввода второй даты.
<center><img src="\media\image278.png" style="width:3.96599in;height:1.10417in" /></center>
<center>Рис. 4. Пример окна №2</center>
В таком случае используется три колонки и одна строка.
- Третий способ
\- в одну строку, 4 элемента интерфейса два поля для ввода и подписи к
каждому из них.
<center><img src="\media\image279.png" style="width:3.66667in;height:1.2in" /></center>
<center>Рис. 5. Пример окна №3</center>
Здесь используются 4 колонки и 1 строка.
Для каждой колонки можно задать свою ширину, для каждой строки высоту:
<center><img src="\media\image280.png" style="width:5.97761in;height:3.53356in" /></center>
<center>Рис. 6. Пример настройки сетки</center>
Высота и ширина вводятся в пикселях, но можно использовать относительные
размеры окна, например, если одна колонка должна быть больше другой в
два раза и их всего две, то в поле «Ширина» можно ввести «1\*» для
первой колонки, и «2\*» для второй:
<center><img src="\media\image281.png" style="width:4.13233in;height:1.83751in" /></center>
<center>Рис. 7. Пример использования относительных размеров</center>
Результат такой разметки:
<center><img src="\media\image282.png" style="width:6.49653in;height:0.89236in" /></center>
<center>Рис. 8. Пример разметки</center>
Нумерация строк и колонок начинается с 0. С помощью кнопки «Удалить»
можно удалить ненужную строку или колонку, по кнопке «Редактировать»
можно изменить высоту или ширину.
После настройки сетки она будет отображена пунктирной линией в окне
предварительного просмотра в правой части окна, и затем можно приступить
к добавлению контролов.
## Добавление элемента интерфейса
Для добавления на окно нового элемента необходимо заполнить поля,
представленные на рисунке 9:
<center><img src="\media\image283.png" style="width:6.38027in;height:1.84808in" /></center>
<center>Рис. 9. Поля для добавления нового элемента</center>
Обязательными полями являются все, кроме полей «Объединить
колонки/строки». Поле «Фильтр по файлам» доступно только для элемента
«Выбор файла».
### Поле «Тип»
<center><img src="\media\image284.png" style="width:2.02083in;height:1.79206in" /></center>
<center>Рис. 10. Выпадающий список с выбором типа элемента</center>
Сначала выбирается тип добавляемого элемента интерфейса из предложенных:
- Поле для ввода поле, в которое можно ввести любую строку;
> <center><img src="\media\image285.png" style="width:1.9685in;height:0.41661in" /></center>
<center>Рис. 11. Элемент «Поле для ввода»</center>
- Надпись статичная строка текста, которая не может быть
отредактирована пользователем;
<center><img src="\media\image286.png" style="width:1.8331in;height:0.44786in" /></center>
<center>Рис. 12. Элемент «Надпись»</center>
- Выпадающий список поле со стрелочкой сбоку, по нажатию которого
открывается список заранее определенных значений;
> <center><img src="\media\image287.png" style="width:1.94767in;height:1.01029in" /></center>
<center>Рис. 13. Элемент «Выпадающий список»</center>
- Таблица отображение в виде таблицы заранее созданной переменной.
Возможно редактирование полей таблицы, но невозможно создание новых
колонок в ней;
> <center><img src="\media\image288.png" style="width:2.47886in;height:1.53106in" /></center>
<center>Рис. 14. Элемент «Таблица»</center>
- Выбор даты поле с иконкой календаря, по нажатию на которую
пользователю будет предложено выбрать определенную дату. Возможен
ввод значения даты вручную, при вводе других строк поле
автоматически подберет наиболее подходящую дату к введенным данным.
Формат даты ДД.ММ.ГГГГ;
<center><img src="\media\image289.png" style="width:2.49969in;height:2.05183in" /></center>
<center>Рис. 15. Элемент «Выбор даты»</center>
- Выбор файла поле с иконкой в виде трех точек, по нажатию на
которую пользователю будет предложено выбрать файл. Путь до
выбранного файла запишется в это поле.
<center><img src="\media\image290.png" style="width:1.42691in;height:0.42703in" /></center>
<center>Рис. 16. Элемент «Выбор файла»</center>
Для фильтрации отображаемых пользователю файлов можно воспользоваться
полем «Фильтр по файлам», в которое вводится строка вида: «Название типа
файлов (доступные расширения)\|доступные расширения». Можно задать
несколько настроек фильтрации, разделителем для этого является символ
«\|». Пример:
В данном случае отображается две настройки фильтрации:
1. All files (\*.\*), в которой отображаются файлы с любым расширением;
2. Microsoft Excel Worksheet (\*.xl\*; \*.csv), в которой отображаются
файлы с расширениями .csv и начинающимися на .xl (то есть .xlsx, xls
и другие).
<center><img src="\media\image291.png" style="width:4.29355in;height:0.61458in" /></center>
- Выбор папки поле с иконкой в виде трех точек, по нажатию на
которую пользователю будет предложено выбрать папку. Путь до
выбранной папки запишется в это поле. Выглядит так же, как и «Выбор
файла».
### Поле «Источник данных»
В это поле вводится название переменной или строка, на основе которой
контрол будет заполнен. Немного поподробнее о поле при выборе различных
элементов интерфейса:
- Для типа элемента «Надпись» туда вводится значение, которое должно
быть отображено в выводимой надписи;
- Для «Поле для ввода», «Выбор даты», «Выбор файла» и «Выбор файла»
вводится значение, которое сразу будет указано в поле, если это
необходимо. Если поле должно быть пустым, то не надо заполнять
«Источник данных»;
- Для «Таблицы» необходимо подать заполненную табличную переменную для
её отображения;
- Для элемента интерфейса «Выпадающий список» необходимо передать
набор значений, которые пользователю будет предложено выбрать.
Делается это через символ «;». Это могут быть строки,
переменные-элементы, переменные-списки или табличные переменные,
состоящие из одного столбца. Например, введено следующее значение,
при приведенных далее примерах заполнения переменных:
<center><img src="\media\image292.png" style="width:3.64538in;height:0.87489in" /></center>
<center>Рис. 17. Пример заполнения поля «Источник данных»</center>
<center><img src="\media\image293.png" style="width:3.17583in;height:2.21733in" /></center>
<center><img src="\media\image294.png" style="width:3.14286in;height:3.14286in" /></center>
<center>Рис. 18. Примеры заполнения используемых переменных</center>
Результат будет выглядеть следующим образом:
<center><img src="\media\image295.png" style="width:1.53106in;height:1.47898in" /></center>
<center>Рис. 19. Пример результирующих данных</center>
### Поля «Колонка» и «Строка»
В эти поля необходимо ввести номер колонки и строки сетки (таблицы), в
которых должен располагаться добавляемый контрол. Например, в примере с
датами (Рис. 9.30.2) контрол «Надпись» - «Начальная дата» располагается
в 0 колонке и 0 строке, а надпись «Конечная дата» - в 0 колонке и 1
строке.
### Поля «Объединить колонки» и «Объединить строки»
В некоторых случаях необходимо выводить поля не в конкретной клеточке
сетки, а в объединении нескольких клеток. Например нужно предложить
пользователю выбрать Excel-файл для записи в него результатов и ввести
начальную и конечную дату, по которым будут собираться некоторые данные.
Хотелось бы объединить это в две строки, но для ввода даты нужно как
минимум 2 поля, а поле для выбора файла одно.
<center><img src="\media\image296.png" style="width:4.62338in;height:1.84784in" /></center>
<center>Рис. 20. Пример окна без объединения колонок</center>
Для того, чтобы растянуть поле для выбора файла по длине полей для ввода
даты, нам необходимо разместить его не просто в 1 колонке и 0 строке, но
и объединить для него две колонки, чтобы оно занимало сразу обе:
<center><img src="\media\image297.png" style="width:5.8961in;height:1.67376in" /></center>
<center>Рис. 21. Пример заполнения полей элемента интерфейса для настройки
объединения колонок</center>
<center><img src="\media\image298.png" style="width:4.54435in;height:1.81458in" /></center>
<center>Рис. 22. Пример окна с объединенными колонками в первой строке сетки</center>
То есть при заполнении поля «Объединить колонки» колонки, начиная с той,
что указана в поле «Колонка», будут объединены по горизонтали в одну.
Аналогично с полем «Объединять строки» - указанное количество строк,
начиная с той, что указана в поле «Строка», будут объединены в одну:
<center><img src="\media\image299.png" style="width:4.57639in;height:1.83056in" /></center>
<center>Рис. 23.. Пример окна с объединенными строками в первой колонке сетки</center>
### Поле «Переменная»
В это поле вводится название переменной, в которую будет записано
значение, введенное (для выпадающего списка выбранное) пользователем.
Является обязательным полем для всех типов контролов, кроме «Надписи».
После заполнения всех полей необходимо нажать на кнопку «Добавить».
После нажатия на нее элемент сразу отобразиться в окне предпросмотра в
правой части окна.
<center><img src="\media\image300.png" style="width:6.69306in;height:3.87584in" /></center>
<center>Рис. 24. Пример заполненного окна модуля «Интерфейс»</center>
По кнопке «Предпросмотр» откроется диалоговое окно в таком виде, в
котором оно будет представлено пользователю.
Удалить или отредактировать элемент можно, предварительно выбрав его в
области «Список элементов», а затем нажав на соответствующую кнопку,
находящуюся над списком с элементами.
После добавления всех необходимых контролов нужно нажать кнопку
«Сохранить» в правой нижней части окна.

View File

@ -1,10 +1,46 @@
# <H1 align="center">Конфигурирование LEXEMA-RPA STUDIO</h1>
# КОНФИГУРИРОВАНИЕ LEXEMA-RPA STUDIO
## Файл конфигурации
<p> Lexema-RPA Studio содержит некоторые настройки, которые подходят большинству пользователей, но в некоторых случаях они должны быть изменены. Такие настройки вынесены в файл конфигурации, который находится в папке с программой и называется «Lexema-RPA Studio.exe.condig». Открыть данный файл можно любым текстовым редактором, например Блокнотом.</p>
<H1 align="center">![Screenshot](img/konfi_1.png)</h1>
<p> Настройки, которые можно изменять, находятся в блоке appSettings. Приведенные ниже можно изменять пользователям, остальные не рекомендуется. Доступные для изменения настройки:
<p> 1. AbbyyFreDllPath - путь до папки с драйвером ABBYY (для пользователей, приобрётших лицензию ABBYY);
<p> 2. useFileLog - использовать логирование в текстовый файл, по умолчанию значение true, запись ведется во временную директорию системы, в папку Lexema-RPA;
<p> 3. useEmail использовать логирование с отправкой письма с ошибкой на почту. Настройки почты вводятся в поля emailHost, emailPort, emailUseSSL, emailName и emailPass. В поле emailAdmin вводится адрес, на который должно прийти письмо;
<p> 4. ChromePath путь до браузера Chrome для модуля «Работа с браузером».
## Файл конфигурации
Lexema-RPA Studio содержит некоторые настройки, которые подходят
большинству пользователей, но в некоторых случаях они должны быть
изменены. Такие настройки вынесены в файл конфигурации, который
находится в папке с программой и называется «Lexema-RPA
Studio.exe.config». Открыть данный файл можно любым текстовым
редактором, например Блокнотом.
<center><img src="\media\image351.png" style="width:6.69647in;height:3.28032in" /></center>
<center>Рис. 1. Файл конфигурации</center>
Настройки, которые можно изменять, находятся в блоке appSettings.
Приведенные ниже можно изменять пользователям, остальные не
рекомендуется. Доступные для изменения настройки:
1. AbbyyFreDllPath - путь до папки с драйвером ABBYY (для
пользователей, приобрётших лицензию ABBYY);
2. useFileLog - использовать логирование в текстовый файл, по умолчанию
значение true, запись ведется во временную директорию системы, в
папку Lexema-RPA;
3. useEmail использовать логирование с отправкой письма с ошибкой на
почту. Настройки почты вводятся в поля emailHost, emailPort,
emailUseSSL, emailName и emailPass. В поле emailAdmin вводится
адрес, на который должно прийти письмо;
4. SeleniumUserAgent поле, отвечающее за агента, от которого
эмулируется запуск Google Chrome в модуле «Работа с браузером»;
5. SeleniumProfilePath путь до папки с профилем пользователя, от
имени которого необходимо запускать Google Chrome по умолчанию
(модуль «Работа с браузером»);
6. SeleniumProxyExtensionPath при использовании прокси-сервера в
модуле «Работа с браузером» используется расширение
ChromeProxyExtension.exe, если по какой-то причине программа не
может найти расширение, то в этом поле необходимо прописать полный
путь до расширения (оно находится в папке с программой);
7. OrchestratorURL адрес подключения к оркестратору (для закрытых
корпоративных сетей).

View File

@ -1,36 +1,205 @@
# <H1 align="center">ОРКЕСТРАТОР</h1>
# Оркестратор
## Общая информация
<p> Оркестратор роботов - сервис запуска роботов по составленному расписанию и/или некоторым событиям. Доступ к оркестратору осуществляется по нажатию кнопки ![Screenshot](img/Orkes_1.png) в панели управления главного окна студии. После нажатия на кнопку будет открыто окно, позволяющее опубликовать нового робота и/или настроить расписание запусков уже опубликованных роботов</p>
<H1 align="center">![Screenshot](img/Orkes_2.png)</h1>
<p> Оркестратор состоит из 3-х разделов и кнопки публикации текущего робота. Разделы оркестратора:
<p> • Задачи раздел, позволяющий создавать новую задачу;
<p> • Роботы список всех опубликованных текущим пользователем роботов;
<p> • Список задач пользователя список всех задач, созданных текущим пользователем.
<p> Кнопка «Опубликовать текущего робота» добавляет активного на данный момент в студии робота в список опубликованных роботов.
<p> После создания всех задач необходимо просто закрыть окно оркестратора.
<p> Для работы оркестратора необходимо установить программу Lexema-RPA Client, которая, находясь в фоновом режиме работы на компьютере, просматривает созданные вами задачи и запускает роботов в соответствии с их расписанием. Для её скачивания необходимо посетить <a href="http://lexema.ru/solutions/lexema-rpa-programmnye-roboty/lexema-rpa-studio/">сайт </a> и выбрать там «Скачать Lexema-RPA Client». Инструкция по использованию находится там же.
## Создание новой задачи
<p> Для создания расписания запуска одного робота нужно создать задачу. Для настройки задачи необходимо заполнить 6 полей это наименование задачи, выбор робота из опубликованных, время первого запуска робота, количество повторов и интервал запуска, машина для запуска, на которой запущен RPA Client.
<H1 align="center">![Screenshot](img/Orkes_3.png)</h1>
<p> Наименование задачи. Название задачи для запуска конкретного робота, идентификатор, по которому вам будет удобнее ориентироваться среди всех ваших задач.
<p> Робот. Выбор робота, для которого составляется задача запуска. Поле представлено выпадающим списком, в котором предложены все ваши опубликованные роботы.
<H1 align="center">![Screenshot](img/Orkes_4.png)</h1>
<p> Первый запуск. Время первого запуска робота, после которого он будет запускаться с определенным интервалом. Выбираются и дата, и время.
<p> Повторы. Общее количество повторных запусков робота. Если робота повторять не нужно, и он должен отработать только 1 раз, количество повторов равно 0. Если необходимо, чтобы робот отрабатывал по 2 раза в день в течение недели, не учитывая его первый запуск, то количество повторов равно 2*7-1 = 13.
<p> Интервал запуска. Время, через которое необходим повторный запуск робота (если повторы есть). Для настройки поля необходимо нажать на кнопку-стрелочку в углу поля.
<H1 align="center">![Screenshot](img/Orkes_5.png)</h1>
<p> По нажатию на неё откроется вспомогательно окно выбора интервала запуска робота.
<H1 align="center">![Screenshot](img/Orkes_6.png)</h1>
<p> Если необходимо, чтобы робот запускался 25 числа каждого месяца, необходимо в первом запуске установить дату ближайшего 25 числа месяца, а настройке интервала ввести значение «1» в строке «Месяц», то есть, осуществлять повторы каждый месяц.
<p> Между каждым повтором будет установлен одинаковый интервал. Если необходимо запускать робота с разными временными интервалами, то необходимо создать несколько задач его запуска, например, если требуется запуск в 10:00 и в 13:00 одного дня на протяжении недели, то необходимо создать две задачи, количество повторений которых равно 6 (каждый день, не считая первого запуска), интервал запуска 24 часа или 1 день, отличаться у этих задач будут только время первого запуска у одной в 10:00 дня, когда нужно начать, у другой в 13:00.
<p> После заполнения нужных строк в окне интервала и нажатию на кнопку «Сохранить», в поле «Интервал» отобразится строка вида «год:месяц:день:час:минуты:секунды», например, при установке интервала в 12 часов, строка будет иметь вид «0:0:0:12:0:0». Поле «Интервал» является обязательным, если количество повторов отличное от 0.
<p> После заполнения нужных строк в окне интервала и нажатию на кнопку «Сохранить», в поле «Интервал» отобразится строка вида «год:месяц:день:час:минуты:секунды», например, при установке интервала в 12 часов, строка будет иметь вид «0:0:0:12:0:0». Поле «Интервал» является обязательным, если количество повторов отличное от 0.
<p> RPA-Client. Если существует несколько разных машин (компьютеров), на которых авторизован один и тот же пользователь и запущены программы Lexema RPA-Client, то данное поле позволяет выбрать, на какой из этих машин необходимо запускать выбранного робота. Если неважно, на какой конкретно машине должен запускаться робот, то поле можно оставить пустым, тогда робот будет запускаться на одной из свободных машин.
<p> Пример заполненной задачи:
<H1 align="center">![Screenshot](img/Orkes_7.png)</h1>
<p> По нажатию кнопки «Добавить», расположенной под полями для настройки задач, задача будет добавлена в список задач.
<H1 align="center">![Screenshot](img/Orkes_8.png)</h1>
<p> Для редактирования существующей задачи необходимо найти её в списке задач и нажать на неё (1). После этого будут заполнены поля для настройки задачи соответствующими полями. Затем, после редактирования полей (2), необходимо нажать на кнопку «Редактировать» и изменения сохранятся (3).
<H1 align="center">![Screenshot](img/Orkes_9.png)</h1>
<p> Для удаления задачи её нужно найти и выбрать в списке задач пользователя и затем нажать кнопку «Удалить».
## Общая информация
Оркестратор роботов - сервис запуска роботов по составленному расписанию
и/или некоторым событиям. Доступ к оркестратору осуществляется по
нажатию кнопки <img src="\media\image21.png" style="width:0.20833in;height:0.20833in" />
в панели управления главного окна студии. После нажатия на кнопку будет
открыто окно, позволяющее опубликовать нового робота и/или настроить
расписание запусков уже опубликованных роботов.
<center><img src="\media\image337.png" style="width:6.69231in;height:4.35in" /></center>
<center>Рис. 1. Окно оркестратора</center>
Оркестратор состоит из 3-х разделов и кнопки публикации текущего робота.
Разделы оркестратора:
- Задачи раздел, позволяющий создавать новую задачу;
- Роботы список всех опубликованных текущим пользователем роботов;
- Список задач пользователя список всех задач, созданных текущим
пользователем.
Кнопка «Опубликовать текущего робота» добавляет активного на данный
момент в студии робота в список опубликованных роботов. Если данный
робот был уже однажды загружен в оркестратор, то повторное нажатие
кнопки его обновит. Привязка робота идет не по имени, а по его
идентификатору, который присваивается роботу при его первоначальном
создании.
Создание задач описано далее.
После создания всех задач необходимо просто закрыть окно оркестратора.
Для работы оркестратора необходимо установить программу Lexema-RPA
Client, которая, находясь в фоновом режиме работы на компьютере,
просматривает созданные вами задачи и запускает роботов в соответствии с
их расписанием. Для её скачивания необходимо посетить сайт
<http://lexema.ru/solutions/lexema-rpa-programmnye-roboty/lexema-rpa-studio/>
и выбрать там «Скачать Lexema-RPA Client». Инструкция по использованию
находится там же.
## Создание новой задачи
Для создания расписания запуска одного робота нужно создать задачу. Для
настройки задачи необходимо заполнить 6 полей это наименование задачи,
выбор робота из опубликованных, время первого запуска робота, количество
повторов и интервал запуска, машина для запуска, на которой запущен RPA
Client.
<center><img src="\media\image338.png" style="width:3.55241in;height:2.24675in" /></center>
<center>Рис. 2. Перечень полей для настройки задачи запуска</center>
**Наименование задачи.** Название задачи для запуска конкретного робота,
идентификатор, по которому вам будет удобнее ориентироваться среди всех
ваших задач.
**Робот.** Выбор робота, для которого составляется задача запуска. Поле
представлено выпадающим списком, в котором предложены все ваши
опубликованные роботы.
<center><img src="\media\image339.png" style="width:2.4375in;height:0.95268in" /></center>
<center>Рис. 3. Выпадающий список с перечнем опубликованных роботов</center>
**Первый запуск.** Время первого запуска робота, после которого он будет
запускаться с определенным интервалом. Выбираются и дата, и время.
**Повторы.** Общее количество повторных запусков робота. Если робота
повторять не нужно, и он должен отработать только 1 раз, количество
повторов равно 0. Если необходимо, чтобы робот отрабатывал по 2 раза в
день в течение недели, не учитывая его первый запуск, то количество
повторов равно 2\*7-1 = 13.
**Интервал запуска.** Время, через которое необходим повторный запуск
робота (если повторы есть). Для настройки поля необходимо нажать на
кнопку-стрелочку в углу поля.
<center><img src="\media\image340.png" style="width:3.97917in;height:0.40642in" /></center>
<center>Рис. 4. Кнопка открытия настроек интервала</center>
По нажатию на неё откроется вспомогательное окно выбора интервала
запуска робота.
<center><img src="\media\image341.png" style="width:2.3125in;height:2.41822in" /></center>
<center>Рис. 5. Настройка интервала запуска робота</center>
Если необходимо, чтобы робот запускался 25 числа каждого месяца,
необходимо в первом запуске установить дату ближайшего 25 числа месяца,
а настройке интервала ввести значение «1» в строке «Месяц», то есть,
осуществлять повторы каждый месяц.
*Между каждым повтором будет установлен одинаковый интервал*. Если
необходимо запускать робота с *разными* временными интервалами, то
необходимо создать несколько задач его запуска, например, если требуется
запуск в 10:00 и в 13:00 одного дня на протяжении недели, то необходимо
создать *две* задачи, количество повторений которых равно 6 (каждый
день, не считая первого запуска), интервал запуска 24 часа или 1 день,
отличаться у этих задач будут только время первого запуска у одной в
10:00 дня, когда нужно начать, у другой в 13:00.
После заполнения нужных строк в окне интервала и нажатию на кнопку
«Сохранить», в поле «Интервал» отобразится строка вида
«год:месяц:день:час:минуты:секунды», например, при установке интервала в
12 часов, строка будет иметь вид «0:0:0:12:0:0». Поле «Интервал»
является ***обязательным***, если количество повторов отличное от 0.
**RPA-Client.** Если существует несколько разных машин (компьютеров), на
которых авторизован один и тот же пользователь и запущены программы
Lexema RPA-Client, то данное поле позволяет выбрать, на какой из этих
машин необходимо запускать выбранного робота. Если неважно, на какой
конкретно машине должен запускаться робот, то поле можно оставить
пустым, тогда робот будет запускаться на одной из свободных машин.
Пример заполненной задачи:
<center><img src="\media\image342.png" style="width:4.36467in;height:2.68831in" /></center>
<center>Рис. 6. Пример настройки задачи</center>
По нажатию кнопки «Добавить», расположенной под полями для настройки
задач, задача будет добавлена в список задач.
<center><img src="\media\image343.png" style="width:6.55285in;height:1.57143in" /></center>
<center>Рис. 7. Список задач пользователя с добавленной задачей</center>
Для редактирования существующей задачи необходимо найти её в списке
задач и нажать на неё (1 на рисунке 8). После этого будут
заполнены поля для настройки задачи соответствующими полями. Затем,
после редактирования полей (2 на рисунке 8), необходимо нажать на
кнопку «Редактировать» и изменения сохранятся (3 на рисунке 8).
<center><img src="\media\image344.png" style="width:6.51102in;height:4.23377in" /></center>
<center>Рис. 8. Пример редактирования задачи</center>
Для удаления задачи её нужно найти и выбрать в списке задач пользователя
и затем нажать кнопку «Удалить».
## Раздел «Роботы»
Данный раздел состоит из поля поиска робота по его названию и списка
опубликованных роботов. При публикации, роботу присваивается уникальный
идентификатор, поэтому названия роботов в списке опубликованных могут
повторяться.
<center><img src="\media\image345.png" style="width:4.15625in;height:3.18422in" /></center>
<center>Рис. 9. Раздел «Роботы»</center>
Для загрузки, отладки или редактирования существующего робота,
необходимо открыть его как проект в студии. Для этого необходимо нажать
на иконку Lexema-RPA соответствующего робота.
<center><img src="\media\image346.png" style="width:4.54167in;height:2.06521in" /></center>
<center>Рис. 10 Кнопка «Загрузить робота в студию»</center>
После редактирования робота необходимо нажать на кнопку «Опубликовать
текущего робота», после чего редактируемый робот сохранит свои
изменения.
Для удаления робота необходимо нажать на красный крестик в его блоке.
<center><img src="\media\image347.png" style="width:4.69294in;height:1.34358in" /></center>
<center>Рис. 11. Кнопка удаления робота из оркестратора</center>
## Информация о задаче
В списке задач в оркестраторе можно узнать текущий статус выполнения задачи, статистику выполнения и логи.
Текущий статус отображается в строке задачи, в колонке «Статус» - в ней отображается название и примечание
текущего выполняемого модуля, либо пустота, если сейчас эта задача не выполняется.
При нажатии правой кнопкой мыши по задаче в списке задач появляется
контекстное меню, позволяющее перейти к статистике выполнений или логам
задачи.
<center><img src="\media\image348.png" style="width:6.61376in;height:1.0832in" /></center>
<center>Рис. 12. Контекстное меню задачи</center>
Статистика выполнения открывается так же при двойном клике по задаче.
<center><img src="\media\image349.png" style="width:5.6972in;height:4.15573in" /></center>
<center>Рис. 13. Статистика выполнения</center>
В данном окне отображаются состояния задачи время запуска, время
окончания и статус работы Success (успешно) или Failed (провалено).
Если строка пустая, значит робот по каким-то причинам был приостановлен,
например был остановлен клиент или убит процесс в «Диспетчере задач».
В окне логов отображается более детальная информация начало и
окончание работы модуля робота.
<center><img src="\media\image350.png" style="width:6.0305in;height:4.17656in" /></center>
<center>Рис. 14. Логи</center>

433
docs/Other.md Normal file
View File

@ -0,0 +1,433 @@
# ДРУГИЕ МОДУЛИ
## Модуль «Вычисления»
Модуль «Вычисления» является связующим модулем или модулем пред- и
постобработки данных из других модулей. Данный модуль необходим для
создания, вычисления и изменения значений переменных. Модуль позволяет
производить вычисления и обработку информации с помощью языка
программирования 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).
### Пример работы с модулем
Предположим, необходимо получить последний день предыдущего месяца.
Сделаем это с помощью ввода следующего кода:
Листинг 12... Получение последнего дня предыдущего месяца
<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>

View File

@ -1,32 +1,385 @@
# <H1 align="center">Модуль «Отправить письмо»</h1>
# МОДУЛИ «ПОЧТОВЫЕ АГЕНТЫ»
<p> Модуль «Отправить письмо» предназначен для отправки письма одному или нескольким получателям.</p>
## Модуль «Отправить письмо»
## Интерфейс модуля
<p> Окно модуля состоит из нескольких вкладок: «Настройки», «Получатель», «Письмо». Рассмотрим по порядку все вкладки. Начнем знакомство с рассмотрения вкладки «Настройки».
### Вкладка «Настройки»
<H1 align="center">![Screenshot](img/SE_1.png)</h1>
<p> Поле «Настройки» выпадающий список, в котором предложены несколько почтовых служб. При выборе почтовой службы будут заполнены поля «Хост», «Порт» и установлен флажок «Использовать SSL» согласно её настройкам. Пункт "Пользовательские" предоставляет возможность самостоятельной настройки параметров доступа к почтовой службе
<H1 align="center">![Screenshot](img/SE_2.png)</h1>
<p> Поля «Хост», «Порт» и флажок «Использовать SSL» необходимы к заполнению только при выборе пользовательских настроек. Представляют собой набор обязательных полей для подключения к почтовым сервисам.
<p> Поле «E-mail» предназначено для указания адреса электронной почты, с которой будут отправлены сообщения, в формате name@mail.ru.
<p> Поле «Пароль» предназначено для ввода пароля от почты, указанной в поле «E-mail».
<H1 align="center">![Screenshot](img/SE_3.png)</h1>
### Вкладка «Получатель»
<p> На данной вкладке заполняется информация о лицах, которым будет отправлено письмо.
<p> Модуль предоставляет различные способы указания получателей, а именно:
<p> • ручной ввод списка получателей (имена и e-mailы);
<p> • из переменной-элемента, в виде одного e-mailа;
<p> • из переменной-списка, в виде нескольких e-mailов.
<H1 align="center">![Screenshot](img/SE_4.png)</h1>
<p> Если выбран переключатель «Список», то поле «Переменная» недоступно для ввода, иначе наоборот, доступно поле «Переменная», но недоступны другие поля.
<p> Для ввода получателей методом «Список» необходимо заполнить поля «Имя получателя» и «E-mail получателя», затем нажать на кнопку под полями «Добавить». После этого введенные значения появятся в таблице в центре окна. Если необходимо удалить какого-либо получателя из таблицы, необходимо выбрать строку с ним и нажать на кнопку «Удалить».
<H1 align="center">![Screenshot](img/SE_5.png)</h1>
<p> Если используется метод выбора получателей через переменную, то поля «Имя получателя», «E-mail получателя» и таблица становятся недоступными. В поле «Переменная» необходимо ввести название переменной, начиная с символа «@», из которой будут взяты emailы получателей.
<H1 align="center">![Screenshot](img/SE_6.png)</h1>
### Вкладка «Письмо»
<p> На данной вкладке настраивается письмо, которое будет отправлено получателям, указанным на вкладке «Получатель». Все поля необязательны для заполнения, если не заполнить ни одного из них будет отправлено пустое письмо с темой «<Без темы>».
<H1 align="center">![Screenshot](img/SE_7.png)</h1>
<p> Для прикрепления одного файла во вложение следует нажать на кнопку «Выбрать файл» и в открывшемся диалоговом окне выбрать требуемый файл.
<p> Для прикрепления сразу нескольких файлов необходимо нажать на кнопку «Выбрать папку» и в открывшемся диалоговом окне выбрать папку со всеми требуемыми файлами.
<p> Каждое из полей формы может быть заполнено переменной.
Модуль «Отправить письмо» предназначен для отправки письма одному или
нескольким получателям.
### Интерфейс модуля
Окно модуля состоит из нескольких вкладок: «Настройки», «Получатель»,
«Письмо». Рассмотрим по порядку все вкладки. Начнем знакомство с
рассмотрения вкладки «Настройки».
#### Вкладка «Настройки»
<center><img src="\media\image247.png" style="width:3.41519in;height:3.50183in" /></center>
<center>Рис. 1. Окно модуля</center>
**Поле «Настройки»** выпадающий список, в котором предложены несколько
почтовых служб. При выборе почтовой службы будут заполнены поля «Хост»,
«Порт», «Безопасность» согласно её настройкам. Пункт "Пользовательские"
предоставляет возможность самостоятельной настройки параметров доступа к
почтовой службе.
<center><img src="\media\image248.png" style="width:3.58031in;height:1.50057in" /></center>
<center>Рис. 2. Пример настройки почтовый службы «Mail»</center>
**Поля «Хост», «Порт, «Безопасность»** необходимы к заполнению только
при выборе пользовательских настроек. Представляют собой набор
обязательных полей для подключения к почтовым сервисам.
**Поле «Доменное имя»** необходимо для некоторых почтовых служб (в
основном, корпоративных) для указания доменного имени, необходимого для
авторизации.
**Поле «E-mail»** предназначено для указания адреса электронной почты, с
которой будут отправлены сообщения, в формате <name@mail.ru>.
**Поле «Пароль»** предназначено для ввода пароля от почты для
авторизации.
**Флажок «Показывать пароль»** предоставляет возможность показать пароль
для проверки его правильности.
<center><img src="\media\image249.png" style="width:3.53827in;height:3.61276in" /></center>
<center>Рис. 3. Пример заполненной вкладки «Настройки»</center>
#### Вкладка «Получатель»
На данной вкладке заполняется информация о лицах, которым будет
отправлено письмо.
Модуль предоставляет различные способы указания получателей, а именно:
- ручной ввод списка получателей (имена и e-mailы);
- из переменной-элемента, в виде одного e-mailа;
- из переменной-списка, в виде нескольких e-mailов.
<center><img src="\media\image250.png" style="width:3.1044in;height:3.56189in" /></center>
<center>Рис. 4. Вкладка «Получатель»</center>
Если выбран переключатель «Список», то поле «Переменная» недоступно для
ввода, иначе наоборот, доступно поле «Переменная», но недоступны
другие поля.
Для ввода получателей методом «Список» необходимо заполнить поля «Имя
получателя» и «E-mail получателя», затем нажать на кнопку под полями
«Добавить». После этого введенные значения появятся в таблице в центре
окна. Если необходимо удалить какого-либо получателя из таблицы,
необходимо выбрать строку с ним и нажать на кнопку «Удалить».
<center><img src="\media\image251.png" style="width:3.11688in;height:3.68064in" /></center>
<center>Рис. 5. Пример заполнения таблицы получателей</center>
Если используется метод выбора получателей через переменную, то поля
«Имя получателя», «E-mail получателя» и таблица становятся недоступными.
В поле «Переменная» необходимо ввести название переменной, начиная с
символов «v.», из которой будут взяты emailы получателей. Переменная
может быть списком из emailов, либо строкой с перечислением их через
запятую.
<center><img src="\media\image252.png" style="width:3.09091in;height:3.52781in" /></center>
<center>Рис. 6. Вкладка «Получатель»</center>
#### Вкладка «Письмо»
На данной вкладке настраивается письмо, которое будет отправлено
получателям, указанным на вкладке «Получатель». Все поля необязательны
для заполнения, если не заполнить ни одного из них будет отправлено
пустое письмо с темой «&lt;Без темы&gt;».
<center><img src="\media\image253.png" style="width:3.17498in;height:3.62001in" /></center>
<center>Рис. 7. Вкладка «Письмо»</center>
Для прикрепления одного файла во вложение следует нажать на кнопку
«Выбрать файл» и в открывшемся диалоговом окне выбрать требуемый файл.
Для прикрепления сразу нескольких файлов необходимо нажать на кнопку
«Выбрать папку» и в открывшемся диалоговом окне выбрать папку со всеми
требуемыми файлами.
Каждое из полей формы может быть заполнено переменной.
## Модуль «Считать письма»
Модуль «Считать письма» предназначен для получения списка писем с почты
для дальнейшей их обработки или просто для скачивания вложений. Для
работы модуля обязательно разрешение подключения по IMAP или POP3
протоколу на используемой почте (подробнее про включение протоколов
описано этой главе, пункте «Включение IMAP и POP3 протоколов»).
### Интерфейс модуля
Модуль состоит из трех вкладок: «Настройки», «Настройки чтения» и
«Параметры загрузки».
Вкладка «Настройки» аналогична одноименной вкладке в модуле «Отправить
письмо», с одним существенным отличием - в данном модуле предоставляется
выбор протокола отправки: IMAP или POP3. Так же отсутствует поле «Доменное имя»,
так как для считывания почты оно не требуется.
При выборе соответствующего протокола и его настроек, поля «Хост»,
«Порт» и «Безопасность» заполняются автоматически (кроме режима
«Пользовательские настройки»).
<center><img src="\media\image254.png" style="width:3.50034in;height:4.99627in" /></center>
<center>Рис. 8. Окно модуля с примером авто-заполнения полей</center>
#### Вкладка «Настройки чтения»
Вкладка «Настройки чтения» представляет собой набор полей, которые
заполняются в зависимости от того, какие письма следует считать.
<center><img src="\media\image255.png" style="width:3.60271in;height:5.15757in" /></center>
<center>Рис. 9. Вкладка «Настройка чтения»</center>
**Поле «Переменная».** В поле ожидается ввод названия переменной, в
которую будет внесена информация о считанных письмах. В программе это
поле будет представлено списком объектов, имеющих шесть полей:
1. Subject тема письма;
2. Body тело письма, его основной текст;
3. Sender отправитель;
4. Receivers получатели, перечисленные через запятую;
5. Attachments список путей до скачанных вложений;
6. Date дата получения письма;
7. Id уникальный идентификатор письма.
Примеры работы с переменными
- v.mails\[2\].Attachments\[0\] получение пути первого вложения
третьего считанного письма:
<center><img src="\media\image256.png" style="width:5.58442in;height:1.55168in" /></center>
<center>Рис. 10. Пример получения пути до первого вложения второго письма</center>
- v.mails\[3\].Subject получение темы четвертого скачанного
сообщения:
<center><img src="\media\image257.png" style="width:3.98701in;height:1.86121in" /></center>
<center>Рис. 11. Пример получения темы первого письма</center>
**Поле «Скачивать вложения в папку»** предназначено для ввода пути до
папки, в которую загрузятся все вложения считанных писем. Если оставить
поле пустым, то файлы будут загружаться во временную директорию
компьютера.
**Поле «Новая папка для каждого письма»** позволяет сохранять вложения
из каждого письма в свою отдельную папку для того, чтобы файлы, имеющие
одинаковые названия, но содержащиеся в разных письмах, не перетирали
друг друга. При скачивании вложений во временную системную папку
компьютера галочка является обязательной.
**Флажок «Только непрочитанные»** позволяет настроить считывание только
новых писем. *Доступно только для протокола IMAP.*
**Флажок «Отмечать как прочитанные»** позволяет после считывания
устанавливать пометку о прочтении письма. *Доступно только для протокола
IMAP*.
**Поле «Читать из папки»** предназначено для настройки конкретной папки
в почтовом ящике, из которой следует считывать письма. По умолчанию,
письма считываются из папки «Входящие». *Доступно только для протокола
IMAP.*
**Поле «Фильтр по отправителям»** позволяет искать сообщения,
отправленные от одного из указанных отправителей. Перечислить всех можно
через запятую, либо подав в это поле переменную-список, содержащую
отправителей.
**Поле «Фильтр по получателям»** позволяет искать сообщения, в которых
присутствуют указанные получатели. Перечислить всех можно через запятую,
либо подав в это поле переменную-список, содержащую получателей.
*Доступно только для протокола IMAP.*
**Поле «Фильтр по теме сообщений»** предназначено для настройки фильтра
по теме сообщений. Если необходимо скачать письма с темой, содержащей
или не содержащей определенную строку, то следует выбрать одноименную
операцию в выпадающем списке и вписать нужную строку в появившемся поле
(рисунок 12). *Доступно только для протокола
IMAP.*
<center><img src="\media\image258.png" style="width:4.20909in;height:0.85417in" /></center>
<center>Рис. 12. Фильтр по теме сообщений</center>
**Поле «Фильтр по дате»** предназначено для настройки фильтрации
считывания писем по дате. При указании значения в данном поле, робот
будет считывать только те сообщения, которые удовлетворяют заданному
условию.
Доступны следующие методы фильтрации:
- за определенную дату «На дату»;
- начиная с какой-либо даты, включая её «С даты»;
- все письма, до какой-либо даты, включая её «До даты»;
- «Между датами».
После выбора метода фильтрации под полем «Фильтр по дате» появится одно
или два поля для внесения в них нужных значений в формате ДД.ММ.ГГГГ.
*Доступно только для протокола IMAP.*
#### Вкладка «Параметры загрузки»
С помощью данной вкладки можно ограничить информацию, скачиваемую с
почтового сервера, для уменьшения затрачиваемых ресурсов. По умолчанию
скачивается вся доступная информация.
Доступно следующее разграничение для скачивания:
- Загрузка информации об отправителе, получателях, теме и дате
сообщения (шапка письма);
- Загрузка только текста сообщения;
- Загрузка вложений (по умолчанию так же скачивается текст сообщения);
- Загрузка только даты сообщения.
<center><img src="\media\image259.png" style="width:2.90833in;height:4.16351in" /></center>
<center>Рис. 13. Вкладка «Параметры загрузки»</center>
С помощью данной функции можно загрузить только, например, «шапки»
писем, отобрать из них необходимые, и догрузить по ним всю информацию с
помощью модуля «Действия над письмами», который будет описан в следующей
главе.
### Включение IMAP и POP3 протоколов
1. Яндекс
1. IMAP
> Для использования протокола IMAP в почтовой службе Яндекс необходимо
> перейти в настройки почты (1), затем «Почтовые программы» (2) и
> разрешить доступ к почтовому ящику с помощью почтовых клиентов с
> сервера imap.yandex.ru (3), способы авторизации по портальному
> паролю (4).
<center><img src="\media\image260.png" style="width:6.43284in;height:2.81862in" /></center>
<center>Рис. 14. Включение IMAP протокола в Яндекс</center>
Если настройки «Портальный пароль» нет, значит в вашем аккаунте
предусмотрено использование паролей приложений, которые для работы
Lexema-RPA Studio необходимо выключить. Для этого перейдите в управление
аккаунтом - «Пароли и авторизация» - «Пароли приложений» - «Выключить
пароли приложений».
<center><img src="\media\image261.png" style="width:6.69306in;height:1.91319in" /></center>
<center>Рис. 15. Пароли приложений в настройках аккаунта</center>
<center><img src="\media\image262.png" style="width:5.30208in;height:2.04448in" /></center>
<center>Рис. 16. Выключение паролей приложения</center>
Затем вернитесь на страницу с включением настроек почтовых программ и
установите галочку напротив «Портального пароля», как это изображено на
рисунке 14.
2. POP3
Для включения протокола POP3 необходимо войти в те же настройки, что и
при включении протокола IMAP: «Настройки» (1) «Почтовые программы» (2)
- разрешить доступ к почтовому ящику с помощью почтовых клиентов с
свервера pop.yandex.ru (3).
<center><img src="\media\image263.png" style="width:6.34328in;height:2.78926in" /></center>
<center>Рис. 17. Включение протокола POP3 в Яндекс</center>
2. GMail
1. IMAP
Для включения IMAP протокола в почтовой службе GMail необходимо перейти
в настройки почты (1), затем выбрать пункт «Пересылка и POP/IMAP» (2) -
«Доступ по IMAP» и затем в «Состоянии» включить IMAP (3):
<center><img src="\media\image264.png" style="width:6.80756in;height:3.38542in" /></center>
<center>Рис. 18. Включение протокола IMAP в Gmail</center>
2. POP3
Аналогично проводится включение протокола POP3: настройки (1)
«Пересылка и POP/IMAP» (2) - «Доступ по протоколу POP» - «Включить POP
для всех писем» (3):
<center><img src="\media\image265.png" style="width:6.69306in;height:1.90556in" /></center>
<center>Рис. 19. Включение POP3 протокола в Gmail</center>
## Модуль «Действия над письмами»
С помощью данного модуля можно переносить уже считанные письма в другие
папки в почте, удалять письма с сервера и догружать информацию. Для
использования модуля предварительно необходимо получить письма с помощью
модуля «Считать письма».
### Интерфейс модуля
Интерфейс модуля состоит из двух вкладок «Настройки» и «Действие».
#### Вкладка «Настройки»
Вкладка настроек не отличается от аналогичной вкладки в модуле «Считать
письма», но доступен только один протокол IMAP. При выборе в поле
«Настройки» необходимой почтовой службы, поля «Хост», «Порт» и «SSL»
заполнятся автоматически, при пользовательских настройках их необходимо
заполнять вручную.
<center><img src="\media\image266.png" style="width:4.0816in;height:3.86678in" /></center>
<center>Рис. 20. Вкладка «Настройки» модуля «Переместить письмо»</center>
#### Вкладка «Действие»
На данной вкладке производится настройка действия, совершаемого над
сообщением.
<center><img src="\media\image267.png" style="width:3.9563in;height:3.74807in" /></center>
<center>Рис. 21. Вкладка «Параметры перемещения»</center>
**Поле «Действие»** позволяет выбрать одно из трёх доступных действий
«Переместить письмо», «Удалить письмо» и «Загрузить всю информацию из
письма».
В **поле «Id письма»** вносится id письма, над которым производится
действие, который может быть получен с помощью модуля «Считать письма».
Может быть передано несколько идентификаторов через запятую, либо
переменная-список, содержащая их.
**Поле «Папка»** доступно только для действия «Переместить письмо». В
него указывается название папки на почте, в которую должно быть
перемещено письмо.
**Поле «Переменная»** доступно только для действия «Загрузить всю
информацию из письма», в которое вводится название переменной, которая
будет являться результирующей для выполнения действия.

196
docs/Telegram.md Normal file
View File

@ -0,0 +1,196 @@
# МОДУЛЬ «TELEGRAM»
Модуль «Telegram» позволяет использовать мессенджер Telegram в роботах
с помощью него можно считывать и отправлять сообщения, вложения. Можно
управлять ботом, оповещать пользователей о начале или окончании работы
робота и многое другое.
Следует заметить, что на данный момент модуль находится в стадии
разработки и работает исключительно из самой программы (не работает
через оркестратор).
## Основные моменты модуля
Интерфейс модуля состоит из блока настроек, области добавления команды,
таблицы со списком команд и кнопок «Сохранить»/«Отмена».
<center><img src="\media\image306.png" style="width:6.69306in;height:5.04236in" /></center>
<center>Рис. 1. Окно модуля «Telegram»</center>
### Настройка модуля
Блок настроек состоит из двух полей и кнопки. Данный модуль отвечает за
авторизацию в мессенджере.
В **поле «Номер телефона»** должен быть введен номер телефона, на
котором зарегистрирован аккаунт. Номер должен начинаться с кода страны,
неважно, в каком формате (например, «8», «+7» или просто «7»). Если
необходимо войти под учетной записью telegram-бота, то в это поле
вписывается его токен, который выдается telegramом при его регистрации.
После заполнения номера телефона (если это не бот), требуется нажать
кнопку **«Запросить код»**. В этот момент по этому номеру телефона в
telegram придет код подтверждения авторизации, как если бы вы входили с
другого устройства. Этот код необходимо ввести в **поле «Код
авторизации»**.
*Обратите внимание*, что после того, как вы ввели код авторизации в
поле, вы еще **не авторизовались в telegram**. Авторизация произойдет в
момент запуска робота. В этот момент в telegram поступит сообщение, что
был совершен вход в аккаунт. Если вы ввели код, а затем сохранили проект
и вышли, при следующем входе и запуске робота велика вероятность того,
что код авторизации уже не действителен, так как у него есть свой срок
действия (несколько минут). То есть, если вы решили подключить telegram,
то перед сохранением проекта, запустите его хотя бы на одном тестовом
действии (считать сообщение или отправить его своему знакомому).
### Функциональность модуля
#### Создание команды
Команда создается следующим образом выбирается необходимое действие,
заполняются остальные поля нажимается кнопка «Добавить», по которой
команда добавляется в «Список команд».
#### Редактирование команды
Для того чтобы отредактировать команду, выделите её в списке команд
щелчком левой кнопкой мыши, после чего все поля в области добавления
команд заполнятся в соответствии с выбранной командой. Измените те поля,
которые требуется отредактировать, и, убедившись, что в списке команд
все еще выбрано нужное действие, нажмите на кнопку «Редактировать».
#### Удаление команды
Для удаления команды необходимо выбрать её в списке команд и нажать на
кнопку «Удалить».
#### Отключение/включение команды
Созданные команды можно отключать и обратно включать. Отключенные
команды не будут выполняться. Сделать это можно, нажав на
соответствующую отключаемой команде строку правой кнопкой мыши и выбрав
«Отключить/включить».
<center><img src="\media\image307.png" style="width:6.75581in;height:0.98958in" /></center>
<center>Рис. 2. Контекстное меню команды</center>
#### Выбор файла/папки
Кнопка
<img src="\media\image196.png" style="width:0.26038in;height:0.23955in" />
в поле «Вложения» открывает стандартный диалог выбора файла.
#### Изменение порядка действий
Для изменения порядка действий предусмотрены кнопки «Поднять» и
«Опустить». Кнопки расположены справа сверху от списка команд.
Изменение порядка действий бывает необходимо, когда требуется добавить
действие, которое не предусмотрели сразу и не внесли в список команд. В
таком случае вы можете добавить действие стандартным способом, а затем
переместить его.
#### Сохранение и выход
После добавления всех необходимых действий в список команд, модуль
необходимо сохранить. Делается это по кнопке «Сохранить» в правом нижнем
углу модуля.
<center><img src="\media\image308.png" style="width:4.70833in;height:3.53931in" /></center>
<center>Рис. 3. Кнопка «Сохранить»</center>
## Описание действий
#### Отправить сообщение
Данное действие позволяет отправить сообщение пользователю или в чат.
В поле «Пользователь» указывается username пользователя или его номер
телефона или полное название чата, в который необходимо отправить
сообщение. Чтобы узнать username пользователя, необходимо открыть
подробную информацию о нём.
Чтобы отправить несколько вложений, необходимо разделить путь до каждого
вложения символом «;». Каждое вложение будет отправлено отдельным
сообщением. Если при этом текст сообщения так же заполнен, то **каждое
вложение будет отправлено с этим текстом сообщения**. Если нужно
отправить и текст, и несколько вложений, лучше разделить это на две
отдельные команды отправку вложений и отправку текста.
<center><img src="\media\image309.png" style="width:6.16667in;height:1.5004in" /></center>
<center>Рис. 4. Пример заполнения действия «Отправить сообщение»</center>
#### Получить список всех диалогов
С помощью этого действия можно получить список всех диалогов с
пользователями. Настройка действия состоит только из указания
переменной, в которую запишется результат выполнения действия.
Переменная будет являться массивом объектов с полями: Username,
FirstName, LastName и Phone, которые будут заполняться соответствующими
полями из профиля Telegram текущего диалога.
<center><img src="\media\image310.png" style="width:3.48958in;height:1.66637in" /></center>
<center>Рис. 5. Пример заполнения действия «Получить список всех диалогов»</center>
Результат заполнения переменной представлен на следующем рисунке.
<center><img src="\media\image311.png" style="width:5.39583in;height:3.97661in" /></center>
<center>Рис. 6. Пример заполнения переменной в результате выполнения действия
«Получить список всех диалогов»</center>
#### Получить список всех чатов и каналов
С помощью этого действия можно получить список всех чатов и каналов, в
которых присутствует авторизованный аккаунт. Настройка действия состоит
только из указания переменной, в которую запишется результат выполнения
действия.
Переменная будет являться массивом объектов с полями: Id и Title. По
любому из этих параметров затем можно отправлять сообщения в чат или
канал (если авторизованный пользователь имеет соответствующие права).
<center><img src="\media\image312.png" style="width:3.5087in;height:1.65353in" /></center>
<center>Рис. 7. Пример заполнения действия «Получить список всех чатов и
каналов»</center>
#### Получить список чатов с непрочитанными сообщениями
С помощью этого действия можно получить список всех чатов, в которых у
авторизованного пользователя есть непрочитанные сообщения. Настройка
действия состоит только из указания переменной, в которую запишется
результат выполнения действия.
Переменная будет являться массивом объектов с полями: Name и
UnreadCount, Name будет содержать название чата, UnreadCount
количество непрочитанных сообщений в чате.
<center><img src="\media\image313.png" style="width:3.5087in;height:1.65294in" /></center>
<center>Рис. 8. Пример заполнения действия «Получить список чатов с
непрочитанными сообщениями»</center>
#### Получить непрочитанные сообщения от пользователя
С помощью этого действия можно получить список всех непрочитанных
сообщений от определенного пользователя. Для настройки действия
необходимо заполнить поле «Пользователь» (username/телефон
пользователя), из диалога с которым нужно получить непрочитанные
сообщения, и поле «Переменная», в которую запишется результат действия.
Переменная будет являться массивом объектов с полями: Massge и Date, где
в поле Message лежит текст сообщения, в Date дата и время в формате
дд.мм.гггг ч.мм.сс.
<center><img src="\media\image314.png" style="width:3.50241in;height:1.67551in" /></center>
<center>Рис. 9. Пример заполнения действия «Получить непрочитанные сообщения
от пользователя»</center>

View File

@ -1,13 +1,174 @@
# <H1 align="center">Модуль «Обработка текста»</h1>
# МОДУЛИ ДЛЯ РАБОТЫ С ТЕКСТОМ
<p> Модуль «Обработка текста» предлагает несколько методов сравнения текста. В некоторых задачах требуется знание о том, как сильно различен текст между эталонным и указанным. Это задачи, относящиеся к компьютерной лингвистике и искусственному интеллекту.</p>
## Модуль «Обработка текста»
## Интерфейс модуля
<p> Окно модуля состоит из части составления команды, кнопок управления командами и списком команд в виде таблицы. Часть составления команды состоит из следующих полей: выпадающий список «Действие» с доступным набором методов анализа текста, два поля «Строка 1» и «Строка 2», предназначенные для ввода двух строк текста или переменных, содержащих текст, и поле «Переменная результат» - для названия переменной, в которую будет помещен результат работы модуля.
<H1 align="center">![Screenshot](img/TA_1.png)</h1>
<p> По кнопке «Добавить» созданная команда поместится в таблицу «Список команд». Для редактирования команды из списка нужно выбрать её в таблице, изменить необходимые поля и нажать на кнопку «Редактировать». Для удаления команды нужно выбрать ее в списке и нажать на кнопку «Удалить». С помощью стрелочек в углу таблицы можно менять команды местами, аналогично тому, как это происходит в модуле Excel (Часть II).
<p> Методы анализа текста
<p> В модуле предложены следующие методы анализа текста:
<p> 1. Расстрояние Левенштейна рассчитывает разницу между двумя строками. Например «Lexema RPA» и «Lexema SR» отличаются на 3 символа слова «Lexema» совпадают полностью, остальные символы различны, то есть результат, записанный в переменную, будет равен 3;
<p> 2. 3-граммы метод, основанный на работе с n-граммами, в нашем случае n=3 оценивается схожесть каждых 3 символов. Чем больше число (до 1), тем большую схожесть имеют строки. В примере «Lexema RPA» и «Lexema SR» результатом будет число 0,52.
<p> 3. Сходство Джаро-Винклера мера схожести строк для измерения расстояния между двумя последовательностями символов. Чем меньше расстояние Джаро-Винклера для двух строк, тем больше сходства имеют эти строки друг с другом. Для примера «Lexema RPA» и «Lexema SR» результатом будет число 0,5.
Модуль «Обработка текста» предлагает несколько методов сравнения текста.
В некоторых задачах требуется знание о том, как сильно различен текст
между эталонным и указанным. Это задачи, относящиеся к компьютерной
лингвистике и искусственному интеллекту.
### Интерфейс модуля
Окно модуля состоит из части составления команды, кнопок управления
командами и списком команд в виде таблицы. Часть составления команды
состоит из следующих полей: выпадающий список «Действие» с доступным
набором методов анализа текста, два поля «Строка 1» и «Строка 2»,
предназначенные для ввода двух строк текста или переменных, содержащих
текст, и поле «Переменная результат» - для названия переменной, в
которую будет помещен результат работы модуля.
<center><img src="\media\image301.png" style="width:4.33544in;height:4.49904in" /></center>
<center>Рис. 1. Окно модуля</center>
По кнопке «Добавить» созданная команда поместится в таблицу «Список
команд». Для редактирования команды из списка нужно выбрать её в
таблице, изменить необходимые поля и нажать на кнопку «Редактировать».
Для удаления команды нужно выбрать ее в списке и нажать на кнопку
«Удалить». С помощью стрелочек в углу таблицы можно менять команды
местами.
### Методы анализа текста
В модуле предложены следующие методы анализа текста:
1. **Расстрояние Левенштейна** рассчитывает разницу между двумя
> строками. Например «Lexema RPA» и «Lexema SR» отличаются на 3
> символа слова «Lexema» совпадают полностью, остальные символы
> различны, то есть результат, записанный в переменную, будет равен
> 3;
2. **3-граммы** метод, основанный на работе с n-граммами, в нашем
> случае n=3 оценивается схожесть каждых 3 символов. Чем больше
> число (до 1), тем большую схожесть имеют строки. В примере «Lexema
> RPA» и «Lexema SR» результатом будет число 0,52.
3. **Сходство Джаро-Винклера** мера схожести строк для измерения
> расстояния между двумя последовательностями символов. Чем меньше
> расстояние Джаро-Винклера для двух строк, тем больше сходства
> имеют эти строки друг с другом. Для примера «Lexema RPA» и «Lexema
> SR» результатом будет число 0,5.
## Модуль «Распознавание текста»
Модуль «Распознавание текста» предназначен для считывания текста с
указанного изображения и представления полученного текста в виде
объекта.
### Интерфейс модуля
Модуль состоит из двух полей «Путь к файлу» и «Переменная», и флажка
«Скриншот».
<center><img src="\media\image302.png" style="width:4.07792in;height:1.9344in" /></center>
<center>Рис. 2. Окно модуля</center>
**Поле «Путь к файлу».** Заполняется путем до файла, который необходимо
распознать. Это может быть картинка или PDF-документ.
**Поле «Переменная».** Заполняется названием переменной, начиная с
символов «v.», в которую будет помещен результат распознавания.
**Флажок «Скриншот»**. Флажок ставится, когда необходимо распознать
скриншот экрана в момент работы данного модуля в процессе выполнения
робота. В таком случае поле «Путь к файлу» указывать не нужно.
Структура результирующего объекта массив листов документа, каждый
элемент которого объект, состоящий из двух полей number и words.
Поле number содержит в себе номер листа документа (с 1-цы), поле words
представляет собой массив объектов всех слов со страницы. Структура
объекта слова value, x, y, page. В value содержится слово, в x и y
координаты слова x и y соответственно, в page номер страницы, на
котором содержится слово.
**ПРИМЕР.**
Пусть имеется следующее изображение формата jpeg. Подадим его в модуль
распознавания текста.
<center><img src="\media\image303.png" style="width:3.66621in;height:1.46857in" /></center>
<center>Рис. 3. Изображение, поданное на распознавание текста</center>
Результат, записанный в переменную при распознавании изображения:
<center><img src="\media\image304.png" style="width:4.46169in;height:4.15584in" /></center>
<center>Рис. 4. Пример заполнения переменной</center>
Результат содержит информацию о страницах, координате и значении каждого
слова изображения.
Пример получения некоторого слова со второго листа документа:
v.text\[1\].words\[100\].value, где v.text переменная, в которую
записан результат работы модуля, \[1\] номер листа в документе
(нумерация по переменным-спискам начинается с 0), \[100\] 101-ое слово
в файле, value само значение слова.
## Модуль «Распознавание текста ABBYY»
Модуль «Распознавание текста ABBYY» работает, в основном, с PDF-файлами.
В отличие от предыдущего модуля имеет более высокую точность и скорость
работы.
Результат распознавания записывается в переменную-объект, в которой
можно обратиться к конкретной строке, таблице, слову.
### Интерфейс модуля
Данный модуль состоит из двух полей «Путь к PDF-файлу» и «Переменная».
<center><img src="\media\image305.png" style="width:4.37819in;height:1.67675in" /></center>
<center>Рис. 5. Окно модуля</center>
**Поле «Путь к PDF файлу».** В поле указывается путь до распознаваемого
файла/картинки.
**Поле «Переменная»**. В поле вводится имя переменной, начиная с
символов «v.», в которую будет занесен результат распознавания.
PDF файл может состоять из нескольких страниц, поэтому переменная будет
являться списком страниц. Например, v.text\[0\] первая распознанная
страница файла.
Весь распознанный текст делится на две части основной текст и
табличная часть.
### Основной текст
Для обращения к тексту, необходимо обращаться к полю **rows\_word\[0\]**
(в данной записи \[0\] означает, что идет обращение к первой текстовой
части, в других версиях ABBYY возможно использование большего разбиения
текста). Затем указывается, как отдельное поле, номер строки и, через
точку, номер слова в строке **v.text\[0\].rows\_word\[0\].2.4**.
Затем, после выбора нужного слова, можно получить его значение,
обратившись к полю value **v.text\[0\].rows\_word\[0\].2.4.value**
такая строка выдаст значение слова, находящегося на первой странице
распознанного документа, во второй строке и является четвертой слева.
### Табличная часть
Для обращения к таблице, необходимо обращаться к полю **tables\[0\]**
(\[0\] нужен для корректной работы, его смысловая часть заложена в
продукте ABBYY). Затем отдельным полем вводится номер таблицы, так как
на странице их может быть несколько **v.text\[0\].tables\[0\].0**.
После этого вводится номер ячейки в таблице в виде одного числа. Если вы
хотите найти ячейку и знаете её номер колонки и строки, то можно
получить индекс рассматриваемой ячейки переменной в виде
«строка,колонка», обратившись к полю index
**v.text\[0\].tables\[0\].0.5.index** (5 пятая ячейка в массиве
распознанных ячеек). Для получения значения из ячейки нужно обратиться к
её значению, а затем либо собрать всю строку, записанную в ячейку, либо
обратиться к конкретному слову по его порядковому номеру
**v.text\[0\].tables\[0\].0.5.value.1.value** значение второго слова
из пятой ячейки первой таблицы с первой страницы распознанного текста.
Для получения количества ячеек в таблице используйте следующую
конструкцию **v.text\[0\].tables\[0\].0.length**, то есть используйся
метод «length» после того поля, после которого идет поле, количество
элементов которого необходимо узнать.
Для получения количества слов в ячейке используйте
**v.text\[0\].tables\[0\].0.5.length**.

View File

@ -1,46 +1,167 @@
# <H1 align="center">Модуль «Word»</h1>
# Модуль «Word»
<p> Модуль Word обеспечивает работу с документами Microsoft Word пакета Microsoft Office. С помощью модуля можно создавать и редактировать документы с популярными текстовыми расширениями, такими как .doc, .docx, .html.</p>
## Основные моменты модуля
## Интерфейс окна
<p> Окно модуля состоит из трех основных частей, первая часть, содержащая в себе поля для создания команд и кнопок управления ими, вторая таблица «Список команд», которая будет содержать все добавленные действия для работы с файлом, и третья окно с предварительным просмотром загруженного файла. </p>
<H1 align="center">![Screenshot](img/word_1.png)</h1>
<p> Окно предварительного просмотра позволяет просмотреть весь загруженный документ в том же виде, в котором он виден в самом Microsoft Word.
<p> Раздел настройки модуля состоит из нескольких полей, доступность которых варьируется от необходимых для работы действий. Три первых поля являются основными и доступными всегда, причем обязательными являются только два из них:
<p> • «Путь к файлу» - поле с кнопкой, открывающей диалог выбора файла. Данное поле предназначено для выбора существующего файла, с которым предстоит далее работать, либо для введения в него пути, по которому необходимо будет создать новый файл. Обязательное поле;
<p> • «Действие» - выпадающий список, состоящий из действий, которые можно применить к загруженному файлу или создать новый с указанным путем в поле «Путь к файлу». Обязательное поле;
<H1 align="center">![Screenshot](img/word_2.png)</h1>
<p> • «Описание» - поле, необходимое для удобной навигации по действиям, заполняется комментарием разработчика о создаваемом действии. Необязательное поле.
<p> Все возможные действия будут описаны в следующей главе.
<p> Для добавления действия в таблицу «Список команд» необходимо воспользоваться кнопкой «Добавить» под полями настройки действия.
<H1 align="center">![Screenshot](img/word_3.png)</h1>
<p> После нажатия на кнопку созданное действие добавится в «Список команд». Для редактирования существующей команды или её удаления, необходимо выбрать строку с командой в таблице команд и нажать «Удалить» для её удаления, или отредактировать необходимые поля действия и затем нажать «Редактировать».
<p> Для того, чтобы поменять существующие действия местами, необходимо выбрать одно действие и нажать на необходимые кнопки «Поднять» или «Опустить», которые расположены в правом углу над таблицей с командами.
<H1 align="center">![Screenshot](img/word_4.png)</h1>
## Действия модуля
### Создать файл
<p> Данное действие создает файл с указанным путем, именем и расширением. Для настройки действия необходимо заполнить поле «Путь к файлу» строкой типа «Путь до файла/Название файла.требуемое расширение», например «C:/Reports/Documents/Test.docx».
<H1 align="center">![Screenshot](img/word_5.png)</h1>
### Получить текст
<p> Действие «Получить текст» позволяет считать весь текст из загруженного файла в переменную. Для настройки действия появляется еще одно поле помимо стандартных трёх «Переменная», в которую записывается название переменной (с символа «@»), в которую будет записан считанный текст.
<H1 align="center">![Screenshot](img/word_6.png)</h1>
### Записать текст
<p> С помощью действия можно записать имеющийся текст, например, считанный из другого текстового файла, в текущий загруженный файл. Для настройки обязательно заполнение поля «Значение», куда вводится либо переменная (с символа «@»), содержащая текст, либо сам текст. Обратите внимание, что текст, введенный данным действием, полностью затрет существующий текст в файле.
<H1 align="center">![Screenshot](img/word_7.png)</h1>
### Добавить текст
<p> Данное действие позволяет добавлять текст к существующему с применением необходимого форматирования. Для редактирования открываются все поля модуля. Далее будет подробно описано каждое поле, отличное от основных трёх.
<p> «После символа №» - данное поле ожидает ввод целого числа, обозначающего, после какого по счету символа необходимо вставить текст (с учетом пробелом и символов переноса строки или разрыва страницы).
<H1 align="center">![Screenshot](img/word_8.png)</h1>
<p> «Размер текста» - аналогичен полю «Размер шрифта» в Microsoft Word устанавливает размер добавляемого текста. Ожидается ввод целого или десятичного числа.
<p> «Шрифт» - выпадающий список, содержащий в себе набор стандартных шрифтов пакета Micrisift Office устанавливает шрифт добавляемого текста.
<p> «Цвет текста» и «Цвет фона» поля с иконкой палетки сбоку, по нажатию на которые открывается диалог выбора цвета устанавливают цвет добавляемого текста и его фона соответственно. Вводится в формате цвета HEX шестнадцатеричное представление RGB (без символа # в начале).
<p> «Текст» - поле, в которое указывается добавляемый текст или переменная, которая его содержит.
### Добавить перенос строки
<p> Данное действие добавляет символ переноса строки в файл. Не требует заполнения дополнительных полей.
<H1 align="center">![Screenshot](img/word_9.png)</h1>
### Удалить текст
<p> С помощью данного действия можно удалить текст, зная количество символов в нем и его расположение. Для настройки необходимо ввести в поле «После символа №, количество» два целых числа через запятую, где первое число номер символа, после которого необходимо удалить текст, а второе количество символов в удаляемом тексте.
<H1 align="center">![Screenshot](img/word_10.png)</h1>
### Экспорт
<p> С помощью данного действия можно менять расширение загруженного файла. Для настройки действия нужно выбрать из выпадающего списка «Тип» тип файла, в который нужно экспортировать, и указать путь с названием и расширением будущего файла в поле «Путь выходного файла».
<H1 align="center">![Screenshot](img/word_11.png)</h1>
Модуль Word обеспечивает работу с документами Microsoft Word пакета
Microsoft Office. С помощью модуля можно создавать и редактировать
документы с популярными текстовыми расширениями, такими как .doc, .docx,
.html.
### Интерфейс окна
Окно модуля состоит из трех основных частей, первая часть, содержащая
в себе поля для создания команд и кнопок управления ими, вторая
таблица «Список команд», которая будет содержать все добавленные
действия для работы с файлом, и третья окно с предварительным
просмотром загруженного файла.
<center><img src="\media\image163.png" style="width:6.69306in;height:3.95486in" /></center>
<center>Рис. 1. Интерфейс окна</center>
Окно предварительного просмотра позволяет просмотреть весь загруженный
документ в том же виде, в котором он виден в самом Microsoft Word.
Раздел настройки модуля состоит из нескольких полей, доступность которых
варьируется от необходимых для работы действий. Три первых поля являются
основными и доступными всегда, причем обязательными являются только два
из них:
- «Путь к файлу» - поле с кнопкой, открывающей диалог выбора файла.
Данное поле предназначено для выбора существующего файла, с которым
предстоит далее работать, либо для введения в него пути, по которому
необходимо будет создать новый файл. Обязательное поле;
- «Действие» - выпадающий список, состоящий из действий, которые можно
применить к загруженному файлу или создать новый с указанным путем в
поле «Путь к файлу». Обязательное поле;
<center><img src="\media\image164.png" style="width:3.7913in;height:1.43435in" /></center>
<center>Рис. 2. Перечень доступных действий модуля</center>
- «Описание» - поле, необходимое для удобной навигации по действиям,
заполняется комментарием разработчика о создаваемом действии.
Необязательное поле.
Все возможные действия будут описаны в следующей главе.
Для добавления действия в таблицу «Список команд» необходимо
воспользоваться кнопкой «Добавить» под полями настройки действия.
<center><img src="\media\image165.png" style="width:3.45054in;height:3.72179in" /></center>
<center>Рис. 3. Расположение кнопки «Добавить»</center>
После нажатия на кнопку созданное действие добавится в «Список команд».
Для редактирования существующей команды или её удаления, необходимо
выбрать строку с командой в таблице команд и нажать «Удалить» для её
удаления, или отредактировать необходимые поля действия и затем нажать
«Редактировать».
Для того, чтобы поменять существующие действия местами, необходимо
выбрать одно действие и нажать на необходимые кнопки «Поднять» или
«Опустить», которые расположены в правом углу над таблицей с командами.
<center><img src="\media\image166.png" style="width:4.26957in;height:1.40999in" /></center>
<center>Рис. 4. Кнопки «Поднять/Опустить» и выбор строки в таблице</center>
## Действия модуля
#### Создать файл
Данное действие создает файл с указанным путем, именем и расширением.
Для настройки действия необходимо заполнить поле «Путь к файлу» строкой
типа «*Путь до файла*/*Название файла*.*Требуемое расширение*»,
например, «C:/Reports/Documents/Test.docx».
<center><img src="\media\image167.png" style="width:4.15652in;height:1.03714in" /></center>
<center>Рис. 5. Пример заполнения действия «Создать файл»</center>
#### Получить текст
Действие «Получить текст» позволяет считать весь текст из загруженного
файла в переменную. Для настройки действия появляется еще одно поле
помимо стандартных трёх «Переменная», в которую записывается название
переменной (с символов «v.»), в которую будет записан считанный текст.
<center><img src="\media\image168.png" style="width:4.44156in;height:2.63482in" /></center>
<center>Рис. 6. Пример настройки действия «Получить текст»</center>
#### Записать текст
С помощью действия можно записать имеющийся текст, например, считанный
из другого текстового файла, в текущий загруженный файл. Для настройки
обязательно заполнение поля «Значение», куда вводится либо переменная (с
символов «v.»), содержащая текст, либо сам текст. Обратите внимание, что
текст, введенный данным действием, полностью затрет существующий текст в
файле.
<center><img src="\media\image169.png" style="width:3.89565in;height:2.26509in" /></center>
<center>Рис. 7. Пример настройки действия «Записать текст»</center>
#### Добавить текст
Данное действие позволяет добавлять текст к существующему с применением
необходимого форматирования. Для редактирования открываются все поля
модуля. Далее будет подробно описано каждое поле, отличное от основных
трёх.
«После символа №» - данное поле ожидает ввод целого числа,
обозначающего, после какого по счету символа необходимо вставить текст
(с учетом пробелом и символов переноса строки или разрыва страницы).
<center><img src="\media\image170.png" style="width:4.79221in;height:2.85141in" /></center>
<center>Рис. 8. Пример настройки действия «Добавить текст»</center>
«Размер текста» - аналогичен полю «Размер шрифта» в Microsoft Word
устанавливает размер добавляемого текста. Ожидается ввод целого или
десятичного числа.
«Шрифт» - выпадающий список, содержащий в себе набор стандартных шрифтов
пакета Micrisift Office устанавливает шрифт добавляемого текста.
«Цвет текста» и «Цвет фона» поля с иконкой палетки сбоку, по нажатию
на которые открывается диалог выбора цвета устанавливают цвет
добавляемого текста и его фона соответственно. Вводится в формате цвета
HEX шестнадцатеричное представление RGB.
«Текст» - поле, в которое указывается добавляемый текст или переменная,
которая его содержит.
#### Добавить перенос строки
Данное действие добавляет символ переноса строки в файл. Не требует
заполнения дополнительных полей.
<center><img src="\media\image171.png" style="width:3.65217in;height:2.14382in" /></center>
<center>Рис. 9. Пример настройки действия добавление перехода на новую строку</center>
#### Удалить текст
С помощью данного действия можно удалить текст, зная количество символов
в нем и его расположение. Для настройки необходимо ввести в поле «После
символа №, количество» два целых числа через запятую, где первое число
номер символа, после которого необходимо удалить текст, а второе
количество символов в удаляемом тексте.
<center><img src="\media\image172.png" style="width:4.05217in;height:1.35332in" /></center>
<center>Рис. 10. Пример настройки действия «Удалить текст»</center>
#### Экспорт
С помощью данного действия можно менять расширение загруженного файла.
Для настройки действия нужно выбрать из выпадающего списка «Тип» тип
файла, в который нужно экспортировать, и указать путь с названием и
расширением будущего файла в поле «Путь выходного файла».
<center><img src="\media\image173.png" style="width:3.85217in;height:2.27426in" /></center>
<center>Рис. 11. Пример настройки действия «Экспорт»</center>

View File

@ -1,90 +1,344 @@
# <H1 align="center">Модуль «РАБОТА С БРАУЗЕРОМ»</h1>
# МОДУЛЬ «РАБОТА С БРАУЗЕРОМ»
<p> Модуль «Работа с браузером» построен на базе Selenium WebDriver и позволяет реализовывать основные методы работы со страницей браузера открыть вкладку, перейти на вкладку, найти элемент на странице по её ключу и как-то его обработать.</p>
## Основные моменты модуля
## Интерфейс модуля
<p> Окно модуля делится на область создания команды для работы с браузером, группу кнопок управления действиями и таблицу, содержащую список созданных команд. Область создания команды состоит из нескольких полей для заполнения, причем, количество этих полей меняется в зависимости от выбранного действия в поле «Действие». Группа кнопок состоит из трех кнопок «Добавить», «Редактировать» и «Удалить».
<H1 align="center">![Screenshot](img/WB_1.png)</h1>
<p> Создание команды начинается с выбора действия. После его выбора список доступных полей в окне может измениться. Необходимо заполнить поля, требующиеся для выбранного действия и нажать на кнопку «Добавить». Созданное действие отобразится в таблице «Список команд». Для редактирования команды следует выбрать её в списке команд, изменить необходимые поля и нажать «Редактировать». Если при этом нажать на кнопку «Добавить», то будет добавлено новое действие, похожее на то, что было выбрано в списке команд, но с внесенными изменениями. Можно ничего не менять и нажать на кнопку «Добавить», тогда получится полное копирование команды.
<p> Для удаления ненужных команд необходимо выбрать команду в таблице и нажать «Удалить».
<p> Робот будет выполнять все указанные команды последовательно, поэтому для изменения порядка команд в таблице можно воспользоваться стрелочками в правом верхнем углу таблицы. Делается это следующим образом выбирается строка, положение которой необходимо изменить, а затем нажимаются стрелочки вверх или вниз, в зависимости от того, где эта строка должна находиться.
<H1 align="center">![Screenshot](img/WB_2.png)</h1>
<p> Для всех действий некоторые поля остаются неизменными, это все поля для настройки прокси, «Драйвер», «Действие» и «Примечание».
<p> Поле «Драйвер» на данный момент недоступно для редактирования и в нем по умолчанию выбран драйвер для браузера Chrome, но в обозримом будущем этот список планируется дополнять другими браузерами.
<p> Поля «Proxy Server» - «Proxy Password» предназначены для ввода настроек прокси браузера, если это необходимо.
<p> Поле «Действие» — это выпадающий список с перечнем возможных действий этого модуля. Подробнее о них будет рассказываться в следующей главе.
<p> Поле «Примечание» — строка с примечанием к команде.
## Перечень и описание действий
<p> Модуль предлагает использование 7 основных действий перейти на страницу, перезагрузить страницу, перейти назад или вперед, работа со страницей, работа со вкладками и закрыть браузер. Каждое действие требует заполнения определенных полей.
<p> Обратите внимание, что закрытие браузера, открытого с помощью модуля «Работа с браузером», следует осуществлять средствами самого модуля, а не самостоятельно, иначе, если вы закроете браузер сами, а затем попытаетесь продолжить работу с ним с помощью этого модуля, то при каждой попытке запуска робота будет возникать ошибка и придется перезапускать программу.
### Действие «Перейти»
<p> С помощью действия «Перейти» происходит переход на заданную страницу. В области создания команды появляется поле «URL».
<H1 align="center">![Screenshot](img/WB_3.png)</h1>
<p> Если уже открыта какая-либо страница, то браузер перейдет от неё к странице, указанной в поле «URL», то есть исходная страница будет заменена новой. Если браузер еще не был запущен, то он будет открыт с этой страницы.
### Действие «Перезагрузить страницу»
<p> Действие позволяет перезагружать уже открытую страницу. Перед использованием данного действия, убедитесь, что в браузере есть открытая страница.
<p> Действие не имеет никаких дополнительных для настройки полей.
### Действие «Назад»
<p> Действие позволяет выполнять переход к странице, которая была открыта в браузере до текущей.
### Действие «Вперед»
<p> Действие позволяет выполнять переход к странице, которая была открыта в браузере после текущей, если таковая была.
### Действие «Работа со страницей»
<p> Данное действие предоставляет возможность работать с отдельным элементом страницы. Для настройки действия появляются следующие поля: «Тип поиска элемента», «Строка поиска», «Действие на странице», «Переменная», «Ожидание» и «Номер элемента».
<H1 align="center">![Screenshot](img/WB_4.png)</h1>
<p> Поле «Тип поиска элемента» представляет собой выпадающий список с перечнем методов поиска элемента на странице, используется в паре с полем «Строка поиска».
<p> Ниже будут перечислены все типы поиска элемента с примерами заполнения поля «Строка поиска»:
<p> • GetElementsByName поиск элементов по их свойству name.
<H1 align="center">![Screenshot](img/WB_5.png)</h1>
<p> «Строка поиска» для нахождения элемента div-element.
<p> • GetElementsById поиск элементов по их свойству id.
<H1 align="center">![Screenshot](img/WB_6.png)</h1>
<p> «Строка поиска» для нахождения элемента div-element.
<p> • GetElementsByClass поиск элементов по их свойству class.
<H1 align="center">![Screenshot](img/WB_7.png)</h1>
<p> «Строка поиска» для нахождения элемента div-myClass.
<p> • GetElementsByCssSelector поиск элементов по их CSS селектору.
<H1 align="center">![Screenshot](img/WB_8.png)</h1>
<p> «Строка поиска» для нахождения элемента div-div.main.
<p> • GetElementByLinkText поиск элементов-ссылок по их тексту. Ищутся только элементы с полным совпадением.
<H1 align="center">![Screenshot](img/WB_9.png)</h1>
<p> «Строка поиска» нахождения первого элемента a на примере text.
<p> • GetElementsByPartialLinkText - поиск элементов-ссылок по их тексту. Ищутся все элементы, содержащие заданную строку.
<H1 align="center">![Screenshot](img/WB_10.png)</h1>
<p> «Строка поиска» нахождения двух элементов a text
<p> • GetElementsByTagName поиск элементов по их тегу .
<H1 align="center">![Screenshot](img/WB_11.png)</h1>
<p> «Строка поиска» нахождения элемента a a.
<p> • GetElementsByXPath поиск элементов по языку запросов HTML xpath.
<H1 align="center">![Screenshot](img/WB_12.png)</h1>
<p> «Строка поиска» для нахождения элемента div - //div[@class='main'].
<p> Чтобы получить строку xpath для необходимого вам элемента в консоли разработчика в браузере, нужно нажать по этому элементу правой кнопкой мыши в коде копировать XPath:
<H1 align="center">![Screenshot](img/WB_12_1.png)</h1>
<p> Поле «Действие на странице» предлагает выбор действия из выпадающего списка, которое необходимо произвести над найденными элементами. Доступны следующие действия:
<p> • Записать вводит заданный в поле «Переменная» текст (например, после нажатия на определенный элемент для ввода текста);
<p> • Получить text получает значение свойства «text» всех найденных или только выбранного элемента и возвращает результат в виде списка в переменную;
<p> • Отправить нажатие клавиши «ВВОД» («ENTER») применение записанных данных (например, в строке поиска можно ввести какой-либо текст действием «Записать», а затем «Отправить» его);
<p> • Нажать нажатие левой кнопкой мыши на заданный элемент (обязательно заполнение поля «Номер элемента»);
<p> • Навести мышь наведение мыши на конкретно заданный элемент (обязательно заполнение поля «Номер элемента»);
<p> • Получить Property при выборе действия появляется поле «Название Property» - возвращает значение указанного в поле «Название Property» свойства всех найденных элементов или конкретно заданного. Результатом будет являться список;
<p> • Получить CSS свойство при выборе действия появляется поле «Свойство CSS» - возвращает значение указанного в поле «Свойство CSS» свойства всех найденных элементов или конкретно заданного. Результатом будет являться список;
<p> • Получить Attribute при выборе действия появляется поле «Свойство Attribute» - возвращает значение указанного в поле «Свойство Attribute» свойства всех найденных элементов или конкретно заданного. Результатом будет являться список;
<p> • Получить элементы возвращает список указанных элементов для дальнейшей работы с ними;
<p> • Выполнить JavaScript данное действие позволяет выполнить JavaScript код в браузере для получения некоторой информации. Для записи результата выполнения кода в переменную, необходимо в начале кода добавлять «return», например «return document.querySelectorAll("[height='24']").length» (такой запрос вернет количество элементов на странице, высота которых равна 24);
<p> • Нажать кнопку на клавиатуре позволяет нажать кнопку на клавиатуре внутри браузера.
<p> В поле «Переменная» вводится название переменной, начиная с символа «@», в которую будет помещен результат выполнения команды или, наоборот, из которой будут браться значения для её выполнения.
<p> Поле «Ожидание (сек)». В поле вводится количество секунд, которые необходимо подождать после выполнения команды.
<p> Поле «Номер элемента» предназначено для указания индекса найденного элемента, к которому необходимо применить действие.
<p> Пример заполненного действия:
<H1 align="center">![Screenshot](img/WB_13.png)</h1>
<p> На рисунке представлен пример действия, настроенного для поиска элемента, имя которого равно «q». После того как элемент найден, в него будет вставлен текст «поиск».
### Действие «Работа с вкладками»
<p> Данное действие позволяет манипулировать вкладками в окне браузера. Для настройки действия добавляется как минимум одно поле «Действие», остальные появляются в зависимости от выбранного в нем действия.
<H1 align="center">![Screenshot](img/WB_14.png)</h1>
<p> Доступные действия для работы с вкладками:
<p> • Добавить вкладку создаст новую вкладку и та станет активной;
<p> • Закрыть вкладку закроет активную вкладку;
<p> • Перейти на вкладку при выборе действия появляется поле «Номер вкладки» - переходит на вкладку, номер которой указан в поле «Номер вкладки» (начиная с 0);
<p> • Получить количество вкладок при выборе действия появляется поле «Переменная» - возвращает в указанную переменную количество вкладок в браузере.
### Действие «Закрыть браузер»
<p> Закрывает браузер, открытый с помощью модуля, не требует дополнительных настроек.
Модуль «Работа с браузером» построен на базе Selenium WebDriver[6] и
позволяет реализовывать основные методы работы со страницей браузера
открыть вкладку, перейти на вкладку, найти элемент на странице по её
ключу и как-то его обработать.
### Интерфейс модуля
Окно модуля делится на блок настройки браузера, область создания команды
для работы с браузером, группу кнопок управления действиями и таблицу,
содержащую список созданных команд. Область создания команды состоит из
нескольких полей для заполнения, причем, количество доступных для
редактирования полей меняется в зависимости от выбранного действия в
поле «Действие». Группа кнопок состоит из трех кнопок «Добавить»,
«Редактировать» и «Удалить».
<center><img src="\media\image268.png" style="width:5.08322in;height:4.21578in" /></center>
<center>Рис. 1. Окно модуля «Работа с браузером»</center>
Создание команды начинается с выбора действия. После его выбора список
доступных полей в окне может измениться. Необходимо заполнить поля,
требующиеся для выбранного действия и нажать на кнопку «Добавить».
Созданное действие отобразится в таблице «Список команд». Для
редактирования команды следует выбрать её в списке команд, изменить
необходимые поля и нажать «Редактировать». Если при этом нажать на
кнопку «Добавить», то будет добавлено новое действие, похожее на то, что
было выбрано в списке команд, но с внесенными изменениями. Можно ничего
не менять и нажать на кнопку «Добавить», тогда получится полное
копирование команды.
Для удаления ненужных команд необходимо выбрать команду в таблице и
нажать «Удалить».
Робот будет выполнять все указанные команды последовательно, поэтому для
изменения порядка команд в таблице можно воспользоваться кнопками в
правом верхнем углу таблицы. Делается это следующим образом выбирается
строка, положение которой необходимо изменить, а затем нажимаются кнопки
«Поднять» или «Опустить», в зависимости от того, где эта строка должна
находиться.
<center><img src="\media\image269.png" style="width:5.72429in;height:2.28759in" /></center>
<center>Рис. 2. Кнопки для изменения порядка команд</center>
Для всех действий некоторые поля остаются неизменными, это все поля для
настройки браузера, «Действие» и «Примечание».
### Поля для настройки браузера
**Поле «Драйвер»** на данный момент недоступно для редактирования и в
нем по умолчанию выбран драйвер для браузера Chrome, но в обозримом
будущем этот список планируется дополнять другими браузерами.
**Поля «Proxy Server» - «Proxy Password»** предназначены для ввода
настроек прокси-сервера, если это необходимо.
**Поле «Путь до папки с профилями пользователя»** - для того, чтобы
запустить не новый экземпляр браузера, а с авторизованным профилем (с
сохранением истории браузера, авторизацией на сайтах и другое)
необходимо указать путь до папки с этим профилем. Если указанного пути
не существует, то будет создана новая папка с профилем, в которую будет
сохраняться текущая деятельность в браузере. Папки с профилями
пользователя в Google Chrome лежат в директории
«C:\\Users\\ИмяПользователя\\AppData\\Local\\Google\\Chrome», где вместо
ИмяПользователя должен стоять ваш пользователь Windows. В поле
необходимо указывать путь до одной из тех папок, что лежат в
вышеуказанной директории (например,
«C:\\Users\\ИмяПользователя\\AppData\\Local\\Google\\Chrome\\User
Data»).
**Поле «Агент»** предназначено для продвинутых пользователей оно
отвечает за User Agent (идентификационная строка клиентского приложения,
использующая определённый сетевой протокол), под которых будет запущен
браузер. Если поле пустое, то агент будет считываться из конфига
программы, где указано его значение по умолчанию.
## Описание действий
Модуль предлагает использование 7 основных действий перейти на
страницу, перезагрузить страницу, перейти назад или вперед, работа со
страницей, работа со вкладками и закрыть браузер. Каждое действие
требует заполнения определенных полей.
***Обратите внимание***, что модуль создает свой экземпляр браузера, без
авторизованных аккаунтов, если не заполнено поле «Путь до папки с
профилями пользователя». Созданный браузер закрывается сам в конце
работы робота. Нельзя закрывать браузер самостоятельно!
Описание полей, которые не изменяются в зависимости от действия:
**Поле «Действие»** — это выпадающий список с перечнем возможных
действий этого модуля. Подробнее о них будет рассказываться в следующей
главе.
**Поле «Примечание»** — строка с примечанием к команде.
### Перечень и описание действий
#### Действие «Перейти»
С помощью действия «Перейти» происходит переход на заданную страницу. В
области создания команды откроется поле «URL». URL необходимо вводить
с протоколом, т.е. с http/https.
<center><img src="\media\image270.png" style="width:6.40121in;height:1.9375in" /></center>
<center>Рис. 3. Пример настройки действия «Перейти»</center>
Если уже открыта какая-либо страница, то браузер перейдет от неё к
странице, указанной в поле «URL», то есть исходная страница будет
заменена новой. Если браузер еще не был запущен, то он будет открыт с
этой страницы.
#### Действие «Перезагрузить страницу»
Действие позволяет перезагружать уже открытую страницу. Перед
использованием данного действия, убедитесь, что в браузере есть открытая
страница.
Действие не имеет никаких дополнительных для настройки полей.
#### Действие «Назад»
Действие позволяет выполнять переход к странице, которая была открыта в
браузере до текущей.
#### Действие «Вперед»
Действие позволяет выполнять переход к странице, которая была открыта в
браузере после текущей, если таковая была.
#### Действие «Работа со страницей»
Данное действие предоставляет возможность работать с отдельным элементом
страницы. Для настройки действия появляются следующие поля: «Тип поиска
элемента», «Строка поиска», «Действие на странице», «Ожидание» и «Номер
элемента». Еще два поля «Свойство» и «Переменная» становятся
доступными в зависимости от выбора действия на странице.
<center><img src="\media\image271.png" style="width:6.87071in;height:2.07738in" /></center>
<center>Рис. 4. Поля для настройки действия «Работа со страницей»</center>
**Поле «Тип поиска элемента»** представляет собой выпадающий список с
перечнем методов поиска элемента на странице, используется в паре с
полем **«Строка поиска»**.
***Обратите внимание!*** В поле «Строка поиска» могут быть использованы
переменные и готовые значения для работы модуля, но нет возможности
составлять сложные строки кода прямо в этом поле. Для составления кода
нужно воспользоваться модулем «Вычисления», записать получившийся код в
переменную и саму переменную затем подать в это поле в модуле.
Ниже будут перечислены все типы поиска элемента с примерами заполнения
поля «Строка поиска»:
- GetElementsByName поиск элементов по их свойству name.
<center><listing> &lt;div name=&quot;element&quot;&gt;
&lt;p&gt;some content&lt;/p&gt;
&lt;/div&gt; </listing></center>
<center>Листинг 1. Пример элемента со свойством name</center>
«Строка поиска» для нахождения элемента div - element.
- GetElementsById поиск элементов по их свойству id.
<center><listing> &lt;div id=&quot;element&quot;&gt;
&lt;p&gt;some content&lt;/p&gt;
&lt;/div&gt; </listing></center>
<center>Листинг 2. Пример элемента со свойством id.</center>
> «Строка поиска» для нахождения элемента div - element.
- GetElementsByClass поиск элементов по их свойству class.
<center><listing> &lt;div class=&quot;myClass&quot;&gt;
&lt;p&gt;some content&lt;/p&gt;
&lt;/div&gt; </listing></center>
<center>Листинг 3. Пример элемента со свойством class</center>
> «Строка поиска» для нахождения элемента div - myClass.
- GetElementsByCssSelector поиск элементов по их CSS селектору.
<center><listing> &lt;div class=&quot;main&quot;&gt;
&lt;p&gt;text&lt;/p&gt;
&lt;p&gt; Another text &lt;/p&gt;
&lt;/div&gt; </listing></center>
<center>Листинг 4. Пример элемента div со свойством class</center>
> «Строка поиска» для нахождения элемента div - div.main.
- GetElementByLinkText поиск элементов-ссылок по их тексту. Ищутся
только элементы с полным совпадением.
<center><listing> &lt;div&gt;
&lt;a ref=” …”&gt;text&lt;/a&gt;
&lt;a ref=” …”&gt;Another text&lt;/a&gt;
&lt;/div&gt; </listing></center>
<center>Листинг 5. Пример элементов ссылок а</center>
> «Строка поиска» нахождения первого элемента a на примере text.
- GetElementsByPartialLinkText - поиск элементов-ссылок по их тексту.
Ищутся все элементы, содержащие заданную строку.
<center><listing> &lt;div&gt;
&lt;a ref=” …”&gt;text&lt;/a&gt;
&lt;a ref=” …”&gt;Another text&lt;/a&gt;
&lt;/div&gt; </listing></center>
<center>Листинг 6. Пример элементов ссылок а</center>
> «Строка поиска» нахождения двух элементов a text
- GetElementsByTagName поиск элементов по их тегу.
<center><listing> &lt;div&gt;
&lt;a ref=” …”&gt;text&lt;/a&gt;
&lt;p&gt;Another text&lt;/p&gt;
&lt;/div&gt; </listing></center>
<center>Листинг 7. Пример элементов с разными тегами</center>
> «Строка поиска» нахождения элемента a a.
- GetElementsByXPath поиск элементов по языку запросов HTML xpath.
<center><listing> &lt;div class=&quot;main&quot;&gt;
&lt;p&gt;text&lt;/p&gt;
&lt;p&gt; Another text &lt;/p&gt;
&lt;/div&gt; </listing></center>
<center>Листинг 8. Пример элементов div со свойством class</center>
«Строка поиска» для нахождения элемента div - //div\[@class='main'\].
Чтобы получить строку xpath для необходимого вам элемента в консоли
разработчика в браузере, нужно нажать по этому элементу правой кнопкой
мыши в коде копировать XPath:
<center><img src="\media\image272.png" style="width:3.98958in;height:3.34758in" /></center>
<center>Рис. 5. Получение строки xpath из консоли браузера</center>
**Поле** **«Действие на странице»** предлагает выбор действия из
выпадающего списка, которое необходимо произвести над найденными
элементами. Доступны следующие действия:
- Записать вводит заданный в поле «Переменная» текст (например,
после нажатия на определенный элемент для ввода текста);
- Получить text получает значение свойства «text» всех найденных или
только выбранного элемента и возвращает результат в виде списка в
переменную;
- Отправить нажатие клавиши «ВВОД» («ENTER») применение записанных
данных (например, в строке поиска можно ввести какой-либо текст
действием «Записать», а затем «Отправить» его);
- Нажать нажатие левой кнопкой мыши на заданный элемент (обязательно
заполнение поля «Номер элемента»);
- Навести мышь наведение мыши на конкретно заданный элемент
(обязательно заполнение поля «Номер элемента»);
- Получить Property при выборе действия появляется поле «Название
Property» - возвращает значение указанного в поле «Название
Property» свойства всех найденных элементов или конкретно заданного.
Результатом будет являться список;
- Получить CSS свойство при выборе действия появляется поле
«Свойство CSS» - возвращает значение указанного в поле «Свойство
CSS» свойства всех найденных элементов или конкретно заданного.
Результатом будет являться список;
- Получить Attribute при выборе действия появляется поле «Свойство
Attribute» - возвращает значение указанного в поле «Свойство
Attribute» свойства всех найденных элементов или конкретно
заданного. Результатом будет являться список;
- Получить элементы возвращает список указанных элементов для
дальнейшей работы с ними;
- Выполнить JavaScript данное действие позволяет выполнить
JavaScript код в браузере для получения некоторой информации. Для
записи результата выполнения кода в переменную, необходимо в начале
кода добавлять «return», например «return
document.querySelectorAll("\[height='24'\]").length» (такой запрос
вернет количество элементов на странице, высота которых равна 24);
- Нажать кнопку на клавиатуре позволяет нажать кнопку на клавиатуре
внутри браузера.
**В поле «Переменная»** вводится название переменной, начиная с символов
«v.», в которую будет помещен результат выполнения команды или,
наоборот, из которой будут браться значения для её выполнения.
**Поле «Ожидание (сек)»**. В поле вводится количество секунд, которые
необходимо подождать после выполнения команды.
**Поле «Номер элемента»** предназначено для указания индекса найденного
элемента, к которому необходимо применить действие.
Пример заполненного действия:
<center><img src="\media\image273.png" style="width:6.59203in;height:1.97917in" /></center>
<center>Рис. 6. Пример настройки действия «Работа со страницей»</center>
На рисунке 6 представлен пример действия, настроенного для поиска
элемента, имя которого равно «q». После того как элемент найден, в него
будет вставлен текст «Lexema-RPA».
#### Действие «Работа с вкладками»
Данное действие позволяет манипулировать вкладками в окне браузера. Для
настройки действия открывается как минимум одно поле «Действие»,
остальные открываются в зависимости от выбранного в нем действия.
<center><img src="\media\image274.png" style="width:6.6522in;height:1.97917in" /></center>
<center>Рис. 7. Поля для настройки действия «Работа со вкладками»</center>
Доступные действия для работы с вкладками:
- Добавить вкладку создаст новую вкладку, и та станет активной;
- Закрыть вкладку закроет активную вкладку;
- Перейти на вкладку при выборе действия появляется поле «Номер
вкладки» - переходит на вкладку, номер которой указан в поле «Номер
вкладки» (начиная с 0);
- Получить количество вкладок при выборе действия появляется поле
«Переменная» - возвращает в указанную переменную количество вкладок
в браузере.
#### Действие «Закрыть браузер»
Закрывает браузер, открытый с помощью модуля, не требует дополнительных
настроек.

View File

@ -1,73 +1,450 @@
# <H1 align="center">Модуль «Кликер»</h1>
# МОДУЛЬ «КЛИКЕР» И МОДУЛИ, РАБОТАЮЩИЕ С ЭКРАНОМ
<p> Модуль «Кликер» предназначен для записи последовательности действий, выполняемых пользователем, а именно кликов по определенным местам экрана и нажатий кнопок на клавиатуре или мыши. С помощью этого модуля можно производить интеграции между самыми разными программами, так как он точно имитирует действия пользователя, то есть, если вы сможете это сделать, то это сможет сделать и «Кликер».</p>
<p> Использование роботов-кликеров рекомендуется на компьютерах с таким же разрешением, как и тот, на котором был написан данный робот.</p>
## Модуль «Кликер»
## Создание макроса
<p>При открытии модуля «Кликер» появится диалоговое окно «Запись действий макроса», состоящее из трех элементов кнопки «Начать запись», области, в которой будут отображены записанные действия, и кнопки «Сохранить».</p>
<H1 align="center">![Screenshot](img/clicker_1.png)</h1>
<p>По нажатию кнопки «Начать запись» программа переходит в режим ожидания нажатия кнопки «TAB», по которой открывается окно создания действия (команды).</p>
<H1 align="center">![Screenshot](img/clicker_2.png)</h1>
<p>В открывшемся окне происходит настройка действия (описание всех возможных действий будет дано ниже). По завершению создания команды и нажатию кнопки сохранить, новое действие будет добавлено в макрос.</p>
<H1 align="center">![Screenshot](img/clicker_3.png)</h1>
<p>Изменить положение действия в списке команд можно с помощью кнопок с изображением стрелок, расположенных в правой части блока.</p>
<H1 align="center">![Screenshot](img/clicker_4.png)</h1>
<p>Кнопка с изображением крестика, расположенная между стрелками, предназначена для удаления действия из списка команд.</p>
<p>Для сохранения макроса необходимо нажать на кнопку «Сохранить».</p>
## Создание команды
<p>Окно создания команды состоит из статичных и изменяющихся полей. Статичными являются такие поля, как «Действие», «Пауза» и «Примечание».</p>
## Статичные поля
### Действие
<p>Поле «Действие» состоит из перечня доступных действий для записи макроса нажатие кнопок мыши и клавиатуры, наиболее часто встречающиеся сочетания кнопок (скопировать, вставить). Далее будут приведены все действия, доступные в модуле.</p>
### Пауза
<p>Поле «Пауза» предназначено для создания эффекта ожидания после выполняемой команды. Значение указывается в миллисекундах.</p>
<p>Например, после нажатия на иконку браузера роботу следует подождать несколько секунд, пока браузер запустится и будет готов к работе в данном примере в команде открытия браузера (кликнуть мышкой по его иконке) в поле «Пауза» следует написать некоторое значение, например, 5000, т.е. 5 секунд. </p>
### Примечание
<p>Поле «Примечание» позволяет писать комментарии, чтобы не запутаться в командах.</p>
## Поля, появляющиеся только при определенных действиях
### Переключатели «Изображение» и «Координаты»
<p>При создании действий, связанных с кликом мыши, вам предлагается выбрать, куда кликать по определенным координатам или по изображению. Если программа, с которой вы работаете, статичная и не меняет расположение своих кнопок, то можно воспользоваться кликом по координатам. Тогда возникает вопрос, как рассчитать координаты? Все очень просто при нажатии кнопки «TAB» нужно располагать мышь ровно в том месте, куда следует нажать. В диалоговом окне создания команды координаты уже будут заполнены.</p>
<p>Если программа может менять расположение её элементов, то настоятельно рекомендуем использовать клик по изображению. Для этого нажмите на переключатель «Изображение».</p>
<H1 align="center">![Screenshot](img/clicker_5.png)</h1>
<p>При изменении переключателя изменится нижняя часть окна появятся кнопки «Выбрать изображение», «Выделить изображение» и поле для ввода «Процент совпадения».
<p>Изображение, по которому потребуется кликнуть для выполнения действия, можно настроить двумя способами:
<p>1) загрузить имеющееся изображение, нажав на кнопку «Выбрать изображение»
<p>2) выбрать фрагмент снимка окна, в котором будет воспроизводиться действие, с помощью кнопки «Выделить изображение». После нажатия на кнопку студия сделает снимок экрана и предложит вам выбрать фрагмент получившегося изображения.
<p>При использовании клика по изображению, обратите внимание на то, что, если на экране таких изображений будет несколько, действие будет применено к первому найденному!
<p>Поле «Процент совпадения» необходимо для случаев, когда искомое изображение может немного отличаться от того, что может быть в реальности (например, наличие выделения вокруг кнопки, если она выбиралась ранее, и отсутствие такого выделения). В подобных случаях уменьшайте процент совпадения до тех пор, пока изображение не будет находиться и в том, и в другом случае. Однако если процент совпадения уменьшить слишком сильно, модуль может найти то, что не планировали искать.
<p>Поля «Количество попыток» и «Пауза между ошибками» предназначены для случаев, когда программа не смогла найти заданное ей изображение. Вы можете указать, сколько раз следует пытаться искать требуемое изображение и сколько секунд ждать между попытками. Например, после запуска браузера нужно нажать на кнопку с иконкой «Плюсик» создание новой вкладки. Если браузер будет загружаться слишком долго, больше 5-ти секунд (это время указано в паузе команды открытия браузера), тогда программа начнёт искать «плюсик», которого еще нет. Затем программа подождет указанное ей количество секунд между попытками и попробует снова. Как только изображение будет найдено, программа подождет то количество секунд, которое указано в поле «Пауза» данной команды, и перейдет к следующей.
<p>Последний вариант поиска места для наведения мыши «Селекторы». Этот вариант считается самым надежным, но поддерживается узким кругом программ. Селекторы Windows позволяют находить путь к элементу на экране используя не просто координаты или изображение, а путь относительно родительского компонента экрана с использованием специальной разметки. Они работают с системой компьютера, некоторыми desktop-приложениями. Использование подобно работе с координатами необходимо навестить на искомый элемент и вызвать окно настройки действия по кнопке «TAB». При переключении настроек на «Селекторы», путь до элемента уже будет введен.
<H1 align="center">![Screenshot](img/clicker_5_1.png)</h1>
### Прокрутка мыши
<p>Данное поле появляется при действии «Прокрутка мыши». В него вводится значение в пикселях, на сколько необходимо прокрутить колесико мыши. Если прокрутка вверх, то значение должно быть положительным, если вниз, то отрицательным.
<p>Во всех полях окна создания команды возможно использование переменных.
## Описание действий, доступных в модуле
### Действие «Кликнуть мышкой»
Основное действие модуля нажатие левой кнопкой мыши по указанным координатам или изображению.
### Действие «Кликнуть мышкой дважды»
Двойной клик по указанным координатам или изображению, например, для открытия приложения с рабочего стола.
### Действие «Кликнуть правой кнопкой мыши»
Клик правой кнопкой мыши, например, по приложению на рабочем столе, чтобы открыть его контекстное меню.
### Действие «Кликнуть колесиком мыши»
В некоторых программах есть возможность использовать клик колесика мыши для исполнения некоторых действий, например, закрыть вкладку в браузере.
### Действие «Прокрутка мыши»
Прокрутка колесом мыши вниз или вверх по странице. Здесь координаты играют роль того, где будет находиться курсор при прокрутке колеса, так как ползунков на экране может быть несколько. Для прокрутки экрана вниз в поле «Прокрутка мыши» должно быть введено отрицательное значение (-150), вверх - положительное (150).
### Действие «Ввести текст»
<p>Данное действие вводит текст, который записан в поле «Текст». Поле, куда вводится текст, должно быть выделено (должен быть фокус, стоять каретка).
<p>В некоторых программах необходим специфичный ввод текста в конкретной кодировке. В подобных случаях следует выбрать кодировку из предложенных в выпадающем списке «Использовать кодировку», или указать свою. Текст может лежать в переменной и быть скопированным из какой-либо программы, использующей конкретную кодировку. В таком случае, при вставке скопированного текста в другую программу, необходимо сначала считать его в кодировке исходной программы. Кодировка исходной программы вводится или выбирается в поле «Начальная кодировка». Заполнение этих полей необязательно.
<p>Флажок «Использовать WinInput» позволяет включить режим более корректного и быстрого ввода текста, но он может не поддерживаться некоторыми программами. Его использование необязательно.
<p>Пример заполнения действия:
<H1 align="center">![Screenshot](img/clicker_6.png)</h1>
### Действие «Нажать кнопку»
<p>Имитирует нажатие клавиши клавиатуры. Необходимую клавишу следует выбрать в выпадающем списке «Кнопка». В списке предложены все возможные клавиши, которые могут присутствовать как на простых, так и на расширенных клавиатурах (изменение громкости звука, запуск/остановка музыки и другие нестандартные кнопки).
<H1 align="center">![Screenshot](img/clicker_7.png)</h1>
### Действие «Нажать две кнопки»
<p>Имитирует нажатие сочетания двух клавиш клавиатуры, например CTRL+A выделение всего текста в поле. Необходимые кнопки выбираются в двух выпадающих списках «Кнопка». Список кнопок тот же, что и в действии «Нажать кнопку».
<H1 align="center">![Screenshot](img/clicker_8.png)</h1>
### Действие «Скопировать»
<p>Имитирует нажатие сочетания клавиш клавиатуры CTRL+C. Копирует выделенное заранее значение в буфер обмена и записывает его, при необходимости, в переменную, указанную в поле «Записать в». Данное поле не обязательно к заполнению. Ввод переменной начинается с символа «v.».
<H1 align="center">![Screenshot](img/clicker_9.png)</h1>
### Действие «Вставить»
<p>Имитирует нажатие сочетания клавиш клавиатуры CTRL+V. Вставляет в выбранное поле значение из буфера обмена.
### Действие «Пока не пропадет изображение»
<p>Ожидает отсутствия заданного изображения на экране в течение времени, дающегося на обнаружение ошибки (значение поля «Кол-во попыток» умноженное на значение поля «Пауза между ошибками»).
Модуль «Кликер» предназначен для записи последовательности действий,
выполняемых пользователем, а именно кликов по определенным местам экрана
и нажатий кнопок на клавиатуре или мыши. С помощью этого модуля можно
производить интеграции между самыми разными программами, так как он
точно имитирует действия пользователя, то есть, если Вы сможете это
сделать, то это сможет сделать и «Кликер».
Использование роботов-кликеров, которые ищут координаты или изображения,
рекомендуется на компьютерах с таким же разрешением, как и тот, на
котором был написан данный робот.
### Создание макроса
При открытии модуля «Кликер» появится диалоговое окно «Запись действий
макроса», состоящее из трех элементов кнопки «Начать запись», области,
в которой будут отображены записанные действия, и кнопки «Сохранить».
<center><img src="\media\image174.png" style="width:3.59236in;height:3.9516in" /></center>
<center>Рис. 1. Запись действий макроса</center>
По нажатию кнопки «Начать запись» программа переходит в режим
***ожидания нажатия кнопки «TAB»**,* по которой открывается окно
создания действия (команды).
<center><img src="\media\image175.png" style="width:2.86713in;height:2.79068in" /></center>
<center>Рис. 2. Создание команды</center>
В открывшемся окне происходит настройка действия (описание всех
возможных действий будет дано ниже). По завершению создания команды и
нажатию кнопки сохранить, новое действие будет добавлено в макрос.
<center><img src="\media\image176.png" style="width:2.8548in;height:3.14028in" /></center>
<center>Рис. 3. Добавление команды</center>
Изменить положение действия в списке команд можно с помощью кнопок с
изображением стрелок, расположенных в правой части блока.
<center><img src="\media\image177.png" style="width:3.70833in;height:1.09951in" /></center>
<center>Рис. 4. Изменение порядка команды</center>
Кнопка с изображением крестика, расположенная между стрелками,
предназначена для удаления действия из списка команд.
Для сохранения макроса необходимо нажать на кнопку «Сохранить».
### Создание команды
Окно создания команды состоит из статичных и изменяющихся полей.
Статичными являются такие поля, как «Действие», «Пауза» и «Примечание».
### Статичные поля
***Действие***
Поле «Действие» состоит из перечня доступных действий для записи макроса
нажатие кнопок мыши и клавиатуры, наиболее часто встречающиеся
сочетания кнопок (скопировать, вставить). Далее будут приведены все
действия, доступные в модуле.
***Пауза***
Поле «Пауза» предназначено для создания эффекта ожидания после
выполняемой команды. Значение указывается в миллисекундах.
Например, после нажатия на иконку браузера роботу следует подождать
несколько секунд, пока браузер запустится и будет готов к работе в
данном примере в команде открытия браузера (кликнуть мышкой по его
иконке) в поле «Пауза» следует написать некоторое значение, например,
5000, т.е. 5 секунд.
***Примечание***
Поле «Примечание» позволяет писать комментарии, чтобы не запутаться в
командах.
### Поля, появляющиеся только при определенных действиях
***Переключатели «Изображение», «Координаты» и «Селекторы»***
При создании действий, связанных с кликом или наведением мыши, вам
предлагается выбрать, куда кликать по определенным координатам или по
изображению. Если программа, с которой вы работаете, статичная и не
меняет расположение своих кнопок, то можно воспользоваться кликом по
координатам. Тогда возникает вопрос, как рассчитать координаты? Все
очень просто при нажатии кнопки «TAB» нужно располагать мышь ровно в
том месте, куда следует нажать. В диалоговом окне создания команды
координаты уже будут заполнены.
Если программа может менять расположение её элементов, то настоятельно
рекомендуем использовать клик по изображению. Для этого нажмите на
переключатель «**Изображение**».
<center><img src="\media\image178.png" style="width:3.21569in;height:3.44437in" /></center>
<center>Рис. 5. Создание команды</center>
При изменении переключателя изменится нижняя часть окна появятся
кнопки «Выбрать изображение», «Выделить изображение» и поле для ввода
«Процент совпадения».
Изображение, по которому потребуется кликнуть для выполнения действия,
можно настроить двумя способами:
1\) загрузить имеющееся изображение, нажав на кнопку «Выбрать
изображение»
2\) выбрать фрагмент снимка окна, в котором будет воспроизводиться
действие, с помощью кнопки «Выделить изображение». После нажатия на
кнопку студия сделает снимок экрана и предложит вам выбрать фрагмент
получившегося изображения.
При использовании клика по изображению, ***обратите внимание*** на то,
что, если на экране таких изображений будет несколько, действие будет
применено к ***первому*** найденному!
Поле «Процент совпадения» необходимо для случаев, когда искомое
изображение может немного отличаться от того, что может быть в
реальности (например, наличие выделения вокруг кнопки, если она
выбиралась ранее, и отсутствие такого выделения). В подобных случаях
уменьшайте процент совпадения до тех пор, пока изображение не будет
находиться и в том, и в другом случае. Однако если процент совпадения
уменьшить слишком сильно, модуль может найти то, что не планировали
искать.
<center><img src="\media\image179.png" style="width:2.80178in;height:0.44306in" /></center><center><img src="\media\image180.png" style="width:2.91498in;height:0.39592in" /></center>
<center>Рис. 6. Пример отличия искомого изображения от действительного</center>
Поля «Количество попыток» и «Пауза между ошибками» предназначены для
случаев, когда программа не смогла найти заданное ей изображение. Вы
можете указать, сколько раз следует пытаться искать требуемое
изображение и сколько секунд ждать между попытками. Например, после
запуска браузера нужно нажать на кнопку с иконкой «Плюсик» создание
новой вкладки. Если браузер будет загружаться слишком долго, больше 5-ти
секунд (это время указано в паузе команды открытия браузера), тогда
программа начнёт искать «плюсик», которого еще нет. Затем программа
подождет указанное ей количество секунд между попытками и попробует
снова. Как только изображение будет найдено, программа подождет то
количество секунд, которое указано в поле «Пауза» данной команды, и
перейдет к следующей.
Последний вариант поиска места для наведения мыши «**Селекторы**».
Этот вариант считается самым надежным, но поддерживается узким кругом
программ. Селекторы Windows позволяют находить путь к элементу на экране
используя не просто координаты или изображение, а путь относительно
родительского компонента экрана с использованием специальной разметки.
Они работают с системой компьютера, некоторыми desktop-приложениями.
Использование подобно работе с координатами необходимо навестить на
искомый элемент и вызвать окно настройки действия по кнопке «TAB». При
переключении настроек на «Селекторы», путь до элемента уже будет введен.
<center><img src="\media\image181.png" style="width:3.8309in;height:3.35417in" /></center>
<center>Рис. 7. Создание команды через селекторы Windows</center>
***Прокрутка мыши***
Данное поле появляется при действии «Прокрутка мыши». В него вводится
значение в пикселях, на сколько необходимо прокрутить колесико мыши.
Если прокрутка вверх, то значение должно быть положительным, если вниз,
то отрицательным.
Во всех полях окна создания команды ***возможно использование
переменных.***
### Описание действий, доступных в модуле
#### Действие «Кликнуть мышкой»
Основное действие модуля нажатие левой кнопкой мыши по указанным
координатам или изображению.
#### Действие «Кликнуть мышкой дважды»
Двойной клик по указанным координатам или изображению, например, для
открытия приложения с рабочего стола.
#### Действие «Кликнуть правой кнопкой мыши»
Клик правой кнопкой мыши, например, по приложению на рабочем столе,
чтобы открыть его контекстное меню.
#### Действие «Кликнуть колесиком мыши»
В некоторых программах есть возможность использовать клик колесика мыши
для исполнения некоторых действий, например, закрыть вкладку в браузере.
#### Действие «Прокрутка мыши»
Прокрутка колесом мыши вниз или вверх по странице. Здесь координаты
играют роль того, где будет находиться курсор при прокрутке колеса, так
как ползунков на экране может быть несколько. Для прокрутки экрана вниз
в поле «Прокрутка мыши» должно быть введено отрицательное значение
(-150), вверх - положительное (150).
Число прокрутки измеряется в количестве прокруток колесом мыши.
**ПРИМЕР.**
Для прокрутки вниз конкретного ползунка необходимо навести на него
курсор, нажать клавишу «TAB» на клавиатуре, выбрать действие «прокрутка
мыши» и заполнить поле «Прокрутка мыши», как показано на рисунке 8:
<center><img src="\media\image182.png" style="width:2.90486in;height:3.11143in" /></center>
<center>Рис. 8. Пример настройки команды</center>
#### Действие «Ввести текст»
Данное действие вводит текст, который записан в поле «Текст». Поле, куда
вводится текст, должно быть выделено (должен быть фокус, стоять
каретка).
В некоторых программах необходим специфичный ввод текста в конкретной
кодировке. В подобных случаях следует выбрать кодировку из предложенных
в выпадающем списке «Использовать кодировку», или указать свою. Текст
может лежать в переменной и быть скопированным из какой-либо программы,
использующей конкретную кодировку. В таком случае, при вставке
скопированного текста в другую программу, необходимо сначала считать его
в кодировке исходной программы. Кодировка исходной программы вводится
или выбирается в поле «Начальная кодировка». Заполнение этих полей
**необязательно**.
Флажок «Использовать WinInput» позволяет включить режим более
корректного и быстрого ввода текста, но он может не поддерживаться
некоторыми программами. Его использование **необязательно**.
Пример заполнения действия:
<center><img src="\media\image183.png" style="width:3.23194in;height:2.82975in" /></center>
<center>Рис. 9. Пример заполнения</center>
#### Действие «Нажать кнопку»
Имитирует нажатие клавиши клавиатуры. Необходимую клавишу следует
выбрать в выпадающем списке «Кнопка». В списке предложены все возможные
клавиши, которые могут присутствовать как на простых, так и на
расширенных клавиатурах (изменение громкости звука, запуск/остановка
музыки и другие нестандартные кнопки).
<center><img src="\media\image184.png" style="width:3.11944in;height:2.33513in" /></center>
<center>Рис. 10. Действие «Нажать кнопку»</center>
#### Действие «Нажать две кнопки»
Имитирует нажатие сочетания двух клавиш клавиатуры, например CTRL+A
выделение всего текста в поле. Необходимые кнопки выбираются в двух
выпадающих списках «Кнопка». Список кнопок тот же, что и в действии
«Нажать кнопку».
<center><img src="\media\image185.png" style="width:2.91806in;height:2.55121in" /></center>
<center>Рис. 11. Действие «Нажать две кнопку»</center>
#### Действие «Скопировать»
Имитирует нажатие сочетания клавиш клавиатуры CTRL+C. Копирует
выделенное заранее значение в буфер обмена и записывает его, при
необходимости, в переменную, указанную в поле «Записать в». Данное поле
**не обязательно** к заполнению. Ввод переменной начинается с символов
«v.».
<center><img src="\media\image186.png" style="width:3.09236in;height:2.31485in" /></center>
<center>Рис. 12. Действие «Скопировать»</center>
#### Действие «Вставить»
Имитирует нажатие сочетания клавиш клавиатуры CTRL+V. Вставляет в
выбранное поле значение из буфера обмена.
#### Действие «Пока не пропадет изображение»
Ожидает отсутствия заданного изображения на экране в течение времени,
дающегося на обнаружение ошибки (значение поля «Кол-во попыток»
умноженное на значение поля «Пауза между ошибками»).
## Модуль «Поиск изображения»
Модуль «Поиск изображения», в основном, используется в связке с модулем
«Кликер». Его задача определить, существует ли на текущем экране
заданное изображение, и если да, то вернуть координаты его центра.
### Интерфейс модуля
Окно модуля выглядит следующим образом:
<center><img src="\media\image187.png" style="width:3.20977in;height:2.86311in" /></center>
<center>Рис. 13. Окно модуля</center>
Кнопки «Выбрать изображение» и «Выделить изображение» позволяют выбрать
изображение для поиска.
**Поле «Координата x».** В поле вводится ***переменная*** (начиная с
символов «v.»), в которую будет записана координата x искомого
изображения, если оно найдется.
**Поле «Координата y».** Аналогично полю «Координата x», в данном поле
указывается переменная, в которую будет записана координата y.
**Поле «Результат».** В поле вводится название переменной, в которой
будет итоговый результат поиска изображения (после использования всех
попыток его найти». Результирующее значение будет представлено в виде
строки: «true» - найдено, «false» - не найдено.
Поля «Кол-во попыток», «Пауза» и «Процент совпадения» аналогичны полям
модуля «Кликер».
**Поле «Кол-во попыток».** В поле указывается количество попыток поиска
изображения.
**Поле «Пауза»** предназначено для указания паузы между попытками поиска
в миллисекундах.
**Поле «Процент совпадения»** - насколько сильно совпадает изображение,
которое будет искаться, с фрагментом изображения на текущем экране.
Вводится число от 0 до 100, чем больше, тем больше должно быть сходства
между изображениями.
## Модуль «Поиск изображений»
Модуль «Поиск изображений» аналогичен модулю «Поиск изображения» с одним
лишь отличием в том, что этот модуль возвращает список всех найденных
изображений, а не одного.
### Интерфейс модуля
Интерфейс этого модуля очень похож на интерфейс модуля «Поиск
изображения», но в нем вместо полей «Координата X», «Координата Y» и
«Результат» только одно поле «Переменная», а также появилось поле
«Минимальная дистанция».
<center><img src="\media\image188.png" style="width:4.29028in;height:3.45796in" /></center>
<center>Рис. 14. Окно модуля</center>
**В поле «Переменная»** вводится название переменной с символов «v.», в
которую запишется результат поиска.
**Поле «Кол-во попыток»** заполняется числом, указывающим, сколько раз
пробовать искать изображения, если с первого раза ни одного найти не
удалось.
**Поле «Пауза»** предназначено для указания паузы между попытками поиска
в миллисекундах.
**В поле «Процент совпадения»** вводится значение от 0 до 100,
указывающее, насколько сильно совпадают изображение, которое будет
искаться, с фрагментом изображения на текущем экране. Чем больше число,
тем сильнее они должны совпадать.
**Поле «Минимальная дистанция»** заполняется числом, указывающим, какое
минимальное количество пикселей должно быть между двумя одинаковыми
изображениями. В некоторых задачах может быть потребоваться отсекать
изображения, которые расположены достаточно близко друг к другу и
получать только первое из этих изображений (начиная с верхнего левого
угла). ***Обратите внимание***, если это расстояние поставить совсем
маленьким (не менее 5 пикселей) или равным 0, то одно изображение может
быть найдено несколько раз!
### Выходные данные
В указанную переменную будет записан список объектов, количество которых
будет равно количеству найденных изображений на экране. Каждый объект
соответствует найденному изображению. Для обращения к конкретному
изображению списка необходимо указывать его номер (нумерация с 0) в
квадратных скобках после названия переменной, например
v.listImages\[0\].
Каждый объект содержит три поля: «x», «y» и «similarity». В поле «x»
содержится координата x выбранного изображения, в поле «y» - координата
y, а в поле «similarity» - процент совпадения найденного изображения с
искомым.
**ПРИМЕР.**
Пусть мы хотим с помощью робота найти количество одинаковых изображений,
например, непрочитанных писем с Яндекс-почты, которые выделены небольшим
синим кружочком около письма:
<center><img src="\media\image189.png" style="width:6.69306in;height:3.14236in" /></center>
<center>Рис. 15. Пример</center>
Для этого создадим действие «Поиск изображений» и выберем в нем в
качестве искомого изображения эту синенькую точку:
<center><img src="\media\image190.png" style="width:4.45455in;height:3.57795in" /></center>
<center>Рис. 16. Настройка действия</center>
Для нажатия на каждую такую точку и прочтения сообщений, необходимо
добавить цикл по количеству изображений, и в каждому шаге цикла нажимать
на координаты v.listImages\[v.i\].x и v.listImages\[v.i\].y, где v.i
текущий шаг цикла.
Для определения количества элементов массива можно воспользоваться
методом языка JavaScript v.listImages.length.
## Модуль «Создать скриншот»
Данный модуль позволяет делать скриншот экрана во время работы робота,
что удобно для проведения отладки кликерных роботов (роботов,
преимущественно работающих на модуле Кликер).
Окно модуля состоит из двух полей:
Поле «Сохранить в папку» должно содержать путь до папки, в которую будет
сохранен скриншот экрана. По кнопке папки в поле вызывается диалог
выбора директории;
В поле «Имя файла» должно быть название скриншота. Если расширение не
будет указано, то изображение будет сохранено в формате png.
<center><img src="\media\image191.png" style="width:4.24675in;height:1.6987in" /></center>
<center>Рис. 17. Окно модуля «Создать скриншот»</center>
## Модуль «Получить активное окно»
Данный модуль получает название активного окна и записывает его в
переменную. Он помогает определить, какая программа является активной на
данной момент, что упрощает работу с модулем «Кликер». Модуль позволяет
исключить множество ошибок при работе кликерных роботов.
Модуль состоит из одного настроечного поля Переменная, в которое
необходимо ввести название переменной. В результате работы модуль
записывает в указанную переменную название активного окна ***строчными
буквами***.
<center><img src="\media\image192.png" style="width:3.64538in;height:1.39566in" /></center>
<center>Рис. 18. Пример заполнения модуля «Получить активное окно»</center>
Пример переменной в результате заполнения модулем:
<center><img src="\media\image193.png" style="width:5in;height:2.66549in" /></center>
<center>Рис. 19. Результат работы модуля</center>

File diff suppressed because it is too large Load Diff

View File

@ -3,47 +3,19 @@ nav:
- Введение: index.md
- Знакомство со студией: HelloStudio.md
- 'Модули программы':
- 'Excel': 'excel.md'
- 'Кликер': 'clicker.md'
- 'Поиск изображения': 'ImageSearch.md'
- 'Поиск изображений': 'ImagesSearch.md'
- 'Запустить процесс': 'StartProcess.md'
- 'Завершить процесс': 'EndProcess.md'
- 'Условие': 'Condition.md'
- 'Цикл': 'Cycle.md'
- 'Вычисления': 'Calculation.md'
- 'Работа с файлами': 'FileModule.md'
- 'Код С#': 'CCode.md'
- 'Распознавание текста': 'OCR.md'
- 'Распознавание текста ABBYY': 'FROCR.md'
- 'Работа с браузером': 'WorkBrowser.md'
- 'Обработка текста': 'TextAnalysis.md'
- 'SQL': 'SQL.md'
- '1C': '1C.md'
- 'Отправить письмо': 'SendEmail.md'
- 'Считать письма': 'ReadEmail.md'
- 'Действия над письмами': 'MoveLetter.md'
- 'HTTP OData': 'HTTPOData.md'
- 'HTTP запрос': 'HTTP.md'
- 'FTP запрос': 'FTP.md'
- 'Break': 'Break.md'
- 'JSON': 'JSON.md'
- 'XML': 'XML.md'
- 'PDF': 'PDF.md'
- 'Интерфейс': 'Iterface.md'
- 'Закрыть Excel-файл': 'CloseExcel.md'
- 'WHILE': 'WHILE.md'
- 'Пауза': 'Pause.md'
- 'Робот': 'Robot.md'
- 'Return': 'Return.md'
- 'Word': 'Word.md'
- 'Прокси': 'Proxy.md'
- 'Создать скриншот': 'KS.md'
- 'Лог': 'log.md'
- 'Try/Catch': 'TryCatch.md'
- 'Оркестратор': 'Orkestrator.md'
- 'Просмотр истории выполнений': 'History.md'
- 'Конфигурирование LEXEMA-RPA STUDIO': 'Konfi.md'
- 'МОДУЛЬ «EXCEL»': 'excel.md'
- 'МОДУЛЬ «WORD»': 'Word.md'
- 'МОДУЛЬ «КЛИКЕР» И МОДУЛИ, РАБОТАЮЩИЕ С ЭКРАНОМ': 'clicker.md'
- 'МОДУЛЬ «РАБОТА С ФАЙЛАМИ»': 'FileModule.md'
- 'МОДУЛИ «ПОЧТОВЫЕ АГЕНТЫ»': 'SendEmail.md'
- 'МОДУЛИ-ОПЕРАТОРЫ: «ЦИКЛ», «УСЛОВИЕ», «WHILE», «TRY-CATCH», «BREAK», «RETURN», «SWITCH»': 'Condition.md'
- 'МОДУЛЬ «РАБОТА С БРАУЗЕРОМ»': 'WorkBrowser.md'
- 'МОДУЛЬ «ИНТЕРФЕЙС»': 'Iterface.md'
- 'МОДУЛИ ДЛЯ РАБОТЫ С ТЕКСТОМ': 'TextAnalysis.md'
- 'МОДУЛЬ «TELEGRAM»': 'Telegram.md'
- 'ДРИГИЕ МОДУЛИ': 'Other.md'
- 'ОРКЕСТРАТОР': 'Orkestrator.md'
- 'КОНФИГУРИРОВАНИЕ LEXEMA-RPA STUDIO': 'Konfi.md'
theme: readthedocs