diff --git a/docs/Condition.md b/docs/Condition.md index 0ae8bac..99da9b1 100644 --- a/docs/Condition.md +++ b/docs/Condition.md @@ -1,39 +1,368 @@ -#

Модуль «Усовие»

+# МОДУЛИ-ОПЕРАТОРЫ: «ЦИКЛ», «УСЛОВИЕ», «WHILE», «TRY-CATCH», «BREAK», «RETURN», «SWITCH» -

Описываемые в этой части модули сами по себе ничего не делают, их следует использовать вместе с любыми другими. У описываемых модулей (кроме модуля «Break»), помимо привычного «Примечания», есть еще несколько параметров, обязательных для заполнения, но нет отдельного окна с настройками. -

Модуль «Условие» позволяет в зависимости от указанного условия выполнять те или иные действия. Условием может быть любое выражение, которое приводится к значению «True» или «False».

+## Модуль «Условие» -## Интерфейс модуля -

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

![Screenshot](img/condition_1.png)

-

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

Поле «Условие» заполняется по правилам языка программирования C#. Для пользователей, незнакомых с этим языком, предлагается помощь в виде «Конструктора условий», доступная по кнопке справа от условия -![Screenshot](img/condition_2.png). -## Конструктор условий -

Конструктор условий позволяет составлять условия в соответствии с синтаксисом языка C#. -

![Screenshot](img/condition_3.png)

-### Добавление -

Для того чтобы составить условие, необходимо заполнить оба операнда, выбрать тип операндов (строки или числа), выбрать оператор между ними из предложенного и нажать на кнопку «Добавить»: -

![Screenshot](img/condition_4.png)

-

![Screenshot](img/condition_5.png)

-

Список операций для строк и для чисел отличается, поэтому сначала выберите тип операндов, а лишь затем операцию. -### Связывание -

Несколько условий можно связать с помощью логического «И» либо логического «ИЛИ». -

Делается это следующим образом – удерживая клавишу Shift, выбираются несколько условий, которые должны быть соединены одним оператором, затем нажимается кнопка с соответствующим логическим оператором: -

![Screenshot](img/condition_6.png)

-

![Screenshot](img/condition_7.png)

-

Символ «||» означает логическое ИЛИ, символ «&&» - логическое И. -### Разъединение -

Условия, состоящие из нескольких простых условий, то есть те, которые используют логическое И или ИЛИ, можно разъединить, нажав на соответствующую кнопку. Разъединение происходит по логическим операторам. -

![Screenshot](img/condition_8.png)

-

![Screenshot](img/condition_9.png)

-### Сохранение -

Для сохранения условия необходимо нажать на кнопку «Сохранить». Получившиеся условие вставится в поле «Условие» условного модуля: -

![Screenshot](img/condition_10.png)

-

![Screenshot](img/condition_11.png)

-

Законченный модуль может выглядеть следующим образом: -

![Screenshot](img/condition_12.png)

-### Сворачивание -

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

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

![Screenshot](img/condition_14.png)

-

![Screenshot](img/condition_15.png)

+Описываемые в этой части модули сами по себе ничего не делают, их +следует использовать вместе с любыми другими. У описываемых модулей +(кроме модуля «Break»), помимо привычного «Примечания», есть еще +несколько параметров, обязательных для заполнения, но нет отдельного +окна с настройками. + +Модуль «Условие» позволяет в зависимости от указанного условия выполнять +те или иные действия. Условием может быть любое выражение, которое +приводится к значению «True» или «False». + +### Интерфейс модуля + +Модуль состоит из полей «Примечание» и «Условие». Действия, которые +должны выполняться при значении условия «True», добавляются в раздел +«THEN», при значении «False» - в раздел «ELSE». Действия добавляются в +модуль перетаскиванием их из меню или другого места рабочей области. + +
+ +
Рис. 1. Условный модуль
+ +**Поле «Примечание»** предназначено для внесения комментария от +разработчика робота. + +**Поле «Условие»** заполняется по правилам языка программирования JS. +Для пользователей, незнакомых с этим языком, предлагается помощь в виде +«Конструктора условий», доступная по кнопке справа от условия - + + +### Конструктор условий + +Конструктор условий позволяет составлять условия в соответствии с +синтаксисом языка JS. + +
+ +
Рис. 2. Конструктор условий
+ +#### Добавление + +Для того чтобы составить условие, необходимо заполнить оба операнда, +выбрать тип операндов (строки или числа), выбрать оператор между ними из +предложенного и нажать на кнопку «Добавить»: + +
+ +
+ +
Рис. 3. Добавление условий
+ +Список операций для строк и для чисел отличается, поэтому сначала +выберите тип операндов, а лишь затем операцию. + +#### Связывание + +Несколько условий можно связать с помощью логического «И» либо +логического «ИЛИ». + +Делается это следующим образом – удерживая клавишу Shift, выбираются +несколько условий, которые должны быть соединены одним оператором, затем +нажимается кнопка с соответствующим логическим оператором: + +
+ +
Рис. 4. Связывание условий
+ +
+ +
Рис. 5. Результат связывания условий
+ +Символ «\|\|» означает логическое ИЛИ, символ «&&» - логическое И. + +#### Разъединение + +Условия, состоящие из нескольких простых условий, то есть те, которые +используют логическое И или ИЛИ, можно разъединить, нажав на +соответствующую кнопку. Разъединение происходит по логическим +операторам. + +
+ +
Рис. 6. Разъединение условий
+ +
+ +
Рис. 7. Результат разъединения условий
+ +#### Сохранение + +Для сохранения условия необходимо нажать на кнопку «Сохранить». +Получившиеся условие вставится в поле «Условие» условного модуля: + +
+ +
Рис. 8. Сохранение условия
+ +
+ +
Рис. 9. Отображение условия
+ +Законченный модуль может выглядеть следующим образом: + +
+ +
Рис. 10. Заполненный модуль «Условие»
+ +#### Сворачивание + +Для уменьшения занимаемого места в рабочей области проекта, можно +свернуть каждый блок данного модуля по кнопке «Свернуть». + +
+ +
Рис. 11. Свернутый блок ELSE
+ +
+ +
Рис. 12. Свернутые THEN и ELSE
+ +## Модуль «Цикл» + +Модуль «Цикл» применяется для неоднократного (цикличного) выполнения +набора действий. Действия, добавленные в модуль, будут выполняться до +тех пор, пока не пройдёт указанное в настройках количество итераций. + +### Интерфейс модуля + +Модуль состоит из полей «Примечание», «Количество итераций» и +«Переменная». Действия, которые должны выполняться в цикле, добавляются +в блок, расположенный в нижней части модуля. Действия добавляются в +модуль перетаскиванием их из меню или другого места рабочей области. + +Модуль выглядит следующим образом: + +
+ +
Рис. 13. Вид модуля
+ +**Поле «Примечание»**, как и во всех других модулях, служит для внесения +комментария от разработчика робота. + +Остальные поля присущи только этому модулю. + +**Поле «Количество итераций»** предназначено для ввода числа, +означающего, сколько раз необходимо выполнить действия, содержащиеся в +модуле. + +**Поле «Переменная»** - переменная, в которой будет храниться число – +текущий шаг цикла. Цикл начинается с единицы. + +Пример заполненного цикла представлен на рисунке 14. + +
+ +
Рис. 14. Пример заполнения модуля
+ +По кнопке «Свернуть» можно свернуть действия цикла для более компактного +отображения команды. + +
+ +
Рис. 15. Свернутый вид модуля
+ +## Модуль «Break» + +Для «аварийного» выхода из простого цикла используют модуль «Break». +Например, в цикле ведется поиск конкретного изображения, и если такое +изображение найдётся, следует нажать на него, считать какие-либо данные +и перейти к следующему действию, иначе – выйти из цикла и не проигрывать +следующее действие. Для такого сценария необходимо создать цикл, в +котором будет модуль «Условие», в одной из веток которого будет +находиться модуль «Break» (модуль «Break» представлен самым последним +модулем на примере): + +
+ +
Рис. 16. Пример использования модуля «Break»
+ +Модуль «Break» не требует настройки, но может применяться только внутри +модуля «Цикл». + +## Модуль «Return» + +Бывают ситуации, когда при некотором условии необходимо завершить работу +робота, например, нужно обработать письмо, которое должно прийти на +почту, а оно не пришло. Для таких целей существует модуль «Return». + +
+ +
Рис. 17. Внешний вид модуля
+ +Данный модуль заканчивает работу всего робота и не требует настройки. +Может использоваться в любом месте. + +**ПРИМЕР.** + +На рисунке ниже представлен пример использования модуля: пусть с помощью +модуля «Считать письма» считываются все письма за определенный +промежуток времени. Все темы письма и их содержания необходимо внести в +Excel-файл. Но что, если этих писем нет? Для этого проверяем наличие +писем, и, если их нет, робот прекратит работу, иначе – продолжит. + +
+ +
Рис. 18. Пример использования модуля «Return»
+ +Благодаря этому модулю можно писать робота в общей рабочей области, а не +в ветках модуля «Условие». Так робот выглядит более аккуратным и +наглядным. + +## Модуль «Continue» + +Модуль «Continue» позволяет перейти к следующей итерации цикла без +использования модуля «Условие» или других методов ветвления алгоритма. +Модуль не требует дополнительной настройки. Единственное требование – +модуль должен находиться внутри модуля «Цикл» или внутри любого модуля, +который в свою очередь находится внутри цикла (вложенность модулей не +ограничена). + +
+ +
Рис. 19. Модуль «Continue»
+ +### ПРИМЕР + +Допустим, что необходимо провести действия с файлом, но лишь в том +случае, если он присутствует в определенной папке. Для этого достаточно +в начале цикла проверить наличие файла и, если его нет, то перейти к +следующей итерации цикла. + +
+ +
Рис. 20. Пример работы с «Continue»
+ +Отличие от работы с условием лишь в лучшей читабельности алгоритма (то +есть, без модуля Continue пришлось бы все действия над файлом делать +внутри ветки ELSE модуля «Условие»). + +## Модуль «While» + +Модуль «While» (цикл с условием) выполняет добавленные в него действия +до тех пор, пока указанное условие возвращает значение «True». + +### Интерфейс модуля + +В окне модуля расположены поля «Примечание» и «Условие». В блоке, +расположенном в нижней части модуля, следует располагать действия, +которые требуется выполнять в цикле. + +
+ +
Рис. 21. Вид модуля
+ +**Поле «Условие».** В поле вводится условие, как и в модуле «Условие», +которое необходимо писать в соответствии с синтаксисом языка JS, поэтому +здесь присутствует кнопка, открывающая «Конструктор условий» (описание дано в главе "Модуль «Условие»"). + +Добавление действий в модуль происходит с помощью перетаскивания из меню +модулей или из рабочей области проекта. + +
+ +
Рис. 22. Добавление действий
+ +При нажатии на кнопку «Свернуть» действия, описанные в цикле, +сворачиваются для более компактного отображения команды. + +
+ +
Рис. 23. Свернутый вид модуля
+ +## Модуль «Try/Catch» + +Данный модуль позволяет обрабатывать ошибки, которые могут возникнуть в +процессе выполнения некоторого блока модулей. + +
+ +
Рис. 24. Внешний вид модуля Try/Catch
+ +Модуль состоит из двух блоков – TRY и CATCH. Блок TRY содержит набор +модулей или целого робота, который должен выполниться, блок CATCH +содержит набор модулей на случай, если произойдет ошибка исполнения +модулей блока TRY. + +Модуль имеет два текстовых поля, первое – поле «Примечание», в которое +можно ввести описание модуля для более удобной навигации по роботу, а +второе поле предназначено для сохранения возникшей в модуле TRY ошибки. +Так как есть возможность узнать, какая ошибка возникла, каждую возможную +ошибку можно корректно обработать в блоке CATCH. + +**ПРИМЕР.** + +Пусть стоит задача – скачать письмо с почты с определенным названием +вложения в заранее заданную папку и обработать это вложение модулем +Excel, причем в модуле Excel путь до файла будет всегда одинаковым. +Например, вложение называется «Отчет за день», путь до папки +«C:\\Reports», тогда в Excel будет всегда открываться файл +«C:\\Reports\\Отчет за день.xlsx», а вложения с почты всегда будут +скачиваться в вышеназванную папку. + +Если письмо с необходимым вложением еще не пришло, то модуль Excel +выдаст ошибку «Не удалось открыть документ C:\\Reports\\Отчет за +день.xlsx». В таком случае необходимо как-то обработать эту ошибку, +предложить пользователю запустить робота позже, или сказать ему +подождать в течение некоторого времени и попробовать снова. + +Для обработки ошибки с выводом информационного окна необходимо добавить +модуль «Try/Catch», где в блоке TRY будут содержаться модули считывания +письма и Excel, а в блоке CATCH модуль «Интерфейс» для вывода +пользовательского окна. + +
+ +
Рис. 25. Пример использования модуля «Try/Catch»
+ +В результате работы такого робота будет либо стандартное сообщение +«Скрипт отработал успешно!», если письмо было на почте, либо окно с +текстом «Письмо еще не пришло» в ином случае. В переменной v.error будет +содержаться текст «Не удалось открыть документ C:\\Reports\\Отчет за +день.xlsx». + +
+ +
Рис. 26. Пример обработки ошибки – окно с информацией
+ +## Модуль «Switch» + +Оператор Switch – это оператор выбора, который выбирает для выполнения +один раздел case из списка кандидатов, сравнивая их с выражением, +указанным в самом switch. Аналогичен нескольким модулям «Условие», как +если бы необходимо было сравнить одно значение с несколькими другими и +для каждого был бы отдельный набор действий для выполнения, то есть он +используется в тех случаях, когда развилок условий больше двух, но +сравнение идет с одним и тем же значением. + +**Внутри блока Switch могут быть только блоки Case и наоборот – блоки +Case могут быть только внутри блока Switch**. + +### Интерфейс модуля + +Модуль Switch имеет поле «Условие», в которое записывается переменная, с +которой в дальнейшем будут сравниваться подмодули case для выбора +необходимого алгоритма. По кнопке «Добавить» добавляются эти самые +подмодули. + +
+ +
Рис. 27. Модуль «Switch»
+ +После нажатия на кнопку «Добавить», внутри модуля появится блок Case, +который может быть использован только внутри блока Switch. Блоки Case +также содержат поле «Условие», но в этом случае в них указывается +ожидаемое значение переменной, указанной в модуле Switch. Если +переменная из Switch будет равна значению Case, то этот Case будет +выполняться, остальные блоки Case выполнены не будут (даже если они +содержат то же значение). + +
+ +
Рис. 28. Модули «Switch – Case»
+ +Внутри блоков Case располагаются любые модули программы, подобно модулю +«Группа». \ No newline at end of file diff --git a/docs/FileModule.md b/docs/FileModule.md index 5b32b6e..efce52a 100644 --- a/docs/FileModule.md +++ b/docs/FileModule.md @@ -1,87 +1,265 @@ -#

Модуль «Работа с файлами»

+# МОДУЛЬ «РАБОТА С ФАЙЛАМИ» -

Модуль «Работа с файлами» предназначен для изменения расположения файлов, их копирования, архивирования, создания папки и переноса файлов в неё, в общем, для манипуляции с файлами и директориями.

+## Основные моменты модуля -## Интерфейс модуля -

Окно модуля объединяет три группы элементов. -

Первая группа элементов – это набор полей и кнопок для создания команды. Вторая – непосредственно список команд. И третья – это область предварительного просмотра текстовых файлов. -

![Screenshot](img/FM_1.png)

-

Набор доступных полей для заполнения меняется в зависимости от выбранного действия, подробное описание всех полей будет дано позже. -## Функциональность модуля -### Создание команды -

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

Для того чтобы отредактировать команду, выделите её в списке команд щелчком левой кнопкой мыши, после чего все поля в левой верхней части окна «Работа с файлами» заполнятся в соответствии с выбранной командой. Измените те поля, которые требуется отредактировать, и, убедившись, что в списке команд все еще выбрано нужное действие, нажмите на кнопку «Редактировать». -### Удаление команды -

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

Созданные команды можно отключать и обратно включать. Отключенные команды не будут выполняться. Сделать это можно, нажав на соответствующую отключаемой команде строку правой кнопкой мыши и выбрав «Отключить/включить». -

![Screenshot](img/FM_2.png)

-### Выбор файла/папки -

Кнопка ![Screenshot](img/FM_3.png) в заполняемых полях открывает стандартный диалог выбора файла или папки, в зависимости от выбранного действия. -## Перечень и описание действий -### Действие «Сохранить в файл» -

Действие перезаписывает существующий текстовый файл, записывая в него строку, указанную в поле «Значение». -

![Screenshot](img/FM_4.png)

-### Действие «Считать файл» -

Действие считывает весь текст из выбранного файла и записывает его в указанную переменную. -

![Screenshot](img/FM_5.png)

-

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

Действие создает переменную-список, в которой лежат пути до каждого файла в папке. -

![Screenshot](img/FM_6.png)

-### Действие «Добавить текст в файл» -

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

![Screenshot](img/FM_6_1.png)

-### Действие «Добавить переход на новую строку» -

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

![Screenshot](img/FM_6_2.png)

-### Действие «Переместить файл» -

Действие перемещает выбранный файл в указанную папку. -

![Screenshot](img/FM_7.png)

-### Действие «Переименовать файл» -

Действие меняет имя выбранного файла на указанное в поле «Имя файла». -

![Screenshot](img/FM_7_1.png)

-### Действие «Создать файл txt» -

Действие создает новый файл с расширением .txt. -

![Screenshot](img/FM_13.png)

-### Действие «Удалить файл» -

Действие удаляет выбранный файл. -

![Screenshot](img/FM_14.png)

-### Действие «Скопировать файл» -

Действие копирует выбранный файл в указанную директорию. -

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

![Screenshot](img/FM_15.png)

-### Действие «Проверить существование файла» -

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

«True» - если существует, и иначе «False». -

![Screenshot](img/FM_16.png)

-### Действие «Переместить папку» -

Действие перемещает папку, указанную во втором поле, в директорию, указанную в третьем поле. -

![Screenshot](img/FM_8.png)

-### Действие «Создать папку» -

Действие создает папку с указанным названием в выбранной директории. -

![Screenshot](img/FM_11.png)

-### Действие «Удалить папку» -

Действие удаляет выбранную папку. -

![Screenshot](img/FM_12.png)

-### Действие «Проверить существование папки» -

Действие проверяет существование указанной папки и записывает результат в переменную. -

«True» - если существует, и иначе «False». -

![Screenshot](img/FM_17.png)

-### Действие «Получить список папок в папке» -

Действие создает переменную-список, в которой лежат пути до каждого файла в папке. -

![Screenshot](img/FM_17_1.png)

-### Действие «Заархивировать папку» -

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

![Screenshot](img/FM_9.png)

-### Действие «Распаковать архив» -

Действие распаковывает ZIP-архив в указанную папку. -

![Screenshot](img/FM_10.png)

