This commit is contained in:
Nadezhda95 2020-12-08 14:21:23 +05:00
parent 1d25395c80
commit 0e7bda247f
140 changed files with 316 additions and 112 deletions

View File

@ -5,29 +5,19 @@
## Интерфейс модуля
<p> Окно модуля очень простое и состоит всего лишь из поля для ввода и кнопок «Сохранить» и «Отмена».
<H1 align="center">![Screenshot](img/calculation_1.png)</h1>
<p> Поле «Выражение». В поле построчно вводятся операции, которые необходимо провести с переменными. Это может быть сложение, вычитание, умножение или вычисление функции.
<p> Поддерживаемые операции
<p> • + (сложение);
<p> • - (вычитание);
<p> • * (умножение);
<p> • / (деление);
<p> • % (остаток от деления);
<p> • \ (целое от деления);
<p> • ^ (возведение в степень).
<p> Все строки должны быть вида «Переменная = Операция;», операция в свою очередь может состоять как из одиночного числа или строки, так и из нескольких операндов, связанных вышеуказанными операторами, либо быть функцией.
<p> Каждая строка должна быть отделена от следующей символом «;».
<p> Поле «Выражение». В поле вводится код на языке программирования JavaScript. Возможно использование локальных переменных модуля (с объявлением их через let, var или const, но они не будут видны в других модулях скрипта робота), либо переменных студии, которые должны начинаться с символов «v.».
<p> Модуль полностью подчиняется правилам языка JS, то есть поддерживаются все стандартные функции JS, разделение строк производится посредством ввода символа «;» или переходом строки (клавиша Enter).
## Пример работы с модулем
<p> Предположим, необходимо получить последний день предыдущего месяца. Сделаем это с помощью ввода следующего кода:
<H1 align="center">![Screenshot](img/calculation_2.png)</h1>
<H1 align="center">![Screenshot](img/calculation_3.png)</h1>
<p> Что делает написанный выше код? А вот что получаем сегодняшний день, например, сегодня 25 марта, вычитаем из полученной даты на один день больше, чем на самом деле есть, то есть 26 дней и оказываемся в последнем дне предыдущего месяца 29 февраля (если год високосный). Более подробно:
<p> 1 строка использование функции GetDate, которая возвращает сегодняшнюю дату, и сохранение её результата в переменную @now (@now = 25.03.2020);
<p> 2 строка использование функции GetDay, которая принимает один параметр дату, и возвращает из поданной в неё даты только день. Подадим в функцию в качестве параметра сегодняшнюю дату, которая лежит в переменной @now. После этого запишем результат работы функции в переменную @day (@day = 25);
<p> 3 строка увеличиваем переменную @day на единицу (@day = 26);
<p> 4 строка использование функции DateAdd. Функция принимает три параметра: 1) day, month или year компонент даты, с которым работаем, 2) количество, которое прибавляется к выбранному компоненту даты, 3) дата, с которой проводятся манипуляции. Вычтем из сегодняшней даты 26 дней используем DateAdd с параметрами:
<p> 1. day вычитаем дни;
<p> 2. @day так как функция по умолчанию складывает, добавим знак минус;
<p> 3. @now сегодняшняя дата.
<p> В итоге получается, что мы вычитаем из 25.03.2020 26 дней и оказываемся в 29.02.2020.
<p> Что делает написанный выше код? А вот что получаем сегодняшний день, например, сегодня 25 марта, из этой даты мы берем информацию о текущем годе и месяце, затем создаем новый экземпляр даты, устанавливая в качестве года и месяца текущие, а в качестве дня нулевой, в следствие чего язык JS создаст дату с последним днем предыдущего месяца. Более подробно:
<p> 1 строка создание нового экземпляра даты без передачи параметров, в следствиии чего создастся сегодняшняя дата (date = 25.03.2020);
<p> 2 строка использование метода getFullYear, который возвращает полный год даты, к которой он применен (year = 2020);
<p> 3 строка использование метода getMonth, который возвращает месяц даты, к которой он применен (month = 2, так как месяца в JS считаются с 0);
<p> 4 строка создание нового экземпляра даты, в качестве параметров подаются текущий год, текущий месяц и 0 в качестве дня (v.lastDay = 29.02.2020);
<p> 5 строка получение числа последнего дня предыдущего месяца (v.lastDay = 29).
<p> В качестве знакомства с языком программирования JavaScript рекомендуем к изучению интернет-ресурс «Современный учебник JavaScript», доступный по <a href="https://learn.javascript.ru/"> ссылке</a>.

View File

@ -8,11 +8,12 @@
<H1 align="center">![Screenshot](img/FROCR_1.png)</h1>
<p> Поле «Путь к PDF файлу». В поле указывается путь до распознаваемого файла/картинки.
<p> Поле «Переменная». В поле вводится имя переменной, начиная с символа «@», в которую будет занесен результат распознавания.
<p> PDF файл может состоять из нескольких страниц, поэтому переменная будет являться списком страниц. Например, @text[0] первая распознанная страница файла.
<p> PDF файл может состоять из нескольких страниц, поэтому переменная будет являться списком страниц. Например, v.text[0] первая распознанная страница файла.
<p> Весь распознанный текст делится на две части основной текст и табличная часть.
## Основной текст
<p> Для обращения к тексту, необходимо обращаться к полю rows_word[0] (в данной записи [0] означает, что идет обращение к первой текстовой части, в других версиях ABBYY возможно использование большего разбиения текста). Затем указывается, как отдельное поле, номер строки и, через точку, номер слова в строке - @text[0].rows_word[0].2.4. Затем, после выбора нужного слова, можно получить его значение, обратившись к полю value - @text[0].rows_word[0].2.4.value такая строка выдаст значение слова, находящегося на первой странице распознанного документа, во второй строке и является четвертой слева.
<p> Для обращения к тексту, необходимо обращаться к полю rows_word[0] (в данной записи [0] означает, что идет обращение к первой текстовой части, в других версиях ABBYY возможно использование большего разбиения текста). Затем указывается, как отдельное поле, номер строки и, через точку, номер слова в строке v.text[0].rows_word[0].2.4. Затем, после выбора нужного слова, можно получить его значение, обратившись к полю value v.text[0].rows_word[0].2.4.value такая строка выдаст значение слова, находящегося на первой странице распознанного документа, во второй строке и является четвертой слева.
## Табличная часть
<p> Для обращения к таблице, необходимо обращаться к полю tables[0] ([0] нужен для корректной работы, его смысловая часть заложена в продукте ABBYY). Затем отдельным полем вводится номер таблицы, так как на странице их может быть несколько - @text[0].tables[0].0. После этого вводится номер ячейки в таблице в виде одного числа. Если вы хотите найти ячейку и знаете её номер колонки и строки, то можно получить индекс рассматриваемой ячейки переменной в виде «строка,колонка», обратившись к полю index - @text[0].tables[0].0.5.index (5 пятая ячейка в массиве распознанных ячеек). Для получения значения из ячейки нужно обратиться к её значению, а затем либо собрать всю строку, записанную в ячейку, либо обратиться к конкретному слову по его порядковому номеру - @text[0].tables[0].0.5.value.1.value значение второго слова из пятой ячейки первой таблицы с первой страницы распознанного текста.
<p> Для получения количества ячеек в таблице используйте следующую конструкцию - @text[0].tables[0].0[%], то есть указывайте набор символов «[%]» после того поля, после которого идет поле, количество элементов которого необходимо узнать.
<p> Для получения количества слов в ячейке используйте @text[0].tables[0].0.5[%].
<p> Для обращения к таблице, необходимо обращаться к полю 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 значение второго слова из пятой ячейки первой таблицы с первой страницы распознанного текста.
<p> Для получения количества ячеек в таблице используйте следующую конструкцию v.text[0].tables[0].0.length, то есть используйся метод «length» после того поля, после которого идет поле, количество элементов которого необходимо узнать.
<p> Для получения количества слов в ячейке используйте v.text[0].tables[0].0.5.length.

12
docs/FTP.md Normal file
View File

@ -0,0 +1,12 @@
# <H1 align="center">Модуль «FTP запрос».</h1>
<p> Модуль позволяет отправлять запросы по FTP протоколу.</p>
## Интерфейс модуля
<p> Модуль состоит из нескольких полей для подключения к серверу, ввода названия переменной и выпадающего списка с выбором действия.
<H1 align="center">![Screenshot](img/ftp_1.png)</h1>
<p> Поле «Ссылка» предназначено для ввода ссылки для подключения к FTP серверу.
<p> Поле «Логин» заполняется логином подключающегося к серверу пользователя.
<p> Поле «Пароль» заполняется паролем пользователя для доступа к серверу.
<p> Поле «Переменная» предназначено для ввода названия переменной, в которую будет помещен результат выполнения модуля.
<p> Пол «Действие» предоставляет перечень доступных действий с FTP сервером.

View File

