diff --git a/docs/iterface.md b/docs/iterface.md
new file mode 100644
index 0000000..1f8fec2
--- /dev/null
+++ b/docs/iterface.md
@@ -0,0 +1,314 @@
+# МОДУЛЬ «ИНТЕРФЕЙС»
+
+## Основные моменты
+
+Данный модуль предназначен для создания диалоговых окон для общения с
+пользователем робота. Это могут быть окна, позволяющие прикрепить файл,
+ввести какие-либо данные – дату, имена, почтовые адреса и другое, с чем
+впоследствии будет работать робот, или наоборот, окна, отображающие
+результат работы.
+
+Создание окна заключается в добавлении на него контролов – элементов
+интерфейса таких, как надписи, текстовые поля, кнопки, выпадающие
+списки.
+
+### Основное окно
+
+Окно модуля состоит из нескольких частей:
+
+- Настройки окна – общие настройки диалогового окна;
+
+- Параметры элемента интерфейса - настройка добавляемого элемента;
+
+- Список элементов – таблица, в которой содержатся все добавленные
+ > элементы;
+
+- Окно с предварительным просмотром диалогового окна на текущий момент
+ > (правая часть окна).
+
+
+
+Рис. 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/orkestrator.md b/docs/orkestrator.md
new file mode 100644
index 0000000..e8eaafc
--- /dev/null
+++ b/docs/orkestrator.md
@@ -0,0 +1,205 @@
+# Оркестратор
+
+## Общая информация
+
+Оркестратор роботов - сервис запуска роботов по составленному расписанию
+и/или некоторым событиям. Доступ к оркестратору осуществляется по
+нажатию кнопки
+в панели управления главного окна студии. После нажатия на кнопку будет
+открыто окно, позволяющее опубликовать нового робота и/или настроить
+расписание запусков уже опубликованных роботов.
+
+
+
+Рис. 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..5c8e4dc
--- /dev/null
+++ b/docs/other.md
@@ -0,0 +1,467 @@
+# ДРУГИЕ МОДУЛИ
+
+## Модуль «Вычисления»
+
+Модуль «Вычисления» является связующим модулем или модулем пред- и
+постобработки данных из других модулей. Данный модуль необходим для
+создания, вычисления и изменения значений переменных. Модуль позволяет
+производить вычисления и обработку информации с помощью языка
+программирования JavaScript.
+
+### Интерфейс модуля
+
+Окно модуля очень простое и состоит всего лишь из поля для ввода и
+кнопок «Сохранить» и «Отмена».
+
+
+
+Рис. 1. Окно модуля
+
+**Поле «Выражение».** В поле вводится код на языке программирования
+JavaScript. Возможно использование локальных переменных модуля (с
+объявлением их через let, var или const, но они не будут видны в других
+модулях скрипта робота), либо переменных студии, которые должны
+начинаться с символов «v.».
+
+Модуль полностью подчиняется правилам языка JavaScript, то есть
+поддерживаются все стандартные функции JS, разделение строк производится
+посредством ввода символа «;» или переходом строки (клавиша Enter).
+
+### Пример работы с модулем
+
+Предположим, необходимо получить последний день предыдущего месяца.
+Сделаем это с помощью ввода следующего кода:
+
+let date = new Date();
+let year = date.getFullYear();
+let month = date.getMonth();
+v.lastDay = new Date(year,month,0);
+v.lastDay = v.lastDay.getDate();
+
+
+Листинг 1. Получение последнего дня предыдущего месяца
+
+
+
+Рис. 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. Окно модуля «Лог»
+
+## Модуль «Локальный робот»
+
+Данный модуль позволяет подгрузить в сценарий уже написанного робота, находящегося на машине,
+с которой будет производится запуск робота.
+
+Подключаемый робот будет использовать те же переменные, которые используются текущим роботом.
+
+Для настройки действия необходимо лишь указать путь до подключаемого робота.
+
+
+
+Рис. 22. Окно модуля «Локальный робот»
+
+## Модуль «Облачный робот»
+
+С помощью данного модуля есть возможность использовать в роботе существующего, опубликованного в оркестраторе, робота.
+
+Подключаемый робот будет использовать те же переменные, которые используются текущим роботом.
+
+Для настройки действия необходимо выбрать одного из предложенных программой роботов, то есть тех, которые опубликованы текущим пользователем студии.
+
+
+
+Рис. 23. Окно модуля «Облачный робот»
+
+По кнопке «Загрузить робота» выбранный робот будет загружен в отдельной вкладке студии.
diff --git a/docs/telegram.md b/docs/telegram.md
new file mode 100644
index 0000000..b4b1728
--- /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/word.md b/docs/word.md
new file mode 100644
index 0000000..dfbdd74
--- /dev/null
+++ b/docs/word.md
@@ -0,0 +1,167 @@
+# Модуль «Word»
+
+## Основные моменты модуля
+
+Модуль 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