+Модуль «Работа с файлами» предназначен для изменения расположения +файлов, их копирования, архивирования, создания папки и переноса файлов +в неё, в общем, для манипуляции с файлами и директориями. +### Интерфейс модуля +Окно модуля объединяет три группы элементов. +Первая группа элементов – это набор полей и кнопок для создания команды. +Вторая – непосредственно список команд. И третья – это область +предварительного просмотра текстовых файлов. +
+
Рис. 1. Окно модуля
+Набор доступных полей для заполнения меняется в зависимости от +выбранного действия, подробное описание всех полей будет описано дальше. +### Функциональность модуля + +#### Создание команды + +Команда создается следующим образом – выбирается необходимое действие, +заполняются остальные поля – нажимается кнопка «Добавить», по которой +команда добавляется в «Список команд». + +#### Редактирование команды + +Для того чтобы отредактировать команду, выделите её в списке команд +щелчком левой кнопкой мыши, после чего все поля в левой верхней части +окна «Работа с файлами» заполнятся в соответствии с выбранной командой. +Измените те поля, которые требуется отредактировать, и, убедившись, что +в списке команд все еще выбрано нужное действие, нажмите на кнопку +«Редактировать». + +#### Удаление команды + +Для удаления команды необходимо выбрать её в списке команд и нажать на +кнопку «Удалить». + +#### Отключение/включение команды + +Созданные команды можно отключать и обратно включать. Отключенные +команды не будут выполняться. Сделать это можно, нажав на +соответствующую отключаемой команде строку правой кнопкой мыши и выбрав +«Отключить/включить». + +
+ +
Рис. 2. Контекстное меню команды
+ +#### Выбор файла/папки + +Кнопка +в заполняемых полях открывает стандартный диалог выбора файла или папки, +в зависимости от выбранного действия. + +## Описание действий, доступных в модуле + +Модуль содержит 19 действий, позволяющих работать с папками и файлами, +каждое из которых состоит из своего набора полей для настройки. Ниже +описаны все действия модуля. + +Модуль имеет возможность работы с сетевыми папками, для этого +предусмотрены поля «Домен», «Пользователь» и «Пароль». Остальные поля +заполняются в соответствии с выбранным действием. + +### Перечень и описание действий + +#### Действие «Сохранить в файл» + +Действие перезаписывает существующий текстовый файл, записывая в него +строку, указанную в поле «Значение». + +
+ +
Рис. 3. Пример настройки действия «Сохранить в файл»
+ +#### Действие «Считать файл» + +Действие считывает весь текст из выбранного файла и записывает его в +указанную переменную. + +
+ +
Рис. 4. Пример настройки действия «Считать файл»
+ +Поле «Начальная кодировка» отвечает за выбор кодировки, которая будет +использоваться при чтении из файла. + +#### Действие «Получить список файлов в папке» + +Действие создает переменную-список, в которой лежат пути до каждого +файла в папке. + +
+ +
Рис. 5. Пример настройки действия «Получение списка файлов»
+ +**ПРИМЕР.** + +Пусть имеется папка «Робот», в которой находится 3 Excel-файла. Тогда в +модуле Excel мы можем работать с каждым из файлов, например, чтобы +работать с первым, нужно записывать в поле «Имя файла» v.files\[0\]. + +Переменная после выполнения действия будет выглядеть как на рисунке +6: + +
+ +
Рис. 6. Пример переменной, в которой содержится список файлов
+ +#### Действие «Добавить текст в файл» + +Действие добавляет текст к уже существующему в файле, не перетирая его +данных. + +
+ +
Рис. 7. Пример настройки действия «Добавить текст в файл»
+ +#### Действие «Добавить переход на новую строку» + +Действие добавляет символ перехода на новую строку в текст файла. + +
+ +
Рис. 8. Пример настройки действия «Добавить переход на новую строку»
+ +#### Действие «Переместить файл» + +Действие перемещает выбранный файл в указанную папку. В поле +«Переменная» можно, но не обязательно, ввести название переменной, в +которую будет возвращен новое расположение до файла (в ниже +представленном примере – +C:\\Users\\user\\Desktop\\Документы\\text.docx). + +
+ +
Рис. 9. Пример настройки действия «Перемещение файла»
+ +#### Действие «Переименовать файл» + +Действие меняет имя выбранного файла на указанное в поле «Имя файла». + +
+ +
Рис. 10. Пример настройки действия «Переименовать файл»
+ +#### Действие «Создать файл txt» + +Действие создает новый файл с расширением .txt. Если поле «Переменная» +будет заполнено, то в указанную в нем переменную будет возвращено +расположение созданного файла. + +
+ +
Рис. 11. Пример настройки действия «Создать файл txt»
+ +#### Действие «Удалить файл» + +Действие удаляет выбранный файл. + +
+ +
Рис. 12. Пример настройки действия «Удалить файл»
+ +#### Действие «Скопировать файл» + +Действие копирует выбранный файл в указанную директорию. + +В поле «Путь до конечного файла» необходимо ввести путь до папки, в +которую файл должен скопироваться, и его название с расширением так, как +будто файл уже есть. Новое название может отличаться от исходного. + +Если поле «Переменная» будет заполнено, то в указанную в нем переменную +будет возвращено расположение нового файла. + +
+ +
Рис. 13. Пример настройки действия «Скопировать файл»
+ +#### Действие «Проверить существование файла» + +Действие проверяет существование указанного файла и записывает результат +в переменную. + +«true» - если существует, и иначе «false». + +
+ +
Рис. 14. Пример настройки действия «Проверить существование файла»
+ +#### Действие «Переместить папку» + +Действие перемещает папку, указанную поле «Путь к папке», в директорию, +указанную в поле «Путь до конечной папки». Если поле «Переменная» будет +заполнено, то в указанную в нем переменную будет возвращено новое +расположение перемещаемой папки. + +
+ +
Рис. 15. Пример настройки действия «Перемещение папки»
+ +#### Действие «Создать папку» + +Действие создает папку с указанным названием в выбранной директории. +Если поле «Переменная» будет заполнено, то в указанную в нем переменную +будет возвращено расположение новой папки. + +
+ +
Рис. 16. Пример настройки действия «Создание папки»
+ +#### Действие «Удалить папку» + +Действие удаляет выбранную папку. + +
+ +
Рис. 17. Пример настройки действия «Удалить папку»
+ +#### Действие «Проверить существование папки» + +Действие проверяет существование указанной папки и записывает результат +в переменную. + +«true» - если существует, и иначе «false». + +
+ +
Рис. 18. Пример настройки действия «Проверить существование папки»
+ +#### Действие «Получить список папок в папке» + +Действие создает переменную-список, в которой лежат пути до каждого +файла в папке. + +
+ +
Рис. 19. Пример настройки действия «Проверить существование папки»
+ +#### Действие «Заархивировать папку» + +Действие создает ZIP-архив с указанным именем, добавляя в него +содержимое выбранной папки. Если поле «Переменная» будет заполнено, то в +указанную в нем переменную будет возвращено расположение созданного +архива. + +
+ +
Рис. 20. Пример настройки действия «Заархивировать папку»
+ +#### Действие «Распаковать архив» + +Действие распаковывает ZIP-архив в указанную папку. + +
+ +
Рис. 21. Пример настройки действия «Распаковать архив»
\ No newline at end of file diff --git a/docs/HelloStudio.md b/docs/HelloStudio.md index 4dff996..d4361f9 100644 --- a/docs/HelloStudio.md +++ b/docs/HelloStudio.md @@ -12,25 +12,23 @@ ### Главное окно Главное окно студии имеет несколько разделов и основные кнопки -управления +управления проектом (рис. 1). -проектом (Рис. 1.1.1). +
- - -Рис. 1.. Главное окно студии +
Рис. 1. Главное окно студии
Все панели (меню, обозреватель решений и отладочный вывод) могут быть -закреплены или открываться при наведении на них (Рис. 1.1.2). +закреплены или открываться при наведении на них (рис. 2). Чтобы открепить или закрепить панель необходимо нажать на иконку с изображением канцелярской кнопки в правом верхнем углу панели. - +
-Рис. 1... Скрытая панель «Обозреватель решений» +
Рис. 2. Скрытая панель «Обозреватель решений»
Студия имеет две цветовые схемы – светлая тема, та, которая идет по умолчанию, и темная. Для перехода на темную тему необходимо нажать на @@ -50,9 +48,9 @@ личный кабинет и ввести ключ в поле «Ключ лицензии». После сохранения данных лицензия будет продлена. - +
-Рис. 1... Личный кабинет +
Рис. 3. Личный кабинет
### Кнопки управления @@ -63,11 +61,11 @@ сохранения , открытия -, + , выполнения описанных в проекте действий - + и выхода из программы -. + . Также поддерживаются различные комбинации горячих клавиш. Например, для создания проекта можно использовать комбинацию Ctrl+N. @@ -77,12 +75,11 @@ #### Создать -Нажатие на кнопку «Создать» вызывает окно создания нового проекта (Рис. -1.1.4). +Нажатие на кнопку «Создать» вызывает окно создания нового проекта (рис. 4). - +
-Рис. 1... Создание нового проекта +
Рис. 4. Создание нового проекта
В открывшемся окне необходимо ввести имя нового проекта, дополнительно можно указать его описание. Ключ проекта – уникальный идентификатор @@ -95,9 +92,9 @@ Нажатие на кнопку «Создать» в указанном окне завершит процесс создания проекта. Новый проект будет открыт в главном окне студии. - +
-Рис. 1... Окно нового проекта +
Рис. 5. Окно нового проекта
#### Сохранить @@ -107,8 +104,7 @@ и название файла, в котором будет сохранен проект (по умолчанию, предлагается название проекта, которое вы задали при его создании). Файлы проектов Lexema-RPA Studio имеют расширение «.rpa». После выбора -папки для сохранения, необходимо нажать на кнопку «Сохранить» (Рис. -1.1.6). По завершении операции, файл проекта будет сохранен по +папки для сохранения, необходимо нажать на кнопку «Сохранить» (рис. 6). По завершении операции, файл проекта будет сохранен по указанному расположению. Существующий проект будет сохранен в его текущем расположении. @@ -126,9 +122,9 @@ Выбранный файл проекта будет загружен в главное окно студии. - +
-Рис. 1... Диалоговое окно сохранения проекта +
Рис. 6. Диалоговое окно сохранения проекта
#### Проиграть @@ -147,14 +143,14 @@ Кнопка «Открыть оркестратор» -вызывает диалог публикации текущего проекта в оркестратор роботов[5]. +вызывает диалог публикации текущего проекта в оркестратор роботов. #### Форум Кнопка «Техподдержка в Telegram» -forum +forum позволяет открыть чат по техподдержке в мессенджере Telegram - -. + . #### О программе @@ -162,14 +158,14 @@ about выводит диалоговое окно, содержащее информацию о текущей версии студии. - +
-Рис. 1... Информация о текущей версии студии +
Рис. 7. Информация о текущей версии студии
#### Выйти Кнопка «Выйти» -exitзакрывает +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). - +
-Рис. 1... Меню доступных модулей +
Рис. 8. Меню доступных модулей
- +
-Рис. 1... Поиск в списке модулей +
Рис. 9. Поиск в списке модулей
- +
-Рис. 1... Выбор модуля и перетягивание его в нужную область +
Рис. 10. Выбор модуля и перетягивание его в нужную область
- +
-Рис. 1... Подсветка 2-го модуля при перемещении нового модуля после него +
Рис. 11. Подсветка 2-го модуля при перемещении нового модуля после него
- +
-Рис. 1... Итоговое расположение модуля +
Рис. 12. Итоговое расположение модуля
### Обозреватель решений @@ -238,9 +233,9 @@ OData, HTTP запрос, FTP запрос, Break, Continue, JSON, Интерф (окно которого сейчас открыто) выделен зеленым цветом и помечен маркером зеленая точка. - +
-Рис. 1... Обозреватель решений +
Рис. 13. Обозреватель решений
Панель управления переменными и функциями содержит следующие кнопки (перечисление слева направо): «Переменные», «Создать новую переменную», @@ -259,9 +254,9 @@ OData, HTTP запрос, FTP запрос, Break, Continue, JSON, Интерф var в обозревателе решений и доступно только при наличии открытого проекта. - +
-Рис. 1... Обзор переменных проекта +
Рис. 14. Обзор переменных проекта
Окно содержит строку для поиска переменной по её названию и таблицу со списком всех доступных проекту переменных. Таблица имеет два столбца: @@ -287,11 +282,11 @@ OData, HTTP запрос, FTP запрос, Break, Continue, JSON, Интерф просмотра свойств переменной. В диалоговом окне предоставляется возможность перейти в окно редактирования свойств переменной, просмотреть дерево свойств переменной и удалить переменную из проекта. -Подробное описание работы с переменными будет рассмотрено в главе 2. +Подробное описание работы с переменными будет рассмотрено далее. - +
-Рис. 1... Окно просмотра переменной +
Рис. 15. Окно просмотра переменной
#### Обзор локальных переменных @@ -309,16 +304,16 @@ Lexema-RPA Studio позволяет хранить конфиденциальн - Описание – ваш комментарий относительно переменной. - +
-Рис. 1... Локальные переменные +
Рис. 16. Локальные переменные
При двойном нажатии по переменной откроется окно её редактирования, аналогичное окну создания локальной переменной. - +
-Рис. 1... Окно редактирования локальной переменной +
Рис. 17. Окно редактирования локальной переменной
### Отладочный вывод @@ -327,9 +322,9 @@ Lexema-RPA Studio позволяет хранить конфиденциальн после нажатия на кнопку «Проиграть». Сообщения выводятся для всех действий по порядку их выполнения в проекте. - +
-Рис. 1... Пример успешного вывода +
Рис. 18. Пример успешного вывода
В отладочном выводе выводится информация о времени начала робота, общее время работы. Для каждого модуля выводится информация о начале времени @@ -340,9 +335,9 @@ Lexema-RPA Studio позволяет хранить конфиденциальн информация об ошибке. Текст последней строки отладочного вывода будет написан красным цветом. - +
-Рис. 1... Пример вывода при исключительной ситуации +
Рис. 19. Пример вывода при исключительной ситуации
## Основы работы @@ -385,13 +380,13 @@ Lexema-RPA Studio позволяет хранить конфиденциальн переменные могут создаваться только с типом «Элемент», поэтому окно их настройки немного отличается от настройки обычных переменных. - +
-Рис. 1... Кнопки создания переменной +
Рис. 20. Кнопки создания переменной
- +
-Рис. 1... Окна создания переменной (слева – обычной, справа – локальной) +
Рис. 21. Окна создания переменной (слева – обычной, справа – локальной)
***Для работы с локальными переменными*** требуется наличие установленного сертификата Windows. Он может быть выпущен вами или вы @@ -411,9 +406,9 @@ sert.pfx, далее следуйте инструкциям по установ - поле для ввода значения. - +
-Рис. 1... Окно создания обычной переменной-элемента +
Рис. 22. Окно создания обычной переменной-элемента
Переменные с типом «Список» хранят набор (массив) переменных. Обращение к каждому элементу списка осуществляется по его индексу, индекс @@ -425,9 +420,9 @@ v.array\[1\]. поле «Значение», затем нажатием кнопки «Добавить», после чего введенный элемент добавится в список элементов в нижней части окна. - +
-Рис. 1... Создание переменной-списка +
Рис. 23. Создание переменной-списка
Переменные с типом «Таблица» представляют собой таблицу (двумерный массив), т.е. это список, элементами которого являются списки. Другими @@ -439,9 +434,9 @@ a\[i-1,j-1\] (так как индекс начинается с нуля). Эт обращения к элементу в 3 строке и 5 столбце, отвечающему за ячейку таблицы, необходимо указывать два индекса: v.table\[2, 4\]. - +
-Рис. 1... Создание переменной-таблицы +
Рис. 24. Создание переменной-таблицы
Для заполнения значений переменных с типом «Таблица» становится доступной таблица, набор столбцов которой можно расширять с помощью @@ -459,23 +454,23 @@ a\[i-1,j-1\] (так как индекс начинается с нуля). Эт поле, к которому хотите обратиться: v.person.name (результатом будет строка John). - +
-Рис. 1... Создание объектной переменной +
Рис. 25. Создание объектной переменной
При нажатии в обозревателе решений на кнопку «Узнать значение переменной» открывается окно, с помощью которого можно проверить -значение переменной активного проекта (рис. 1.2.7–1.2.8). ***Для +значение переменной активного проекта (рис. 26–27). ***Для проверки значения необходимо ввести полное наименование переменной (включая символы v.).*** - +
-Рис. 1... Кнопка «Узнать значение переменной» +
Рис. 26. Кнопка «Узнать значение переменной»
- +
-Рис. 1... Окно проверки значения переменной +
Рис. 27. Окно проверки значения переменной
### Рабочая область @@ -488,9 +483,9 @@ a\[i-1,j-1\] (так как индекс начинается с нуля). Эт модуля в структуру проекта он отображается в виде элемента, обозначающего выполняемое действие. - +
-Рис. 1... Структура проекта +
Рис. 29. Структура проекта
Элемент действия имеет несколько составляющих: @@ -517,9 +512,9 @@ a\[i-1,j-1\] (так как индекс начинается с нуля). Эт - удалить. - +
-Рис. 1... Контекстное меню структуры проекта +
Рис. 30. Контекстное меню структуры проекта
**Пункт «Отключить/Включить»** позволяет переключать активность выбранного действия. Выключенное действие будет пропущено при запуске @@ -542,9 +537,9 @@ a\[i-1,j-1\] (так как индекс начинается с нуля). Эт **Пункт «Удалить»** позволяет удалить выбранный модуль. - +
-Рис. 1... Проект с отключенным действием и точкой остановки +
Рис. 31. Проект с отключенным действием и точкой остановки
#### Точка остановки @@ -556,9 +551,9 @@ a\[i-1,j-1\] (так как индекс начинается с нуля). Эт рамкой, а в панели инструментов появляются две новые кнопки, позволяющие управлять *пошаговой отладкой*. - +
-Рис. 1... Пошаговая отладка +
Рис. 32. Пошаговая отладка
Пошаговая отладка позволяет выполнять каждый модуль робота друг за другом, при этом можно следить за значениями всех переменных. Для diff --git a/docs/Iterface.md b/docs/Iterface.md index df7c134..23f5f81 100644 --- a/docs/Iterface.md +++ b/docs/Iterface.md @@ -1,93 +1,314 @@ -#

Модуль «Интерфейс»

+# МОДУЛЬ «ИНТЕРФЕЙС» -

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

-

Создание окна заключается в добавлении на него контролов – элементов интерфейса таких, как надписи, текстовые поля, кнопки, выпадающие списки.

+## Основные моменты -## Основное окно -

Окно модуля состоит из нескольких частей: -

• Добавить элемент - настройка добавляемого элемента; -

• Общие настройки – общие настройки диалогового окна; -

• Список элементов – таблица, в которой содержатся все добавленные элементы; -

• Окно с предварительным просмотром диалогового окна на текущий момент (правая часть окна). -

![Screenshot](img/interface_1.png)

-

Начинать работу с диалоговым окном следует с общих настроек, а именно с настройки сетки, которую можно открыть по кнопке «Настройка сетки».  -## Общие настройки -

К общим настройкам относится название окна – «Титул», его ширина и высота и настройка сетки. При установке флажка «На весь экран» поля «Высота» и «Ширина» не будут учитываться. -

По нажатию на кнопку «Настройка сетки» появится окно настроек строк и колонок сетки. -

![Screenshot](img/interface_2.png)

-

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

• Первый способ -

В две строки, 4 элемента интерфейса – на первой строке подпись и поле для ввода начальной даты, на второй строке подпись и поле для ввода конечной даты -

![Screenshot](img/interface_3.png)

-

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

• Второй способ -

В одну строку, 3 элемента интерфейса – подпись, поле для ввода первой даты, поле для ввода второй даты. -

![Screenshot](img/interface_4.png)

-

В таком случае используется три колонки и одна строка. -

• Третий способ -

В одну строку, 4 элемента интерфейса – два поля для ввода и подписи к каждому из них. -

![Screenshot](img/interface_5.png)

-

Здесь используются 4 колонки и 1 строка. -

Для каждой колонки можно задать свою ширину, для каждой строки – высоту: -

![Screenshot](img/interface_6.png)

-

Высота и ширина вводятся в пикселях, но можно использовать относительные размеры окна, например, если одна колонка должна быть больше другой в два раза и их всего две, то в поле «Ширина» можно ввести «1*» для первой колонки, и «2*» для второй: -

![Screenshot](img/interface_7.png)

-

Результат такой разметки: -

![Screenshot](img/interface_8.png)

-

Нумерация строк и колонок начинается с 0. С помощью кнопки «Удалить» можно удалить ненужную строку или колонку, по кнопке «Редактировать» можно изменить высоту или ширину. -

После настройки сетки она будет отображена пунктирной линией в окне предварительного просмотра в правой части окна, и затем можно приступить к добавлению контролов. -## Добавление элемента интерфейса -

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

![Screenshot](img/interface_9.png)

-

Обязательными полями являются все, кроме полей «Объединить колонки/строки». -## Поле «Тип» -

![Screenshot](img/interface_10.png)

-

Сначала выбирается тип добавляемого элемента интерфейса из предложенных: -

• Поле для ввода – поле, в которое можно ввести любую строку; -

![Screenshot](img/interface_11.png)

-

• Надпись – статичная строка текста, которая не может быть отредактирована пользователем; -

![Screenshot](img/interface_12.png)

-

• Выпадающий список – поле со стрелочкой сбоку, по нажатию которого открывается список заранее определенных значений; -

![Screenshot](img/interface_13.png)

-

• Таблица – отображение в виде таблицы заранее созданной переменной. Возможно редактирование полей таблицы, но невозможно создание новых колонок в ней; -

![Screenshot](img/interface_14.png)

-

• Выбор даты – поле с иконкой календаря, по нажатию на которую пользователю будет предложено выбрать определенную дату. Возможен ввод значения даты вручную, при вводе других строк поле автоматически подберет наиболее подходящую дату к введенным данным. Формат даты ДД.ММ.ГГГГ; -

![Screenshot](img/interface_15.png)

-

• Выбор файла – поле с иконкой в виде трех точек, по нажатию на которую пользователю будет предложено выбрать файл. Путь до выбранного файла запишется в это поле; -

![Screenshot](img/interface_16.png)

-

Для фильтрации отображаемых пользователю файлов можно воспользоваться полем «Фильтр по файлам», в которое вводится строка вида: «Название типа файлов (доступные расширения)|доступные расширения». Можно задать несколько настроек фильтрации, разделителем для этого является символ «|». Пример: -

![Screenshot](img/interface_16_1.png)

-

В данном случае отображается две настройки фильтрации: -

1. All files (*.*), в которой отображаются файлы с любым расширением; -

2. Microsoft Excel Worksheet (*.xl*; *.csv), в которой отображаются файлы с расширениями .csv и начинающимися на .xl (то есть .xlsx, xls и другие). -

![Screenshot](img/interface_16_2.png)

-

• Выбор папки – поле с иконкой в виде трех точек, по нажатию на которую пользователю будет предложено выбрать папку. Путь до выбранной папки запишется в это поле. Выглядит так же, как и «Выбор файла». -## Поле «Источник данных» -

В это поле вводится название переменной или строка, на основе которой контрол будет заполнен. Немного поподробнее о поле при выборе различных элементов интерфейса: -

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

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

• Для «Таблицы» необходимо подать заполненную табличную переменную для её отображения; -

• Для элемента интерфейса «Выпадающий список» необходимо передать набор значений, которые пользователю будет предложено выбрать. Делается это через символ «;». Это могут быть строки, переменные-элементы, переменные-списки или табличные переменные, состоящие из одного столбца. Например, введено следующее значение, при приведенных далее примерах заполнения переменных: -

![Screenshot](img/interface_17.png)

-

![Screenshot](img/interface_18.png)

-

![Screenshot](img/interface_19.png)

-

Результат будет выглядеть следующим образом: -

![Screenshot](img/interface_20.png)

-## Поля «Колонка» и «Строка» -

В эти поля необходимо ввести номер колонки и строки сетки (таблицы), в которых должен располагаться добавляемый контрол. Например, в примере с датами (рис. 8.22.2) контрол «Надпись» - «Начальная дата» располагается в 0 колонке и 0 строке, а надпись «Конечная дата» - в 0 колонке и 1 строке. -## Поля «Объединить колонки» и «Объединить строки» -

В некоторых случаях необходимо выводить поля не в конкретной клеточке сетки, а в объединении нескольких клеток. Например – нужно предложить пользователю выбрать Excel-файл для записи в него результатов и ввести начальную и конечную дату, по которым будут собираться некоторые данные. Хотелось бы объединить это в две строки, но для ввода даты нужно как минимум 2 поля, а поле для выбора файла – одно. -

![Screenshot](img/interface_21.png)

-

Для того, чтобы растянуть поле для выбора файла по длине полей для ввода даты, нам необходимо разместить его не просто в 1 колонке и 0 строке, но и объединить для него две колонки, чтобы оно занимало сразу обе: -

![Screenshot](img/interface_22.png)

-

![Screenshot](img/interface_23.png)

-

То есть при заполнении поля «Объединить колонки» колонки, начиная с той, что указана в поле «Колонка», будут объединены по горизонтали в одну. -

Аналогично с полем «Объединять строки» - указанное количество строк, начиная с той, что указана в поле «Строка», будут объединены в одну: -

![Screenshot](img/interface_24.png)

-## Поле «Переменная» -

В это поле вводится название переменной, в которую будет записано значение, введенное (для выпадающего списка – выбранное) пользователем. Является обязательным полем для всех типов контролов, кроме «Надписи». -

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

![Screenshot](img/interface_25.png)

-

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

Удалить или отредактировать элемент можно, предварительно выбрав его в области «Список элементов», а затем нажав на соответствующую кнопку, находящуюся над списком с элементами. -

После добавления всех необходимых контролов нужно нажать кнопку «Сохранить» в правой нижней части окна. +Данный модуль предназначен для создания диалоговых окон для общения с +пользователем робота. Это могут быть окна, позволяющие прикрепить файл, +ввести какие-либо данные – дату, имена, почтовые адреса и другое, с чем +впоследствии будет работать робот, или наоборот, окна, отображающие +результат работы. + +Создание окна заключается в добавлении на него контролов – элементов +интерфейса таких, как надписи, текстовые поля, кнопки, выпадающие +списки. + +### Основное окно + +Окно модуля состоит из нескольких частей: + +- Настройки окна – общие настройки диалогового окна; + +- Параметры элемента интерфейса - настройка добавляемого элемента; + +- Список элементов – таблица, в которой содержатся все добавленные + > элементы; + +- Окно с предварительным просмотром диалогового окна на текущий момент + > (правая часть окна). + +

+ +
Рис. 1. Основное окно модуля
+ +Начинать работу с диалоговым окном следует с общих настроек, а именно с +настройки сетки, которую можно открыть по кнопке «Настройка сетки». + +## Настройки окна + +К настройкам окна относится название окна – «Титул», его ширина и высота +и настройка сетки. При установке флажка «На весь экран» поля «Высота» и +«Ширина» не будут учитываться. + +По нажатию на кнопку «Настройка сетки» появится окно настроек строк и +колонок сетки. + +
+ +
Рис. 2. Настройка сетки
+ +Сетка – это условная разметка элементов интерфейса, некоторая таблица, в +которую будут помещаться контролы. Например, если нужно создать окно, в +которое пользователь бы вводил два каких-то параметра – конечную и +начальную даты, за которые необходимо скачивать почту, то настроить +диалоговое окно для ввода этих дат можно несколькими способами: + +- Первый способ + +\- в две строки, 4 элемента интерфейса – на первой строке подпись и поле +для ввода начальной даты, на второй строке подпись и поле для ввода +конечной даты + +
+ +
Рис. 3. Пример окна №1
+ +Для такой настройки сетки необходимо задать две колонки – первая, для +надписей, вторая для полей ввода, и две строки – первая для начальной +даты, вторая - для конечной. + +- Второй способ + +\- в одну строку, 3 элемента интерфейса – подпись, поле для ввода первой +даты, поле для ввода второй даты. + +
+ +
Рис. 4. Пример окна №2
+ +В таком случае используется три колонки и одна строка. + +- Третий способ + +\- в одну строку, 4 элемента интерфейса – два поля для ввода и подписи к +каждому из них. + +
+ +
Рис. 5. Пример окна №3
+ +Здесь используются 4 колонки и 1 строка. + +Для каждой колонки можно задать свою ширину, для каждой строки – высоту: + +
+ +
Рис. 6. Пример настройки сетки
+ +Высота и ширина вводятся в пикселях, но можно использовать относительные +размеры окна, например, если одна колонка должна быть больше другой в +два раза и их всего две, то в поле «Ширина» можно ввести «1\*» для +первой колонки, и «2\*» для второй: + +
+ +
Рис. 7. Пример использования относительных размеров
+ +Результат такой разметки: + +
+ +
Рис. 8. Пример разметки
+ +Нумерация строк и колонок начинается с 0. С помощью кнопки «Удалить» +можно удалить ненужную строку или колонку, по кнопке «Редактировать» +можно изменить высоту или ширину. + +После настройки сетки она будет отображена пунктирной линией в окне +предварительного просмотра в правой части окна, и затем можно приступить +к добавлению контролов. + +## Добавление элемента интерфейса + +Для добавления на окно нового элемента необходимо заполнить поля, +представленные на рисунке 9: + +
+ +
Рис. 9. Поля для добавления нового элемента
+ +Обязательными полями являются все, кроме полей «Объединить +колонки/строки». Поле «Фильтр по файлам» доступно только для элемента +«Выбор файла». + +### Поле «Тип» + +
+ +
Рис. 10. Выпадающий список с выбором типа элемента
+ +Сначала выбирается тип добавляемого элемента интерфейса из предложенных: + +- Поле для ввода – поле, в которое можно ввести любую строку; + +>
+ +
Рис. 11. Элемент «Поле для ввода»
+ +- Надпись – статичная строка текста, которая не может быть + отредактирована пользователем; + +
+ +
Рис. 12. Элемент «Надпись»
+ +- Выпадающий список – поле со стрелочкой сбоку, по нажатию которого + открывается список заранее определенных значений; + +>
+ +
Рис. 13. Элемент «Выпадающий список»
+ +- Таблица – отображение в виде таблицы заранее созданной переменной. + Возможно редактирование полей таблицы, но невозможно создание новых + колонок в ней; + +>
+ +
Рис. 14. Элемент «Таблица»
+ +- Выбор даты – поле с иконкой календаря, по нажатию на которую + пользователю будет предложено выбрать определенную дату. Возможен + ввод значения даты вручную, при вводе других строк поле + автоматически подберет наиболее подходящую дату к введенным данным. + Формат даты ДД.ММ.ГГГГ; + +
+ +
Рис. 15. Элемент «Выбор даты»
+ +- Выбор файла – поле с иконкой в виде трех точек, по нажатию на + которую пользователю будет предложено выбрать файл. Путь до + выбранного файла запишется в это поле. + +
+ +
Рис. 16. Элемент «Выбор файла»
+ +Для фильтрации отображаемых пользователю файлов можно воспользоваться +полем «Фильтр по файлам», в которое вводится строка вида: «Название типа +файлов (доступные расширения)\|доступные расширения». Можно задать +несколько настроек фильтрации, разделителем для этого является символ +«\|». Пример: + +В данном случае отображается две настройки фильтрации: + +1. All files (\*.\*), в которой отображаются файлы с любым расширением; + +2. Microsoft Excel Worksheet (\*.xl\*; \*.csv), в которой отображаются + файлы с расширениями .csv и начинающимися на .xl (то есть .xlsx, xls + и другие). + +
+ +- Выбор папки – поле с иконкой в виде трех точек, по нажатию на + которую пользователю будет предложено выбрать папку. Путь до + выбранной папки запишется в это поле. Выглядит так же, как и «Выбор + файла». + +### Поле «Источник данных» + +В это поле вводится название переменной или строка, на основе которой +контрол будет заполнен. Немного поподробнее о поле при выборе различных +элементов интерфейса: + +- Для типа элемента «Надпись» туда вводится значение, которое должно + быть отображено в выводимой надписи; + +- Для «Поле для ввода», «Выбор даты», «Выбор файла» и «Выбор файла» + вводится значение, которое сразу будет указано в поле, если это + необходимо. Если поле должно быть пустым, то не надо заполнять + «Источник данных»; + +- Для «Таблицы» необходимо подать заполненную табличную переменную для + её отображения; + +- Для элемента интерфейса «Выпадающий список» необходимо передать + набор значений, которые пользователю будет предложено выбрать. + Делается это через символ «;». Это могут быть строки, + переменные-элементы, переменные-списки или табличные переменные, + состоящие из одного столбца. Например, введено следующее значение, + при приведенных далее примерах заполнения переменных: + +
+ +
Рис. 17. Пример заполнения поля «Источник данных»
+ +
+ +
+ +
Рис. 18. Примеры заполнения используемых переменных
+ +Результат будет выглядеть следующим образом: + +
+ +
Рис. 19. Пример результирующих данных
+ +### Поля «Колонка» и «Строка» + +В эти поля необходимо ввести номер колонки и строки сетки (таблицы), в +которых должен располагаться добавляемый контрол. Например, в примере с +датами (Рис. 9.30.2) контрол «Надпись» - «Начальная дата» располагается +в 0 колонке и 0 строке, а надпись «Конечная дата» - в 0 колонке и 1 +строке. + +### Поля «Объединить колонки» и «Объединить строки» + +В некоторых случаях необходимо выводить поля не в конкретной клеточке +сетки, а в объединении нескольких клеток. Например – нужно предложить +пользователю выбрать Excel-файл для записи в него результатов и ввести +начальную и конечную дату, по которым будут собираться некоторые данные. +Хотелось бы объединить это в две строки, но для ввода даты нужно как +минимум 2 поля, а поле для выбора файла – одно. + +
+ +
Рис. 20. Пример окна без объединения колонок
+ +Для того, чтобы растянуть поле для выбора файла по длине полей для ввода +даты, нам необходимо разместить его не просто в 1 колонке и 0 строке, но +и объединить для него две колонки, чтобы оно занимало сразу обе: + +
+ +
Рис. 21. Пример заполнения полей элемента интерфейса для настройки +объединения колонок
+ +
+ +
Рис. 22. Пример окна с объединенными колонками в первой строке сетки
+ +То есть при заполнении поля «Объединить колонки» колонки, начиная с той, +что указана в поле «Колонка», будут объединены по горизонтали в одну. + +Аналогично с полем «Объединять строки» - указанное количество строк, +начиная с той, что указана в поле «Строка», будут объединены в одну: + +
+ +
Рис. 23.. Пример окна с объединенными строками в первой колонке сетки
+ +### Поле «Переменная» + +В это поле вводится название переменной, в которую будет записано +значение, введенное (для выпадающего списка – выбранное) пользователем. +Является обязательным полем для всех типов контролов, кроме «Надписи». + +После заполнения всех полей необходимо нажать на кнопку «Добавить». +После нажатия на нее элемент сразу отобразиться в окне предпросмотра в +правой части окна. + +
+ +
Рис. 24. Пример заполненного окна модуля «Интерфейс»
+ +По кнопке «Предпросмотр» откроется диалоговое окно в таком виде, в +котором оно будет представлено пользователю. + +Удалить или отредактировать элемент можно, предварительно выбрав его в +области «Список элементов», а затем нажав на соответствующую кнопку, +находящуюся над списком с элементами. + +После добавления всех необходимых контролов нужно нажать кнопку +«Сохранить» в правой нижней части окна. diff --git a/docs/Konfi.md b/docs/Konfi.md index 13085ff..e2a1af7 100644 --- a/docs/Konfi.md +++ b/docs/Konfi.md @@ -1,10 +1,46 @@ -#