@ -6,6 +6,7 @@
<p> Окно модуля объединяет три группы элементов.
<p> Первая группа элементов это набор полей и кнопок для создания команды. Вторая непосредственно список команд. И третья это область предварительного просмотра текстовых файлов.
<H1 align="center">![Screenshot](img/FM_1.png)</h1>
<p> Набор доступных полей для заполнения меняется в зависимости от выбранного действия, подробное описание всех полей будет дано позже.
## Функциональность модуля
### Создание команды
<p> Команда создается следующим образом выбирается необходимое действие, заполняются остальные поля нажимается кнопка «Добавить», по которой команда добавляется в «Список команд».
@ -25,6 +26,7 @@
### Действие «Считать файл»
<p> Действие считывает весь текст из выбранного файла и записывает его в указанную переменную.
<H1 align="center">![Screenshot](img/FM_5.png)</h1>
<p> Поле «Начальная кодировка» отвечает за выбор кодировки, которая будет использоваться при чтении из файла.
### Действие «Получить список файлов в папке»
<p> Действие создает переменную-список, в которой лежат пути до каждого файла в папке.
<H1 align="center">![Screenshot](img/FM_6.png)</h1>
@ -37,21 +39,9 @@
### Действие «Переместить файл»
<p> Действие перемещает выбранный файл в указанную папку.
<H1 align="center">![Screenshot](img/FM_7.png)</h1>
### Действие «Переместить папку»
<p> Действие перемещает папку, указанную во втором поле, в директорию, указанную в третьем поле.
<H1 align="center">![Screenshot](img/FM_8.png)</h1>
### Действие «Заархивировать папку»
<p> Действие создает ZIP-архив с указанным именем, добавляя в него содержимое выбранной папки.
<H1 align="center">![Screenshot](img/FM_9.png)</h1>
### Действие «Распаковать архив»
<p> Действие распаковывает ZIP-архив в указанную папку.
<H1 align="center">![Screenshot](img/FM_10.png)</h1>
### Действие «Создать папку»
<p> Действие создает папку с указанным названием в выбранной директории.
<H1 align="center">![Screenshot](img/FM_11.png)</h1>
### Действие «Удалить папку»
<p> Действие удаляет выбранную папку.
<H1 align="center">![Screenshot](img/FM_12.png)</h1>
### Действие «Переименовать файл»
<p> Действие меняет имя выбранного файла на указанное в поле «Имя файла».
<H1 align="center">![Screenshot](img/FM_7_1.png)</h1>
### Действие «Создать файл txt»
<p> Действие создает новый файл с расширением .txt.
<H1 align="center">![Screenshot](img/FM_13.png)</h1>
@ -66,7 +56,32 @@
<p> Действие проверяет существование указанного файла и записывает результат в переменную.
<p> «True» - если существует, и иначе «False».
<H1 align="center">![Screenshot](img/FM_16.png)</h1>
### Действие «Переместить папку»
<p> Действие перемещает папку, указанную во втором поле, в директорию, указанную в третьем поле.
<H1 align="center">![Screenshot](img/FM_8.png)</h1>
### Действие «Создать папку»
<p> Действие создает папку с указанным названием в выбранной директории.
<H1 align="center">![Screenshot](img/FM_11.png)</h1>
### Действие «Удалить папку»
<p> Действие удаляет выбранную папку.
<H1 align="center">![Screenshot](img/FM_12.png)</h1>
### Действие «Проверить существование папки»
<p> Действие проверяет существование указанной папки и записывает результат в переменную.
<p> «True» - если существует, и иначе «False».
<H1 align="center">![Screenshot](img/FM_17.png)</h1>
### Действие «Получить список папок в папке»
<p> Действие создает переменную-список, в которой лежат пути до каждого файла в папке.
<H1 align="center">![Screenshot](img/FM_17_1.png)</h1>
### Действие «Заархивировать папку»
<p> Действие создает ZIP-архив с указанным именем, добавляя в него содержимое выбранной папки.
<H1 align="center">![Screenshot](img/FM_9.png)</h1>
### Действие «Распаковать архив»
<p> Действие распаковывает ZIP-архив в указанную папку.
<H1 align="center">![Screenshot](img/FM_10.png)</h1>

12
docs/HTTP.md Normal file
View File

@ -0,0 +1,12 @@
# <H1 align="center">Модуль «HTTP запрос»</h1>
<p> Http-запросы запросы для передачи информации между сайтами (или серверами) и клиентами (например, нами).</p>
<p> Модуль «HTTP запрос» предназначен для отправки запросов по протоколу http.
## Интерфейс модуля
<p> Данный модуль состоит из полей: «Ссылка», «Переменная», «Тип запроса» и вкладок Headers и Body с одинаковыми полями Name и Value. Внизу модуля расположена таблица с добавленными значениями аргументов.
<H1 align="center">![Screenshot](img/http_1.png)</h1>
<p> Поле «Ссылка». В поле вводится необходимый URL-адрес.
<p> Поле «Переменная». В поле вводится название переменной, в которую будет помещен ответ.
<p> Поле «Тип запроса». Позволяет выбрать необходимый тип запроса. Доступны методы «GET» и «POST».
<p> Поля «Name» и «Value» вкладок «Headers» и «Body» предназначены для составления http-запроса.

View File

@ -1,12 +0,0 @@
# <H1 align="center">Модуль «HTTP_GET»</h1>
<p> Http-запросы запросы для передачи информации между сайтами (или серверами) и клиентами (например, нами).</p>
<p> Модуль «HTTP_GET» предназначен для отправки Get-запросов по протоколу http.</p>
<p> Для работы с полученными ответами можно использовать модуль «Парсинг JSON» (если, конечно, запрашиваемый формат данных был таковым).</p>
## Интерфейс модуля
<p> Данный модуль состоит из полей: «Ссылка», «Логин», «Пароль» и «Переменная».
<H1 align="center">![Screenshot](img/hg_1.png)</h1>
<p> Поле «Ссылка». В поле вводится необходимый URL-адрес.
<p> Поле «Переменная». В поле вводится название переменной, в которую будет помещен ответ.
<p> Поля «Логин» и Пароль». Предназначены для ввода логина и пароля, так как некоторые сайты используют защиту своей информации и запрашивают авторизацию.

13
docs/HTTPOData.md Normal file
View File

@ -0,0 +1,13 @@
# <H1 align="center">Модуль «HTTP OData»</h1>
<p> Http-запросы запросы для передачи информации между сайтами (или серверами) и клиентами (например, нами). </p>
<p> Модуль «HTTP OData» предназначен для отправки запросов по протоколу http к интеграционному сервису 1С OData.</p>
## Интерфейс модуля
<p> Данный модуль состоит из полей: «Ссылка», «Логин», «Пароль», «Переменная» и «Тип запроса».
<H1 align="center">![Screenshot](img/hod_1.png)</h1>
<p> Поле «Ссылка». В поле вводится необходимый URL-адрес.
<p> Поле «Переменная». В поле вводится название переменной, в которую будет помещен ответ.
<p> Поля «Логин» и Пароль». Предназначены для ввода логина и пароля при авторизации.
<p> Поле «Тип запроса». Позволяет выбрать необходимый тип запроса. Доступны методы «GET», «PUT», «POST» и «PUTCH».
<p> Поле «Запрос». В поле вводится HTTP-сообщение, согласно общим правилам его структуры. Доступно к заполнению только при выборе типов запроса «PUT», «POST» и «PUTCH».

View File

@ -1,11 +0,0 @@
# <H1 align="center">Модуль «HTTP_POST»</h1>
<p> Модуль «HTTP_POST» предназначен для отправки Post-запросов по протоколу http.</p>
## Интерфейс модуля
<p> Форма для отправки Post-запроса аналогична форме для отправки Get-запроса, с одним лишь отличием - присутствует поле для ввода самого запроса.
<H1 align="center">![Screenshot](img/hp_1.png)</h1>
<p> Поле «Ссылка». В поле вводится необходимый URL-адрес.
<p> Поле «Переменная». В поле вводится название переменной, в которую будет помещен ответ.
<p> Поля «Логин» и Пароль». Предназначены для ввода логина и пароля, так как некоторые сайты используют защиту своей информации и запрашивают авторизацию.
<p> Поле «Запрос». В поле вводится HTTP-сообщение, согласно общим правилам его структуры.

View File

