From c6f9c1953def763fe09d4c51d42bb38087267778 Mon Sep 17 00:00:00 2001 From: karamovavv Date: Fri, 9 Jul 2021 15:54:31 +0500 Subject: [PATCH] =?UTF-8?q?=D0=B2=D0=B5=D1=80=D0=BD=D1=83=D0=BB=D0=B0=20?= =?UTF-8?q?=D0=BC=D0=BE=D0=B4=D1=83=D0=BB=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/iterface.md | 314 +++++++++++++++++++++++++++++ docs/orkestrator.md | 205 +++++++++++++++++++ docs/other.md | 467 ++++++++++++++++++++++++++++++++++++++++++++ docs/telegram.md | 196 +++++++++++++++++++ docs/word.md | 167 ++++++++++++++++ 5 files changed, 1349 insertions(+) create mode 100644 docs/iterface.md create mode 100644 docs/orkestrator.md create mode 100644 docs/other.md create mode 100644 docs/telegram.md create mode 100644 docs/word.md 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