Конфигурирование LEXEMA-RPA STUDIO

+# КОНФИГУРИРОВАНИЕ LEXEMA-RPA STUDIO -## Файл конфигурации -

Lexema-RPA Studio содержит некоторые настройки, которые подходят большинству пользователей, но в некоторых случаях они должны быть изменены. Такие настройки вынесены в файл конфигурации, который находится в папке с программой и называется «Lexema-RPA Studio.exe.condig». Открыть данный файл можно любым текстовым редактором, например Блокнотом.

-

![Screenshot](img/konfi_1.png)

-

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

1. AbbyyFreDllPath - путь до папки с драйвером ABBYY (для пользователей, приобрётших лицензию ABBYY); -

2. useFileLog - использовать логирование в текстовый файл, по умолчанию значение true, запись ведется во временную директорию системы, в папку Lexema-RPA; -

3. useEmail – использовать логирование с отправкой письма с ошибкой на почту. Настройки почты вводятся в поля emailHost, emailPort, emailUseSSL, emailName и emailPass. В поле emailAdmin вводится адрес, на который должно прийти письмо; -

4. ChromePath – путь до браузера Chrome для модуля «Работа с браузером». +## Файл конфигурации + +Lexema-RPA Studio содержит некоторые настройки, которые подходят +большинству пользователей, но в некоторых случаях они должны быть +изменены. Такие настройки вынесены в файл конфигурации, который +находится в папке с программой и называется «Lexema-RPA +Studio.exe.config». Открыть данный файл можно любым текстовым +редактором, например Блокнотом. + +

+ +
Рис. 1. Файл конфигурации
+ +Настройки, которые можно изменять, находятся в блоке 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 – адрес подключения к оркестратору (для закрытых + корпоративных сетей). \ No newline at end of file diff --git a/docs/Orkestrator.md b/docs/Orkestrator.md index 0426982..edd4f12 100644 --- a/docs/Orkestrator.md +++ b/docs/Orkestrator.md @@ -1,36 +1,205 @@ -#

ОРКЕСТРАТОР

+# Оркестратор -## Общая информация -

Оркестратор роботов - сервис запуска роботов по составленному расписанию и/или некоторым событиям. Доступ к оркестратору осуществляется по нажатию кнопки ![Screenshot](img/Orkes_1.png) в панели управления главного окна студии. После нажатия на кнопку будет открыто окно, позволяющее опубликовать нового робота и/или настроить расписание запусков уже опубликованных роботов

-

![Screenshot](img/Orkes_2.png)

-

Оркестратор состоит из 3-х разделов и кнопки публикации текущего робота. Разделы оркестратора: -

• Задачи – раздел, позволяющий создавать новую задачу; -

• Роботы – список всех опубликованных текущим пользователем роботов; -

• Список задач пользователя – список всех задач, созданных текущим пользователем. -

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

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

Для работы оркестратора необходимо установить программу Lexema-RPA Client, которая, находясь в фоновом режиме работы на компьютере, просматривает созданные вами задачи и запускает роботов в соответствии с их расписанием. Для её скачивания необходимо посетить сайт и выбрать там «Скачать Lexema-RPA Client». Инструкция по использованию находится там же. -## Создание новой задачи -

Для создания расписания запуска одного робота нужно создать задачу. Для настройки задачи необходимо заполнить 6 полей – это наименование задачи, выбор робота из опубликованных, время первого запуска робота, количество повторов и интервал запуска, машина для запуска, на которой запущен RPA Client. -

![Screenshot](img/Orkes_3.png)

-

Наименование задачи. Название задачи для запуска конкретного робота, идентификатор, по которому вам будет удобнее ориентироваться среди всех ваших задач. -

Робот. Выбор робота, для которого составляется задача запуска. Поле представлено выпадающим списком, в котором предложены все ваши опубликованные роботы. -

![Screenshot](img/Orkes_4.png)

-

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

Повторы. Общее количество повторных запусков робота. Если робота повторять не нужно, и он должен отработать только 1 раз, количество повторов равно 0. Если необходимо, чтобы робот отрабатывал по 2 раза в день в течение недели, не учитывая его первый запуск, то количество повторов равно 2*7-1 = 13. -

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

![Screenshot](img/Orkes_5.png)

-

По нажатию на неё откроется вспомогательно окно выбора интервала запуска робота. -

![Screenshot](img/Orkes_6.png)

-

Если необходимо, чтобы робот запускался 25 числа каждого месяца, необходимо в первом запуске установить дату ближайшего 25 числа месяца, а настройке интервала ввести значение «1» в строке «Месяц», то есть, осуществлять повторы каждый месяц. -

Между каждым повтором будет установлен одинаковый интервал. Если необходимо запускать робота с разными временными интервалами, то необходимо создать несколько задач его запуска, например, если требуется запуск в 10:00 и в 13:00 одного дня на протяжении недели, то необходимо создать две задачи, количество повторений которых равно 6 (каждый день, не считая первого запуска), интервал запуска – 24 часа или 1 день, отличаться у этих задач будут только время первого запуска – у одной в 10:00 дня, когда нужно начать, у другой – в 13:00. -

После заполнения нужных строк в окне интервала и нажатию на кнопку «Сохранить», в поле «Интервал» отобразится строка вида «год:месяц:день:час:минуты:секунды», например, при установке интервала в 12 часов, строка будет иметь вид «0:0:0:12:0:0». Поле «Интервал» является обязательным, если количество повторов отличное от 0. -

После заполнения нужных строк в окне интервала и нажатию на кнопку «Сохранить», в поле «Интервал» отобразится строка вида «год:месяц:день:час:минуты:секунды», например, при установке интервала в 12 часов, строка будет иметь вид «0:0:0:12:0:0». Поле «Интервал» является обязательным, если количество повторов отличное от 0. -

RPA-Client. Если существует несколько разных машин (компьютеров), на которых авторизован один и тот же пользователь и запущены программы Lexema RPA-Client, то данное поле позволяет выбрать, на какой из этих машин необходимо запускать выбранного робота. Если неважно, на какой конкретно машине должен запускаться робот, то поле можно оставить пустым, тогда робот будет запускаться на одной из свободных машин. -

Пример заполненной задачи: -

![Screenshot](img/Orkes_7.png)

-

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

![Screenshot](img/Orkes_8.png)

-

Для редактирования существующей задачи необходимо найти её в списке задач и нажать на неё (1). После этого будут заполнены поля для настройки задачи соответствующими полями. Затем, после редактирования полей (2), необходимо нажать на кнопку «Редактировать» и изменения сохранятся (3). -

![Screenshot](img/Orkes_9.png)

-

Для удаления задачи её нужно найти и выбрать в списке задач пользователя и затем нажать кнопку «Удалить». \ No newline at end of file +## Общая информация + +Оркестратор роботов - сервис запуска роботов по составленному расписанию +и/или некоторым событиям. Доступ к оркестратору осуществляется по +нажатию кнопки +в панели управления главного окна студии. После нажатия на кнопку будет +открыто окно, позволяющее опубликовать нового робота и/или настроить +расписание запусков уже опубликованных роботов. + +

+ +
Рис. 1. Окно оркестратора
+ +Оркестратор состоит из 3-х разделов и кнопки публикации текущего робота. +Разделы оркестратора: + +- Задачи – раздел, позволяющий создавать новую задачу; + +- Роботы – список всех опубликованных текущим пользователем роботов; + +- Список задач пользователя – список всех задач, созданных текущим + пользователем. + +Кнопка «Опубликовать текущего робота» добавляет активного на данный +момент в студии робота в список опубликованных роботов. Если данный +робот был уже однажды загружен в оркестратор, то повторное нажатие +кнопки его обновит. Привязка робота идет не по имени, а по его +идентификатору, который присваивается роботу при его первоначальном +создании. + +Создание задач описано далее. + +После создания всех задач необходимо просто закрыть окно оркестратора. + +Для работы оркестратора необходимо установить программу Lexema-RPA +Client, которая, находясь в фоновом режиме работы на компьютере, +просматривает созданные вами задачи и запускает роботов в соответствии с +их расписанием. Для её скачивания необходимо посетить сайт + +и выбрать там «Скачать Lexema-RPA Client». Инструкция по использованию +находится там же. + +## Создание новой задачи + +Для создания расписания запуска одного робота нужно создать задачу. Для +настройки задачи необходимо заполнить 6 полей – это наименование задачи, +выбор робота из опубликованных, время первого запуска робота, количество +повторов и интервал запуска, машина для запуска, на которой запущен RPA +Client. + +
+ +
Рис. 2. Перечень полей для настройки задачи запуска
+ +**Наименование задачи.** Название задачи для запуска конкретного робота, +идентификатор, по которому вам будет удобнее ориентироваться среди всех +ваших задач. + +**Робот.** Выбор робота, для которого составляется задача запуска. Поле +представлено выпадающим списком, в котором предложены все ваши +опубликованные роботы. + +
+ +
Рис. 3. Выпадающий список с перечнем опубликованных роботов
+ +**Первый запуск.** Время первого запуска робота, после которого он будет +запускаться с определенным интервалом. Выбираются и дата, и время. + +**Повторы.** Общее количество повторных запусков робота. Если робота +повторять не нужно, и он должен отработать только 1 раз, количество +повторов равно 0. Если необходимо, чтобы робот отрабатывал по 2 раза в +день в течение недели, не учитывая его первый запуск, то количество +повторов равно 2\*7-1 = 13. + +**Интервал запуска.** Время, через которое необходим повторный запуск +робота (если повторы есть). Для настройки поля необходимо нажать на +кнопку-стрелочку в углу поля. + +
+ +
Рис. 4. Кнопка открытия настроек интервала
+ +По нажатию на неё откроется вспомогательное окно выбора интервала +запуска робота. + +
+ +
Рис. 5. Настройка интервала запуска робота
+ +Если необходимо, чтобы робот запускался 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, то данное поле позволяет выбрать, на какой из этих +машин необходимо запускать выбранного робота. Если неважно, на какой +конкретно машине должен запускаться робот, то поле можно оставить +пустым, тогда робот будет запускаться на одной из свободных машин. + +Пример заполненной задачи: + +
+ +
Рис. 6. Пример настройки задачи
+ +По нажатию кнопки «Добавить», расположенной под полями для настройки +задач, задача будет добавлена в список задач. + +
+ +
Рис. 7. Список задач пользователя с добавленной задачей
+ +Для редактирования существующей задачи необходимо найти её в списке +задач и нажать на неё (1 на рисунке 8). После этого будут +заполнены поля для настройки задачи соответствующими полями. Затем, +после редактирования полей (2 на рисунке 8), необходимо нажать на +кнопку «Редактировать» и изменения сохранятся (3 на рисунке 8). + +
+ +
Рис. 8. Пример редактирования задачи
+ +Для удаления задачи её нужно найти и выбрать в списке задач пользователя +и затем нажать кнопку «Удалить». + +## Раздел «Роботы» + +Данный раздел состоит из поля поиска робота по его названию и списка +опубликованных роботов. При публикации, роботу присваивается уникальный +идентификатор, поэтому названия роботов в списке опубликованных могут +повторяться. + +
+ +
Рис. 9. Раздел «Роботы»
+ +Для загрузки, отладки или редактирования существующего робота, +необходимо открыть его как проект в студии. Для этого необходимо нажать +на иконку Lexema-RPA соответствующего робота. + +
+ +
Рис. 10 Кнопка «Загрузить робота в студию»
+ +После редактирования робота необходимо нажать на кнопку «Опубликовать +текущего робота», после чего редактируемый робот сохранит свои +изменения. + +Для удаления робота необходимо нажать на красный крестик в его блоке. + +
+ +
Рис. 11. Кнопка удаления робота из оркестратора
+ +## Информация о задаче + +В списке задач в оркестраторе можно узнать текущий статус выполнения задачи, статистику выполнения и логи. +Текущий статус отображается в строке задачи, в колонке «Статус» - в ней отображается название и примечание +текущего выполняемого модуля, либо пустота, если сейчас эта задача не выполняется. + +При нажатии правой кнопкой мыши по задаче в списке задач появляется +контекстное меню, позволяющее перейти к статистике выполнений или логам +задачи. + +
+ +
Рис. 12. Контекстное меню задачи
+ +Статистика выполнения открывается так же при двойном клике по задаче. + +
+ +
Рис. 13. Статистика выполнения
+ +В данном окне отображаются состояния задачи – время запуска, время +окончания и статус работы – Success (успешно) или Failed (провалено). +Если строка пустая, значит робот по каким-то причинам был приостановлен, +например был остановлен клиент или убит процесс в «Диспетчере задач». + +В окне логов отображается более детальная информация – начало и +окончание работы модуля робота. + +
+ +
Рис. 14. Логи
diff --git a/docs/Other.md b/docs/Other.md new file mode 100644 index 0000000..92c6da4 --- /dev/null +++ b/docs/Other.md @@ -0,0 +1,433 @@ +# ДРУГИЕ МОДУЛИ + +## Модуль «Вычисления» + +Модуль «Вычисления» является связующим модулем или модулем пред- и +постобработки данных из других модулей. Данный модуль необходим для +создания, вычисления и изменения значений переменных. Модуль позволяет +производить вычисления и обработку информации с помощью языка +программирования JavaScript. + +### Интерфейс модуля + +Окно модуля очень простое и состоит всего лишь из поля для ввода и +кнопок «Сохранить» и «Отмена». + +
+ +
Рис. 1. Окно модуля
+ +**Поле «Выражение».** В поле вводится код на языке программирования +JavaScript. Возможно использование локальных переменных модуля (с +объявлением их через let, var или const, но они не будут видны в других +модулях скрипта робота), либо переменных студии, которые должны +начинаться с символов «v.». + +Модуль полностью подчиняется правилам языка JavaScript, то есть +поддерживаются все стандартные функции JS, разделение строк производится +посредством ввода символа «;» или переходом строки (клавиша Enter). + +### Пример работы с модулем + +Предположим, необходимо получить последний день предыдущего месяца. +Сделаем это с помощью ввода следующего кода: + +Листинг 12... Получение последнего дня предыдущего месяца + +
+ +
Рис. 2. Пример заполнения модуля
+ +Что делает написанный выше код? А вот что – получаем сегодняшний день, +например, сегодня 25 марта, из этой даты мы берем информацию о текущем +годе и месяце, затем создаем новый экземпляр даты, устанавливая в +качестве года и месяца текущие, а в качестве дня – нулевой, вследствие +чего язык JS создаст дату с последним днем предыдущего месяца. Более +подробно: + +1 строка – создание нового экземпляра даты без передачи параметров, в +следствиии чего создастся сегодняшняя дата (date = 25.03.2020); + +2 строка – использование метода getFullYear, который возвращает полный +год даты, к которой он применен (year = 2020); + +3 строка – использование метода getMonth, который возвращает месяц даты, +к которой он применен (month = 2, так как месяца в JS считаются с 0); + +4 строка – создание нового экземпляра даты, в качестве параметров +подаются текущий год, текущий месяц и 0 в качестве дня (v.lastDay = +29.02.2020); + +5 строка – получение числа последнего дня предыдущего месяца (v.lastDay += 29). + +В качестве знакомства с языком программирования JavaScript рекомендуем к +изучению интернет-ресурс «Современный учебник JavaScript», доступный по +ссылке . + +## Модуль «Запустить процесс» + +Модуль «Запустить процесс» предназначен для запуска каких-либо +приложений. Это может быть браузер, MS Word, 1С и другие. + +### Интерфейс модуля + +Окно модуля состоит из полей «Путь к файлу», «Параметры», флажок «От +имени администратора», «Пауза», «Переменная с именем процесса» и +«Переменная с id процесса», а также кнопок «Сохранить» и «Отмена». + +
+ +
Рис. 3. Окно модуля
+ +**Поле «Путь к файлу»**. В данное поле вводится название стандартного +процесса Windows (например, notepad – блокнот), либо путь до корневого +расположения программы, например, стандартный путь до браузера Google +Chrome - C:\\Program Files +(x86)\\Google\\Chrome\\Application\\chrome.exe. + +**Поле «Параметры»** является необязательным полем, в него вводятся +аргументы вызываемого приложения. Например, для открытия нового блокнота +или чистого листа Excel-аргументы не нужны, но если необходимо открыть +конкретный файл, то в аргументы передается название файла, а если +открывается браузер, то аргументом может быть ссылка на сайт. + +
+ +
Рис. 4. Пример заполнения
+ +**Флажок «От имени администратора»** запускает процесс с правами, +позволяющими запускаемому процессу вносить изменения в системные файлы +компьютера. ***Если вы не доверяете приложению, то не стоит ставить этот +флажок.*** + +**Поле «Пауза»** устанавливает время ожидания после начала запуска +процесса. + +**Поле «Переменная с именем/id процесса».** В данное поле вводятся +переменные, в которые будут помещены имя и идентификатор (id) +запускаемого процесса соответственно. Данные параметры нужны, чтобы в +дальнейшем можно было завершить (закрыть) указанные процессы. ***Если у +вас задача только запустить процессы, то можете оставить эти поля +пустыми.*** + +**Флажок «Скрыто»** запускает процесс со свойством hide (скрытый), то +есть запускает фоновый процесс. + +**Флажок «Ожидать завершения»** позволяет данному модулю дождаться +окончания работы процесса и только затем продолжить работу робота. + +## Модуль «Завершить процесс» + +Модуль «Завершить процесс» предназначен для завершения ранее запущенных +процессов по их имени и идентификатору. + +### Интерфейс модуля + +Окно состоит из двух полей – имени и идентификатора (id) завершаемого +процесса. + +
+ +
Рис. 5. Окно модуля
+ +Если завершаемый процесс запускался через модуль «Запустить процесс», то +в эти поля передаются переменные, указанные в одноименных полях окна +запуска процессов. В противном случае, если известно имя процесса, +который необходимо завершить, достаточно ввести только его, но (!) в +таком случае ***завершатся все процессы с подобным именем.*** Например, +если вы захотите закрыть excel-файл и напишете просто «Excel», то +закроются все excel-файлы, которые были открыты. + +## Модуль «SQL» + +Модуль «SQL» обеспечивает работу с базами данных. Поддерживаемые СУБД: +MS SQL и PostgreSQL. + +### Интерфейс модуля + +Данный модуль обеспечивает работу с базами данных. Поддерживаются такие +СУБД, как MS SQL и PostgreSQL. Для работы с БД ***необходимо заполнить +все поля*** окна «Модуль SQL». + +Окно состоит из следующих полей: «СУБД», «Источник данных», «База +данных», «Логин», «Пароль», «Время ожидания», «SQL-скрипт» и +«Переменная». + +
+ +
Рис. 6. Пример заполнения модуля
+ +**Поля** «СУБД», **«Источник данных», «База данных», «Логин» и +«Пароль»** обеспечивают подключение к БД. + +**Поле «Время ожидания»**. В данное поле вводится значение времени в +секундах, которое должно хватить запросу на выполнение. Без этого поля +робот может работать бесконечно долго из-за исключительных ситуаций, +поэтому заполнение этого поля является обязательным. Для небольших +запросов значение может быть равно 20 секунд, для больших – минута и +более. + +**Поле «SQL-скрипт»**. В данное поле вводится скрипт на языке SQL, +поддерживается ввод переменных студии. При использовании переменных +студии необходимо подать в это поле строку в следующем виде: весь скрипт +должен быть взят в кавычки, за исключением переменных студии (как +показано на рисунке 11.40.1). + +**Поле «Переменная»**. В поле вводится название переменной, в которую +будет записан ответ от базы данных в виде таблицы. *В одном SQL-модуле +может возвращаться только одна таблица, последующие будут +проигнорированы.* + +## Модуль «HTTP OData» + +Http-запросы – запросы для передачи информации между сайтами (или +серверами) и клиентами (например, нами). + +Модуль «HTTP OData» предназначен для отправки запросов по протоколу +***http***[9] к интеграционному сервису 1С – OData. + +### Интерфейс модуля + +Данный модуль состоит из полей: «Ссылка», «Логин», «Пароль», +«Переменная» и «Тип запроса». + +
+ +
Рис. 7. Пример настройки GET запроса
+ +**Поле «Ссылка»**. В поле вводится необходимый URL-адрес. + +**Поле «Переменная»**. В поле вводится название переменной, в которую +будет помещен ответ. + +**Поля «Логин» и Пароль».** Предназначены для ввода логина и пароля при +авторизации. + +**Поле «Тип запроса».** Позволяет выбрать необходимый тип запроса. +Доступны методы «GET», «PUT», «POST» и «PUTCH». + +**Поле «Запрос».** В поле вводится HTTP-сообщение, согласно общим +правилам его структуры. Доступно к заполнению только при выборе типов +запроса «PUT», «POST» и «PUTCH». + +## Модуль «HTTP запрос» + +Http-запросы – запросы для передачи информации между сайтами (или +серверами) и клиентами (например, нами). + +Модуль «HTTP запрос» предназначен для отправки запросов по протоколу +***http***. + +### Интерфейс модуля + +Данный модуль состоит из полей: «Ссылка», «Переменная», «Тип запроса» и +вкладок Headers и Body с одинаковыми полями Name и Value. Внизу модуля +расположена таблица с добавленными значениями аргументов. + +
+ +
Рис. 8. Интерфейс модуля «HTTP запрос»
+ +**Поле «Ссылка»**. В поле вводится необходимый URL-адрес. + +**Поле «Переменная»**. В поле вводится название переменной, в которую +будет помещен ответ. + +**Поле «Тип запроса».** Позволяет выбрать необходимый тип запроса. +Доступны методы «GET» и «POST». + +**Поля «Name» и «Value» вкладок «Headers» и «Body»** предназначены для +составления http-запроса. + +## Модуль «FTP запрос». + +Модуль позволяет отправлять запросы по ***FTP***[10] протоколу. + +### Интерфейс модуля + +Модуль состоит из нескольких полей для подключения к серверу, ввода +названия переменной и выпадающего списка с выбором действия. + +
+ +
Рис. 9. Интерфейс модуля «FTP запрос»
+ +**Поле «Ссылка»** предназначено для ввода ссылки для подключения к FTP +серверу. + +**Поле «Логин»** заполняется логином подключающегося к серверу +пользователя. + +**Поле «Пароль»** заполняется паролем пользователя для доступа к +серверу. + +**Поле «Переменная»** предназначено для ввода названия переменной, в +которую будет помещен результат выполнения модуля. + +**Пол «Действие»** предоставляет перечень доступных действий с FTP +сервером. + +## Модуль «JSON» + +Данный модуль предназначен для обработки данных в формате JSON – +парсинга JSON-объектов. + +### Интерфейс модуля + +В окне модуля расположены поля для ввода значений: «Переменная» и +«JSON», и кнопки «Сохранить» и «Отмена». + +
+ +
Рис. 10. Окно модуля
+ +**Поле «Переменная».** В поле «Переменная» вводится название переменной, +которая будет преобразована в объектную переменную с полями, имеющимися +в JSON-объекте. + +**Поле «JSON».** В поле необходимо описать объект в формате JSON, в виде +пар «ключ»: «значение», обрамлённых в фигурные скобки. JSON-объект может +быть описан непосредственно текстом в поле «JSON» либо быть созданным в +процессе выполнения других модулей. В случае формирования JSON-объекта в +других модулях, в поле необходимо ввести название переменной, в которой +лежит необходимый объект. + +**ПРИМЕР.** + +Пусть у нас есть текст в формате JSON. Введем его в поле JSON модуля, а +результат пусть запишется в переменную v.a. + +
+ +
Рис. 11. Пример заполнения
+ +В результате переменная v.a станет объектом с полями «name» и «age». К +полям объекта можно обратиться, написав название поля через точку после +переменной. Проверить значение переменной можно с помощью функционала +«Узнать значение переменной», доступного по кнопке +в обозревателе решений. + +
+ +
Рис. 12 Получение значения из поля «name» переменной «a»
+ +На рисунке 12 видно, что на основе текста формата JSON создалась +переменная с указанными в нем полями и заполненными значениями. + +## Модуль «XML» + +Модуль «XML» предназначен для парсинга текста формата XML. Результатом +работы модуля будет объект с полями и свойствами, указанными в исходном +тексте. + +### Интерфейс модуля + +Окно модуля состоит из двух полей – поля «Переменная» и «XML». + +
+ +
Рис. 13. Окно модуля «XML»
+ +Поле «Переменная» заполняется названием переменной, в которую будет +возвращен объект – результат работы модуля. + +Поле «XML» заполняется текстом в формате XML или переменной, содержащей +этот текст. + +Результат работы модуля при его настройке, указанной на рисунке 14: + +
+ +
Рис. 14. Объект – результат парсинга XML
+ +## Модуль «PDF» + +Данный модуль позволяет работать с PDF файлами. В его возможности входит +получение текста из документа, изображений, и объединение нескольких PDF +файлов. + +### Интерфейс модуля + +Модуль состоит из 4-х полей, доступность которых определяется выбранным +действием, кнопок управления создаваемым действием и таблицей-списком +созданных действий. + +
+ +
Рис. 15. Интерфейс модуля «PDF»
+ +**Поле «Действие».** Представляет собой выпадающий список из доступных в +модуле действий. + +**Поле «Документ 1».** Поле, в которое вводится путь до рабочего файла. +По кнопке в поле открывается диалог выбора файла. + +**Поле «Документ 2».** Поле, в которое вводится путь до второго рабочего +файла, используется для действий, требующих несколько файлов (например, +объединение 2-х PDF). По кнопке в поле открывается диалог выбора файла. + +**Поле «Переменная».** Поле, для ввода названия переменной, в которую +будет возвращен результат работы модуля. + +### Перечень и описание действий + +#### Получить text + +Действие позволяет получить текст из файла PDF, если тот является +непосредственно текстом, а не изображением. Полученный текст будет +записан в указанную переменную. + +
+ +
Рис. 16. Пример настройки действия «Получить text»
+ +#### Получить image + +Действие получает все изображения из PDF файла и сохраняет их в формате +.jpg в указанную в поле «Папка» директорию. В указанную переменную будет +записан список путей до выделенных изображений. + +
+ +
Рис. 17. Пример настройки действия «Получить image»
+ +#### Объединить документы + +Действие объединяет два указанных PDF файла и сохраняет их в файле, +который необходимо указать в поле «Значение». + +
+ +
Рис. 18. Пример настройки действия «Объединить документы»
+ +## Модуль «Пауза» + +Модуль «Пауза» предназначен для создания некоторой паузы между модулями. + +Вся настройка модуля заключается в заполнении поля «Пауза» - количество +миллисекунд, которые необходимо подождать. Допускается использование +переменной. + +
+ +
Рис. 19. Окно модуля «Пауза»
+ +## Модуль «Прокси» + +Модуль «Прокси» предназначен для создания подключения к прокси-серверу. + +Для использования модуля необходимо заполнить адрес прокси-сервера. + +
+ +
Рис. 20. Окно модуля «Прокси»
+ +## Модуль «Лог» + +Модуль «Лог» предназначен для вывода некоторых сообщений или значений +переменных в «Отладочный вывод» во время работы робота. + +
+ +
Рис. 21. Окно модуля «Лог»
diff --git a/docs/SendEmail.md b/docs/SendEmail.md index 64acb72..6dd8fe3 100644 --- a/docs/SendEmail.md +++ b/docs/SendEmail.md @@ -1,32 +1,385 @@ -#