@ -19,7 +19,7 @@
#### Создать
<p> Нажатие на кнопку «Создать» вызывает окно создания нового проекта.
<H1 align="center">![Screenshot](img/HS_9.png)</h1>
<p> В открывшемся окне необходимо ввести имя нового проекта, дополнительно можно указать его описание. Нажатие на кнопку «Создать» в указанном окне завершит процесс создания проекта. Новый проект будет открыт в главном окне студии.
<p> В открывшемся окне необходимо ввести имя нового проекта, дополнительно можно указать его описание. Нажатие на кнопку «Создать» в указанном окне завершит процесс создания проекта. Новый проект будет открыт в главном окне студии. Ключ проекта уникальный идентификатор проекта, который необходим для загрузки проекта в оркестратор. По этому ключу происходит обновление проекта, который уже загружен в оркестратор, при его повторной загрузке. Если необходимо загрузить в оркестратор проект, основанный на проекте с ключом, который уже загружен в оркестратор, необходимо изменить его ключ.
<H1 align="center">![Screenshot](img/HS_10.png)</h1>
#### Сохранить
<p> Кнопка «Сохранить» вызывает стандартный диалог сохранения файла.
@ -84,40 +84,49 @@
<p> • Описание — общее описание функции.
<H1 align="center">![Screenshot](img/HS_27.png)</h1>
#### Обзор локальных переменных
<p> Lexema-RPA Studio позволяет хранить конфиденциальную информацию, например, пароли, логины или почтовые адреса, в переменных, которые будут зашифрованы и сохранены на вашем компьютере. Обзор ваших локальных переменных доступен по кнопке «Локальное хранилище» ![Screenshot](img/HS_28.png) в панели управления переменными и функциями. Окно аналогично окну обзора общих переменных студии.
<p> Lexema-RPA Studio позволяет хранить конфиденциальную информацию, например, пароли, логины или почтовые адреса, в переменных, которые будут зашифрованы и сохранены на вашем компьютере. Обзор ваших локальных переменных доступен по кнопке «Локальное хранилище» ![Screenshot](img/HS_28.png) в панели управления переменными и функциями. Окно состоит из трех столбцов:
<p> • Имя название переменной;
<p> • Значение;
<p> • Описание ваш комментарий относительно переменной.
<H1 align="center">![Screenshot](img/HS_27_1.png)</h1>
<p> При двойном нажатии по переменной откроется окно её редактирования, аналогичное окну создания локальной переменной.
<H1 align="center">![Screenshot](img/HS_27_2.png)</h1>
### Отладочный вывод
<p> В раздел «Отладочный вывод» главного окна студии выводятся все сообщения, возникающие в ходе выполнения настроенных действий проекта после нажатия на кнопку «Проиграть». Сообщения выводятся для всех действий по порядку их выполнения в проекте.
<H1 align="center">![Screenshot](img/HS_29.png)</h1>
<p> В отладочном выводе выводится информация о времени начала робота, общее время работы. Для каждого модуля выводится информация о начале времени его выполнения и затраченное время.
<p> В случае возникновения исключения в работе модуля, робот приостановит выполнение, и в отладочном выводе, в последней строке, будет содержаться информация об ошибке. Текст первой и последней строки отладочного вывода будет написан красным цветом.
<H1 align="center">![Screenshot](img/HS_30.png)</h1>
## Основы работы
### Переменные
<p> Переменные предназначены для хранения данных, которые должны быть доступны для всех действий проекта. Большинство модулей поддерживает чтение и запись данных в переменные.
<p> К наименованию переменных предъявляется следующее требование: название переменной должно всегда начинаться с символа @.
<p> К наименованию переменных предъявляется следующее требование: название переменной должно всегда начинаться с символов v..
<p> Обращаться к переменным можно в полях окон настройки модулей приложения. При обращении необходимо указывать полное название переменной согласно описанному выше требованию.
<p> В проекте можно создавать переменные трёх типов:
<p> В проекте можно создавать переменные четырех типов:
<p> • Элемент переменная, имеющая одно значение. Это может быть строка или число;
<p> • Список переменная, состоящая из нескольких элементов;
<p> • Таблица переменная в виде таблицы, в ячейках которой содержатся элементы.
<p> • Объект переменная, имеющая именованные поля - ключи и их значения-элементы.
<p> Для создания переменной нажмите на кнопку «Создать переменную» в обозревателе решений, предварительно выбрав нужный проект (сделав его активным). Для создания локально хранимой и зашифрованной переменной необходимо нажать кнопку «Создать локальную переменную». После выполнения действия откроется окно создания переменной, это окно аналогично окну редактирования свойств переменной. Локальные переменные могут создаваться только с типом «Элемент», поэтому окно их настройки немного отличается от настройки обычных переменных.
<p> В окне создания переменной укажите название переменной согласно требованиям приложения (в начале наименования обязательно должен быть символ @) и выберите тип переменной из списка. При изменении типа переменной изменяются доступные настройки.
<H1 align="center">![Screenshot](img/HS_30_2.png)</h1>
<H1 align="center">![Screenshot](img/HS_30_3.png)</h1>
<H1 align="center">![Screenshot](img/HS_30_1.png)</h1>
<H1 align="center">![Screenshot](img/HS_30_4.png)</h1>
<p> В окне создания переменной укажите название переменной согласно требованиям приложения (в начале наименования обязательно должны быть символы v.) и выберите тип переменной из списка. При изменении типа переменной изменяются доступные настройки.
<p> Для переменных с типом «Элемент» доступны следующие настройки:
<p> • поле для ввода значения;
<p> • признак «Константа» (для констант обязательно указывать значение);
<p> • шифрование переменной.
<H1 align="center">![Screenshot](img/HS_31.png)</h1>
<H1 align="center">![Screenshot](img/HS_32.png)</h1>
<H1 align="center">![Screenshot](img/HS_33.png)</h1>
<H1 align="center">![Screenshot](img/HS_34.png)</h1>
<p> Переменные с типом «Список» хранят набор (массив) переменных. Обращение к каждому элементу списка осуществляется по его индексу, индекс начинается с 0. Индекс указывается в квадратных скобках, следующих сразу за названием переменной. Например, для обращения ко второму элементу - @array[1].
<H1 align="center">![Screenshot](img/HS_35.png)</h1>
<p> Для создания переменных-списков становится доступной таблица, в которой можно заполнить требуемые значения. Значения вводятся в ячейки. Добавление следующего элемента осуществляется по нажатию клавиши «Enter».
<p> Переменные с типом «Таблица» представляют собой таблицу (двумерный массив), т.е. это список, элементами которого являются списки. Другими словами, это набор однотипных данных, имеющий общее имя, доступ, к элементам которого осуществляется по двум индексам. Наглядно двумерный массив удобно представлять в виде таблицы, в которой n строк и m столбцов, а под ячейкой таблицы, стоящей в i-й строке и j-м столбце понимают некоторый элемент массива a[i-1,j-1] (так как индекс начинается с нуля). Это означает, что для обращения к элементу в 3 строке и 5 столбце, отвечающему за ячейку таблицы, необходимо указывать два индекса: @table[2, 4].
<H1 align="center">![Screenshot](img/HS_36.png)</h1>
<p> Для заполнения значений переменных с типом «Таблица» становится доступной таблица, набор столбцов которой можно расширять с помощью кнопки «Добавить столбец». Добавление строк производится по нажатию клавиши «Enter». Вводить значения можно для каждой ячейки. Незаполненные столбцы не будут использоваться при создании переменной.
<p> При нажатии в обозревателе решений на кнопку «Узнать значение переменной» открывается окно, с помощью которого можно проверить значение переменной активного проекта. Для проверки значения необходимо ввести полное наименование переменной (включая символ @).
<H1 align="center">![Screenshot](img/HS_37.png)</h1>
<H1 align="center">![Screenshot](img/HS_38.png)</h1>
<H1 align="center">![Screenshot](img/HS_31_1.png)</h1>
<p> Переменные с типом «Список» хранят набор (массив) переменных. Обращение к каждому элементу списка осуществляется по его индексу, индекс начинается с 0. Индекс указывается в квадратных скобках, следующих сразу за названием переменной. Например, для обращения ко второму элементу v.array[1].
<p> Заполнение переменных-списков производится посредством ввода значения в поле «Значение», затем нажатием кнопки «Добавить», после чего введенный элемент добавится в список элементов в нижней части окна.
<H1 align="center">![Screenshot](img/HS_32_1.png)</h1>
<p> Переменные с типом «Таблица» представляют собой таблицу (двумерный массив), т.е. это список, элементами которого являются списки. Другими словами, это набор простых элементов, доступ к которым осуществляется по двум индексам. Наглядно двумерный массив удобно представлять в виде таблицы, в которой n строк и m столбцов, а под ячейкой таблицы, стоящей в i-й строке и j-м столбце, понимают некоторый элемент массива a[i-1,j-1] (так как индекс начинается с нуля). Это означает, что для обращения к элементу в 3 строке и 5 столбце, отвечающему за ячейку таблицы, необходимо указывать два индекса: v.table[2, 4].
<H1 align="center">![Screenshot](img/HS_33_1.png)</h1>
<p> Для заполнения значений переменных с типом «Таблица» становится доступной таблица, набор столбцов которой можно расширять с помощью кнопки «Добавить столбец». Добавление новых строк производится по нажатию клавиши «Enter». Вводить значения можно для каждой ячейки. Незаполненные столбцы не будут использоваться при создании переменной.
<p> И последний возможный тип переменных в программе переменные-объекты. Для создания переменной необходимо заполнять поля «Ключ» и «Значение» указанного ключа. В примере показана переменная v.person, которая состоит из двух полей name и age, значения которых John и 18 соответственно. Для обращения к полям такой переменной в программе необходимо указать название переменной с символов «v.» и через точку поле, к которому хотите обратиться: v.person.name (результатом будет строка John).
<H1 align="center">![Screenshot](img/HS_34_1.png)</h1>
<p> При нажатии в обозревателе решений на кнопку «Узнать значение переменной» открывается окно, с помощью которого можно проверить значение переменной активного проекта. Для проверки значения необходимо ввести полное наименование переменной (включая символы v.).
<H1 align="center">![Screenshot](img/HS_35_1.png)</h1>
<H1 align="center">![Screenshot](img/HS_36_1.png)</h1>
### Функции
<p> Предустановленный набор вспомогательных функций позволяет выполнять различные вычисления в действиях проекта.
<p> Для вызова встроенной функции необходимо перед её названием ввести знак #, например, #OperationPlus(1, 1). Аргументы функции, над которыми должна производится операция, перечисляются в круглых скобках через запятую (если функция работает с несколькими аргументами). Между наименованием вызываемой функции и скобками с её аргументами не должно быть пробела.
@ -141,12 +150,11 @@
<p> Пункт «Снять/поставить точку остановки» создаёт или отключает точку остановки выполнения проекта. Точки остановки упрощают процесс наладки последовательности действий.
<p> Пункт «Копировать» копирует в буфер обмена выбранное действие для последующей вставки.
<p> Пункт «Вставить» вставляет скопированное действие после выделенного действия. Данный пункт доступен также при вызове контекстного меню в рабочей области главного окна студии.
<p> Пункт «Удалить» удаляет данный модуль из списка модулей (аналогичен нажатию крестика в правой части модуля).
<H1 align="center">![Screenshot](img/HS_41.png)</h1>
Пункт «Удалить» удаляет данный модуль из списка модулей (аналогичен нажатию крестика в правой части модуля).
#### Точка остановки
<p> Точка остановки это инструмент, который помогает отлаживаться при написании робота. Такой инструмент позволяет остановить работу робота после выполнения выбранного модуля, при этом появляется окно с указанием всех переменных, доступных на данный момент выполнения, для ознакомления с их содержанием.
<p> Точка остановки это инструмент, который помогает отлаживаться при написании робота. Такой инструмент позволяет остановить работу робота перед выполнением выбранного модуля, при этом в панели отладочного вывода отображаются текущие переменные и их значения, модуль, который должен будет выполняться после продолжения подсвечивается красной рамкой, а в панели инструментов появляются две новые кнопки, позволяющие управлять пошаговой отладкой.
<H1 align="center">![Screenshot](img/HS_42.png)</h1>
<p> Редактировать переменные в данном окне нельзя. Для определения значения сложных переменных (переменные типов «Таблица» и «Список» или объекты) можно воспользоваться кнопкой «Узнать значение».
<p> После ознакомления с переменными можно продолжить работу робота, а можно завершить, в любом из случаев это окно будет закрыто.
<p> Пошаговая отладка позволяет выполнять каждый модуль робота друг за другом, при этом можно следить за значениями всех переменных. Для выполнения подсвечиваемого модуля и остановки робота после его выполнения, то есть, для перехода к следующему модулю (шагу), необходимо нажать кнопку «Следующий шаг отладки» ![Screenshot](img/HS_43.png). Для прекращения выполнения работы робота необходимо нажать кнопку «Остановить» ![Screenshot](img/HS_44.png). Если требуется остановить робота в другом месте, через несколько модулей, то во время отладки можно поставить новую точку остановки на модуле, перед выполнением которого необходимо остановить работу робота, и нажать «Продолжить выполнение» ![Screenshot](img/HS_45.png). Изменения, внесенные в модули во время отладки, в текущем выполнении применены не будут.
#### Настройка добавленных действий
<p> Окно настройки свойств действия, добавленного в структуру проекта, открывается с помощью двойного щелчка левой кнопкой мыши по указанному действию. Набор свойств, доступных в этом окне, зависит от выбранного действия. Подробнее о доступных свойствах каждого действия будет описано далее в руководстве.

11
docs/History.md Normal file
View File

@ -0,0 +1,11 @@
# <H1 align="center">Просмотр истории выполнений</h1>
<p> При нажатии правой кнопкой мыши по задаче в списке задач появляется контекстное меню, позволяющее перейти к статистике выполнений или логам задачи.</p>
##
<H1 align="center">![Screenshot](img/histoty_1.png)</h1>
<p> Статистика выполнения открывается так же при двойном клике по задаче.
<H1 align="center">![Screenshot](img/histoty_2.png)</h1>
<p> В данном окне отображаются состояния задачи время запуска, время окончания и статус работы Success (успешно) или Failed (провалено). Если строка пустая, значит робот по каким-то причинам был приостановлен, например был остановлен клиент или убит процесс в «Диспетчере задач».
<p> В окне логов отображается более детальная информация начало и окончание работы модуля робота.
<H1 align="center">![Screenshot](img/histoty_3.png)</h1>

View File

@ -55,6 +55,12 @@
<H1 align="center">![Screenshot](img/interface_15.png)</h1>
<p> • Выбор файла поле с иконкой в виде трех точек, по нажатию на которую пользователю будет предложено выбрать файл. Путь до выбранного файла запишется в это поле;
<H1 align="center">![Screenshot](img/interface_16.png)</h1>
<p> Для фильтрации отображаемых пользователю файлов можно воспользоваться полем «Фильтр по файлам», в которое вводится строка вида: «Название типа файлов (доступные расширения)|доступные расширения». Можно задать несколько настроек фильтрации, разделителем для этого является символ «|». Пример:
<H1 align="center">![Screenshot](img/interface_16_1.png)</h1>
<p> В данном случае отображается две настройки фильтрации:
<p> 1. All files (*.*), в которой отображаются файлы с любым расширением;
<p> 2. Microsoft Excel Worksheet (*.xl*; *.csv), в которой отображаются файлы с расширениями .csv и начинающимися на .xl (то есть .xlsx, xls и другие).
<H1 align="center">![Screenshot](img/interface_16_2.png)</h1>
<p> • Выбор папки поле с иконкой в виде трех точек, по нажатию на которую пользователю будет предложено выбрать папку. Путь до выбранной папки запишется в это поле. Выглядит так же, как и «Выбор файла».
## Поле «Источник данных»
<p> В это поле вводится название переменной или строка, на основе которой контрол будет заполнен. Немного поподробнее о поле при выборе различных элементов интерфейса:

View File

@ -1,4 +1,4 @@
# <H1 align="center">Модуль «Парсинг JSON»</h1>
# <H1 align="center">Модуль «JSON»</h1>
<p> Данный модуль предназначен для обработки данных в формате JSON парсинга JSON-объектов.</p>
@ -8,8 +8,8 @@
<p> Поле «Переменная». В поле «Переменная» вводится название переменной, которая будет преобразована в объектную переменную с полями, имеющимися в JSON-объекте.
<p> Поле «JSON». В поле необходимо описать объект в формате JSON, в виде пар «ключ»: «значение», обрамлённых в фигурные скобки. JSON-объект может быть описан непосредственно текстом в поле «JSON» либо быть созданным в процессе выполнения других модулей. В случае формирования JSON-объекта в других модулях, в поле необходимо ввести название переменной, в которой лежит необходимый объект.
## ПРИМЕР
<p> Пусть у нас есть текст в формате JSON. Введем его в поле JSON модуля, а результат пусть запишется в переменную @a.
<p> Пусть у нас есть текст в формате JSON. Введем его в поле JSON модуля, а результат пусть запишется в переменную v.a.
<H1 align="center">![Screenshot](img/js_2.png)</h1>
<p> В результате переменная @a станет объектом с полями «name» и «age». К полям объекта можно обратиться, написав название поля через точку после переменной. Проверить значение переменной можно с помощью функционала «Узнать значение переменной», доступного по кнопке в обозревателе решений.
<p> В результате переменная v.a станет объектом с полями «name» и «age». К полям объекта можно обратиться, написав название поля через точку после переменной. Проверить значение переменной можно с помощью функционала «Узнать значение переменной», доступного по кнопке ![Screenshot](img/js_4.png) в обозревателе решений.
<H1 align="center">![Screenshot](img/js_3.png)</h1>
<p> Видно, что на основе текста формата JSON создалась переменная с указанными в нем полями и заполненными значениями.

6
docs/KS.md Normal file
View File

@ -0,0 +1,6 @@
# <H1 align="center">Модуль «Создать скриншот»</h1>
<p> Данный модуль позволяет делать скриншот экрана во время работы робота, что удобно для проведения отладки кликерных роботов (роботов, преимущественно работающих на модуле Кликер).</p>
##
<H1 align="center">![Screenshot](img/ks_1.png)</h1>

10
docs/Konfi.md Normal file
View File

@ -0,0 +1,10 @@
# <H1 align="center">Конфигурирование LEXEMA-RPA STUDIO</h1>
## Файл конфигурации
<p> Lexema-RPA Studio содержит некоторые настройки, которые подходят большинству пользователей, но в некоторых случаях они должны быть изменены. Такие настройки вынесены в файл конфигурации, который находится в папке с программой и называется «Lexema-RPA Studio.exe.condig». Открыть данный файл можно любым текстовым редактором, например Блокнотом.</p>
<H1 align="center">![Screenshot](img/konfi_1.png)</h1>
<p> Настройки, которые можно изменять, находятся в блоке appSettings. Приведенные ниже можно изменять пользователям, остальные не рекомендуется. Доступные для изменения настройки:
<p> 1. AbbyyFreDllPath - путь до папки с драйвером ABBYY (для пользователей, приобрётших лицензию ABBYY);
<p> 2. useFileLog - использовать логирование в текстовый файл, по умолчанию значение true, запись ведется во временную директорию системы, в папку Lexema-RPA;
<p> 3. useEmail использовать логирование с отправкой письма с ошибкой на почту. Настройки почты вводятся в поля emailHost, emailPort, emailUseSSL, emailName и emailPass. В поле emailAdmin вводится адрес, на который должно прийти письмо;
<p> 4. ChromePath путь до браузера Chrome для модуля «Работа с браузером».

16
docs/MoveLetter.md Normal file
View File

@ -0,0 +1,16 @@
# <H1 align="center">Действия над письмами</h1>
<p> С помощью данного модуля можно переносить уже считанные письма в другие папки в почте, удалять письма с сервера и догружать информацию. С помощью данного модуля можно переносить уже считанные письма в другие папки в почте. Для использования модуля предварительно необходимо получить письма с помощью модуля «Считать письма».</p>
## Интерфейс модуля
<p> Интерфейс модуля состоит из двух вкладок «Настройки» и «Параметры перемещения» и «Действие».
### Вкладка «Настройки»
<p> Вкладка настроек не отличается от аналогичной вкладки в модуле «Считать письма», но доступен только один протокол IMAP. При выборе в поле «Настройки» необходимой почтовой службы, поля «Хост», «Порт» и «SSL» заполнятся автоматически, при пользовательских настройках их необходимо заполнять вручную.
<H1 align="center">![Screenshot](img/ml_1.png)</h1>
### Вкладка «Действие»
<p> На данной вкладке производится настройка действия, совершаемого над сообщением.
<H1 align="center">![Screenshot](img/ml_3.png)</h1>
<p> Поле «Действие» позволяет выбрать одно из трёх доступных действий «Переместить письмо», «Удалить письмо» и «Загрузить всю информацию из письма».
<p> В поле «Id письма» вносится id письма, над которым производится действие, который может быть получен с помощью модуля «Считать письма». Может быть передано несколько идентификаторов через запятую, либо переменная-список, содержащая их.
<p> Поле «Папка» доступно только для действия «Переместить письмо». В него указывается название папки на почте, в которую должно быть перемещено письмо.
<p> Поле «Переменная» доступно только для действия «Загрузить всю информацию из письма», в которое вводится название переменной, которая будет являться результирующей для выполнения действия.