Модуль «Отправить письмо»

+# МОДУЛИ «ПОЧТОВЫЕ АГЕНТЫ» -

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

+## Модуль «Отправить письмо» -## Интерфейс модуля -

Окно модуля состоит из нескольких вкладок: «Настройки», «Получатель», «Письмо». Рассмотрим по порядку все вкладки. Начнем знакомство с рассмотрения вкладки «Настройки». -### Вкладка «Настройки» -

![Screenshot](img/SE_1.png)

-

Поле «Настройки» – выпадающий список, в котором предложены несколько почтовых служб. При выборе почтовой службы будут заполнены поля «Хост», «Порт» и установлен флажок «Использовать SSL» согласно её настройкам. Пункт "Пользовательские" предоставляет возможность самостоятельной настройки параметров доступа к почтовой службе -

![Screenshot](img/SE_2.png)

-

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

Поле «E-mail» предназначено для указания адреса электронной почты, с которой будут отправлены сообщения, в формате name@mail.ru. -

Поле «Пароль» предназначено для ввода пароля от почты, указанной в поле «E-mail». -

![Screenshot](img/SE_3.png)

-### Вкладка «Получатель» -

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

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

• ручной ввод списка получателей (имена и e-mail’ы); -

• из переменной-элемента, в виде одного e-mail’а; -

• из переменной-списка, в виде нескольких e-mail’ов. -

![Screenshot](img/SE_4.png)

-

Если выбран переключатель «Список», то поле «Переменная» недоступно для ввода, иначе – наоборот, доступно поле «Переменная», но недоступны другие поля. -

Для ввода получателей методом «Список» необходимо заполнить поля «Имя получателя» и «E-mail получателя», затем нажать на кнопку под полями «Добавить». После этого введенные значения появятся в таблице в центре окна. Если необходимо удалить какого-либо получателя из таблицы, необходимо выбрать строку с ним и нажать на кнопку «Удалить». -

![Screenshot](img/SE_5.png)

-

Если используется метод выбора получателей через переменную, то поля «Имя получателя», «E-mail получателя» и таблица становятся недоступными. В поле «Переменная» необходимо ввести название переменной, начиная с символа «@», из которой будут взяты email’ы получателей. -

![Screenshot](img/SE_6.png)

-### Вкладка «Письмо» -

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

![Screenshot](img/SE_7.png)

-

Для прикрепления одного файла во вложение следует нажать на кнопку «Выбрать файл» и в открывшемся диалоговом окне выбрать требуемый файл. -

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

Каждое из полей формы может быть заполнено переменной. +Модуль «Отправить письмо» предназначен для отправки письма одному или +нескольким получателям. + +### Интерфейс модуля + +Окно модуля состоит из нескольких вкладок: «Настройки», «Получатель», +«Письмо». Рассмотрим по порядку все вкладки. Начнем знакомство с +рассмотрения вкладки «Настройки». + +#### Вкладка «Настройки» + +

+ +
Рис. 1. Окно модуля
+ +**Поле «Настройки»** – выпадающий список, в котором предложены несколько +почтовых служб. При выборе почтовой службы будут заполнены поля «Хост», +«Порт», «Безопасность» согласно её настройкам. Пункт "Пользовательские" +предоставляет возможность самостоятельной настройки параметров доступа к +почтовой службе. + +
+ +
Рис. 2. Пример настройки почтовый службы «Mail»
+ +**Поля «Хост», «Порт, «Безопасность»** необходимы к заполнению только +при выборе пользовательских настроек. Представляют собой набор +обязательных полей для подключения к почтовым сервисам. + +**Поле «Доменное имя»** необходимо для некоторых почтовых служб (в +основном, корпоративных) для указания доменного имени, необходимого для +авторизации. + +**Поле «E-mail»** предназначено для указания адреса электронной почты, с +которой будут отправлены сообщения, в формате . + +**Поле «Пароль»** предназначено для ввода пароля от почты для +авторизации. + +**Флажок «Показывать пароль»** предоставляет возможность показать пароль +для проверки его правильности. + +
+ +
Рис. 3. Пример заполненной вкладки «Настройки»
+ +#### Вкладка «Получатель» + +На данной вкладке заполняется информация о лицах, которым будет +отправлено письмо. + +Модуль предоставляет различные способы указания получателей, а именно: + +- ручной ввод списка получателей (имена и e-mail’ы); + +- из переменной-элемента, в виде одного e-mail’а; + +- из переменной-списка, в виде нескольких e-mail’ов. + +
+ +
Рис. 4. Вкладка «Получатель»
+ +Если выбран переключатель «Список», то поле «Переменная» недоступно для +ввода, иначе – наоборот, доступно поле «Переменная», но недоступны +другие поля. + +Для ввода получателей методом «Список» необходимо заполнить поля «Имя +получателя» и «E-mail получателя», затем нажать на кнопку под полями +«Добавить». После этого введенные значения появятся в таблице в центре +окна. Если необходимо удалить какого-либо получателя из таблицы, +необходимо выбрать строку с ним и нажать на кнопку «Удалить». + +
+ +
Рис. 5. Пример заполнения таблицы получателей
+ +Если используется метод выбора получателей через переменную, то поля +«Имя получателя», «E-mail получателя» и таблица становятся недоступными. +В поле «Переменная» необходимо ввести название переменной, начиная с +символов «v.», из которой будут взяты email’ы получателей. Переменная +может быть списком из email’ов, либо строкой с перечислением их через +запятую. + +
+ +
Рис. 6. Вкладка «Получатель»
+ +#### Вкладка «Письмо» + +На данной вкладке настраивается письмо, которое будет отправлено +получателям, указанным на вкладке «Получатель». Все поля необязательны +для заполнения, если не заполнить ни одного из них будет отправлено +пустое письмо с темой «<Без темы>». + +
+ +
Рис. 7. Вкладка «Письмо»
+ +Для прикрепления одного файла во вложение следует нажать на кнопку +«Выбрать файл» и в открывшемся диалоговом окне выбрать требуемый файл. + +Для прикрепления сразу нескольких файлов необходимо нажать на кнопку +«Выбрать папку» и в открывшемся диалоговом окне выбрать папку со всеми +требуемыми файлами. + +Каждое из полей формы может быть заполнено переменной. + +## Модуль «Считать письма» + +Модуль «Считать письма» предназначен для получения списка писем с почты +для дальнейшей их обработки или просто для скачивания вложений. Для +работы модуля обязательно разрешение подключения по IMAP или POP3 +протоколу на используемой почте (подробнее про включение протоколов +описано этой главе, пункте «Включение IMAP и POP3 протоколов»). + +### Интерфейс модуля + +Модуль состоит из трех вкладок: «Настройки», «Настройки чтения» и +«Параметры загрузки». + +Вкладка «Настройки» аналогична одноименной вкладке в модуле «Отправить +письмо», с одним существенным отличием - в данном модуле предоставляется +выбор протокола отправки: IMAP или POP3. Так же отсутствует поле «Доменное имя», +так как для считывания почты оно не требуется. + +При выборе соответствующего протокола и его настроек, поля «Хост», +«Порт» и «Безопасность» заполняются автоматически (кроме режима +«Пользовательские настройки»). + +
+ +
Рис. 8. Окно модуля с примером авто-заполнения полей
+ +#### Вкладка «Настройки чтения» + +Вкладка «Настройки чтения» представляет собой набор полей, которые +заполняются в зависимости от того, какие письма следует считать. + +
+ +
Рис. 9. Вкладка «Настройка чтения»
+ +**Поле «Переменная».** В поле ожидается ввод названия переменной, в +которую будет внесена информация о считанных письмах. В программе это +поле будет представлено списком объектов, имеющих шесть полей: + +1. Subject – тема письма; + +2. Body – тело письма, его основной текст; + +3. Sender – отправитель; + +4. Receivers – получатели, перечисленные через запятую; + +5. Attachments – список путей до скачанных вложений; + +6. Date – дата получения письма; + +7. Id – уникальный идентификатор письма. + +Примеры работы с переменными + +- v.mails\[2\].Attachments\[0\] – получение пути первого вложения + третьего считанного письма: + +
+ +
Рис. 10. Пример получения пути до первого вложения второго письма
+ +- v.mails\[3\].Subject – получение темы четвертого скачанного + сообщения: + +
+ +
Рис. 11. Пример получения темы первого письма
+ +**Поле «Скачивать вложения в папку»** предназначено для ввода пути до +папки, в которую загрузятся все вложения считанных писем. Если оставить +поле пустым, то файлы будут загружаться во временную директорию +компьютера. + +**Поле «Новая папка для каждого письма»** позволяет сохранять вложения +из каждого письма в свою отдельную папку для того, чтобы файлы, имеющие +одинаковые названия, но содержащиеся в разных письмах, не перетирали +друг друга. При скачивании вложений во временную системную папку +компьютера галочка является обязательной. + +**Флажок «Только непрочитанные»** позволяет настроить считывание только +новых писем. *Доступно только для протокола IMAP.* + +**Флажок «Отмечать как прочитанные»** позволяет после считывания +устанавливать пометку о прочтении письма. *Доступно только для протокола +IMAP*. + +**Поле «Читать из папки»** предназначено для настройки конкретной папки +в почтовом ящике, из которой следует считывать письма. По умолчанию, +письма считываются из папки «Входящие». *Доступно только для протокола +IMAP.* + +**Поле «Фильтр по отправителям»** позволяет искать сообщения, +отправленные от одного из указанных отправителей. Перечислить всех можно +через запятую, либо подав в это поле переменную-список, содержащую +отправителей. + +**Поле «Фильтр по получателям»** позволяет искать сообщения, в которых +присутствуют указанные получатели. Перечислить всех можно через запятую, +либо подав в это поле переменную-список, содержащую получателей. +*Доступно только для протокола IMAP.* + +**Поле «Фильтр по теме сообщений»** предназначено для настройки фильтра +по теме сообщений. Если необходимо скачать письма с темой, содержащей +или не содержащей определенную строку, то следует выбрать одноименную +операцию в выпадающем списке и вписать нужную строку в появившемся поле +(рисунок 12). *Доступно только для протокола +IMAP.* + +
+ +
Рис. 12. Фильтр по теме сообщений
+ +**Поле «Фильтр по дате»** предназначено для настройки фильтрации +считывания писем по дате. При указании значения в данном поле, робот +будет считывать только те сообщения, которые удовлетворяют заданному +условию. + +Доступны следующие методы фильтрации: + +- за определенную дату – «На дату»; + +- начиная с какой-либо даты, включая её – «С даты»; + +- все письма, до какой-либо даты, включая её – «До даты»; + +- «Между датами». + +После выбора метода фильтрации под полем «Фильтр по дате» появится одно +или два поля для внесения в них нужных значений в формате ДД.ММ.ГГГГ. +*Доступно только для протокола IMAP.* + +#### Вкладка «Параметры загрузки» + +С помощью данной вкладки можно ограничить информацию, скачиваемую с +почтового сервера, для уменьшения затрачиваемых ресурсов. По умолчанию +скачивается вся доступная информация. + +Доступно следующее разграничение для скачивания: + +- Загрузка информации об отправителе, получателях, теме и дате + сообщения (шапка письма); + +- Загрузка только текста сообщения; + +- Загрузка вложений (по умолчанию так же скачивается текст сообщения); + +- Загрузка только даты сообщения. + +
+ +
Рис. 13. Вкладка «Параметры загрузки»
+ +С помощью данной функции можно загрузить только, например, «шапки» +писем, отобрать из них необходимые, и догрузить по ним всю информацию с +помощью модуля «Действия над письмами», который будет описан в следующей +главе. + +### Включение IMAP и POP3 протоколов + +1. Яндекс + + 1. IMAP + +> Для использования протокола IMAP в почтовой службе Яндекс необходимо +> перейти в настройки почты (1), затем «Почтовые программы» (2) и +> разрешить доступ к почтовому ящику с помощью почтовых клиентов с +> сервера imap.yandex.ru (3), способы авторизации – по портальному +> паролю (4). + +
+ +
Рис. 14. Включение IMAP протокола в Яндекс
+ +Если настройки «Портальный пароль» нет, значит в вашем аккаунте +предусмотрено использование паролей приложений, которые для работы +Lexema-RPA Studio необходимо выключить. Для этого перейдите в управление +аккаунтом - «Пароли и авторизация» - «Пароли приложений» - «Выключить +пароли приложений». + +
+ +
Рис. 15. Пароли приложений в настройках аккаунта
+ +
+ +
Рис. 16. Выключение паролей приложения
+ +Затем вернитесь на страницу с включением настроек почтовых программ и +установите галочку напротив «Портального пароля», как это изображено на +рисунке 14. + +2. POP3 + +Для включения протокола POP3 необходимо войти в те же настройки, что и +при включении протокола IMAP: «Настройки» (1) – «Почтовые программы» (2) +- разрешить доступ к почтовому ящику с помощью почтовых клиентов с +свервера pop.yandex.ru (3). + +
+ +
Рис. 17. Включение протокола POP3 в Яндекс
+ +2. GMail + + 1. IMAP + +Для включения IMAP протокола в почтовой службе GMail необходимо перейти +в настройки почты (1), затем выбрать пункт «Пересылка и POP/IMAP» (2) - +«Доступ по IMAP» и затем в «Состоянии» включить IMAP (3): + +
+ +
Рис. 18. Включение протокола IMAP в Gmail
+ +2. POP3 + +Аналогично проводится включение протокола POP3: настройки (1) – +«Пересылка и POP/IMAP» (2) - «Доступ по протоколу POP» - «Включить POP +для всех писем» (3): + +
+ +
Рис. 19. Включение POP3 протокола в Gmail
+ +## Модуль «Действия над письмами» + +С помощью данного модуля можно переносить уже считанные письма в другие +папки в почте, удалять письма с сервера и догружать информацию. Для +использования модуля предварительно необходимо получить письма с помощью +модуля «Считать письма». + +### Интерфейс модуля + +Интерфейс модуля состоит из двух вкладок – «Настройки» и «Действие». + +#### Вкладка «Настройки» + +Вкладка настроек не отличается от аналогичной вкладки в модуле «Считать +письма», но доступен только один протокол – IMAP. При выборе в поле +«Настройки» необходимой почтовой службы, поля «Хост», «Порт» и «SSL» +заполнятся автоматически, при пользовательских настройках их необходимо +заполнять вручную. + +
+ +
Рис. 20. Вкладка «Настройки» модуля «Переместить письмо»
+ +#### Вкладка «Действие» + +На данной вкладке производится настройка действия, совершаемого над +сообщением. + +
+ +
Рис. 21. Вкладка «Параметры перемещения»
+ +**Поле «Действие»** позволяет выбрать одно из трёх доступных действий – +«Переместить письмо», «Удалить письмо» и «Загрузить всю информацию из +письма». + +В **поле «Id письма»** вносится id письма, над которым производится +действие, который может быть получен с помощью модуля «Считать письма». +Может быть передано несколько идентификаторов через запятую, либо +переменная-список, содержащая их. + +**Поле «Папка»** доступно только для действия «Переместить письмо». В +него указывается название папки на почте, в которую должно быть +перемещено письмо. + +**Поле «Переменная»** доступно только для действия «Загрузить всю +информацию из письма», в которое вводится название переменной, которая +будет являться результирующей для выполнения действия. \ No newline at end of file diff --git a/docs/Telegram.md b/docs/Telegram.md new file mode 100644 index 0000000..7962c82 --- /dev/null +++ b/docs/Telegram.md @@ -0,0 +1,196 @@ +# МОДУЛЬ «TELEGRAM» + +Модуль «Telegram» позволяет использовать мессенджер Telegram в роботах – +с помощью него можно считывать и отправлять сообщения, вложения. Можно +управлять ботом, оповещать пользователей о начале или окончании работы +робота и многое другое. + +Следует заметить, что на данный момент модуль находится в стадии +разработки и работает исключительно из самой программы (не работает +через оркестратор). + +## Основные моменты модуля + +Интерфейс модуля состоит из блока настроек, области добавления команды, +таблицы со списком команд и кнопок «Сохранить»/«Отмена». + +
+ +
Рис. 1. Окно модуля «Telegram»
+ +### Настройка модуля + +Блок настроек состоит из двух полей и кнопки. Данный модуль отвечает за +авторизацию в мессенджере. + +В **поле «Номер телефона»** должен быть введен номер телефона, на +котором зарегистрирован аккаунт. Номер должен начинаться с кода страны, +неважно, в каком формате (например, «8», «+7» или просто «7»). Если +необходимо войти под учетной записью telegram-бота, то в это поле +вписывается его токен, который выдается telegram’ом при его регистрации. + +После заполнения номера телефона (если это не бот), требуется нажать +кнопку **«Запросить код»**. В этот момент по этому номеру телефона в +telegram придет код подтверждения авторизации, как если бы вы входили с +другого устройства. Этот код необходимо ввести в **поле «Код +авторизации»**. + +*Обратите внимание*, что после того, как вы ввели код авторизации в +поле, вы еще **не авторизовались в telegram**. Авторизация произойдет в +момент запуска робота. В этот момент в telegram поступит сообщение, что +был совершен вход в аккаунт. Если вы ввели код, а затем сохранили проект +и вышли, при следующем входе и запуске робота велика вероятность того, +что код авторизации уже не действителен, так как у него есть свой срок +действия (несколько минут). То есть, если вы решили подключить telegram, +то перед сохранением проекта, запустите его хотя бы на одном тестовом +действии (считать сообщение или отправить его своему знакомому). + +### Функциональность модуля + +#### Создание команды + +Команда создается следующим образом – выбирается необходимое действие, +заполняются остальные поля – нажимается кнопка «Добавить», по которой +команда добавляется в «Список команд». + +#### Редактирование команды + +Для того чтобы отредактировать команду, выделите её в списке команд +щелчком левой кнопкой мыши, после чего все поля в области добавления +команд заполнятся в соответствии с выбранной командой. Измените те поля, +которые требуется отредактировать, и, убедившись, что в списке команд +все еще выбрано нужное действие, нажмите на кнопку «Редактировать». + +#### Удаление команды + +Для удаления команды необходимо выбрать её в списке команд и нажать на +кнопку «Удалить». + +#### Отключение/включение команды + +Созданные команды можно отключать и обратно включать. Отключенные +команды не будут выполняться. Сделать это можно, нажав на +соответствующую отключаемой команде строку правой кнопкой мыши и выбрав +«Отключить/включить». + +
+ +
Рис. 2. Контекстное меню команды
+ +#### Выбор файла/папки + +Кнопка + +в поле «Вложения» открывает стандартный диалог выбора файла. + +#### Изменение порядка действий + +Для изменения порядка действий предусмотрены кнопки «Поднять» и +«Опустить». Кнопки расположены справа сверху от списка команд. + +Изменение порядка действий бывает необходимо, когда требуется добавить +действие, которое не предусмотрели сразу и не внесли в список команд. В +таком случае вы можете добавить действие стандартным способом, а затем +переместить его. + +#### Сохранение и выход + +После добавления всех необходимых действий в список команд, модуль +необходимо сохранить. Делается это по кнопке «Сохранить» в правом нижнем +углу модуля. + +
+ +
Рис. 3. Кнопка «Сохранить»
+ +## Описание действий + +#### Отправить сообщение + +Данное действие позволяет отправить сообщение пользователю или в чат. + +В поле «Пользователь» указывается username пользователя или его номер +телефона или полное название чата, в который необходимо отправить +сообщение. Чтобы узнать username пользователя, необходимо открыть +подробную информацию о нём. + +Чтобы отправить несколько вложений, необходимо разделить путь до каждого +вложения символом «;». Каждое вложение будет отправлено отдельным +сообщением. Если при этом текст сообщения так же заполнен, то **каждое +вложение будет отправлено с этим текстом сообщения**. Если нужно +отправить и текст, и несколько вложений, лучше разделить это на две +отдельные команды – отправку вложений и отправку текста. + +
+ +
Рис. 4. Пример заполнения действия «Отправить сообщение»
+ +#### Получить список всех диалогов + +С помощью этого действия можно получить список всех диалогов с +пользователями. Настройка действия состоит только из указания +переменной, в которую запишется результат выполнения действия. + +Переменная будет являться массивом объектов с полями: Username, +FirstName, LastName и Phone, которые будут заполняться соответствующими +полями из профиля Telegram текущего диалога. + +
+ +
Рис. 5. Пример заполнения действия «Получить список всех диалогов»
+ +Результат заполнения переменной представлен на следующем рисунке. + +
+ +
Рис. 6. Пример заполнения переменной в результате выполнения действия +«Получить список всех диалогов»
+ +#### Получить список всех чатов и каналов + +С помощью этого действия можно получить список всех чатов и каналов, в +которых присутствует авторизованный аккаунт. Настройка действия состоит +только из указания переменной, в которую запишется результат выполнения +действия. + +Переменная будет являться массивом объектов с полями: Id и Title. По +любому из этих параметров затем можно отправлять сообщения в чат или +канал (если авторизованный пользователь имеет соответствующие права). + +
+ +
Рис. 7. Пример заполнения действия «Получить список всех чатов и +каналов»
+ +#### Получить список чатов с непрочитанными сообщениями + +С помощью этого действия можно получить список всех чатов, в которых у +авторизованного пользователя есть непрочитанные сообщения. Настройка +действия состоит только из указания переменной, в которую запишется +результат выполнения действия. + +Переменная будет являться массивом объектов с полями: Name и +UnreadCount, Name будет содержать название чата, UnreadCount – +количество непрочитанных сообщений в чате. + +
+ +
Рис. 8. Пример заполнения действия «Получить список чатов с +непрочитанными сообщениями»
+ +#### Получить непрочитанные сообщения от пользователя + +С помощью этого действия можно получить список всех непрочитанных +сообщений от определенного пользователя. Для настройки действия +необходимо заполнить поле «Пользователь» (username/телефон +пользователя), из диалога с которым нужно получить непрочитанные +сообщения, и поле «Переменная», в которую запишется результат действия. + +Переменная будет являться массивом объектов с полями: Massge и Date, где +в поле Message лежит текст сообщения, в Date дата и время в формате +дд.мм.гггг ч.мм.сс. + +
+ +
Рис. 9. Пример заполнения действия «Получить непрочитанные сообщения +от пользователя»
diff --git a/docs/TextAnalysis.md b/docs/TextAnalysis.md index 37299c9..15a0b67 100644 --- a/docs/TextAnalysis.md +++ b/docs/TextAnalysis.md @@ -1,13 +1,174 @@ -#

Модуль «Обработка текста»

+# МОДУЛИ ДЛЯ РАБОТЫ С ТЕКСТОМ -

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

+## Модуль «Обработка текста» -## Интерфейс модуля -

Окно модуля состоит из части составления команды, кнопок управления командами и списком команд в виде таблицы. Часть составления команды состоит из следующих полей: выпадающий список «Действие» с доступным набором методов анализа текста, два поля «Строка 1» и «Строка 2», предназначенные для ввода двух строк текста или переменных, содержащих текст, и поле «Переменная результат» - для названия переменной, в которую будет помещен результат работы модуля. -

![Screenshot](img/TA_1.png)

-

По кнопке «Добавить» созданная команда поместится в таблицу «Список команд». Для редактирования команды из списка нужно выбрать её в таблице, изменить необходимые поля и нажать на кнопку «Редактировать». Для удаления команды нужно выбрать ее в списке и нажать на кнопку «Удалить». С помощью стрелочек в углу таблицы можно менять команды местами, аналогично тому, как это происходит в модуле Excel (Часть II). -

Методы анализа текста -

В модуле предложены следующие методы анализа текста: -

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