View File

@ -14,3 +14,5 @@
<p> Результат, записанный в переменную при распознавании изображения:
<H1 align="center">![Screenshot](img/OCR_3.png)</h1>
<p> Результат содержит информацию о страницах, координате и значении каждого слова изображения.
<p> Пример получения некоторого слова со второго листа документа: v.text[1].words[100].value, где v.text переменная, в которую записан результат работы модуля, [1] номер листа в документе (нумерация по переменным-спискам начинается с 0), [100] 101-ое слово в файле, value само значение слова.

View File

@ -11,7 +11,7 @@
<p> После создания всех задач необходимо просто закрыть окно оркестратора.
<p> Для работы оркестратора необходимо установить программу Lexema-RPA Client, которая, находясь в фоновом режиме работы на компьютере, просматривает созданные вами задачи и запускает роботов в соответствии с их расписанием. Для её скачивания необходимо посетить <a href="http://lexema.ru/solutions/lexema-rpa-programmnye-roboty/lexema-rpa-studio/">сайт </a> и выбрать там «Скачать Lexema-RPA Client». Инструкция по использованию находится там же.
## Создание новой задачи
<p> Для создания расписания запуска одного робота нужно создать задачу. Для настройки задачи необходимо заполнить 5 полей это наименование задачи, выбор робота из опубликованных, время первого запуска робота, количество повторов и интервал запуска.
<p> Для создания расписания запуска одного робота нужно создать задачу. Для настройки задачи необходимо заполнить 6 полей это наименование задачи, выбор робота из опубликованных, время первого запуска робота, количество повторов и интервал запуска, машина для запуска, на которой запущен RPA Client.
<H1 align="center">![Screenshot](img/Orkes_3.png)</h1>
<p> Наименование задачи. Название задачи для запуска конкретного робота, идентификатор, по которому вам будет удобнее ориентироваться среди всех ваших задач.
<p> Робот. Выбор робота, для которого составляется задача запуска. Поле представлено выпадающим списком, в котором предложены все ваши опубликованные роботы.
@ -25,6 +25,8 @@
<p> Если необходимо, чтобы робот запускался 25 числа каждого месяца, необходимо в первом запуске установить дату ближайшего 25 числа месяца, а настройке интервала ввести значение «1» в строке «Месяц», то есть, осуществлять повторы каждый месяц.
<p> Между каждым повтором будет установлен одинаковый интервал. Если необходимо запускать робота с разными временными интервалами, то необходимо создать несколько задач его запуска, например, если требуется запуск в 10:00 и в 13:00 одного дня на протяжении недели, то необходимо создать две задачи, количество повторений которых равно 6 (каждый день, не считая первого запуска), интервал запуска 24 часа или 1 день, отличаться у этих задач будут только время первого запуска у одной в 10:00 дня, когда нужно начать, у другой в 13:00.
<p> После заполнения нужных строк в окне интервала и нажатию на кнопку «Сохранить», в поле «Интервал» отобразится строка вида «год:месяц:день:час:минуты:секунды», например, при установке интервала в 12 часов, строка будет иметь вид «0:0:0:12:0:0». Поле «Интервал» является обязательным, если количество повторов отличное от 0.
<p> После заполнения нужных строк в окне интервала и нажатию на кнопку «Сохранить», в поле «Интервал» отобразится строка вида «год:месяц:день:час:минуты:секунды», например, при установке интервала в 12 часов, строка будет иметь вид «0:0:0:12:0:0». Поле «Интервал» является обязательным, если количество повторов отличное от 0.
<p> RPA-Client. Если существует несколько разных машин (компьютеров), на которых авторизован один и тот же пользователь и запущены программы Lexema RPA-Client, то данное поле позволяет выбрать, на какой из этих машин необходимо запускать выбранного робота. Если неважно, на какой конкретно машине должен запускаться робот, то поле можно оставить пустым, тогда робот будет запускаться на одной из свободных машин.
<p> Пример заполненной задачи:
<H1 align="center">![Screenshot](img/Orkes_7.png)</h1>
<p> По нажатию кнопки «Добавить», расположенной под полями для настройки задач, задача будет добавлена в список задач.

21
docs/PDF.md Normal file
View File

@ -0,0 +1,21 @@
# <H1 align="center">Модуль «PDF»</h1>
<p> Данный модуль позволяет работать с PDF файлами. В его возможности входит получение текста из документа, изображений, и объединение нескольких PDF файлов.</p>
## Интерфейс модуля
<p> Модуль состоит из 4-х полей, доступность которых определяется выбранным действием, кнопок управления создаваемым действием и таблицей-списком созданных действий.
<H1 align="center">![Screenshot](img/pdf_1.png)</h1>
<p> Поле «Действие». Представляет собой выпадающий список из доступных в модуле действий.
<p> Поле «Документ 1». Поле, в которое вводится путь до рабочего файла. По кнопке в поле открывается диалог выбора файла.
<p> Поле «Документ 2». Поле, в которое вводится путь до второго рабочего файла, используется для действий, требующих несколько файлов (например, объединение 2-х PDF). По кнопке в поле открывается диалог выбора файла.
<p> Поле «Переменная». Поле, для ввода названия переменной, в которую будет возвращен результат работы модуля.
## Перечень и описание действий
### Получить text
<p> Действие позволяет получить текст из файла PDF, если тот является непосредственно текстом, а не изображением. Полученный текст будет записан в указанную переменную.
<H1 align="center">![Screenshot](img/pdf_2.png)</h1>
### Получить image
<p> Действие получает все изображения из PDF файла и сохраняет их в формате .jpg в указанную в поле «Папка» директорию. В указанную переменную будет записан список путей до выделенных изображений.
<H1 align="center">![Screenshot](img/pdf_3.png)</h1>
### Объединить документы
<p> Действие объединяет два указанных PDF файла и сохраняет их в файле, который необходимо указать в поле «Значение».
<H1 align="center">![Screenshot](img/pdf_4.png)</h1>

View File