+ +
Рис. 1. Окно модуля
+ +По кнопке «Добавить» созданная команда поместится в таблицу «Список +команд». Для редактирования команды из списка нужно выбрать её в +таблице, изменить необходимые поля и нажать на кнопку «Редактировать». +Для удаления команды нужно выбрать ее в списке и нажать на кнопку +«Удалить». С помощью стрелочек в углу таблицы можно менять команды +местами. + +### Методы анализа текста + +В модуле предложены следующие методы анализа текста: + +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. + +## Модуль «Распознавание текста» + +Модуль «Распознавание текста» предназначен для считывания текста с +указанного изображения и представления полученного текста в виде +объекта. + +### Интерфейс модуля + +Модуль состоит из двух полей – «Путь к файлу» и «Переменная», и флажка +«Скриншот». + +
+ +
Рис. 2. Окно модуля
+ +**Поле «Путь к файлу».** Заполняется путем до файла, который необходимо +распознать. Это может быть картинка или PDF-документ. + +**Поле «Переменная».** Заполняется названием переменной, начиная с +символов «v.», в которую будет помещен результат распознавания. + +**Флажок «Скриншот»**. Флажок ставится, когда необходимо распознать +скриншот экрана в момент работы данного модуля в процессе выполнения +робота. В таком случае поле «Путь к файлу» указывать не нужно. + +Структура результирующего объекта – массив листов документа, каждый +элемент которого – объект, состоящий из двух полей – number и words. +Поле number содержит в себе номер листа документа (с 1-цы), поле words +представляет собой массив объектов всех слов со страницы. Структура +объекта слова – value, x, y, page. В value содержится слово, в x и y +координаты слова x и y соответственно, в page – номер страницы, на +котором содержится слово. + +**ПРИМЕР.** + +Пусть имеется следующее изображение формата jpeg. Подадим его в модуль +распознавания текста. + +
+ +
Рис. 3. Изображение, поданное на распознавание текста
+ +Результат, записанный в переменную при распознавании изображения: + +
+ +
Рис. 4. Пример заполнения переменной
+ +Результат содержит информацию о страницах, координате и значении каждого +слова изображения. + +Пример получения некоторого слова со второго листа документа: +v.text\[1\].words\[100\].value, где v.text – переменная, в которую +записан результат работы модуля, \[1\] – номер листа в документе +(нумерация по переменным-спискам начинается с 0), \[100\] – 101-ое слово +в файле, value – само значение слова. + +## Модуль «Распознавание текста ABBYY» + +Модуль «Распознавание текста ABBYY» работает, в основном, с PDF-файлами. +В отличие от предыдущего модуля имеет более высокую точность и скорость +работы. + +Результат распознавания записывается в переменную-объект, в которой +можно обратиться к конкретной строке, таблице, слову. + +### Интерфейс модуля + +Данный модуль состоит из двух полей – «Путь к PDF-файлу» и «Переменная». + +
+ +
Рис. 5. Окно модуля
+ +**Поле «Путь к 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**. diff --git a/docs/Word.md b/docs/Word.md index 0c33341..56fec25 100644 --- a/docs/Word.md +++ b/docs/Word.md @@ -1,46 +1,167 @@ -#

Модуль «Word»

+# Модуль «Word» -

Модуль Word обеспечивает работу с документами Microsoft Word пакета Microsoft Office. С помощью модуля можно создавать и редактировать документы с популярными текстовыми расширениями, такими как .doc, .docx, .html.

+## Основные моменты модуля -## Интерфейс окна -

Окно модуля состоит из трех основных частей, первая – часть, содержащая в себе поля для создания команд и кнопок управления ими, вторая – таблица «Список команд», которая будет содержать все добавленные действия для работы с файлом, и третья – окно с предварительным просмотром загруженного файла.

-

![Screenshot](img/word_1.png)

-

Окно предварительного просмотра позволяет просмотреть весь загруженный документ в том же виде, в котором он виден в самом Microsoft Word. -

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

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

• «Действие» - выпадающий список, состоящий из действий, которые можно применить к загруженному файлу или создать новый с указанным путем в поле «Путь к файлу». Обязательное поле; -

![Screenshot](img/word_2.png)

-

• «Описание» - поле, необходимое для удобной навигации по действиям, заполняется комментарием разработчика о создаваемом действии. Необязательное поле. -

Все возможные действия будут описаны в следующей главе. -

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

![Screenshot](img/word_3.png)

-

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

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

![Screenshot](img/word_4.png)

-## Действия модуля -### Создать файл -

Данное действие создает файл с указанным путем, именем и расширением. Для настройки действия необходимо заполнить поле «Путь к файлу» строкой типа «Путь до файла/Название файла.требуемое расширение», например «C:/Reports/Documents/Test.docx». -

![Screenshot](img/word_5.png)

-### Получить текст -

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

![Screenshot](img/word_6.png)

-### Записать текст -

С помощью действия можно записать имеющийся текст, например, считанный из другого текстового файла, в текущий загруженный файл. Для настройки обязательно заполнение поля «Значение», куда вводится либо переменная (с символа «@»), содержащая текст, либо сам текст. Обратите внимание, что текст, введенный данным действием, полностью затрет существующий текст в файле. -

![Screenshot](img/word_7.png)

-### Добавить текст -

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

«После символа №» - данное поле ожидает ввод целого числа, обозначающего, после какого по счету символа необходимо вставить текст (с учетом пробелом и символов переноса строки или разрыва страницы). -

![Screenshot](img/word_8.png)

-

«Размер текста» - аналогичен полю «Размер шрифта» в Microsoft Word – устанавливает размер добавляемого текста. Ожидается ввод целого или десятичного числа. -

«Шрифт» - выпадающий список, содержащий в себе набор стандартных шрифтов пакета Micrisift Office – устанавливает шрифт добавляемого текста. -

«Цвет текста» и «Цвет фона» – поля с иконкой палетки сбоку, по нажатию на которые открывается диалог выбора цвета – устанавливают цвет добавляемого текста и его фона соответственно. Вводится в формате цвета HEX – шестнадцатеричное представление RGB (без символа # в начале). -

«Текст» - поле, в которое указывается добавляемый текст или переменная, которая его содержит. -### Добавить перенос строки -

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

![Screenshot](img/word_9.png)

-### Удалить текст -

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

![Screenshot](img/word_10.png)

-### Экспорт -

С помощью данного действия можно менять расширение загруженного файла. Для настройки действия нужно выбрать из выпадающего списка «Тип» тип файла, в который нужно экспортировать, и указать путь с названием и расширением будущего файла в поле «Путь выходного файла». -

![Screenshot](img/word_11.png)

\ No newline at end of file +Модуль Word обеспечивает работу с документами Microsoft Word пакета +Microsoft Office. С помощью модуля можно создавать и редактировать +документы с популярными текстовыми расширениями, такими как .doc, .docx, +.html. + +### Интерфейс окна + +Окно модуля состоит из трех основных частей, первая – часть, содержащая +в себе поля для создания команд и кнопок управления ими, вторая – +таблица «Список команд», которая будет содержать все добавленные +действия для работы с файлом, и третья – окно с предварительным +просмотром загруженного файла. + +
+ +
Рис. 1. Интерфейс окна
+ +Окно предварительного просмотра позволяет просмотреть весь загруженный +документ в том же виде, в котором он виден в самом Microsoft Word. + +Раздел настройки модуля состоит из нескольких полей, доступность которых +варьируется от необходимых для работы действий. Три первых поля являются +основными и доступными всегда, причем обязательными являются только два +из них: + +- «Путь к файлу» - поле с кнопкой, открывающей диалог выбора файла. + Данное поле предназначено для выбора существующего файла, с которым + предстоит далее работать, либо для введения в него пути, по которому + необходимо будет создать новый файл. Обязательное поле; + +- «Действие» - выпадающий список, состоящий из действий, которые можно + применить к загруженному файлу или создать новый с указанным путем в + поле «Путь к файлу». Обязательное поле; + +
+ +
Рис. 2. Перечень доступных действий модуля
+ +- «Описание» - поле, необходимое для удобной навигации по действиям, + заполняется комментарием разработчика о создаваемом действии. + Необязательное поле. + +Все возможные действия будут описаны в следующей главе. + +Для добавления действия в таблицу «Список команд» необходимо +воспользоваться кнопкой «Добавить» под полями настройки действия. + +
+ +
Рис. 3. Расположение кнопки «Добавить»
+ +После нажатия на кнопку созданное действие добавится в «Список команд». +Для редактирования существующей команды или её удаления, необходимо +выбрать строку с командой в таблице команд и нажать «Удалить» для её +удаления, или отредактировать необходимые поля действия и затем нажать +«Редактировать». + +Для того, чтобы поменять существующие действия местами, необходимо +выбрать одно действие и нажать на необходимые кнопки «Поднять» или +«Опустить», которые расположены в правом углу над таблицей с командами. + +
+ +
Рис. 4. Кнопки «Поднять/Опустить» и выбор строки в таблице
+ +## Действия модуля + +#### Создать файл + +Данное действие создает файл с указанным путем, именем и расширением. +Для настройки действия необходимо заполнить поле «Путь к файлу» строкой +типа «*Путь до файла*/*Название файла*.*Требуемое расширение*», +например, «C:/Reports/Documents/Test.docx». + +
+ +
Рис. 5. Пример заполнения действия «Создать файл»
+ +#### Получить текст + +Действие «Получить текст» позволяет считать весь текст из загруженного +файла в переменную. Для настройки действия появляется еще одно поле +помимо стандартных трёх – «Переменная», в которую записывается название +переменной (с символов «v.»), в которую будет записан считанный текст. + +
+ +
Рис. 6. Пример настройки действия «Получить текст»
+ +#### Записать текст + +С помощью действия можно записать имеющийся текст, например, считанный +из другого текстового файла, в текущий загруженный файл. Для настройки +обязательно заполнение поля «Значение», куда вводится либо переменная (с +символов «v.»), содержащая текст, либо сам текст. Обратите внимание, что +текст, введенный данным действием, полностью затрет существующий текст в +файле. + +
+ +
Рис. 7. Пример настройки действия «Записать текст»
+ +#### Добавить текст + +Данное действие позволяет добавлять текст к существующему с применением +необходимого форматирования. Для редактирования открываются все поля +модуля. Далее будет подробно описано каждое поле, отличное от основных +трёх. + +«После символа №» - данное поле ожидает ввод целого числа, +обозначающего, после какого по счету символа необходимо вставить текст +(с учетом пробелом и символов переноса строки или разрыва страницы). + +
+ +
Рис. 8. Пример настройки действия «Добавить текст»
+ +«Размер текста» - аналогичен полю «Размер шрифта» в Microsoft Word – +устанавливает размер добавляемого текста. Ожидается ввод целого или +десятичного числа. + +«Шрифт» - выпадающий список, содержащий в себе набор стандартных шрифтов +пакета Micrisift Office – устанавливает шрифт добавляемого текста. + +«Цвет текста» и «Цвет фона» – поля с иконкой палетки сбоку, по нажатию +на которые открывается диалог выбора цвета – устанавливают цвет +добавляемого текста и его фона соответственно. Вводится в формате цвета +HEX – шестнадцатеричное представление RGB. + +«Текст» - поле, в которое указывается добавляемый текст или переменная, +которая его содержит. + +#### Добавить перенос строки + +Данное действие добавляет символ переноса строки в файл. Не требует +заполнения дополнительных полей. + +
+ +
Рис. 9. Пример настройки действия добавление перехода на новую строку
+ +#### Удалить текст + +С помощью данного действия можно удалить текст, зная количество символов +в нем и его расположение. Для настройки необходимо ввести в поле «После +символа №, количество» два целых числа через запятую, где первое число – +номер символа, после которого необходимо удалить текст, а второе – +количество символов в удаляемом тексте. + +
+ +
Рис. 10. Пример настройки действия «Удалить текст»
+ +#### Экспорт + +С помощью данного действия можно менять расширение загруженного файла. +Для настройки действия нужно выбрать из выпадающего списка «Тип» тип +файла, в который нужно экспортировать, и указать путь с названием и +расширением будущего файла в поле «Путь выходного файла». + +
+ +
Рис. 11. Пример настройки действия «Экспорт»
\ No newline at end of file diff --git a/docs/WorkBrowser.md b/docs/WorkBrowser.md index b42562c..9fb047b 100644 --- a/docs/WorkBrowser.md +++ b/docs/WorkBrowser.md @@ -1,90 +1,344 @@ -#

Модуль «РАБОТА С БРАУЗЕРОМ»

+# МОДУЛЬ «РАБОТА С БРАУЗЕРОМ» -

Модуль «Работа с браузером» построен на базе Selenium WebDriver и позволяет реализовывать основные методы работы со страницей браузера – открыть вкладку, перейти на вкладку, найти элемент на странице по её ключу и как-то его обработать.

+## Основные моменты модуля -## Интерфейс модуля -

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

![Screenshot](img/WB_1.png)

-

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

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

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

![Screenshot](img/WB_2.png)

-

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

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

Поля «Proxy Server» - «Proxy Password» предназначены для ввода настроек прокси браузера, если это необходимо. -

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

Поле «Примечание» — строка с примечанием к команде. -## Перечень и описание действий -

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

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

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

![Screenshot](img/WB_3.png)

-

Если уже открыта какая-либо страница, то браузер перейдет от неё к странице, указанной в поле «URL», то есть исходная страница будет заменена новой. Если браузер еще не был запущен, то он будет открыт с этой страницы. -### Действие «Перезагрузить страницу» -

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

Действие не имеет никаких дополнительных для настройки полей. -### Действие «Назад» -

Действие позволяет выполнять переход к странице, которая была открыта в браузере до текущей. -### Действие «Вперед» -

Действие позволяет выполнять переход к странице, которая была открыта в браузере после текущей, если таковая была. -### Действие «Работа со страницей» -

Данное действие предоставляет возможность работать с отдельным элементом страницы. Для настройки действия появляются следующие поля: «Тип поиска элемента», «Строка поиска», «Действие на странице», «Переменная», «Ожидание» и «Номер элемента». -

![Screenshot](img/WB_4.png)

-

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

Ниже будут перечислены все типы поиска элемента с примерами заполнения поля «Строка поиска»: -

• GetElementsByName – поиск элементов по их свойству name. -

![Screenshot](img/WB_5.png)

-

«Строка поиска» для нахождения элемента div-element. -

• GetElementsById – поиск элементов по их свойству id. -

![Screenshot](img/WB_6.png)

-

«Строка поиска» для нахождения элемента div-element. -

• GetElementsByClass – поиск элементов по их свойству class. -

![Screenshot](img/WB_7.png)

-

«Строка поиска» для нахождения элемента div-myClass. -

• GetElementsByCssSelector – поиск элементов по их CSS селектору. -

![Screenshot](img/WB_8.png)

-

«Строка поиска» для нахождения элемента div-div.main. -

• GetElementByLinkText – поиск элементов-ссылок по их тексту. Ищутся только элементы с полным совпадением. -

![Screenshot](img/WB_9.png)

-

«Строка поиска» нахождения первого элемента a на примере – text. -

• GetElementsByPartialLinkText - поиск элементов-ссылок по их тексту. Ищутся все элементы, содержащие заданную строку. -

![Screenshot](img/WB_10.png)

-

«Строка поиска» нахождения двух элементов a – text -

• GetElementsByTagName – поиск элементов по их тегу . -

![Screenshot](img/WB_11.png)

-

«Строка поиска» нахождения элемента a – a. -

• GetElementsByXPath – поиск элементов по языку запросов HTML – xpath. -

![Screenshot](img/WB_12.png)

-

«Строка поиска» для нахождения элемента div - //div[@class='main']. -

Чтобы получить строку xpath для необходимого вам элемента в консоли разработчика в браузере, нужно нажать по этому элементу правой кнопкой мыши в коде – копировать – XPath: -

![Screenshot](img/WB_12_1.png)

-

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

• Записать – вводит заданный в поле «Переменная» текст (например, после нажатия на определенный элемент для ввода текста); -

• Получить text – получает значение свойства «text» всех найденных или только выбранного элемента и возвращает результат в виде списка в переменную; -

• Отправить – нажатие клавиши «ВВОД» («ENTER») – применение записанных данных (например, в строке поиска можно ввести какой-либо текст действием «Записать», а затем «Отправить» его); -

• Нажать – нажатие левой кнопкой мыши на заданный элемент (обязательно заполнение поля «Номер элемента»); -

• Навести мышь – наведение мыши на конкретно заданный элемент (обязательно заполнение поля «Номер элемента»); -

• Получить Property – при выборе действия появляется поле «Название Property» - возвращает значение указанного в поле «Название Property» свойства всех найденных элементов или конкретно заданного. Результатом будет являться список; -

• Получить CSS свойство – при выборе действия появляется поле «Свойство CSS» - возвращает значение указанного в поле «Свойство CSS» свойства всех найденных элементов или конкретно заданного. Результатом будет являться список; -

• Получить Attribute – при выборе действия появляется поле «Свойство Attribute» - возвращает значение указанного в поле «Свойство Attribute» свойства всех найденных элементов или конкретно заданного. Результатом будет являться список; -

• Получить элементы – возвращает список указанных элементов для дальнейшей работы с ними; -

• Выполнить JavaScript – данное действие позволяет выполнить JavaScript код в браузере для получения некоторой информации. Для записи результата выполнения кода в переменную, необходимо в начале кода добавлять «return», например «return document.querySelectorAll("[height='24']").length» (такой запрос вернет количество элементов на странице, высота которых равна 24); -

• Нажать кнопку на клавиатуре – позволяет нажать кнопку на клавиатуре внутри браузера. -

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

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

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

Пример заполненного действия: -

![Screenshot](img/WB_13.png)

-

На рисунке представлен пример действия, настроенного для поиска элемента, имя которого равно «q». После того как элемент найден, в него будет вставлен текст «поиск». -### Действие «Работа с вкладками» -

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

![Screenshot](img/WB_14.png)

-

Доступные действия для работы с вкладками: -

• Добавить вкладку – создаст новую вкладку и та станет активной; -

• Закрыть вкладку – закроет активную вкладку; -

• Перейти на вкладку – при выборе действия появляется поле «Номер вкладки» - переходит на вкладку, номер которой указан в поле «Номер вкладки» (начиная с 0); -

• Получить количество вкладок – при выборе действия появляется поле «Переменная» - возвращает в указанную переменную количество вкладок в браузере. -### Действие «Закрыть браузер» -

Закрывает браузер, открытый с помощью модуля, не требует дополнительных настроек. +Модуль «Работа с браузером» построен на базе Selenium WebDriver[6] и +позволяет реализовывать основные методы работы со страницей браузера – +открыть вкладку, перейти на вкладку, найти элемент на странице по её +ключу и как-то его обработать. +### Интерфейс модуля + +Окно модуля делится на блок настройки браузера, область создания команды +для работы с браузером, группу кнопок управления действиями и таблицу, +содержащую список созданных команд. Область создания команды состоит из +нескольких полей для заполнения, причем, количество доступных для +редактирования полей меняется в зависимости от выбранного действия в +поле «Действие». Группа кнопок состоит из трех кнопок – «Добавить», +«Редактировать» и «Удалить». + +

+ +
Рис. 1. Окно модуля «Работа с браузером»
+ +Создание команды начинается с выбора действия. После его выбора список +доступных полей в окне может измениться. Необходимо заполнить поля, +требующиеся для выбранного действия и нажать на кнопку «Добавить». +Созданное действие отобразится в таблице «Список команд». Для +редактирования команды следует выбрать её в списке команд, изменить +необходимые поля и нажать «Редактировать». Если при этом нажать на +кнопку «Добавить», то будет добавлено новое действие, похожее на то, что +было выбрано в списке команд, но с внесенными изменениями. Можно ничего +не менять и нажать на кнопку «Добавить», тогда получится полное +копирование команды. + +Для удаления ненужных команд необходимо выбрать команду в таблице и +нажать «Удалить». + +Робот будет выполнять все указанные команды последовательно, поэтому для +изменения порядка команд в таблице можно воспользоваться кнопками в +правом верхнем углу таблицы. Делается это следующим образом – выбирается +строка, положение которой необходимо изменить, а затем нажимаются кнопки +«Поднять» или «Опустить», в зависимости от того, где эта строка должна +находиться. + +
+ +
Рис. 2. Кнопки для изменения порядка команд
+ +Для всех действий некоторые поля остаются неизменными, это все поля для +настройки браузера, «Действие» и «Примечание». + +### Поля для настройки браузера + +**Поле «Драйвер»** на данный момент недоступно для редактирования и в +нем по умолчанию выбран драйвер для браузера 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. + +
+ +
Рис. 3. Пример настройки действия «Перейти»
+ +Если уже открыта какая-либо страница, то браузер перейдет от неё к +странице, указанной в поле «URL», то есть исходная страница будет +заменена новой. Если браузер еще не был запущен, то он будет открыт с +этой страницы. + +#### Действие «Перезагрузить страницу» + +Действие позволяет перезагружать уже открытую страницу. Перед +использованием данного действия, убедитесь, что в браузере есть открытая +страница. + +Действие не имеет никаких дополнительных для настройки полей. + +#### Действие «Назад» + +Действие позволяет выполнять переход к странице, которая была открыта в +браузере до текущей. + +#### Действие «Вперед» + +Действие позволяет выполнять переход к странице, которая была открыта в +браузере после текущей, если таковая была. + +#### Действие «Работа со страницей» + +Данное действие предоставляет возможность работать с отдельным элементом +страницы. Для настройки действия появляются следующие поля: «Тип поиска +элемента», «Строка поиска», «Действие на странице», «Ожидание» и «Номер +элемента». Еще два поля – «Свойство» и «Переменная» становятся +доступными в зависимости от выбора действия на странице. + +
+ +
Рис. 4. Поля для настройки действия «Работа со страницей»
+ +**Поле «Тип поиска элемента»** представляет собой выпадающий список с +перечнем методов поиска элемента на странице, используется в паре с +полем **«Строка поиска»**. + +***Обратите внимание!*** В поле «Строка поиска» могут быть использованы +переменные и готовые значения для работы модуля, но нет возможности +составлять сложные строки кода прямо в этом поле. Для составления кода +нужно воспользоваться модулем «Вычисления», записать получившийся код в +переменную и саму переменную затем подать в это поле в модуле. + +Ниже будут перечислены все типы поиска элемента с примерами заполнения +поля «Строка поиска»: + +- GetElementsByName – поиск элементов по их свойству name. +
<div name="element"> +<p>some content</p> +</div>
+ +
Листинг 1. Пример элемента со свойством name
+ +«Строка поиска» для нахождения элемента div - element. + +- GetElementsById – поиск элементов по их свойству id. +
<div id="element"> +<p>some content</p> +</div>
+ +
Листинг 2. Пример элемента со свойством id.
+ +> «Строка поиска» для нахождения элемента div - element. + +- GetElementsByClass – поиск элементов по их свойству class. +
<div class="myClass"> +<p>some content</p> +</div>
+ +
Листинг 3. Пример элемента со свойством class
+ +> «Строка поиска» для нахождения элемента div - myClass. + +- GetElementsByCssSelector – поиск элементов по их CSS селектору. +
<div class="main"> +<p>text</p> +<p> Another text </p> +</div>
+ +
Листинг 4. Пример элемента div со свойством class
+ +> «Строка поиска» для нахождения элемента div - div.main. + +- GetElementByLinkText – поиск элементов-ссылок по их тексту. Ищутся + только элементы с полным совпадением. +
<div> +<a ref=” …”>text</a> +<a ref=” …”>Another text</a> +</div>
+ +
Листинг 5. Пример элементов – ссылок а
+ +> «Строка поиска» нахождения первого элемента a на примере – text. + +- GetElementsByPartialLinkText - поиск элементов-ссылок по их тексту. + Ищутся все элементы, содержащие заданную строку. +
<div> +<a ref=” …”>text</a> +<a ref=” …”>Another text</a> +</div>
+ +
Листинг 6. Пример элементов – ссылок а
+ +> «Строка поиска» нахождения двух элементов a – text + +- GetElementsByTagName – поиск элементов по их тегу. +
<div> +<a ref=” …”>text</a> +<p>Another text</p> +</div>
+ +
Листинг 7. Пример элементов с разными тегами
+ +> «Строка поиска» нахождения элемента a – a. + +- GetElementsByXPath – поиск элементов по языку запросов HTML – xpath. +
<div class="main"> +<p>text</p> +<p> Another text </p> +</div>
+ +
Листинг 8. Пример элементов div со свойством class
+ +«Строка поиска» для нахождения элемента div - //div\[@class='main'\]. + +Чтобы получить строку xpath для необходимого вам элемента в консоли +разработчика в браузере, нужно нажать по этому элементу правой кнопкой +мыши в коде – копировать – XPath: + +
+ +
Рис. 5. Получение строки xpath из консоли браузера
+ +**Поле** **«Действие на странице»** предлагает выбор действия из +выпадающего списка, которое необходимо произвести над найденными +элементами. Доступны следующие действия: + +- Записать – вводит заданный в поле «Переменная» текст (например, + после нажатия на определенный элемент для ввода текста); + +- Получить text – получает значение свойства «text» всех найденных или + только выбранного элемента и возвращает результат в виде списка в + переменную; + +- Отправить – нажатие клавиши «ВВОД» («ENTER») – применение записанных + данных (например, в строке поиска можно ввести какой-либо текст + действием «Записать», а затем «Отправить» его); + +- Нажать – нажатие левой кнопкой мыши на заданный элемент (обязательно + заполнение поля «Номер элемента»); + +- Навести мышь – наведение мыши на конкретно заданный элемент + (обязательно заполнение поля «Номер элемента»); + +- Получить Property – при выборе действия появляется поле «Название + Property» - возвращает значение указанного в поле «Название + Property» свойства всех найденных элементов или конкретно заданного. + Результатом будет являться список; + +- Получить CSS свойство – при выборе действия появляется поле + «Свойство CSS» - возвращает значение указанного в поле «Свойство + CSS» свойства всех найденных элементов или конкретно заданного. + Результатом будет являться список; + +- Получить Attribute – при выборе действия появляется поле «Свойство + Attribute» - возвращает значение указанного в поле «Свойство + Attribute» свойства всех найденных элементов или конкретно + заданного. Результатом будет являться список; + +- Получить элементы – возвращает список указанных элементов для + дальнейшей работы с ними; + +- Выполнить JavaScript – данное действие позволяет выполнить + JavaScript код в браузере для получения некоторой информации. Для + записи результата выполнения кода в переменную, необходимо в начале + кода добавлять «return», например «return + document.querySelectorAll("\[height='24'\]").length» (такой запрос + вернет количество элементов на странице, высота которых равна 24); + +- Нажать кнопку на клавиатуре – позволяет нажать кнопку на клавиатуре + внутри браузера. + +**В поле «Переменная»** вводится название переменной, начиная с символов +«v.», в которую будет помещен результат выполнения команды или, +наоборот, из которой будут браться значения для её выполнения. + +**Поле «Ожидание (сек)»**. В поле вводится количество секунд, которые +необходимо подождать после выполнения команды. + +**Поле «Номер элемента»** предназначено для указания индекса найденного +элемента, к которому необходимо применить действие. + +Пример заполненного действия: + +
+ +
Рис. 6. Пример настройки действия «Работа со страницей»
+ +На рисунке 6 представлен пример действия, настроенного для поиска +элемента, имя которого равно «q». После того как элемент найден, в него +будет вставлен текст «Lexema-RPA». + +#### Действие «Работа с вкладками» + +Данное действие позволяет манипулировать вкладками в окне браузера. Для +настройки действия открывается как минимум одно поле – «Действие», +остальные открываются в зависимости от выбранного в нем действия. + +
+ +
Рис. 7. Поля для настройки действия «Работа со вкладками»
+ +Доступные действия для работы с вкладками: + +- Добавить вкладку – создаст новую вкладку, и та станет активной; + +- Закрыть вкладку – закроет активную вкладку; + +- Перейти на вкладку – при выборе действия появляется поле «Номер + вкладки» - переходит на вкладку, номер которой указан в поле «Номер + вкладки» (начиная с 0); + +- Получить количество вкладок – при выборе действия появляется поле + «Переменная» - возвращает в указанную переменную количество вкладок + в браузере. + +#### Действие «Закрыть браузер» + +Закрывает браузер, открытый с помощью модуля, не требует дополнительных +настроек. diff --git a/docs/clicker.md b/docs/clicker.md index dc50ca8..a065eca 100644 --- a/docs/clicker.md +++ b/docs/clicker.md @@ -1,73 +1,450 @@ -#

Модуль «Кликер»

+# МОДУЛЬ «КЛИКЕР» И МОДУЛИ, РАБОТАЮЩИЕ С ЭКРАНОМ -

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

-

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

+## Модуль «Кликер» -## Создание макроса -

При открытии модуля «Кликер» появится диалоговое окно «Запись действий макроса», состоящее из трех элементов – кнопки «Начать запись», области, в которой будут отображены записанные действия, и кнопки «Сохранить».

-

![Screenshot](img/clicker_1.png)

-

По нажатию кнопки «Начать запись» программа переходит в режим ожидания нажатия кнопки «TAB», по которой открывается окно создания действия (команды).

-

![Screenshot](img/clicker_2.png)

-

В открывшемся окне происходит настройка действия (описание всех возможных действий будет дано ниже). По завершению создания команды и нажатию кнопки сохранить, новое действие будет добавлено в макрос.

-

![Screenshot](img/clicker_3.png)

-

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

-

![Screenshot](img/clicker_4.png)

-

Кнопка с изображением крестика, расположенная между стрелками, предназначена для удаления действия из списка команд.

-

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

-## Создание команды -

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

-## Статичные поля -### Действие -

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

-### Пауза -

Поле «Пауза» предназначено для создания эффекта ожидания после выполняемой команды. Значение указывается в миллисекундах.

-

Например, после нажатия на иконку браузера роботу следует подождать несколько секунд, пока браузер запустится и будет готов к работе – в данном примере в команде открытия браузера (кликнуть мышкой по его иконке) в поле «Пауза» следует написать некоторое значение, например, 5000, т.е. 5 секунд.

-### Примечание -

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

-## Поля, появляющиеся только при определенных действиях -### Переключатели «Изображение» и «Координаты» -

При создании действий, связанных с кликом мыши, вам предлагается выбрать, куда кликать – по определенным координатам или по изображению. Если программа, с которой вы работаете, статичная и не меняет расположение своих кнопок, то можно воспользоваться кликом по координатам. Тогда возникает вопрос, как рассчитать координаты? Все очень просто – при нажатии кнопки «TAB» нужно располагать мышь ровно в том месте, куда следует нажать. В диалоговом окне создания команды координаты уже будут заполнены.

-

Если программа может менять расположение её элементов, то настоятельно рекомендуем использовать клик по изображению. Для этого нажмите на переключатель «Изображение».

-

![Screenshot](img/clicker_5.png)

-

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

Изображение, по которому потребуется кликнуть для выполнения действия, можно настроить двумя способами: -

1) загрузить имеющееся изображение, нажав на кнопку «Выбрать изображение» -