@ -3,7 +3,7 @@
<p> Модуль «Считать письма» предназначен для получения списка писем с почты для дальнейшей их обработки или просто для скачивания вложений.</p>
## Интерфейс модуля
<p> Модуль состоит из двух вкладок: «Настройки» и «Настройки чтения».
<p> Модуль состоит из трех вкладок: «Настройки», «Настройки чтения» и «Параметры загрузки».
<p> Вкладка «Настройки» аналогична одноименной вкладке в модуле «Отправить письмо», с одним лишь отличием - в данном модуле предоставляется выбор протокола отправки: IMAP или POP3. При выборе соответствующего протокола и его настроек, поля «Хост», «Порт» и «Использовать SSL» заполняются автоматически (кроме режима «Пользовательские настройки»).
<H1 align="center">![Screenshot](img/RE_1.png)</h1>
### Вкладка «Настройки чтения»
@ -13,16 +13,21 @@
<p> 1) Subject тема письма;
<p> 2) Body тело письма, его основной текст;
<p> 3) Sender отправитель;
<p> 4) Attachments список путей до скачанных вложений.
<p> 4) Receivers получатели, перечисленные через запятую;
<p> 5) Attachments список путей до скачанных вложений;
<p> 6) Date дата получения письма;
<p> 7) Id уникальный идентификатор письма.
<p> Примеры работы с переменными
<p>@mail[1].Attachments[0] получение пути первого вложения второго считанного письма:
<p> • v.mail[2].Attachments[0] получение пути первого вложения третьего считанного письма:
<H1 align="center">![Screenshot](img/RE_4.png)</h1>
<p> • @mail[0].Subject получение темы первого скачанного сообщения:
<p> • v.mail[3].Subject получение темы четвертого скачанного сообщения:
<H1 align="center">![Screenshot](img/RE_5.png)</h1>
<p> Поле «Скачивать вложения в папку» предназначено для ввода пути до папки, в которую загрузятся все вложения считанных писем. Если оставить поле пустым, то файлы будут загружаться во временную директорию компьютера.
<p> Флажок «Только непрочитанные» позволяет настроить считывание только новых писем. Доступно только для протокола IMAP.
<p> Флажок «Отмечать как прочитанные» позволяет после считывания устанавливать пометку о прочтении письма. Доступно только для протокола IMAP.
<p> Поле «Читать из папки» предназначено для настройки конкретной папки в почтовом ящике, из которой следует считывать письма. По умолчанию, письма считываются из папки «Входящие». Доступно только для протокола IMAP.
<p> Поле «Фильтр по отправителям» позволяет искать сообщения, отправленные от одного из указанных отправителей. Перечислить всех можно через запятую, либо подав в это поле переменную-список, содержащую отправителей.
<p> Поле «Фильтр по получателям» позволяет искать сообщения, в которых присутствуют указанные получатели. Перечислить всех можно через запятую, либо подав в это поле переменную-список, содержащую получателей.
<p> Поле «Фильтр по теме сообщений» предназначено для настройки фильтра по теме сообщений. Если необходимо скачать письма с темой, содержащей или не содержащей определенную строку, то следует выбрать одноименную операцию в выпадающем списке и вписать нужную строку в появившемся поле:
<H1 align="center">![Screenshot](img/RE_6.png)</h1>
<p> Поле «Фильтр по дате» предназначено для настройки фильтрации считывания писем по дате. При указании значения в данном поле, робот будет считывать только те сообщения, которые удовлетворяют заданному условию.
@ -32,3 +37,31 @@
<p> • все письма, до какой-либо даты, включая её «До даты»;
<p> • «Между датами».
<p> После выбора метода фильтрации под полем «Фильтр по дате» появится одно или два поля для внесения в них нужных значений в формате ДД.ММ.ГГГГ.
### Вкладка «Параметры загрузки»
<p> С помощью данной вкладки можно ограничить информацию, скачиваемую с почтового сервера, для уменьшения затрачиваемых ресурсов. По умолчанию скачивается вся доступная информация.
<p> Доступно следующее разграничение для скачивания:
<p> • Загрузка информации об отправителе, получателях, теме и дате сообщения (шапка письма);
<p> • Загрузка только текста сообщения;
<p> • Загрузка вложений (по умолчанию так же скачивается текст сообщения);
<p> • Загрузка только даты сообщения.
<H1 align="center">![Screenshot](img/RE_6_1.png)</h1>
<p> С помощью данной функции можно загрузить только, например, «шапки» писем, отобрать из них необходимые, и догрузить по ним всю информацию с помощью модуля «Действия над письмами», который будет описан в следующей главе.
### Включение IMAP и POP3 протоколов
<p> 1. Яндекс
<p> 1.1. IMAP
<p> Для использования протокола IMAP в почтовой службе Яндекс необходимо перейти в настройки почты (1), затем «Почтовые программы» (2) и разрешить доступ к почтовому ящику с помощью почтовых клиентов с сервера imap.yandex.ru (3), способы авторизации по портальному паролю (4).
<H1 align="center">![Screenshot](img/RE_7.png)</h1>
<p> Если настройки «Портальный пароль» нет, значит в вашем аккаунте предусмотрено использование паролей приложений, которые для работы Lexema-RPA Studio необходимо выключить. Для этого перейдите в управление аккаунтом - «Пароли и авторизация» - «Пароли приложений» - «Выключить пароли приложений».
<H1 align="center">![Screenshot](img/RE_8.png)</h1>
<H1 align="center">![Screenshot](img/RE_9.png)</h1>
<p> Затем вернитесь на страницу с включением настроек почтовых программ и установите галочку напротив «Портального пароля».
<p> 1.2. POP3
<p> Для включения протокола POP3 необходимо войти в те же настройки, что и при включении протокола IMAP: «Настройки» (1) «Почтовые программы» (2) - разрешить доступ к почтовому ящику с помощью почтовых клиентов с свервера pop.yandex.ru (3).
<H1 align="center">![Screenshot](img/RE_10.png)</h1>
<p> 2. GMail
<p> 2.1. IMAP
<p> Для включения IMAP протокола в почтовой службе GMail необходимо перейти в настройки почты (1), затем выбрать пункт «Пересылка и POP/IMAP» (2) - «Доступ по IMAP» и затем в «Состоянии» включить IMAP (3):
<H1 align="center">![Screenshot](img/RE_11.png)</h1>
<p> 2.2. POP3
<p> Аналогично проводится включение протокола POP3: настройки (1) «Пересылка и POP/IMAP» (2) - «Доступ по протоколу POP» - «Включить POP для всех писем» (3):
<H1 align="center">![Screenshot](img/RE_12.png)</h1>

View File

@ -7,5 +7,6 @@
<p> Окно состоит из следующих полей: «СУБД», «Источник данных», «База данных», «Логин», «Пароль», «SQL-скрипт» и «Переменная».
<H1 align="center">![Screenshot](img/sql_1.png)</h1>
<p> Поля «СУБД», «Источник данных», «База данных», «Логин» и «Пароль» обеспечивают подключение к БД.
<p> Поле «SQL-скрипт». В данное поле вводится скрипт на языке SQL, поддерживается ввод переменных студии.
<p> Поле «Время ожидания». В данное поле вводится значение времени в секундах, которое должно хватить запросу на выполнение. Без этого поля робот может работать бесконечно долго из-за исключительных ситуаций, поэтому заполнение этого поля является обязательным. Для небольших запросов значение может быть равно 20 секунд, для больших минута и более.
<p> Поле «SQL-скрипт». В данное поле вводится скрипт на языке SQL, поддерживается ввод переменных студии. При использовании переменных студии необходимо подать в это поле строку в следующем виде: весь скрипт должен быть взят в кавычки, за исключением переменных студии (как показано на рис. 11.34.1).
<p> Поле «Переменная». В поле вводится название переменной, в которую будет записан ответ от базы данных в виде таблицы. В одном SQL-модуле может возвращаться только одна таблица, последующие будут проигнорированы.

View File

@ -11,3 +11,5 @@
<p> Флажок «От имени администратора» запускает процесс с правами, позволяющими запускаемому процессу вносить изменения в системные файлы компьютера. Если вы не доверяете приложению, то не стоит ставить этот флажок.
<p> Поле «Пауза» устанавливает время ожидания после начала запуска процесса.
<p> Поле «Переменная с именем/id процесса». В данное поле вводятся переменные, в которые будут помещены имя и идентификатор (id) запускаемого процесса соответственно. Данные параметры нужны, чтобы в дальнейшем можно было завершить (закрыть) указанные процессы. Если у вас задача только запустить процессы, то можете оставить эти поля пустыми.
<p> Флажок «Скрыто» запускает процесс со свойством hide (скрытый), то есть запускает фоновый процесс.
<p> Флажок «Ожидать завершения» позволяет данному модулю дождаться окончания работы процесса и только затем продолжить работу робота.

View File

@ -9,4 +9,5 @@
<p> Добавление действий в модуль происходит с помощью перетаскивания из меню модулей или из рабочей области проекта.
<H1 align="center">![Screenshot](img/while_2.png)</h1>
<p> При нажатии на кнопку «Свернуть» действия, описанные в цикле, сворачиваются для более компактного отображения команды.
<H1 align="center">![Screenshot](img/while_3.png)</h1>
<H1 align="center">![Screenshot](img/while_3.png)</h1>
<H1 align="center">![Screenshot](img/while_4.png)</h1>

View File

@ -28,8 +28,8 @@
<p> С помощью действия можно записать имеющийся текст, например, считанный из другого текстового файла, в текущий загруженный файл. Для настройки обязательно заполнение поля «Значение», куда вводится либо переменная (с символа «@»), содержащая текст, либо сам текст. Обратите внимание, что текст, введенный данным действием, полностью затрет существующий текст в файле.
<H1 align="center">![Screenshot](img/word_7.png)</h1>
### Добавить текст
Данное действие позволяет добавлять текст к существующему с применением необходимого форматирования. Для редактирования открываются все поля модуля. Далее будет подробно описано каждое поле, отличное от основных трёх.
«После символа №» - данное поле ожидает ввод целого числа, обозначающего, после какого по счету символа необходимо вставить текст (с учетом пробелом и символов переноса строки или разрыва страницы).
<p> Данное действие позволяет добавлять текст к существующему с применением необходимого форматирования. Для редактирования открываются все поля модуля. Далее будет подробно описано каждое поле, отличное от основных трёх.
<p> «После символа №» - данное поле ожидает ввод целого числа, обозначающего, после какого по счету символа необходимо вставить текст (с учетом пробелом и символов переноса строки или разрыва страницы).
<H1 align="center">![Screenshot](img/word_8.png)</h1>
<p> «Размер текста» - аналогичен полю «Размер шрифта» в Microsoft Word устанавливает размер добавляемого текста. Ожидается ввод целого или десятичного числа.
<p> «Шрифт» - выпадающий список, содержащий в себе набор стандартных шрифтов пакета Micrisift Office устанавливает шрифт добавляемого текста.

View File

@ -9,8 +9,9 @@
<p> Для удаления ненужных команд необходимо выбрать команду в таблице и нажать «Удалить».
<p> Робот будет выполнять все указанные команды последовательно, поэтому для изменения порядка команд в таблице можно воспользоваться стрелочками в правом верхнем углу таблицы. Делается это следующим образом выбирается строка, положение которой необходимо изменить, а затем нажимаются стрелочки вверх или вниз, в зависимости от того, где эта строка должна находиться.
<H1 align="center">![Screenshot](img/WB_2.png)</h1>
<p> Для всех действий три первых поля остаются неизменными, это «Драйвер», «Действие» и «Примечание».
<p> Для всех действий некоторые поля остаются неизменными, это все поля для настройки прокси, «Драйвер», «Действие» и «Примечание».
<p> Поле «Драйвер» на данный момент недоступно для редактирования и в нем по умолчанию выбран драйвер для браузера Chrome, но в обозримом будущем этот список планируется дополнять другими браузерами.
<p> Поля «Proxy Server» - «Proxy Password» предназначены для ввода настроек прокси браузера, если это необходимо.
<p> Поле «Действие» — это выпадающий список с перечнем возможных действий этого модуля. Подробнее о них будет рассказываться в следующей главе.
<p> Поле «Примечание» — строка с примечанием к команде.
## Перечень и описание действий
@ -56,6 +57,8 @@
<p> • GetElementsByXPath поиск элементов по языку запросов HTML xpath.
<H1 align="center">![Screenshot](img/WB_12.png)</h1>
<p> «Строка поиска» для нахождения элемента div - //div[@class='main'].
<p> Чтобы получить строку xpath для необходимого вам элемента в консоли разработчика в браузере, нужно нажать по этому элементу правой кнопкой мыши в коде копировать XPath:
<H1 align="center">![Screenshot](img/WB_12_1.png)</h1>
<p> Поле «Действие на странице» предлагает выбор действия из выпадающего списка, которое необходимо произвести над найденными элементами. Доступны следующие действия:
<p> • Записать вводит заданный в поле «Переменная» текст (например, после нажатия на определенный элемент для ввода текста);
<p> • Получить text получает значение свойства «text» всех найденных или только выбранного элемента и возвращает результат в виде списка в переменную;
@ -65,6 +68,9 @@
<p> • Получить Property при выборе действия появляется поле «Название Property» - возвращает значение указанного в поле «Название Property» свойства всех найденных элементов или конкретно заданного. Результатом будет являться список;
<p> • Получить CSS свойство при выборе действия появляется поле «Свойство CSS» - возвращает значение указанного в поле «Свойство CSS» свойства всех найденных элементов или конкретно заданного. Результатом будет являться список;
<p> • Получить Attribute при выборе действия появляется поле «Свойство Attribute» - возвращает значение указанного в поле «Свойство Attribute» свойства всех найденных элементов или конкретно заданного. Результатом будет являться список;
<p> • Получить элементы возвращает список указанных элементов для дальнейшей работы с ними;
<p> • Выполнить JavaScript данное действие позволяет выполнить JavaScript код в браузере для получения некоторой информации. Для записи результата выполнения кода в переменную, необходимо в начале кода добавлять «return», например «return document.querySelectorAll("[height='24']").length» (такой запрос вернет количество элементов на странице, высота которых равна 24);
<p> • Нажать кнопку на клавиатуре позволяет нажать кнопку на клавиатуре внутри браузера.
<p> В поле «Переменная» вводится название переменной, начиная с символа «@», в которую будет помещен результат выполнения команды или, наоборот, из которой будут браться значения для её выполнения.
<p> Поле «Ожидание (сек)». В поле вводится количество секунд, которые необходимо подождать после выполнения команды.
<p> Поле «Номер элемента» предназначено для указания индекса найденного элемента, к которому необходимо применить действие.

11
docs/XML.md Normal file
View File

@ -0,0 +1,11 @@
# <H1 align="center">Модуль «XML»</h1>
<p> Модуль «XML» предназначен для парсинга текста формата XML. Результатом работы модуля будет объект с полями и свойствами, указанными в исходном тексте.</p>
## Интерфейс модуля
<p> Окно модуля состоит из двух полей поля «Переменная» и «XML».
<H1 align="center">![Screenshot](img/xml_1.png)</h1>
<p> Поле «Переменная» заполняется названием переменной, в которую будет возвращен объект результат работы модуля.
<p> Поле «XML» заполняется текстом в формате XML или переменной, содержащей этот текст.
<p> Результат работы модуля при его настройке, указанной на рисунке:
<H1 align="center">![Screenshot](img/xml_2.png)</h1>

View File

@ -35,10 +35,12 @@
<p>2) выбрать фрагмент снимка окна, в котором будет воспроизводиться действие, с помощью кнопки «Выделить изображение». После нажатия на кнопку студия сделает снимок экрана и предложит вам выбрать фрагмент получившегося изображения.
<p>При использовании клика по изображению, обратите внимание на то, что, если на экране таких изображений будет несколько, действие будет применено к первому найденному!
<p>Поле «Процент совпадения» необходимо для случаев, когда искомое изображение может немного отличаться от того, что может быть в реальности (например, наличие выделения вокруг кнопки, если она выбиралась ранее, и отсутствие такого выделения). В подобных случаях уменьшайте процент совпадения до тех пор, пока изображение не будет находиться и в том, и в другом случае. Однако если процент совпадения уменьшить слишком сильно, модуль может найти то, что не планировали искать.
Поля «Количество попыток» и «Пауза между ошибками» предназначены для случаев, когда программа не смогла найти заданное ей изображение. Вы можете указать, сколько раз следует пытаться искать требуемое изображение и сколько секунд ждать между попытками. Например, после запуска браузера нужно нажать на кнопку с иконкой «Плюсик» создание новой вкладки. Если браузер будет загружаться слишком долго, больше 5-ти секунд (это время указано в паузе команды открытия браузера), тогда программа начнёт искать «плюсик», которого еще нет. Затем программа подождет указанное ей количество секунд между попытками и попробует снова. Как только изображение будет найдено, программа подождет то количество секунд, которое указано в поле «Пауза» данной команды, и перейдет к следующей.
<p>Поля «Количество попыток» и «Пауза между ошибками» предназначены для случаев, когда программа не смогла найти заданное ей изображение. Вы можете указать, сколько раз следует пытаться искать требуемое изображение и сколько секунд ждать между попытками. Например, после запуска браузера нужно нажать на кнопку с иконкой «Плюсик» создание новой вкладки. Если браузер будет загружаться слишком долго, больше 5-ти секунд (это время указано в паузе команды открытия браузера), тогда программа начнёт искать «плюсик», которого еще нет. Затем программа подождет указанное ей количество секунд между попытками и попробует снова. Как только изображение будет найдено, программа подождет то количество секунд, которое указано в поле «Пауза» данной команды, и перейдет к следующей.
<p>Последний вариант поиска места для наведения мыши «Селекторы». Этот вариант считается самым надежным, но поддерживается узким кругом программ. Селекторы Windows позволяют находить путь к элементу на экране используя не просто координаты или изображение, а путь относительно родительского компонента экрана с использованием специальной разметки. Они работают с системой компьютера, некоторыми desktop-приложениями. Использование подобно работе с координатами необходимо навестить на искомый элемент и вызвать окно настройки действия по кнопке «TAB». При переключении настроек на «Селекторы», путь до элемента уже будет введен.
<H1 align="center">![Screenshot](img/clicker_5_1.png)</h1>
### Прокрутка мыши
Данное поле появляется при действии «Прокрутка мыши». В него вводится значение в пикселях, на сколько необходимо прокрутить колесико мыши. Если прокрутка вверх, то значение должно быть положительным, если вниз, то отрицательным.
Во всех полях окна создания команды возможно использование переменных.
<p>Данное поле появляется при действии «Прокрутка мыши». В него вводится значение в пикселях, на сколько необходимо прокрутить колесико мыши. Если прокрутка вверх, то значение должно быть положительным, если вниз, то отрицательным.
<p>Во всех полях окна создания команды возможно использование переменных.
## Описание действий, доступных в модуле
### Действие «Кликнуть мышкой»
Основное действие модуля нажатие левой кнопкой мыши по указанным координатам или изображению.
@ -63,7 +65,9 @@
<p>Имитирует нажатие сочетания двух клавиш клавиатуры, например CTRL+A выделение всего текста в поле. Необходимые кнопки выбираются в двух выпадающих списках «Кнопка». Список кнопок тот же, что и в действии «Нажать кнопку».
<H1 align="center">![Screenshot](img/clicker_8.png)</h1>
### Действие «Скопировать»
<p>Имитирует нажатие сочетания клавиш клавиатуры CTRL+C. Копирует выделенное заранее значение в буфер обмена и записывает его, при необходимости, в переменную, указанную в поле «Записать в». Данное поле не обязательно к заполнению. Ввод переменной начинается с символа «@».
<p>Имитирует нажатие сочетания клавиш клавиатуры CTRL+C. Копирует выделенное заранее значение в буфер обмена и записывает его, при необходимости, в переменную, указанную в поле «Записать в». Данное поле не обязательно к заполнению. Ввод переменной начинается с символа «v.».
<H1 align="center">![Screenshot](img/clicker_9.png)</h1>
### Действие «Вставить»
<p>Имитирует нажатие сочетания клавиш клавиатуры CTRL+V. Вставляет в выбранное поле значение из буфера обмена.
<p>Имитирует нажатие сочетания клавиш клавиатуры CTRL+V. Вставляет в выбранное поле значение из буфера обмена.
### Действие «Пока не пропадет изображение»
<p>Ожидает отсутствия заданного изображения на экране в течение времени, дающегося на обнаружение ошибки (значение поля «Кол-во попыток» умноженное на значение поля «Пауза между ошибками»).

View File