2) выбрать фрагмент снимка окна, в котором будет воспроизводиться действие, с помощью кнопки «Выделить изображение». После нажатия на кнопку студия сделает снимок экрана и предложит вам выбрать фрагмент получившегося изображения. -

При использовании клика по изображению, обратите внимание на то, что, если на экране таких изображений будет несколько, действие будет применено к первому найденному! -

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

Поля «Количество попыток» и «Пауза между ошибками» предназначены для случаев, когда программа не смогла найти заданное ей изображение. Вы можете указать, сколько раз следует пытаться искать требуемое изображение и сколько секунд ждать между попытками. Например, после запуска браузера нужно нажать на кнопку с иконкой «Плюсик» – создание новой вкладки. Если браузер будет загружаться слишком долго, больше 5-ти секунд (это время указано в паузе команды открытия браузера), тогда программа начнёт искать «плюсик», которого еще нет. Затем программа подождет указанное ей количество секунд между попытками и попробует снова. Как только изображение будет найдено, программа подождет то количество секунд, которое указано в поле «Пауза» данной команды, и перейдет к следующей. -

Последний вариант поиска места для наведения мыши – «Селекторы». Этот вариант считается самым надежным, но поддерживается узким кругом программ. Селекторы Windows позволяют находить путь к элементу на экране используя не просто координаты или изображение, а путь относительно родительского компонента экрана с использованием специальной разметки. Они работают с системой компьютера, некоторыми desktop-приложениями. Использование подобно работе с координатами – необходимо навестить на искомый элемент и вызвать окно настройки действия по кнопке «TAB». При переключении настроек на «Селекторы», путь до элемента уже будет введен. -

![Screenshot](img/clicker_5_1.png)

-### Прокрутка мыши -

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

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

Данное действие вводит текст, который записан в поле «Текст». Поле, куда вводится текст, должно быть выделено (должен быть фокус, стоять каретка). -

В некоторых программах необходим специфичный ввод текста – в конкретной кодировке. В подобных случаях следует выбрать кодировку из предложенных в выпадающем списке «Использовать кодировку», или указать свою. Текст может лежать в переменной и быть скопированным из какой-либо программы, использующей конкретную кодировку. В таком случае, при вставке скопированного текста в другую программу, необходимо сначала считать его в кодировке исходной программы. Кодировка исходной программы вводится или выбирается в поле «Начальная кодировка». Заполнение этих полей необязательно. -

Флажок «Использовать WinInput» позволяет включить режим более корректного и быстрого ввода текста, но он может не поддерживаться некоторыми программами. Его использование необязательно. -

Пример заполнения действия: -

![Screenshot](img/clicker_6.png)

-### Действие «Нажать кнопку» -

Имитирует нажатие клавиши клавиатуры. Необходимую клавишу следует выбрать в выпадающем списке «Кнопка». В списке предложены все возможные клавиши, которые могут присутствовать как на простых, так и на расширенных клавиатурах (изменение громкости звука, запуск/остановка музыки и другие нестандартные кнопки). -

![Screenshot](img/clicker_7.png)

-### Действие «Нажать две кнопки» -

Имитирует нажатие сочетания двух клавиш клавиатуры, например CTRL+A – выделение всего текста в поле. Необходимые кнопки выбираются в двух выпадающих списках «Кнопка». Список кнопок тот же, что и в действии «Нажать кнопку». -

![Screenshot](img/clicker_8.png)

-### Действие «Скопировать» -

Имитирует нажатие сочетания клавиш клавиатуры CTRL+C. Копирует выделенное заранее значение в буфер обмена и записывает его, при необходимости, в переменную, указанную в поле «Записать в». Данное поле не обязательно к заполнению. Ввод переменной начинается с символа «v.». -

![Screenshot](img/clicker_9.png)

-### Действие «Вставить» -

Имитирует нажатие сочетания клавиш клавиатуры CTRL+V. Вставляет в выбранное поле значение из буфера обмена. -### Действие «Пока не пропадет изображение» -

Ожидает отсутствия заданного изображения на экране в течение времени, дающегося на обнаружение ошибки (значение поля «Кол-во попыток» умноженное на значение поля «Пауза между ошибками»). +Модуль «Кликер» предназначен для записи последовательности действий, +выполняемых пользователем, а именно кликов по определенным местам экрана +и нажатий кнопок на клавиатуре или мыши. С помощью этого модуля можно +производить интеграции между самыми разными программами, так как он +точно имитирует действия пользователя, то есть, если Вы сможете это +сделать, то это сможет сделать и «Кликер». + +Использование роботов-кликеров, которые ищут координаты или изображения, +рекомендуется на компьютерах с таким же разрешением, как и тот, на +котором был написан данный робот. + +### Создание макроса + +При открытии модуля «Кликер» появится диалоговое окно «Запись действий +макроса», состоящее из трех элементов – кнопки «Начать запись», области, +в которой будут отображены записанные действия, и кнопки «Сохранить». + +

+ +
Рис. 1. Запись действий макроса
+ +По нажатию кнопки «Начать запись» программа переходит в режим +***ожидания нажатия кнопки «TAB»**,* по которой открывается окно +создания действия (команды). + +
+ +
Рис. 2. Создание команды
+ +В открывшемся окне происходит настройка действия (описание всех +возможных действий будет дано ниже). По завершению создания команды и +нажатию кнопки сохранить, новое действие будет добавлено в макрос. + +
+ +
Рис. 3. Добавление команды
+ +Изменить положение действия в списке команд можно с помощью кнопок с +изображением стрелок, расположенных в правой части блока. + +
+ +
Рис. 4. Изменение порядка команды
+ +Кнопка с изображением крестика, расположенная между стрелками, +предназначена для удаления действия из списка команд. + +Для сохранения макроса необходимо нажать на кнопку «Сохранить». + +### Создание команды + +Окно создания команды состоит из статичных и изменяющихся полей. +Статичными являются такие поля, как «Действие», «Пауза» и «Примечание». + +### Статичные поля + +***Действие*** + +Поле «Действие» состоит из перечня доступных действий для записи макроса +– нажатие кнопок мыши и клавиатуры, наиболее часто встречающиеся +сочетания кнопок (скопировать, вставить). Далее будут приведены все +действия, доступные в модуле. + +***Пауза*** + +Поле «Пауза» предназначено для создания эффекта ожидания после +выполняемой команды. Значение указывается в миллисекундах. + +Например, после нажатия на иконку браузера роботу следует подождать +несколько секунд, пока браузер запустится и будет готов к работе – в +данном примере в команде открытия браузера (кликнуть мышкой по его +иконке) в поле «Пауза» следует написать некоторое значение, например, +5000, т.е. 5 секунд. + +***Примечание*** + +Поле «Примечание» позволяет писать комментарии, чтобы не запутаться в +командах. + +### Поля, появляющиеся только при определенных действиях + +***Переключатели «Изображение», «Координаты» и «Селекторы»*** + +При создании действий, связанных с кликом или наведением мыши, вам +предлагается выбрать, куда кликать – по определенным координатам или по +изображению. Если программа, с которой вы работаете, статичная и не +меняет расположение своих кнопок, то можно воспользоваться кликом по +координатам. Тогда возникает вопрос, как рассчитать координаты? Все +очень просто – при нажатии кнопки «TAB» нужно располагать мышь ровно в +том месте, куда следует нажать. В диалоговом окне создания команды +координаты уже будут заполнены. + +Если программа может менять расположение её элементов, то настоятельно +рекомендуем использовать клик по изображению. Для этого нажмите на +переключатель «**Изображение**». + +
+ +
Рис. 5. Создание команды
+ +При изменении переключателя изменится нижняя часть окна – появятся +кнопки «Выбрать изображение», «Выделить изображение» и поле для ввода +«Процент совпадения». + +Изображение, по которому потребуется кликнуть для выполнения действия, +можно настроить двумя способами: + +1\) загрузить имеющееся изображение, нажав на кнопку «Выбрать +изображение» + +2\) выбрать фрагмент снимка окна, в котором будет воспроизводиться +действие, с помощью кнопки «Выделить изображение». После нажатия на +кнопку студия сделает снимок экрана и предложит вам выбрать фрагмент +получившегося изображения. + +При использовании клика по изображению, ***обратите внимание*** на то, +что, если на экране таких изображений будет несколько, действие будет +применено к ***первому*** найденному! + +Поле «Процент совпадения» необходимо для случаев, когда искомое +изображение может немного отличаться от того, что может быть в +реальности (например, наличие выделения вокруг кнопки, если она +выбиралась ранее, и отсутствие такого выделения). В подобных случаях +уменьшайте процент совпадения до тех пор, пока изображение не будет +находиться и в том, и в другом случае. Однако если процент совпадения +уменьшить слишком сильно, модуль может найти то, что не планировали +искать. + +
+ +
Рис. 6. Пример отличия искомого изображения от действительного
+ +Поля «Количество попыток» и «Пауза между ошибками» предназначены для +случаев, когда программа не смогла найти заданное ей изображение. Вы +можете указать, сколько раз следует пытаться искать требуемое +изображение и сколько секунд ждать между попытками. Например, после +запуска браузера нужно нажать на кнопку с иконкой «Плюсик» – создание +новой вкладки. Если браузер будет загружаться слишком долго, больше 5-ти +секунд (это время указано в паузе команды открытия браузера), тогда +программа начнёт искать «плюсик», которого еще нет. Затем программа +подождет указанное ей количество секунд между попытками и попробует +снова. Как только изображение будет найдено, программа подождет то +количество секунд, которое указано в поле «Пауза» данной команды, и +перейдет к следующей. + +Последний вариант поиска места для наведения мыши – «**Селекторы**». +Этот вариант считается самым надежным, но поддерживается узким кругом +программ. Селекторы Windows позволяют находить путь к элементу на экране +используя не просто координаты или изображение, а путь относительно +родительского компонента экрана с использованием специальной разметки. +Они работают с системой компьютера, некоторыми desktop-приложениями. +Использование подобно работе с координатами – необходимо навестить на +искомый элемент и вызвать окно настройки действия по кнопке «TAB». При +переключении настроек на «Селекторы», путь до элемента уже будет введен. + +
+ +
Рис. 7. Создание команды через селекторы Windows
+ +***Прокрутка мыши*** + +Данное поле появляется при действии «Прокрутка мыши». В него вводится +значение в пикселях, на сколько необходимо прокрутить колесико мыши. +Если прокрутка вверх, то значение должно быть положительным, если вниз, +то отрицательным. + +Во всех полях окна создания команды ***возможно использование +переменных.*** + +### Описание действий, доступных в модуле + +#### Действие «Кликнуть мышкой» + +Основное действие модуля – нажатие левой кнопкой мыши по указанным +координатам или изображению. + +#### Действие «Кликнуть мышкой дважды» + +Двойной клик по указанным координатам или изображению, например, для +открытия приложения с рабочего стола. + +#### Действие «Кликнуть правой кнопкой мыши» + +Клик правой кнопкой мыши, например, по приложению на рабочем столе, +чтобы открыть его контекстное меню. + +#### Действие «Кликнуть колесиком мыши» + +В некоторых программах есть возможность использовать клик колесика мыши +для исполнения некоторых действий, например, закрыть вкладку в браузере. + +#### Действие «Прокрутка мыши» + +Прокрутка колесом мыши вниз или вверх по странице. Здесь координаты +играют роль того, где будет находиться курсор при прокрутке колеса, так +как ползунков на экране может быть несколько. Для прокрутки экрана вниз +в поле «Прокрутка мыши» должно быть введено отрицательное значение +(-150), вверх - положительное (150). + +Число прокрутки измеряется в количестве прокруток колесом мыши. + +**ПРИМЕР.** + +Для прокрутки вниз конкретного ползунка необходимо навести на него +курсор, нажать клавишу «TAB» на клавиатуре, выбрать действие «прокрутка +мыши» и заполнить поле «Прокрутка мыши», как показано на рисунке 8: + +
+ +
Рис. 8. Пример настройки команды
+ +#### Действие «Ввести текст» + +Данное действие вводит текст, который записан в поле «Текст». Поле, куда +вводится текст, должно быть выделено (должен быть фокус, стоять +каретка). + +В некоторых программах необходим специфичный ввод текста – в конкретной +кодировке. В подобных случаях следует выбрать кодировку из предложенных +в выпадающем списке «Использовать кодировку», или указать свою. Текст +может лежать в переменной и быть скопированным из какой-либо программы, +использующей конкретную кодировку. В таком случае, при вставке +скопированного текста в другую программу, необходимо сначала считать его +в кодировке исходной программы. Кодировка исходной программы вводится +или выбирается в поле «Начальная кодировка». Заполнение этих полей +**необязательно**. + +Флажок «Использовать WinInput» позволяет включить режим более +корректного и быстрого ввода текста, но он может не поддерживаться +некоторыми программами. Его использование **необязательно**. + +Пример заполнения действия: + +
+ +
Рис. 9. Пример заполнения
+ +#### Действие «Нажать кнопку» + +Имитирует нажатие клавиши клавиатуры. Необходимую клавишу следует +выбрать в выпадающем списке «Кнопка». В списке предложены все возможные +клавиши, которые могут присутствовать как на простых, так и на +расширенных клавиатурах (изменение громкости звука, запуск/остановка +музыки и другие нестандартные кнопки). + +
+ +
Рис. 10. Действие «Нажать кнопку»
+ +#### Действие «Нажать две кнопки» + +Имитирует нажатие сочетания двух клавиш клавиатуры, например CTRL+A – +выделение всего текста в поле. Необходимые кнопки выбираются в двух +выпадающих списках «Кнопка». Список кнопок тот же, что и в действии +«Нажать кнопку». + +
+ +
Рис. 11. Действие «Нажать две кнопку»
+ +#### Действие «Скопировать» + +Имитирует нажатие сочетания клавиш клавиатуры CTRL+C. Копирует +выделенное заранее значение в буфер обмена и записывает его, при +необходимости, в переменную, указанную в поле «Записать в». Данное поле +**не обязательно** к заполнению. Ввод переменной начинается с символов +«v.». + +
+ +
Рис. 12. Действие «Скопировать»
+ +#### Действие «Вставить» + +Имитирует нажатие сочетания клавиш клавиатуры CTRL+V. Вставляет в +выбранное поле значение из буфера обмена. + +#### Действие «Пока не пропадет изображение» + +Ожидает отсутствия заданного изображения на экране в течение времени, +дающегося на обнаружение ошибки (значение поля «Кол-во попыток» +умноженное на значение поля «Пауза между ошибками»). + +## Модуль «Поиск изображения» + +Модуль «Поиск изображения», в основном, используется в связке с модулем +«Кликер». Его задача – определить, существует ли на текущем экране +заданное изображение, и если да, то вернуть координаты его центра. + +### Интерфейс модуля + +Окно модуля выглядит следующим образом: + +
+ +
Рис. 13. Окно модуля
+ +Кнопки «Выбрать изображение» и «Выделить изображение» позволяют выбрать +изображение для поиска. + +**Поле «Координата x».** В поле вводится ***переменная*** (начиная с +символов «v.»), в которую будет записана координата x искомого +изображения, если оно найдется. + +**Поле «Координата y».** Аналогично полю «Координата x», в данном поле +указывается переменная, в которую будет записана координата y. + +**Поле «Результат».** В поле вводится название переменной, в которой +будет итоговый результат поиска изображения (после использования всех +попыток его найти». Результирующее значение будет представлено в виде +строки: «true» - найдено, «false» - не найдено. + +Поля «Кол-во попыток», «Пауза» и «Процент совпадения» аналогичны полям +модуля «Кликер». + +**Поле «Кол-во попыток».** В поле указывается количество попыток поиска +изображения. + +**Поле «Пауза»** предназначено для указания паузы между попытками поиска +в миллисекундах. + +**Поле «Процент совпадения»** - насколько сильно совпадает изображение, +которое будет искаться, с фрагментом изображения на текущем экране. +Вводится число от 0 до 100, чем больше, тем больше должно быть сходства +между изображениями. + +## Модуль «Поиск изображений» + +Модуль «Поиск изображений» аналогичен модулю «Поиск изображения» с одним +лишь отличием в том, что этот модуль возвращает список всех найденных +изображений, а не одного. + +### Интерфейс модуля + +Интерфейс этого модуля очень похож на интерфейс модуля «Поиск +изображения», но в нем вместо полей «Координата X», «Координата Y» и +«Результат» только одно поле – «Переменная», а также появилось поле +«Минимальная дистанция». + +
+ +
Рис. 14. Окно модуля
+ +**В поле «Переменная»** вводится название переменной с символов «v.», в +которую запишется результат поиска. + +**Поле «Кол-во попыток»** заполняется числом, указывающим, сколько раз +пробовать искать изображения, если с первого раза ни одного найти не +удалось. + +**Поле «Пауза»** предназначено для указания паузы между попытками поиска +в миллисекундах. + +**В поле «Процент совпадения»** вводится значение от 0 до 100, +указывающее, насколько сильно совпадают изображение, которое будет +искаться, с фрагментом изображения на текущем экране. Чем больше число, +тем сильнее они должны совпадать. + +**Поле «Минимальная дистанция»** заполняется числом, указывающим, какое +минимальное количество пикселей должно быть между двумя одинаковыми +изображениями. В некоторых задачах может быть потребоваться отсекать +изображения, которые расположены достаточно близко друг к другу и +получать только первое из этих изображений (начиная с верхнего левого +угла). ***Обратите внимание***, если это расстояние поставить совсем +маленьким (не менее 5 пикселей) или равным 0, то одно изображение может +быть найдено несколько раз! + +### Выходные данные + +В указанную переменную будет записан список объектов, количество которых +будет равно количеству найденных изображений на экране. Каждый объект +соответствует найденному изображению. Для обращения к конкретному +изображению списка необходимо указывать его номер (нумерация с 0) в +квадратных скобках после названия переменной, например +v.listImages\[0\]. + +Каждый объект содержит три поля: «x», «y» и «similarity». В поле «x» +содержится координата x выбранного изображения, в поле «y» - координата +y, а в поле «similarity» - процент совпадения найденного изображения с +искомым. + +**ПРИМЕР.** + +Пусть мы хотим с помощью робота найти количество одинаковых изображений, +например, непрочитанных писем с Яндекс-почты, которые выделены небольшим +синим кружочком около письма: + +
+ +
Рис. 15. Пример
+ +Для этого создадим действие «Поиск изображений» и выберем в нем в +качестве искомого изображения эту синенькую точку: + +
+ +
Рис. 16. Настройка действия
+ +Для нажатия на каждую такую точку и прочтения сообщений, необходимо +добавить цикл по количеству изображений, и в каждому шаге цикла нажимать +на координаты v.listImages\[v.i\].x и v.listImages\[v.i\].y, где v.i – +текущий шаг цикла. + +Для определения количества элементов массива можно воспользоваться +методом языка JavaScript – v.listImages.length. + +## Модуль «Создать скриншот» + +Данный модуль позволяет делать скриншот экрана во время работы робота, +что удобно для проведения отладки кликерных роботов (роботов, +преимущественно работающих на модуле Кликер). + +Окно модуля состоит из двух полей: + +Поле «Сохранить в папку» должно содержать путь до папки, в которую будет +сохранен скриншот экрана. По кнопке папки в поле вызывается диалог +выбора директории; + +В поле «Имя файла» должно быть название скриншота. Если расширение не +будет указано, то изображение будет сохранено в формате png. + +
+ +
Рис. 17. Окно модуля «Создать скриншот»
+ +## Модуль «Получить активное окно» + +Данный модуль получает название активного окна и записывает его в +переменную. Он помогает определить, какая программа является активной на +данной момент, что упрощает работу с модулем «Кликер». Модуль позволяет +исключить множество ошибок при работе кликерных роботов. + +Модуль состоит из одного настроечного поля – Переменная, в которое +необходимо ввести название переменной. В результате работы модуль +записывает в указанную переменную название активного окна ***строчными +буквами***. + +
+ +
Рис. 18. Пример заполнения модуля «Получить активное окно»
+ +Пример переменной в результате заполнения модулем: + +
+ +
Рис. 19. Результат работы модуля
\ No newline at end of file diff --git a/docs/excel.md b/docs/excel.md index 5173690..192ef40 100644 --- a/docs/excel.md +++ b/docs/excel.md @@ -1,240 +1,1325 @@ -#

Модуль «Excel»

+# МОДУЛЬ «EXCEL» -

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

+## Основные моменты модуля + +Модуль «Excel» является самым обширным модулем в программе. Данный +модуль предназначен для обработки Excel-файлов в фоновом режиме, +незаметном для пользователя компьютера. Модуль последовательно выполнит +заданный ему список команд. + +### Интерфейс модуля + +Окно модуля состоит из нескольких разделов: «Общие настройки» (верхняя +часть окна), «Добавить команду», «Список команд» и окна с +предварительным просмотром файла. + +
+ +
Рис. 1. Окно модуля Excel
+ +Окно предварительного просмотра позволяет просматривать все листы +загруженного файла с помощью вкладок с названиями листов и полосы +прокрутки. Также есть возможность вписывать в ячейки свои значения, +применять различное форматирование, но эти изменения сохранены не будут, +то есть данный функционал доступен только для «примерки». + +
+ +
Рис. 2. Элементы управления окна предварительного просмотра
+ +### Раздел «Общие настройки» + +Раздел «Общие настройки» состоит из поля «Имя файла», «Пароль» и кнопку +«Выбрать ячейку». Поле «Пароль» подлежит заполнению только у +запароленных книг. + +Работу с модулем Excel советуем начинать с выбора рабочего файла. После +того, как по кнопке «Открыть файл» в поле «Имя файла» будет выбран файл, +необходимо подождать несколько секунд и указанный файл будет отображен в +окне предварительного просмотра (Рис. 3). +
+ +
Рис. 3. Общие настройки
+ +### Разделы «Добавить команду» и «Список команд» + +Раздел «Добавить команду» является основным «полотном» данного модуля. В +нем создаются действия, имитирующие работу пользователя, например, такие +как считать некоторый диапазон ячеек, затем перенести его на другой +лист, удалить дубликаты и построить круговую диаграмму. В данном случае +было описано 4 действия. Эти 4 действия необходимо последовательно +выбирать и добавлять в раздел «Список команд» - таблицу, отображающую +все действия, которые будут выполняться данным модулем. Набор полей в +данном разделе не всегда одинаков – он меняется в зависимости от +выбранного действия в первом поле. + +Кнопки «Добавить», «Редактировать» и «Удалить» предназначены для работы +с разделами «Добавить команду» и «Список команд». + +#### Добавление команды + +Для добавления команды предусмотрена кнопка «Добавить». Она заносит +созданное действие в таблицу «Список команд». + +
+ +
Рис. 4. Добавление команды
+ +При выборе строки в списке команд информация по выбранному действию +отобразится в разделе «Добавить команду». + +Помимо описанного функционала, кнопка «Добавить» служит для копирования +уже имеющихся действий в списке команд. Для этого необходимо выбрать +строку в списке команд и нажать на кнопку «Добавить». Таким образом, +если нужно выполнить действие несколько раз, достаточно его копировать, +а не создавать вновь. + +
+ +
Рис. 5. Отображение команды
+ +#### Редактирование команды + +Для редактирования команды предусмотрена кнопка «Редактировать». Чтобы +изменить команду, выделите ее в списке команд, внесите необходимые +изменения в разделе «Добавить команду» и нажмите на кнопку +«Редактировать» для сохранения изменений. + +#### Изменение порядка действий + +Для изменения порядка действий предусмотрены кнопки «Поднять» и +«Опустить». Кнопки расположены справа сверху от списка команд. + +Изменение порядка действий бывает необходимо, когда требуется добавить +действие, которое не предусмотрели сразу и не внесли в список команд. В +таком случае вы можете добавить действие стандартным способом, а затем +переместить его. + +
+ +
+ +
Рис. 6. Изменение порядка действий
+ +#### Удаление команды + +Кнопка «Удалить» удаляет выбранную строку из списка команд. + +#### Отключение команды + +Если вы не хотите удалять команду, так как хотели бы, например, +проверить, как работает робот без неё, а затем вернуть её в работу, то +можно отключить команду, нажав на соответствующую ей строку правой +кнопкой мыши и отключить или, наоборот, включить её. + +
+ +
Рис. 7. Контекстное меню команды
+ +#### Выбор ячейки + +Кнопка «Выбрать ячейку» работает для каждого действия по-своему, но +смысл у неё один – она заполняет поле «Ячейки» или «Диапазон» (в +зависимости от того, какое из них используется в выбранном действии) +названием выбранной в окне предварительного просмотра ячейки / диапазона +и вписывает в поле «Лист» название листа, на котором находятся выбранные +ячейки. ***В некоторых действиях по кнопке заполняется только одна +ячейка, хотя был выбран диапазон – это означает, что в данном действии +использование диапазона невозможно.*** + +
+ +
Рис. 8. Выбор диапазона в окне предварительного просмотра
+ +
+ +
Рис. 9. Выбрать ячейку
+ +В некоторых действиях кнопка «Выбрать ячейку» заполняет номера колонок, +строк, какие-либо значения. При работе с файлами рекомендуется её +использование для минимизации возникновения синтаксических ошибок. + +#### Сохранение команды + +Для сохранения команды в модуле Excel нажмите на кнопку «Сохранить» в +правом нижнем углу модуля. + +
+ +
Рис. 10. Сохранение в модуле Excel
+ +## Набор полей в составе модуля + +Для каждого действия в разделе «Добавить команду» существует свой набор +необходимых для него полей, который будет отображен при выборе действия. +По умолчанию, отображены поля «Лист», «Ячейки», «Формула» и +«Переменная». Почти все команды имеют именно такой набор полей, но +некоторые требуют несколько иной информации для выполнения действия. + +### Перечень возможных полей с правилами их заполнения + +1. Лист – поле, в которое необходимо указать имя или номер листа + (начиная с 0), на котором необходимо выполнить указанное действие; + +2. Ячейки – поле, в котором ожидается либо адрес одной ячейки (A1), + либо диапазон ячеек (A1:C10). Если адрес ячейки вычисляется + динамически и неизвестен, то можно использовать номера колонок и + строк ячеек, то есть вместо «C1» можно написать «3,1», где 3 – номер + колонки, 1 – номер строки. Так же можно указать диапазон – вместо + «A3:D4» - «1,3:4,4». Второй формат написания ячеек может быть + использован только по отношению к полям «Ячейка(-и)», но невозможен + в полях «Формула» (см. след. пункт); + +3. Формула – поле для ввода формулы в стандартном формате Excel. + Например «=ЕСЛИ(A2 > B2:1:0)». Для более удобного ввода длинных + формул поле можно расширить, нажав на кнопку со стрелочкой в поле + ввода: + +
+ +
Рис. 11. Поле «Формула»
+ +4. Переменная – поле для ввода названия переменной, в которую будет + помещен результат выполнения действия. Название вводится с символов + «v.»; + +5. Значение – поле для ввода текста или названия переменной, в которой + лежит значение, используемое в выбранном действии; + +6. Столбец – номер (с 1) или название столбца; + +7. Строка – номер строки (с 1). В некоторых действиях («Найти данные», + «Найти лист») – текстовая строка для поиска в файле; + +8. Путь к файлу – путь до папки, в которую будет помещен файл. Можно + выбрать с помощью диалога выбора папки по нажатию на кнопку в поле: + +
+ +
Рис. 12. Поле «Путь к файлу»
+ +9. Имя файла – название файла, можно указать как с расширением, так и + без, в таком случае будет создан файл с расширением xlsx; + +10. Путь копируемого файла – путь до файла вместе с его расширением, + который будет использоваться в данном действии помимо основного + файла для копирования данных из него. Можно выбрать с помощью + диалога выбора файлов по нажатию на кнопку в поле: + +
+ +
Рис. 13. Поле «Путь копируемого файла»
+ +11. Лист копируемого файла – название или номер листа (с 0) в копируемом + файле; + +12. Колонки (ч/з ;) – аналогично полю «Столбец», только здесь возможно + их перечисление через символ «;»; + +13. Значения (ч/з ;) – строковые значения (или переменные, хранящие их), + перечисленные через «;»; + +14. Строка, колонка – номер строки и номер колонки, перечисленные через + запятую; + +15. Ячейка из диапазона значений – любая ячейка из таблицы, к которой + применяется действие (например, если таблица A1:D10, то любая ячейка + из этого диапазона – B5); + +16. Функция – выпадающий список с набором функций, который меняется в + зависимости от выбранного действия; обязателен выбор одного из + представленных значений; + +17. По убыванию – флажок, использующийся в действии «Добавить + сортировку», который ставится, если необходимо сортировать по + убыванию, и не ставится в противном случае; + +18. Диапазон таблицы – аналогично полю «Ячейки», но с обязательным + условием, что это должен быть именно диапазон (то есть должен + присутствовать символ «:»); + +19. Лист для вставки – название или номер листа (с 0); + +20. Уникальные столбцы – используется в действии «Получить уникальные + значения столбца», необходим ввод названий или номеров столбцов (с + 1-цы), которые должны быть уникальными; + +21. Для колонок – аналогично полю «Столбец»; + +22. При каждом изменении в колонке – аналогично полю «Столбец»; + +23. Лист, диапазон - поле, в которое должен быть введен лист файла + (аналогично полю «Лист»), затем поставлена запятая и указан диапазон + или ячейка (аналогично полю «Ячейки»); + +24. Лист, диапазон источника – аналогично полю «Лист, диапазон»; + +25. Лист, диапазон для вставки – аналогично полю «Лист, диапазон»; + +26. Поля в столбцах – используется в действии «Сводная таблица», + необходимо ввести название колонки из рабочей таблицы (не A, B, C и + т.д., а именно название столбца вашей таблицы, например «Дата + создания», без использования кавычек); + +27. Поля в значениях – аналогично «Поля в столбцах»; + +28. Поля в строках – аналогично «Поля в столбцах»; + +29. Копируемый лист – аналогично полю «Лист»; + +30. Копируемый диапазон/ячейка – аналогично полю «Ячейки»; + +31. Диапазон/ячейка для вставки – аналогично полю «Ячейки»; + +32. Файл для вставки (необяз.) – путь до файла с его расширением, + является необязательным полем; + +33. Расположение (лев. верхн.,прав. нижн.) – две ячейки, разделенные + запятой, которые обозначают положение - первая – левый верхний угол, + вторая – правый нижний; + +34. Диапазон названий – аналогично полю «Ячейки»; + +35. Диапазон аргументов - аналогично полю «Ячейки»; + +36. Диапазон значений - аналогично полю «Ячейки»; + +37. Ячейка для вставки - аналогично полю «Ячейки», но только в + единственном числе; + +38. Тип данных – выпадающий список, обязателен выбор одного значения из + представленных; + +39. Операция – аналогично «Типу данных»; + +40. Критерии (ч/з ;) – аргументы для выбранной операции, могут быть как + числами, так и строками, перечисляются через «;»; + +41. Цвет заливки – цвет в формате ARGB, с перечислением каждого + параметра через запятую или в формате HEX (например, \#FFFFFF), + возможен выбор цвета через диалог выбора цвета по кнопке в поле: + +
+ +
Рис. 14. Поле «Цвет заливки»
+ +42. Цвет текста – аналогично «Цвет заливки»; + +43. Цвет – аналогично полю «Цвет заливки»; + +44. Значение для сравнения – текстовое или числовое значение; + +45. Ячейка/диапазон – аналогично полю «Ячейки»; + +46. Столбцы – перечисление номеров (с 1-цы) или названий необходимых + столбцов через запятую; + +47. Ширина – число, как целое, так и дробное (через «.» или «,»); + +48. Строки – перечисление номеров (с 1-цы) строк через запятую; + +49. Высота – аналогично полю «Ширина»; + +50. Общее положение – выпадающий список, обязателен выбор одного из + предложенных значений; + +51. Выравнивание содержимого – аналогично полю «Общее положение»; + +52. Шрифт – выпадающий список со всеми шрифтами, имеющимися в Microsoft + Office, необходимо выбрать один из них; + +53. Стиль текста – аналогично полю «Общее положение»; + +54. Размер – аналогично полю «Ширина»; + +55. Расположение – аналогично полю «Общее положение»; + +56. Стиль – аналогично полю «Общее положение». + +Во всех полях можно использовать переменные, но в них должно содержаться +то, что требуют поля, то есть, в поле «Столбец» можно написать v.column, +но тогда в v.column должен содержаться номер столбца, начинающийся с +единицы, либо его название. Поля, которые закрашены серым цветом, не +используются в выбранном действии. + +## Описание действий, доступных в модуле + +Действия разделены на группы для удобной навигации по выпадающему +списку. Если вы знаете точное название действия, то вы можете начать +вводить его в поле «Действие», и программа постарается подсказать вам то +действие, которое вы ищите. -## Интерфейс модуля -

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

-

![Screenshot](img/excel_1.png)

-

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

-

![Screenshot](img/excel_2.png)

-## Раздел «Общие настройки» -### Загрузить файл -

Раздел «Общие настройки» состоит из поля «Имя файла» и кнопок «Загрузить файл» и «Выбрать ячейку».

-

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

-

![Screenshot](img/excel_3.png)

-## Разделы «Добавить команду» и «Список команд» -

Раздел «Добавить команду» является основным «полотном» данного модуля. В нем создаются действия, имитирующие работу пользователя, например, такие как считать некоторый диапазон ячеек, затем перенести его на другой лист, удалить дубликаты и построить круговую диаграмму. В данном случае было описано 4 действия. Эти 4 действия необходимо последовательно выбирать и добавлять в раздел «Список команд» - таблицу, отображающую все действия, которые будут выполняться данным модулем. Набор полей в данном разделе не всегда одинаков – он меняется в зависимости от выбранного действия в первом поле.

-

Кнопки «Добавить», «Редактировать» и «Удалить» предназначены для работы с разделами «Добавить команду» и «Список команд».

-### Добавление команды -

Для добавления команды предусмотрена кнопка «Добавить». Она заносит созданное действие в таблицу «Список команд».

-

![Screenshot](img/excel_4.png)

-

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

-

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

-

![Screenshot](img/excel_5.png)

-### Редактирование команды -

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

-### Изменение порядка действий -

Для изменения порядка действий предусмотрены кнопки с иконками стрелок «Вверх» и «Вниз». Кнопки расположены справа от списка команд.

-

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

-

![Screenshot](img/excel_6.png)

-

![Screenshot](img/excel_7.png)

-### Удаление команды -

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

-### Отключение команды -

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

-

![Screenshot](img/excel_8.png)

-### Выбор ячейки -

Кнопка «Выбрать ячейку» работает для каждого действия по-своему, но смысл у неё один – она заполняет поле «Ячейки» или «Диапазон» (в зависимости от того, какое из них используется в выбранном действии) названием выбранной в окне предварительного просмотра ячейки / диапазона и вписывает в поле «Лист» название листа, на котором находятся выбранные ячейки. В некоторых действиях по кнопке заполняется только одна ячейка, хотя был выбран диапазон – это означает, что в данном действии использование диапазона невозможно.

-

![Screenshot](img/excel_9.png)

-

![Screenshot](img/excel_10.png)

-

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

-### Сохранение команды -

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

-

![Screenshot](img/excel_11.png)

-## Описание действий, доступных в модуле -

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

Данное действие позволяет считать значение из одной конкретной ячейки, либо из диапазона ячеек. Если будет указана одна ячейка, то создастся переменная с типом «Элемент», если же диапазон, то будет создана переменная с типом «Таблица». -

![Screenshot](img/excel_12.png)

-#### Действие «Записать данные» -

Действие позволяет записать указанное значение в одну или в диапазон ячеек. -

![Screenshot](img/excel_13.png)

-#### Действие «Формула» -

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

![Screenshot](img/excel_14.png)

-#### Действие «Получить формулу» -

Действие возвращает формулу из ячейки в указанную переменную. -

![Screenshot](img/excel_15.png)

-#### Действие «Заменить формулу на её значение» -

Данное действие заменяет формулу в ячейке или диапазоне ячеек на её результат. -

![Screenshot](img/excel_16.png)

-### Группа «Работа со строками» -#### Действие «Добавить строку» -

Действие вставляет новую строку в указанное место. -

![Screenshot](img/excel_17.png)

-#### Действие «Удалить строку» -

Действие удаляет указанную строку. -

![Screenshot](img/excel_18.png)

-#### Действие «Получить количество строк» -

Действие возвращает номер последней используемой строки в листе в указанную переменную. -

![Screenshot](img/excel_19.png)

-#### Действие «Получить количество отфильтрованных строк» -

Действие возвращает количество видимых строк при примененном фильтре в указанную переменную. -

![Screenshot](img/excel_20.png)

-#### Действие «Переместить строку» -

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

![Screenshot](img/excel_20_1.png)

-

В данном примере строка 14 с листа Лист1 будет перемещена на место 16 строки листа Лист2. -#### Действие «Сгруппировать строки» -

С помощь данного действия создаются группы строк в Excel. На вход подается название листа, на котором происходит группировка, и перечень номеров строк. Перечислить строки можно просто через запятую, либо, если диапазон не разрывный, через двоеточие, например – «1,2,3,7,8,9» или «1:5», что равносильно «1,2,3,4,5». -

![Screenshot](img/excel_20_2.png)

-#### Действие «Удалить группировку строк» -

Действие предназначено для удаления 1-го уровня существующей группировки по строкам. Входные данные аналогичны действию «Сгруппировать строки». -

![Screenshot](img/excel_20_3.png)

-#### Действие «Уровень группировки строки» -

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

![Screenshot](img/excel_20_4.png)

-### Группа «Работа с колонками» -#### Действие «Добавить столбец» -

Действие добавляет новый столбец в указанное место. -

![Screenshot](img/excel_21.png)

-#### Действие «Удалить столбец» -

Действие удаляет указанный столбец. -

![Screenshot](img/excel_22.png)

-#### Действие «Получить количество столбцов» -

Действие возвращает номер самого последнего используемого столбца. -

![Screenshot](img/excel_23.png)

-#### Действие «Сгруппировать столбцы» -

Действие объединяет указанные столбцы в группу. Входными данными являются лист и перечень столбцов через запятую или в виде диапазона через двоеточие («A,B,C,D,E» или «A:E»). В качестве столбца можно указывать как его название, так и его порядковый номер, начиная с единицы. -

![Screenshot](img/excel_23_1.png)

-#### Действие «Удалить группировку колонок» -

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

![Screenshot](img/excel_23_2.png)

-#### Действие «Уровень группировки столбца» -

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

![Screenshot](img/excel_23_3.png)

-### Группа «Работа с листами и файлами» -#### Действие «Создать новый лист» -

Действие создает новый лист с указанным именем. -

![Screenshot](img/excel_24.png)

-#### Действие «Удалить лист» -

Действие удаляет лист с указанным именем. -

![Screenshot](img/excel_25.png)

-#### Действие «Очистить лист» -

Действие очищает ячейки листа от данных. Не очищает форматирование! -

![Screenshot](img/excel_26.png)

-#### Действие «Получить список листов» -

Возвращает переменную-список, содержащую названия всех листов файла. -

![Screenshot](img/excel_26_1.png)

-#### Действие «Ориентация страницы» -

Изменение ориентации страницы Excel. Доступные ориентации – книжная и альбомная. -

![Screenshot](img/excel_26_2.png)

-#### Действие «Создать новый файл» -

Действие создает в указанной папке новый файл с названием и указанным расширением (если расширение не указано, создается файл .xlsx). Если поле «Лист» заполнено, то первый лист файла будет назван так, как указано в поле, иначе - по умолчанию (Лист 1, Sheet 1, в зависимости от языка системы). -

![Screenshot](img/excel_27.png)

-#### Действие «Заполнить лист на основе Excel-файла» -

Данное действие производит заполнение листа текущего файла по аналогии с листом какого-либо другого файла. В поле «Лист» указывается лист текущего файла. -

![Screenshot](img/excel_28.png)

-#### Действие «Экспортировать в PDF» -

Действие позволяет сохранить Excel-файл в формате PDF стандартными методами Windows, то есть деление листа Excel-файла на листы в документе PDF будет производиться по стандартным настройкам, указанным в файле Excel (по умолчанию размер листа А4, с обычными полями). -

![Screenshot](img/excel_29.png)

-

Название файла и его расположение будут совпадать с экспортируемым файлом. -### Группа «Поиск» -#### Действие «Найти данные» -

Ищет заданную строку в указанном листе и возвращает адрес первой найденной ячейки. -

![Screenshot](img/excel_30.png)

-#### Действие «Поиск строки по значениям колонок» -

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

![Screenshot](img/excel_31.png)

-

В данном случае будет искаться строка, в колонке A которой 23.03.2020, а в колонке B – Уфа. -#### Действие «Найти лист» -

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

![Screenshot](img/excel_32.png)

-### Группа «Другие функции» -#### Действие «Сместить ячейку» -

Смещает заданную ячейку на указанное количество строк и колонок, затем возвращает результат в переменную (в данном примере результатом будет ячейка D13). -

![Screenshot](img/excel_33.png)

-#### Действие «Наложить фильтр» -

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

![Screenshot](img/excel_34.png)

-#### Действие «Удалить фильтр» -

Действие удаляет все фильтры с листа. -

![Screenshot](img/excel_35.png)

-#### Действие «Добавить сортировку» -

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

![Screenshot](img/excel_36.png)

-#### Действие «Очистить диапазон» -

Действие удаляет все значения и форматирования ячеек в указанном диапазоне. -

![Screenshot](img/excel_37.png)

-#### Действие «Получить уникальные значения столбца» -

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

![Screenshot](img/excel_38.png)

-#### Действие «Промежуточные итоги» -

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

![Screenshot](img/excel_39.png)

-

Поле «Для колонок» соответствует полю в Excel «Добавить итоги по» (выделено зеленым), поле «При каждом изменении в колонке» соответствует аналогичному полю в Excel, но должно быть заполнено названием колонки Excel (A, B, … или 1, 2, …) (выделено красным), поле «Функция» заполняется операцией, которая должна быть применена для выбранных колонок (выделено синим). -

![Screenshot](img/excel_40.png)

-#### Действие «Сводная таблица» -

Добавляет сводную таблицу в указанные лист и диапазон (поле «Лист, диапазон для вставки) на основе данных таблицы из поля «Лист, диапазон источника». -

![Screenshot](img/excel_41.png)

-

В поля «Поля в столбцах», «Поля в значениях» и «Поля в строках» вписываются названия колонок таблицы-источника (а не Excel-таблицы), как в программе Excel: -

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

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

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

![Screenshot](img/excel_42.png)

-#### Действие «Скопировать и вставить ячейку/диапазон» -

Данное действие позволяет скопировать данные и форматирование и вставить их в тот же или в другой файл. С помощью него можно «растягивать» формулы (см. «Действие «Формула»). -

![Screenshot](img/excel_43.png)

-#### Действие «Отобразить в виде процентов» -

Действие переводит выбранный диапазон в проценты. -

![Screenshot](img/excel_44.png)

-#### Действие «Круговая диаграмма» -Действие создает на указанном листе круговую диаграмму. Значения диаграммы берутся из диапазона, указанного в поле «Ячейки», диапазон с названиями значений указывается в поле «Диапазон названий». В поле «Расположение» указываются границы расположения круговой диаграммы, а именно левый верхний угол и правый нижний через запятую. -

![Screenshot](img/excel_45.png)

-#### Действие «График» -

Действие создает линейный график с одним или несколькими рядами. Ряд необходимо указать в поле «Диапазон значений» в виде одномерного диапазона (по одной колонке или по одной строке). Если рядов больше, чем один, то последующие ряды нужно указать в таком же виде через «;». Диапазон аргументов должен быть один и указывается аналогично ряду. «Ячейки с названиями рядов» заполняются названиями ячеек через «;», их количество должно быть равно количеству рядов, первая ячейка отображает название первого ряда и т.д. В ячейку для вставки записывается ячейка, в которой будет располагаться левый верхний угол графика. -

![Screenshot](img/excel_46.png)

-#### Действие «Проверка значений» -

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

Последнее поле меняется в зависимости от типа данных – для типа «Список» это будет «Источник данных», для всех остальных – «Критерии (ч/з ;)». Поле «Источник данных» заполняется диапазоном значений (внутри одного столбца или одной строки), в которой будет указан в списке (если список статичный, то указывайте абсолютную ссылку). Поле «Критерии (ч/з ;)» заполняется значениями, относительно которых будет применяться правило проверки. -

Поле «Сообщение об ошибке» заполняется текстом ошибки, которая будет отображаться, если в ячейку введено значение, не удовлетворяющее заданному для неё правилу. Является необязательным полем. Если оставить его пустым, то будет отображаться ошибка «Введенное значение неверно. Набор значений, которые могут быть введены в ячейку, ограничен». -

![Screenshot](img/excel_47.png)

-#### Действие «Добавить изображение» -

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

![Screenshot](img/excel_47_1.png)

-### Группа «Форматирование» -#### Действие «Условное форматирование» -

Действие форматирует указанные ячейки на выбранном листе в зависимости от того, удовлетворяют ли они указанному условию. В поле «Лист, диапазон» через запятую вводятся лист и диапазон или одна ячейка из этого листа, к которым будет применяться условное форматирование. В полях «Цвет заливки» и «Цвет текста» указываются цвета, которыми будет залита ячейка и окрашен текст в ней, если она будет удовлетворять условию. Условие составляется из выбора функции и указания значения для сравнения. Доступные функции – равно, не равно, больше, меньше, больно или равно, меньше или равно, формула. Если выбрана функция «формула», то в поле «Значение для сравнение» следует вписать формулу в формате Excel, начиная со знака «=». -

![Screenshot](img/excel_48.png)

-#### Действие «Цвет ячейки/диапазона» -

Действие меняет цвет заливки текста и самого текста в указанном диапазоне / ячейке. -

![Screenshot](img/excel_49.png)

-#### Действие «Ширина столбца(-ов)» -

Действие изменяет ширину указанных столбцов. Столбцы можно перечислять через запятую, писать их номера вместо названий (с 1-цы). Ширина указывается в той же единице измерения, которая используется в Excel. -

![Screenshot](img/excel_50.png)

-#### Действие «Высота строки (-ок)» -

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

![Screenshot](img/excel_51.png)

-#### Действие «Объединить ячейки» -

Действие объединяет указанные ячейки на выбранном листе. В модуле предусмотрено три вида объединений: -

• простое объединение – то есть объединяются и колонки, и столбцы диапазона; -

• объединение по строкам; -

• объединение по столбцам. -

![Screenshot](img/excel_52.png)

-#### Действие «Очистить форматирование» -

Действие очищает форматирование в указанном диапазоне выбранного листа. -

![Screenshot](img/excel_53.png)

-#### Действие «Формат ячейки» -

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

![Screenshot](img/excel_54.png)

-#### Действие «Формат числа» -

Действие отображает число по определенным правилам числового формата Excel. -

![Screenshot](img/excel_55.png)

-

Примеры форматов можно посмотреть в программе Excel, кликнув правой кнопкой левой кнопкой мыши по ячейке – «Формат ячейки» – вкладка «Число» - (все форматы): -

![Screenshot](img/excel_56.png)

-

Наиболее часто используемые форматы числа предлагаются в студии при наведении на поле для ввода формата. -

![Screenshot](img/excel_57.png)

-#### Действие «Выравнивание» -

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

![Screenshot](img/excel_58.png)

-#### Действие «Перенос текста» -

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

![Screenshot](img/excel_58_1.png)

-#### Действие «Шрифт» -

Действие меняет шрифт, стиль или размер выбранных ячеек на указанном листе. Модуль предоставляет выбор всех стандартных шрифтов, доступных в пакете Microsoft Office. -

![Screenshot](img/excel_59.png)

-#### Действие «Границы» -

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

![Screenshot](img/excel_60.png)

+#### Действие «Считать данные» + +Данное действие позволяет считать значение из одной конкретной ячейки, +либо из диапазона ячеек. Если будет указана одна ячейка, то создастся +переменная с типом «Элемент», если же диапазон, то будет создана +переменная с типом «Таблица». + +
+ +
Рис. 15. Пример настройки действия «Считать данные»
+ +#### Действие «Записать данные» + +Действие позволяет записать указанное значение в одну или в диапазон +ячеек. + +
+ +
Рис. 16. Пример настройки действия «Записать данные»
+ +#### Действие «Формула» + +Действие позволяет записать формулу в указанную ячейку (или в диапазон) +и вернуть её результат в указанную переменную. Поле «Переменная» можно +оставить пустым, если результат выполнения данной формулы не важен. + +
+ +
Рис. 17. Пример настройки действия «Формула»
+ +**СОВЕТ.** Предположим, что вам необходимо написать формулу, применимую +к текущей строке, и «растянуть» её на несколько других строк, как в +Excel. Начните с создания действия «Формула» для первой строки. Затем +«растяните» её с помощью действия «Скопировать и вставить +ячейку/диапазон» применительно к настроенной формуле. То есть для выше +предложенной формулы «растягивание» будет выглядеть так: + +
+ +
Рис. 18. Пример настройки действия «Скопировать и вставить +ячейку/диапазон»
+ +#### Действие «Получить формулу» + +Действие возвращает формулу из ячейки в указанную переменную. + +
+ +
Рис. 19. Пример настройки действия «Получить формулу»
+ +#### Действие «Заменить формулу на её значение» + +Данное действие заменяет формулу в ячейке или диапазоне ячеек на её +результат. + +
+ +
Рис. 20. Пример настройки действия «Заменить формулу на ее значение»
+ +### Группа «Работа со строками» + +#### Действие «Добавить строку» + +Действие вставляет новую строку в указанное место. + +
+ +
Рис. 21. Пример настройки действия «Добавление строки»
+ +#### Действие «Удалить строку» + +Действие удаляет указанную строку. + +
+ +
Рис. 22. Пример настройки действия «Удаление строки»
+ +#### Действие «Получить количество строк» + +Действие возвращает номер последней используемой строки в листе в +указанную переменную. + +
+ +
Рис. 23. Пример настройки действия «Получение количества строк»
+ +#### Действие «Получить количество отфильтрованных строк» + +Действие возвращает количество видимых строк при примененном фильтре в +указанную переменную. + +
+ +
Рис. 24. Пример настройки действия «Получение количества +отфильтрованных строк»
+ +#### Действие «Переместить строку» + +Действие помещает указанную в поле «Перемещаемая строка» строку на листе +из поля «Лист» вместо указанной в поле «Номер строки для вставки» листа +«Лист для вставки». + +
+ +
Рис. 25. Пример настройки действия «Переместить строку»
+ +В данном примере строка 14 с листа Лист1 будет перемещена на место 16 +строки листа Лист2. + +#### Действие «Сгруппировать строки» + +С помощь данного действия создаются группы строк в Excel. На вход +подается название листа, на котором происходит группировка, и перечень +номеров строк. Перечислить строки можно просто через запятую, либо, если +диапазон не разрывный, через двоеточие, например – «1,2,3,7,8,9» или +«1:5», что равносильно «1,2,3,4,5». + +
+ +
Рис. 26. Пример настройки действия «Сгруппировать строки»
+ +#### Действие «Удалить группировку строк» + +Действие предназначено для удаления 1-го уровня существующей группировки +по строкам. Входные данные аналогичны действию «Сгруппировать строки». + +
+ +
Рис. 27. Пример настройки действия «Удалить группировку строк»
+ +#### Действие «Уровень группировки строки» + +Действие позволяет получить уровень группировки выбранной строки и +записать результат в указанную переменную. + +
+ +
Рис. 28. Пример настройки действия «Уровень группировки строк»
+ +### Группа «Работа с колонками» + +#### Действие «Добавить столбец» + +Действие добавляет новый столбец в указанное место. + +
+ +
Рис. 29. Пример настройки действия «Добавление столбца»
+ +#### Действие «Удалить столбец» + +Действие удаляет указанный столбец. + +
+ +
Рис. 30. Пример настройки действия «Удаление столбца»
+ +#### Действие «Получить количество столбцов» + +Действие возвращает номер самого последнего используемого столбца. + +
+ +
Рис. 31. Пример настройки действия «Получение количества столбцов»
+ +#### Действие «Сгруппировать столбцы» + +Действие объединяет указанные столбцы в группу. Входными данными +являются лист и перечень столбцов через запятую или в виде диапазона +через двоеточие («A,B,C,D,E» или «A:E»). В качестве столбца можно +указывать как его название, так и его порядковый номер, начиная с +единицы. + +
+ +
Рис. 32. Пример настройки действия «Сгруппировать столбцы»
+ +#### Действие «Удалить группировку колонок» + +Действие позволяет удалить один уровень группировки у указанных +столбцов. + +
+ +
Рис. 33. Пример настройки действия «Удалить группировку колонок»
+ +#### Действие «Уровень группировки столбца» + +Данное действие позволяет получить уровень группы указанного столбца и +записать его в переменную. + +
+ +
Рис. 34. Пример настройки действия «Уровень группировки столбца»
+ +### Группа «Работа с листами и файлами» + +#### Действие «Создать новый лист» + +Действие создает новый лист с указанным именем. + +
+ +
Рис. 35. Пример настройки действия «Создание нового листа»
+ +#### Действие «Удалить лист» + +Действие удаляет лист с указанным именем. + +
+ +
Рис. 36. Пример настройки действия «Удаление листа»
+ +#### Действие «Очистить лист» + +Действие очищает ячейки листа от данных. **Не очищает форматирование!** + +
+ +
Рис. 37. Пример настройки действия «Очищение листа»
+ +#### Действие «Получить список листов» + +Возвращает переменную-список, содержащую названия всех листов файла. + +
+ +
Рис. 38. Пример настройки действия «Получение списка листов»
+ +#### Действие «Ориентация страницы» + +Изменение ориентации страницы Excel. Доступные ориентации – книжная и +альбомная. + +
+ +
Рис. 39. Пример настройки действия «Ориентация страницы»
+ +#### Действие «Настройки печати» + +Действие позволяет выбрать область листа, которая должна быть отображена +на странице при печати, а также масштаб этой области. Аналогично +одноименной настройке в Excel. + +
+ +
Рис. 40. Пример настройки действия «Настройки печати»
+ +#### Действие «Создать новый файл» + +Действие создает в указанной папке новый файл с названием и указанным +расширением (если расширение не указано, создается файл .xlsx). Если +поле «Лист» заполнено, то первый лист файла будет назван так, как +указано в поле, иначе - по умолчанию (Лист 1, Sheet 1, в зависимости от +языка системы). + +
+ +
Рис. 41. Пример настройки действия «Создание нового файла»
+ +#### Действие «Заполнить лист на основе Excel-файла» + +Данное действие производит заполнение листа текущего файла по аналогии с +листом какого-либо другого файла. В поле «Лист» указывается лист +текущего файла. + +
+ +
Рис. 42. Пример настройки действия «Заполнение листа»
+ +#### Действие «Экспортировать в PDF» + +Действие позволяет сохранить Excel-файл в формате PDF стандартными +методами Windows, то есть деление листа Excel-файла на листы в документе +PDF будет производиться по стандартным настройкам, указанным в файле +Excel (по умолчанию размер листа А4, с обычными полями). Действие не +имеет дополнительной настройки. + +
+ +
Рис. 43. Пример настройки действия «Экспортирование в PDF»
+ +Название файла и его расположение будут совпадать с экспортируемым +файлом (расширение файла будет pdf). + +### Группа «Поиск» + +#### Действие «Найти данные» + +Ищет заданную строку в указанном листе и возвращает адрес ***первой*** +найденной ячейки. Флажок «Строгое сравнение» ставится в том случае, если +текст в ячейке должен полностью совпадать с текстом, введенном в поле +«Строка». + +
+ +
Рис. 44. Пример настройки действия «Найти данные»
+ +#### Действие «Поиск строки по значениям колонок» + +Данное действие ищет и возвращает номера строк, в заданных колонках +которых записаны указанные значения. Флажок «Строгое сравнение» ставится +в том случае, если текст в ячейках должен полностью совпадать с текстом, +введенном в поле «Значения». Флажок «Массив» вернет массив всех +найденных строк, результирующая переменная будет являться массивом +чисел, если флажок не установлен, то в результирующую переменную будет +записан номер первой найденной строки или «Строка не найдена», если +таких строк нет. + +
+ +
Рис. 45. Пример настройки действия «Поиск строки»
+ +В данном случае будет искаться одна строка, в колонке A которой +23.03.2020, а в колонке B – Уфа. + +#### Действие «Найти лист» + +Ищет лист, в котором есть ячейка с указанным в поле «Строка» значением и +возвращает его название в указанную переменную. Флажок «Строгое +сравнение» ставится в том случае, если текст в ячейке должен полностью +совпадать с текстом, введенном в поле «Строка». + +
+ +
Рис. 46. Пример настройки действия «Найти лист»
+ +### Группа «Другие функции» + +#### Действие «Сместить ячейку» + +Смещает заданную ячейку на указанное количество строк и колонок, затем +возвращает результат в переменную (в данном примере результатом будет +ячейка D13). + +
+ +
Рис. 47. Пример настройки действия «Сместить ячейку»
+ +#### Действие «Наложить фильтр» + +Данное действие добавляет фильтр в таблицу на указанном листе, ячейка из +которой указана в поле «Ячейка из диапазона значений». В поле столбец +записывается столбец, к которому необходимо применить фильтр. +Фильтруемый столбец должен быть один. Если необходимо применить +несколько фильтров к одной таблице, то необходимо добавить для каждого +фильтра свое действие в рамках одного Excel-модуля. Функция, по которой +должно происходить сравнение, выбирается из выпадающего списка в поле +«Функция», значение, с которым будет происходить сравнение при +фильтрации, указано в поле «Значение». + +Если необходимо просто включить фильтр в таблице, но без определенной +фильтрации, то нужно оставить поле «Функция» пустым. + +
+ +
Рис. 48. Пример настройки действия «Наложить фильтр»
+ +#### Действие «Удалить фильтр» + +Действие удаляет все фильтры с листа. + +
+ +
Рис. 49. Пример настройки действия «Удаление фильтра»
+ +#### Действие «Добавить сортировку» + +Действие добавляет сортировку к указанному диапазону по выбранному +столбцу. В зависимости от флажка определяется, сортируется столбец по +убыванию или по возрастанию. Столбец для сортировки должен быть один. + +
+ +
Рис. 50. Пример настройки действия «Добавление сортировки»
+ +#### Действие «Очистить диапазон» + +Действие удаляет все значения и форматирования ячеек в указанном +диапазоне. + +
+ +
Рис. 51. Пример настройки действия «Очищение диапазона»
+ +#### Действие «Получить уникальные значения столбца» + +Аналогично действию «Удалить дубликаты» в Excel, данное действие +возвращает только уникальные значения указанных столбцов из диапазона. +Итоговая таблица может быть вставлена как в тот же лист, так и в другой +в лист, но в тот же диапазон. В зависимости от наличия дубликатов, +количество строк может быть уменьшено. + +
+ +
Рис. 52. Пример настройки действия «Получение уникальных значений»
+ +#### Действие «Промежуточные итоги» + +Действие добавляет операцию Excel «Промежуточные итоги» на указанный +лист к указанному диапазону. + +
+ +
Рис. 53. Пример настройки действия «Промежуточные итоги»
+ +Поле «Для колонок» соответствует полю в Excel «Добавить итоги по» +(выделено зеленым на рисунке 54), поле «При каждом изменении в +колонке» соответствует аналогичному полю в Excel, но должно быть +заполнено названием колонки Excel (A, B, … или 1, 2, …) (выделено +красным на рисунке 54, поле «Функция» заполняется операцией, которая +должна быть применена для выбранных колонок (выделено синим на рисунке +54). + +
+ +
Рис. 54. Настройка действия «Промежуточные итоги» в Excel
+ +#### Действие «Сводная таблица» + +Добавляет сводную таблицу в указанные лист и диапазон (поле «Лист, +диапазон для вставки) на основе данных таблицы из поля «Лист, диапазон +источника». + +
+ +
Рис. 55. Пример настройки действия «Сводная таблица»
+ +В поля «Поля в столбцах», «Поля в значениях» и «Поля в строках» +вписываются **названия колонок таблицы-источника** (а не Excel-таблицы), +как в программе Excel: + +«Поля в столбцах» соответствуют названиям столбцов таблицы, значения +которых должны быть расположены в столбцах сводной таблицы (выделено +зеленым на рисунке 56); + +«Поля в строках» соответствуют названиям столбцов таблицы, значения +которых должны быть расположены в строках сводной таблицы (выделено +синим на рисунке 56); + +«Поля в значениях» соответствуют названиям столбцов таблицы, значения +которых должны быть расположены в значениях сводной таблицы (выделено +красным на рисунке 56); + +
+ +
Рис. 56. Настройка действия «Сводная таблица» в Excel
+ +#### Действие «Скопировать и вставить ячейку/диапазон» + +Данное действие позволяет скопировать данные и форматирование и вставить +их в тот же или в другой файл. С помощью него можно «растягивать» +формулы (см. «Действие «Формула»). + +
+ +
Рис. 57. Пример настройки действия «Скопировать и вставить +ячейку/диапазон»
+ +#### Действие «Отобразить в виде процентов» + +Действие переводит выбранный диапазон в проценты. + +
+ +
Рис. 58. Пример настройки действия «Отображение в виде процентов»
+ +#### Действие «Круговая диаграмма» + +Действие создает на указанном листе круговую диаграмму. Значения +диаграммы берутся из диапазона, указанного в поле «Ячейки», диапазон с +названиями значений указывается в поле «Диапазон названий». В поле +«Расположение» указываются границы расположения круговой диаграммы, а +именно левый верхний угол и правый нижний через запятую. + +
+ +
Рис. 59. Пример настройки действия «Создание круговой диаграммы»
+ +**ПРИМЕР.** + +Построение круговой диаграммы для двух параметров, указанных в столбце +A, по соответствующим им параметрам, указанным в столбце B. Заполнение +действия для данного примера указано на рисунке 59. + +Пример исходных данных представлен на рисунке 60. + +
+ +
Рис. 60. Пример исходных данных
+ +Результат построения круговой диаграммы представлен на рисунке 61. + +
+ +
Рис. 61. Результат выполнения действия «Круговая диаграмма»
+ +#### Действие «График» + +Действие создает линейный график с одним или несколькими рядами. Ряд +необходимо указать в поле «Диапазон значений» в виде одномерного +диапазона (по одной колонке или по одной строке). Если рядов больше, чем +один, то последующие ряды нужно указать в таком же виде через «;», как +указано на рисунке 62. Диапазон аргументов должен быть один и +указывается аналогично ряду. «Ячейки с названиями рядов» заполняются +названиями ячеек через «;», их количество должно быть равно количеству +рядов, первая ячейка отображает название первого ряда и т.д. В ячейку +для вставки записывается ячейка, в которой будет располагаться левый +верхний угол графика. + +
+ +
Рис. 62. Пример настройки действия «График»
+ +**ПРИМЕР.** + +В качестве примера возьмем курс доллара и евро за некоторый промежуток +времени. Так как валют две, то график должен состоять из двух рядов. В +качестве аргументов выступит столбец с указанием дат – A, в качестве +значений будет два столбца, первый – B, курс евро, и второй – C, курс +доллара. Заполнение действия представлено на рисунке 62. + +Пример исходных данных представлен на рисунке 63. + +
+ +
Рис. 63. Пример настройки действия «График»
+ +Результат работы программы представлен на рисунке 64. + +
+ +
Рис. 64. Результат выполнения действия «График»
+ +#### Действие «Проверка значений» + +Действие создает ограничение типов данных, которые можно ввести в +выбранные ячейки, путем выбора предложенных правил. В поле **«Лист»** +вводится лист, в ячейки которого добавляются ограничения, в поле +**«Ячейки»** вводится диапазон ячеек, на которых будет проводиться +проверка значений при вводе. В поле **«Тип данных»** выбирается один из +предложенных типов данных – целое или действительное число, список, +дата, длина текста, время. Поле **«Операция»** состоит из списка +доступных операций для составления правила проверки – равно, не равно, +больше, меньше, больше или равно, меньше или равно, между и вне. При +использовании типа данных «Список» заполнение поля «Операция» не +требуется, поэтому оно не доступно для редактирования. + +Последнее поле меняется в зависимости от типа данных – для типа «Список» +это будет «Источник данных», для всех остальных – «Критерии (ч/з ;)». +Поле **«Источник данных»** заполняется диапазоном значений (внутри +одного столбца или одной строки), в которой будет указан в списке (если +список статичный, то указывайте абсолютную ссылку). Поле **«Критерии +(ч/з ;)»** заполняется значениями, относительно которых будет +применяться правило проверки. + +Поле «Сообщение об ошибке» заполняется текстом ошибки, которая будет +отображаться, если в ячейку введено значение, не удовлетворяющее +заданному для неё правилу. Является необязательным полем. Если оставить +его пустым, то будет отображаться ошибка «Введенное значение неверно. +Набор значений, которые могут быть введены в ячейку, ограничен». + +
+ +
Рис. 65. Пример настройки действия «Проверка значений»
+ +**ПРИМЕР.** + +Для создания списка, состоящего из некоторых заданных в какой-либо +колонке значений, действие заполняется так, как указано на рисунке +65. Пусть в ячейках А2:А6 будут следующие значения: + +
+ +
Рис. 66. Пример исходных данных
+ +Тогда после работы робота при нажатии на любую ячейку из диапазона С2:С6 +будет появляться стрелочка для открытия выпадающего списка, в котором +будут содержаться выбранные значения: + +
+ +
Рис. 67. Результат выполнения действия «Проверка значений»
+ +Второй пример - создание правила, позволяющего вводить в диапазон ячеек +A1:A5 только действительные числа, находящиеся в промежутке между 5 и +10. Пусть при введении неверного значения будет выдаваться ошибка: +«Введено неверное значение. Должно быть введено действительное число +между 5 и 10»: + +
+ +
Рис. 68. Пример создания правила для проверки значений
+ +После работы робота при попытке ввести число, находящееся вне диапазона +от 5 до 10, появляется ошибка: + +
+ +
Рис. 69. Результат выполнения действия «Проверка значений»
+ +#### Действие «Добавить изображение» + +Действие добавляет выбранное изображение в текущий Excel-файл. Если +изображение имеет прозрачный фон, то оно также сохранит прозрачность при +его добавлении в файл Excel. В поле «Ячейки» указывается левый верхний +угол расположения изображения. + +
+ +
Рис. 70. Пример настройки действия «Добавить изображение»
+ +### Группа «Форматирование» + +#### Действие «Условное форматирование» + +Действие форматирует указанные ячейки на выбранном листе в зависимости +от того, удовлетворяют ли они указанному условию. В поле «Лист, +диапазон» через запятую вводятся лист и диапазон или одна ячейка из +этого листа, к которым будет применяться условное форматирование. В +полях «Цвет заливки» и «Цвет текста» указываются цвета, которыми будет +залита ячейка и окрашен текст в ней, если она будет удовлетворять +условию. Условие составляется из выбора функции и указания значения для +сравнения. Доступные функции – равно, не равно, больше, меньше, больно +или равно, меньше или равно, формула. Если выбрана функция «формула», то +в поле «Значение для сравнения» следует вписать формулу в формате Excel, +начиная со знака «=». + +
+ +
Рис. 71. Пример настройки действия «Условное форматирование»
+ +**ПРИМЕР.** + +Окрасим все ячейки в столбцах B и C в зеленый цвет, если значение курса +меньше или равно 82. Действие заполняется как на рисунке 71. + +Исходные данные представлены на рисунке 72. + +
+ +
Рис. 72. Пример исходных данных
+ +Результат работы программы представлен на рисунке 73. + +
+ +
Рис. 73. Результат выполнения действия «Условное форматирование»
+ +#### Действие «Цвет ячейки/диапазона» + +Действие меняет цвет заливки текста и самого текста в указанном +диапазоне / ячейке. + +
+ +
Рис. 74. Пример настройки действия «Цвет ячейки/диапазона»
+ +**ПРИМЕР.** + +На рисунке 74 представлено, как залить диапазон ячеек A17:C19 в +голубой цвет, а текст в этих ячейках окрасить в фиолетовый. + +Исходные данные представлены на рисунке 75: + +
+ +
Рис. 75. Пример исходных данных
+ +Результат работы робота представлен на рисунке 76: + +
+ +
Рис. 76. Результат выполнения действия «Цвет ячейки/диапазона»
+ +***Действие «Ширина столбца(-ов)»*** + +Действие изменяет ширину указанных столбцов. Столбцы можно перечислять +через запятую, писать их номера вместо названий (с 1-цы). Ширина +указывается в той же единице измерения, которая используется в Excel. + +
+ +
Рис. 77. Пример настройки действия «Ширина столбца(-ов)»
+ +**ПРИМЕР.** + +На рисунке 77 представлено, как заполнить действие для установки ширины +столбцов B и C в 16 пунктов. В поле «Столбцы» можно было бы написать +«2,3», то есть второй и третий столбцы. + +Исходные данные представлены на рисунке 78: + +
+ +
Рис. 78. Пример исходных данных
+ +Результат работы представлен на рисунке 79: + +
+ +
Рис. 79. Результат выполнения действия «Ширина столбца(-ов)»
+ +#### Действие «Высота строки (-ок)» + +Действие изменяет высоту указанных строк. Используется та же единица +измерения, что и в Excel. + +
+ +
Рис. 80. Пример настройки действия «Высота строки(-ок)»
+ +**ПРИМЕР.** + +Изменим высоту первой строки, сделав её равной 30 пунктам. Для этого +заполняем действие так, как указано на рисунке 80. + +Исходные данные представлены на рисунке 81: + +
+ +
Рис. 81. Пример исходных данных
+ +Результат работы робота представлен на рисунке 82: + +
+ +
Рис. 82. Результат выполнения действия «Высота строки(-ок)»
+ +#### Действие «Объединить ячейки» + +Действие объединяет указанные ячейки на выбранном листе. В модуле +предусмотрено три вида объединений: + +- простое объединение – то есть объединяются и колонки, и столбцы + диапазона; + +- объединение по строкам; + +- объединение по столбцам. + +
+ +
Рис. 83. Пример настройки действия «Объединить ячейки»
+ +**ПРИМЕР.** + +На рисунке 83 представлено заполнение действия для объединения +колонок в диапазоне ячеек A2:C4. + +Исходные данные представлены на рисунке 84: + +
+ +
Рис. 84. Пример исходных данных
+ +Результат работы представлен на рисунке 85: + +
+ +
Рис. 85. Результат выполнения действия «Объединить ячейки»
+ +***Действие «Очистить форматирование»*** + +Действие очищает форматирование в указанном диапазоне выбранного листа. + +
+ +
Рис. 86. Пример настройки действия «Очистить форматирование»
+ +**ПРИМЕР.** + +Очистим форматирование, которое содержится в диапазоне A17:C19. Для +этого заполним действие так, как указано на рисунке 86 и запустим +робота. + +Исходные данные представлены на рисунке 87: + +
+ +
Рис. 87. Пример исходных данных
+ +Результат работы представлен на рисунке 88 + +
+ +
Рис. 88. Результат выполнения действия «Очистить форматирование»
+ +***Действие «Формат ячейки»*** + +Действие меняет формат указанной ячейки на выбранный. По умолчанию, все +значения, заносимые в Excel студией, имеют строковый формат, поэтому, +для корректного пересчета формул или сортировки, необходимо привести +данные к нужному формату. + +
+ +
Рис. 89. Пример настройки действия «Формат ячейки»
+ +#### Действие «Формат числа» + +Действие отображает число по определенным правилам числового формата +Excel. + +
+ +
Рис. 90. Пример настройки действия «Формат числа»
+ +Примеры форматов можно посмотреть в программе Excel, кликнув правой +кнопкой левой кнопкой мыши по ячейке – «Формат ячейки» – вкладка «Число» +- (все форматы): + +
+ +
Рис. 91. Просмотр примеров форматов числа в Excel
+ +Наиболее часто используемые форматы числа предлагаются в студии при +наведении на поле для ввода формата. + +
+ +
Рис. 92. Просмотр примеров форматов числа в студии
+ +**ПРИМЕР.** + +Отформатируем число, содержащееся в ячейке A1 в денежный долларовый +формат. Для этого заполним действие так, как указано на рисунке 92. + +Исходные данные представлены на рисунке 93: + +
+ +
Рис. 93. Пример исходных данных
+ +Результат работы представлен на рисунке ниже: + +
+ +
Рис. 94. Результат выполнения действия «Формат числа»
+ +#### Действие «Выравнивание» + +Действие применяет заданное выравнивание в указанных ячейках. В поле +«Общее положение» предлагается выбрать одно из двух – по вертикали или +по горизонтали применять выравнивание, выбранное в поле «Выравнивание +содержимого», которое, в свою очередь, предлагает выбрать выравнивание +содержимого по левому/правому краю, либо по верхнему/нижнему краю, либо +по центру. + +
+ +
Рис. 95. Пример настройки действия «Выравнивание»
+ +**ПРИМЕР.** + +В заполненном на рисунке 95 действии настраивается выравнивание +ячейки А1 по центру относительно вертикали. + +Исходное положение текста в ячейке представлено на рисунке 96: + +
+ +
Рис. 96. Пример исходных данных
+ +Результат работы представлен на рисунке 97: + +
+ +
Рис. 97. Результат выполнения действия «Выравнивание»
+ +#### Действие «Перенос текста» + +Действие добавляет в указанный диапазон надстройку ячеек «Перенос +текста», функция которой – отображение текста ячейки в несколько строк, +если он не помещается в одну. + +
+ +
Рис. 98. Пример настройки действия «Перенос текста»
+ +#### Действие «Шрифт» + +Действие меняет шрифт, стиль или размер выбранных ячеек на указанном +листе. Модуль предоставляет выбор всех стандартных шрифтов, доступных в +пакете Microsoft Office. + +
+ +
Рис. 99. Пример настройки действия «Изменение шрифта»
+ +**ПРИМЕР.** + +Изменим шрифт текста, находящегося в ячейке B1 так, как указано в +действии на рисунке 99 – сам шрифт изменим на Batang, зададим стиль +текста – полужирный курсив, а размер текста 16. + +Исходное форматирование текста представлен на рисунке 100: + +
+ +
Рис. 100. Пример исходных данных
+ +Результат работы представлен на рисунке 101: + +
+ +
Рис. 101. Результат выполнения действия «Шрифт»
+ +#### Действие «Границы» + +Действие добавляет или изменяет границы выбранных ячеек на указанном +листе. Предполагает настройку расположения границ – внешние, внутренние, +только правая и др., цвет границ и их стиль – толстая, тонкая, штриховая +линия и др. + +
+ +
Рис. 102. Пример настройки действия «Границы»
+ +**ПРИМЕР.** + +Добавим штрихпунктирную внешнюю границу для блока текста, находящегося в +диапазоне A2:A6. Для этого необходимо заполнить действие так, как +указано на рисунке 102. + +Исходный вид блока текста представлен на рисунке 103: + +
+ +
Рис. 103. Пример исходных данных
+ +Результат работы представлен на рисунке 104: + +
+ +
Рис. 104. Результат выполнения действия «Границы»
+ +## Модуль «Закрыть Excel-файл» + +Excel-модуль работает с файлами следующим образом – как только он +начинает работу с некоторым файлом, то он открывает его (в фоновом, +незаметном для пользователя, режиме), и держит открытым до конца работы +робота. Это было сделано для ускорения работы модуля Excel – если +модулей, использующих один и тот же файл, к примеру, несколько, пришлось +бы несколько раз открывать и сохранять файл столько раз, сколько он +используется что отразилось бы на быстродействии программы. В связи с +этим, файл открывается при первом его использовании в модуле Excel и +сохраняется только один раз – в самом конце. Но! Так как файл является +открытым, с самим файлом нельзя ничего делать – переносить, +архивировать, удалять за ненадобностью (например, провели расчеты в +новом файле, взяли данные и затем его удалили), так как он занят. Для +таких задач существует модуль «Закрыть Excel-файл» - он закрывает и +сохраняет заданные ему файлы. Если эти файлы впоследствии снова будут +использоваться – они опять откроются и, в следующий раз, будут закрыты +либо этим же модулем, либо в конце работы робота. + +Интерфейс модуля состоит из одного поля и списка путей к файлам, которые +необходимо закрыть. + +
+ +
Рис. 105. Окно «Закрыть Excel-файл»
+ +**Поле «Путь к файлу»** заполняется путем до файла, который необходимо +закрыть. Он может содержаться в переменной, или можно выбрать его +вручную, нажав на кнопку с изображением папки, находящуюся в поле для +ввода. + +По кнопке «Добавить» указанный в поле «Путь к файлу» путь будет занесен +в «Список файлов». + +По кнопке «Удалить» можно удалить выбранный путь из «Списка файлов». \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index b81cea1..4c3fdd9 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -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