@ -72,6 +72,19 @@
#### Действие «Получить количество отфильтрованных строк»
<p> Действие возвращает количество видимых строк при примененном фильтре в указанную переменную.
<H1 align="center">![Screenshot](img/excel_20.png)</h1>
#### Действие «Переместить строку»
<p> Действие помещает указанную в поле «Перемещаемая строка» строку на листе из поля «Лист» вместо указанной в поле «Номер строки для вставки» листа «Лист для вставки».
<H1 align="center">![Screenshot](img/excel_20_1.png)</h1>
<p> В данном примере строка 14 с листа Лист1 будет перемещена на место 16 строки листа Лист2.
#### Действие «Сгруппировать строки»
<p> С помощь данного действия создаются группы строк в Excel. На вход подается название листа, на котором происходит группировка, и перечень номеров строк. Перечислить строки можно просто через запятую, либо, если диапазон не разрывный, через двоеточие, например «1,2,3,7,8,9» или «1:5», что равносильно «1,2,3,4,5».
<H1 align="center">![Screenshot](img/excel_20_2.png)</h1>
#### Действие «Удалить группировку строк»
<p> Действие предназначено для удаления 1-го уровня существующей группировки по строкам. Входные данные аналогичны действию «Сгруппировать строки».
<H1 align="center">![Screenshot](img/excel_20_3.png)</h1>
#### Действие «Уровень группировки строки»
<p> Действие позволяет получить уровень группировки выбранной строки и записать результат в указанную переменную.
<H1 align="center">![Screenshot](img/excel_20_4.png)</h1>
### Группа «Работа с колонками»
#### Действие «Добавить столбец»
<p> Действие добавляет новый столбец в указанное место.
@ -82,6 +95,15 @@
#### Действие «Получить количество столбцов»
<p> Действие возвращает номер самого последнего используемого столбца.
<H1 align="center">![Screenshot](img/excel_23.png)</h1>
#### Действие «Сгруппировать столбцы»
<p> Действие объединяет указанные столбцы в группу. Входными данными являются лист и перечень столбцов через запятую или в виде диапазона через двоеточие («A,B,C,D,E» или «A:E»). В качестве столбца можно указывать как его название, так и его порядковый номер, начиная с единицы.
<H1 align="center">![Screenshot](img/excel_23_1.png)</h1>
#### Действие «Удалить группировку колонок»
<p> Действие позволяет удалить один уровень группировки у указанных столбцов.
<H1 align="center">![Screenshot](img/excel_23_2.png)</h1>
#### Действие «Уровень группировки столбца»
<p> Данное действие позволяет получить уровень группы указанного столбца и записать его в переменную.
<H1 align="center">![Screenshot](img/excel_23_3.png)</h1>
### Группа «Работа с листами и файлами»
#### Действие «Создать новый лист»
<p> Действие создает новый лист с указанным именем.
@ -95,6 +117,9 @@
#### Действие «Получить список листов»
<p> Возвращает переменную-список, содержащую названия всех листов файла.
<H1 align="center">![Screenshot](img/excel_26_1.png)</h1>
#### Действие «Ориентация страницы»
<p> Изменение ориентации страницы Excel. Доступные ориентации книжная и альбомная.
<H1 align="center">![Screenshot](img/excel_26_2.png)</h1>
#### Действие «Создать новый файл»
<p> Действие создает в указанной папке новый файл с названием и указанным расширением (если расширение не указано, создается файл .xlsx). Если поле «Лист» заполнено, то первый лист файла будет назван так, как указано в поле, иначе - по умолчанию (Лист 1, Sheet 1, в зависимости от языка системы).
<H1 align="center">![Screenshot](img/excel_27.png)</h1>
@ -110,11 +135,11 @@
<p> Ищет заданную строку в указанном листе и возвращает адрес первой найденной ячейки.
<H1 align="center">![Screenshot](img/excel_30.png)</h1>
#### Действие «Поиск строки по значениям колонок»
<p> Данное действие ищет и возвращает номер первой найденной строки, в заданных колонках которой записаны указанные значения.
<p>Данное действие ищет и возвращает номера строк, в заданных колонках которых записаны указанные значения. Флажок «Строгое сравнение» ставится в том случае, если текст в ячейках должен полностью совпадать с текстом, введенном в поле «Значения». Флажок «Массив» вернет массив всех найденных строк, результирующая переменная будет являться массивом чисел, если флажок не установлен, то в результирующую переменную будет записан номер первой найденной строки или «Строка не найдена», если таких строк нет.
<H1 align="center">![Screenshot](img/excel_31.png)</h1>
<p> В данном случае будет искаться строка, в колонке A которой 23.03.2020, а в колонке B Уфа.
#### Действие «Найти лист»
<p> Ищет лист, в котором есть ячейка с указанным в поле «Строка» значением и возвращает его название в указанную переменную.
<p> Ищет лист, в котором есть ячейка с указанным в поле «Строка» значением и возвращает его название в указанную переменную. Флажок «Строгое сравнение» ставится в том случае, если текст в ячейке должен полностью совпадать с текстом, введенном в поле «Строка».
<H1 align="center">![Screenshot](img/excel_32.png)</h1>
### Группа «Другие функции»
#### Действие «Сместить ячейку»
@ -165,6 +190,9 @@
<p> Последнее поле меняется в зависимости от типа данных для типа «Список» это будет «Источник данных», для всех остальных «Критерии (ч/з ;)». Поле «Источник данных» заполняется диапазоном значений (внутри одного столбца или одной строки), в которой будет указан в списке (если список статичный, то указывайте абсолютную ссылку). Поле «Критерии (ч/з ;)» заполняется значениями, относительно которых будет применяться правило проверки.
<p> Поле «Сообщение об ошибке» заполняется текстом ошибки, которая будет отображаться, если в ячейку введено значение, не удовлетворяющее заданному для неё правилу. Является необязательным полем. Если оставить его пустым, то будет отображаться ошибка «Введенное значение неверно. Набор значений, которые могут быть введены в ячейку, ограничен».
<H1 align="center">![Screenshot](img/excel_47.png)</h1>
#### Действие «Добавить изображение»
<p> Действие добавляет выбранное изображение в текущий Excel-файл. Если изображение имеет прозрачный фон, то оно также сохранит прозрачность при его добавлении в файл Excel. В поле «Ячейки» указывается левый верхний угол расположения изображения.
<H1 align="center">![Screenshot](img/excel_47_1.png)</h1>
### Группа «Форматирование»
#### Действие «Условное форматирование»
<p> Действие форматирует указанные ячейки на выбранном листе в зависимости от того, удовлетворяют ли они указанному условию. В поле «Лист, диапазон» через запятую вводятся лист и диапазон или одна ячейка из этого листа, к которым будет применяться условное форматирование. В полях «Цвет заливки» и «Цвет текста» указываются цвета, которыми будет залита ячейка и окрашен текст в ней, если она будет удовлетворять условию. Условие составляется из выбора функции и указания значения для сравнения. Доступные функции равно, не равно, больше, меньше, больно или равно, меньше или равно, формула. Если выбрана функция «формула», то в поле «Значение для сравнение» следует вписать формулу в формате Excel, начиная со знака «=».
@ -192,7 +220,7 @@
<H1 align="center">![Screenshot](img/excel_54.png)</h1>
#### Действие «Формат числа»
<p> Действие отображает число по определенным правилам числового формата Excel.
<H1 align="center">![Screenshot](imgexcel_55/.png)</h1>
<H1 align="center">![Screenshot](img/excel_55.png)</h1>
<p> Примеры форматов можно посмотреть в программе Excel, кликнув правой кнопкой левой кнопкой мыши по ячейке «Формат ячейки» вкладка «Число» - (все форматы):
<H1 align="center">![Screenshot](img/excel_56.png)</h1>
<p> Наиболее часто используемые форматы числа предлагаются в студии при наведении на поле для ввода формата.
@ -200,6 +228,9 @@
#### Действие «Выравнивание»
<p> Действие применяет заданное выравнивание в указанных ячейках. В поле «Общее положение» предлагается выбрать одно из двух по вертикали или по горизонтали применять выравнивание, выбранное в поле «Выравнивание содержимого», которое, в свою очередь, предлагает выбрать выравнивание содержимого по левому/правому краю, либо по верхнему/нижнему краю, либо по центру.
<H1 align="center">![Screenshot](img/excel_58.png)</h1>
#### Действие «Перенос текста»
<p> Действие добавляет в указанный диапазон надстройку ячеек «Перенос текста», функция которой отображение текста ячейки в несколько строк, если он не помещается в одну.
<H1 align="center">![Screenshot](img/excel_58_1.png)</h1>
#### Действие «Шрифт»
<p> Действие меняет шрифт, стиль или размер выбранных ячеек на указанном листе. Модуль предоставляет выбор всех стандартных шрифтов, доступных в пакете Microsoft Office.
<H1 align="center">![Screenshot](img/excel_59.png)</h1>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 34 KiB

BIN
docs/img/FM_17_1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 9.5 KiB

BIN
docs/img/FM_7_1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.6 KiB

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 79 KiB

After

Width:  |  Height:  |  Size: 58 KiB

BIN
docs/img/HS_27_1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

BIN
docs/img/HS_27_2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 27 KiB

BIN
docs/img/HS_30_1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

BIN
docs/img/HS_30_2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

BIN
docs/img/HS_30_3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

BIN
docs/img/HS_30_4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

BIN
docs/img/HS_31_1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

BIN
docs/img/HS_32_1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

BIN
docs/img/HS_33_1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

BIN
docs/img/HS_34_1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

BIN
docs/img/HS_35_1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

BIN
docs/img/HS_36_1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 98 KiB

BIN
docs/img/HS_43.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 519 B

BIN
docs/img/HS_44.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 261 B

BIN
docs/img/HS_45.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 312 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.9 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.7 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 21 KiB

BIN
docs/img/RE_10.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

BIN
docs/img/RE_11.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 115 KiB

BIN
docs/img/RE_12.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.4 KiB

After

Width:  |  Height:  |  Size: 11 KiB

BIN
docs/img/RE_6_1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

BIN
docs/img/RE_7.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

BIN
docs/img/RE_8.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

BIN
docs/img/RE_9.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 41 KiB

BIN
docs/img/WB_12_1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 25 KiB

BIN
docs/img/clicker_5_1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.7 KiB

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.5 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.1 KiB

After

Width:  |  Height:  |  Size: 8.9 KiB

BIN
docs/img/excel_20_1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

BIN
docs/img/excel_20_2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

BIN
docs/img/excel_20_3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

BIN
docs/img/excel_20_4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

BIN
docs/img/excel_23_1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

BIN
docs/img/excel_23_2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

BIN
docs/img/excel_23_3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

BIN
docs/img/excel_26_2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

BIN
docs/img/excel_47_1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Some files were not shown because too many files have changed in this diff Show More