mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2024-12-25 02:42:28 +02:00
Начало унификации с OneScript, методы форума Telegram
This commit is contained in:
parent
4e01dfbdad
commit
a34d35f789
@ -22,6 +22,9 @@
|
||||
|
||||
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||
|
||||
//Раскомментировать, если выполняется OneScript
|
||||
//#Использовать ".."
|
||||
|
||||
#Область ПрограммныйИнтерфейс
|
||||
|
||||
#Область РаботаСМетаданнымиКалендарей
|
||||
@ -257,14 +260,15 @@
|
||||
// Соответствие Из КлючИЗначение - Пустой макет события
|
||||
Функция ПолучитьОписаниеСобытия() Экспорт
|
||||
|
||||
ТекущаяДата = OPI_Инструменты.ПолучитьТекущуюДата();
|
||||
Час = 3600;
|
||||
Событие = Новый Соответствие;
|
||||
|
||||
Событие.Вставить("Описание" , ""); // Описание события
|
||||
Событие.Вставить("Заголовок" , "Новое событие"); // Заголовок события
|
||||
Событие.Вставить("МестоПроведения" , ""); // Строка описание места проведения
|
||||
Событие.Вставить("ДатаНачала" , ТекущаяДатаСеанса()); // Дата начала события
|
||||
Событие.Вставить("ДатаОкончания" , Событие["ДатаНачала"] + Час); // Дата окончания события
|
||||
Событие.Вставить("ДатаНачала" , ТекущаяДата); // Дата начала события
|
||||
Событие.Вставить("ДатаОкончания" , ТекущаяДата + Час); // Дата окончания события
|
||||
Событие.Вставить("МассивURLФайловВложений", Новый Соответствие); // Ключ - название, Значение - URL к файлу
|
||||
Событие.Вставить("ОтправлятьУведомления" , Истина); // Признак отправки уведомлений участникам
|
||||
|
||||
|
@ -22,6 +22,9 @@
|
||||
|
||||
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||
|
||||
//Раскомментировать, если выполняется OneScript
|
||||
//#Использовать ".."
|
||||
|
||||
#Область ПрограммныйИнтерфейс
|
||||
|
||||
// Сформировать ссылку получения кода.
|
||||
|
@ -22,6 +22,9 @@
|
||||
|
||||
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||
|
||||
//Раскомментировать, если выполняется OneScript
|
||||
//#Использовать ".."
|
||||
|
||||
#Область ПрограммныйИнтерфейс
|
||||
|
||||
#Область РаботаСоСтраницами
|
||||
|
@ -24,6 +24,9 @@
|
||||
|
||||
// BSLLS:Typo-off
|
||||
|
||||
//Раскомментировать, если выполняется OneScript
|
||||
//#Использовать ".."
|
||||
|
||||
#Область ПрограммныйИнтерфейс
|
||||
|
||||
#Область ДанныеИНастройка
|
||||
@ -94,102 +97,6 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Обработать данные, полученные на Webhook.
|
||||
//
|
||||
// Параметры:
|
||||
// Запрос - HTTPСервисЗапрос - Запрос на http-сервис от Telegram
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура - Обработанный запрос на http-сервис от Telegram:
|
||||
// * Вид - Строка - Вид запроса от телеграм
|
||||
// * Никнейм - Строка - Никнейм пользователя
|
||||
// * IDПользователя - Строка - ID пользователя
|
||||
// * IDСообщения - Строка - ID сообщения
|
||||
// * IDЧата - Строка - ID чата
|
||||
// * Сообщение - Строка - Текст сообщения
|
||||
// * Дата - Дата - Дата запроса
|
||||
// * БотОтключен - Булево - Истина, если запрос - запрос остановки бота
|
||||
Функция ОбработатьДанные(Знач Запрос) Экспорт
|
||||
// BSLLS:DuplicateStringLiteral-off
|
||||
|
||||
Message = "message";
|
||||
From = "from";
|
||||
Chat = "chat";
|
||||
Id_ = "id";
|
||||
Username = "username";
|
||||
MessageId = "message_id";
|
||||
|
||||
ЧтениеJSON = Новый ЧтениеJSON;
|
||||
ЧтениеJSON.УстановитьСтроку(Запрос.ПолучитьТелоКакСтроку());
|
||||
|
||||
СтруктураПараметровВходная = ПрочитатьJSON(ЧтениеJSON);
|
||||
СтруктураПараметровВыходная = Новый Структура;
|
||||
|
||||
Если СтруктураПараметровВходная.Свойство(Message) Тогда
|
||||
|
||||
СтруктураСообщения = СтруктураПараметровВходная[Message];
|
||||
СтруктураПользователя = СтруктураСообщения[From];
|
||||
СтруктураЧата = СтруктураСообщения[Chat];
|
||||
|
||||
СтруктураПараметровВыходная.Вставить("Вид", "Сообщение");
|
||||
СтруктураПараметровВыходная.Вставить("Никнейм", СтруктураПользователя[Username]);
|
||||
СтруктураПараметровВыходная.Вставить("IDПользователя", СтруктураПользователя[Id_]);
|
||||
СтруктураПараметровВыходная.Вставить("IDСообщения", СтруктураСообщения[MessageId]);
|
||||
СтруктураПараметровВыходная.Вставить("IDЧата", СтруктураЧата[Id_]);
|
||||
СтруктураПараметровВыходная.Вставить("Сообщение", СтруктураСообщения["text"]);
|
||||
СтруктураПараметровВыходная.Вставить("Дата", Дата(1970, 1, 1, 1, 0, 0) + СтруктураСообщения["date"]);
|
||||
|
||||
СтруктураПараметровВыходная.Вставить("БотОтключен", Ложь);
|
||||
|
||||
ИначеЕсли СтруктураПараметровВходная.Свойство("my_chat_member") Тогда
|
||||
|
||||
СтруктураСообщения = СтруктураПараметровВходная["my_chat_member"];
|
||||
СтруктураПользователя = СтруктураСообщения[From];
|
||||
СтруктураЧата = СтруктураСообщения[Chat];
|
||||
|
||||
СтруктураПараметровВыходная.Вставить("Вид", "Запуск/Остановка");
|
||||
СтруктураПараметровВыходная.Вставить("Никнейм", СтруктураПользователя[Username]);
|
||||
СтруктураПараметровВыходная.Вставить("IDПользователя", СтруктураПользователя[Id_]);
|
||||
СтруктураПараметровВыходная.Вставить("IDСообщения", "");
|
||||
СтруктураПараметровВыходная.Вставить("IDЧата", СтруктураЧата[Id_]);
|
||||
СтруктураПараметровВыходная.Вставить("Сообщение", СтруктураСообщения["new_chat_member"]["status"]);
|
||||
СтруктураПараметровВыходная.Вставить("Дата", Дата(1970, 1, 1, 1, 0, 0) + СтруктураСообщения["date"]);
|
||||
|
||||
СтруктураПараметровВыходная.Вставить("БотОтключен", ?(СтруктураСообщения["new_chat_member"]["status"]
|
||||
= "kicked", Истина, Ложь));
|
||||
|
||||
ИначеЕсли СтруктураПараметровВходная.Свойство("callback_query") Тогда
|
||||
|
||||
СтруктураСообщения = СтруктураПараметровВходная["callback_query"];
|
||||
СтруктураПользователя = СтруктураСообщения[From];
|
||||
|
||||
СтруктураПараметровВыходная.Вставить("Вид", "Кнопка под сообщением");
|
||||
СтруктураПараметровВыходная.Вставить("Никнейм", СтруктураПользователя[Username]);
|
||||
СтруктураПараметровВыходная.Вставить("IDПользователя", СтруктураПользователя[Id_]);
|
||||
СтруктураПараметровВыходная.Вставить("IDСообщения", СтруктураСообщения[Message][MessageId]);
|
||||
СтруктураПараметровВыходная.Вставить("IDЧата", СтруктураСообщения[Message][Chat][Id_]);
|
||||
СтруктураПараметровВыходная.Вставить("Сообщение", СтруктураСообщения["data"]);
|
||||
СтруктураПараметровВыходная.Вставить("БотОтключен", Ложь);
|
||||
СтруктураПараметровВыходная.Вставить("Дата", Дата(1970, 1, 1, 1, 0, 0) + СтруктураСообщения[Message]["date"]);
|
||||
|
||||
Иначе
|
||||
|
||||
СтруктураПараметровВыходная.Вставить("Вид", "");
|
||||
СтруктураПараметровВыходная.Вставить("Никнейм", "");
|
||||
СтруктураПараметровВыходная.Вставить("IDПользователя", "");
|
||||
СтруктураПараметровВыходная.Вставить("IDСообщения", "");
|
||||
СтруктураПараметровВыходная.Вставить("IDЧата", "");
|
||||
СтруктураПараметровВыходная.Вставить("Сообщение", "");
|
||||
СтруктураПараметровВыходная.Вставить("Дата", ТекущаяДатаСеанса());
|
||||
СтруктураПараметровВыходная.Вставить("БотОтключен", Ложь);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Возврат СтруктураПараметровВыходная;
|
||||
|
||||
// BSLLS:DuplicateStringLiteral-on
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ОтправкаДанных
|
||||
@ -559,7 +466,8 @@
|
||||
Параметры_.Вставить("name" , Заголовок);
|
||||
|
||||
Если ЗначениеЗаполнено(ДатаИстечения) Тогда
|
||||
Параметры_.Вставить("expire_date", Формат(ДатаИстечения - Дата(1970, 1, 1, 1, 0, 0), "ЧГ=0"));
|
||||
ДатаИстечения = OPI_Инструменты.UNIXTime(ДатаИстечения);
|
||||
Параметры_.Вставить("expire_date", ДатаИстечения);
|
||||
КонецЕсли;
|
||||
|
||||
Параметры_.Вставить("member_limit", ЛимитПользователей);
|
||||
@ -782,8 +690,8 @@
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Неопределено, HTTPОтвет - Ответ сервера Telegram
|
||||
Функция ЗакрытьТемуФорума(Знач Токен, Знач IDЧата, Знач IDТемы) Экспорт
|
||||
Возврат УправлениеСостояниемТемыФорума(Токен, IDЧата, IDТемы, 2);
|
||||
Функция ЗакрытьТемуФорума(Знач Токен, Знач IDЧата, Знач IDТемы = "") Экспорт
|
||||
Возврат УправлениеСостояниемТемыФорума(Токен, IDЧата, 2, IDТемы);
|
||||
КонецФункции
|
||||
|
||||
// Открыть тему форума.
|
||||
@ -795,8 +703,8 @@
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Неопределено, HTTPОтвет - Ответ сервера Telegram
|
||||
Функция ОткрытьТемуФорума(Знач Токен, Знач IDЧата, Знач IDТемы) Экспорт
|
||||
Возврат УправлениеСостояниемТемыФорума(Токен, IDЧата, IDТемы, 1);
|
||||
Функция ОткрытьТемуФорума(Знач Токен, Знач IDЧата, Знач IDТемы = "") Экспорт
|
||||
Возврат УправлениеСостояниемТемыФорума(Токен, IDЧата, 1, IDТемы);
|
||||
КонецФункции
|
||||
|
||||
// Удалить тему форума.
|
||||
@ -809,7 +717,84 @@
|
||||
// Возвращаемое значение:
|
||||
// Неопределено, HTTPОтвет - Ответ сервера Telegram
|
||||
Функция УдалитьТемуФорума(Знач Токен, Знач IDЧата, Знач IDТемы) Экспорт
|
||||
Возврат УправлениеСостояниемТемыФорума(Токен, IDЧата, IDТемы, 3);
|
||||
Возврат УправлениеСостояниемТемыФорума(Токен, IDЧата, 3, IDТемы);
|
||||
КонецФункции
|
||||
|
||||
// Скрыть главную тему форума.
|
||||
//
|
||||
// Параметры:
|
||||
// Токен - Строка - Токен
|
||||
// IDЧата - Строка,Число - ID чата темы
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// HTTPОтвет - Ответ сервера Telegram
|
||||
Функция СкрытьГлавнуюТемуФорума(Знач Токен, Знач IDЧата) Экспорт
|
||||
Возврат УправлениеВидимостьюГлавнойТемыФорума(Токен, IDЧата, Истина);
|
||||
КонецФункции
|
||||
|
||||
// Показать главную тему форума.
|
||||
//
|
||||
// Параметры:
|
||||
// Токен - Строка - Токен
|
||||
// IDЧата - Строка,Число - ID чата темы
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// HTTPОтвет - Ответ сервера Telegram
|
||||
Функция ПоказатьГлавнуюТемуФорума(Знач Токен, Знач IDЧата) Экспорт
|
||||
Возврат УправлениеВидимостьюГлавнойТемыФорума(Токен, IDЧата, Ложь);
|
||||
КонецФункции
|
||||
|
||||
// Изменить имя главной темы форума.
|
||||
//
|
||||
// Параметры:
|
||||
// Токен - Строка - Токен
|
||||
// IDЧата - Строка,Число - ID Чата темы
|
||||
// Заголовок - Строка - Новый заголовок
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// HTTPОтвет - Ответ сервера Telegram
|
||||
Функция ИзменитьИмяГлавнойТемыФорума(Знач Токен, Знач IDЧата, Знач Заголовок) Экспорт
|
||||
|
||||
IDЧата = OPI_Инструменты.ЧислоВСтроку(IDЧата);
|
||||
Параметры_ = Новый Структура;
|
||||
Параметры_.Вставить("chat_id", IDЧата);
|
||||
Параметры_.Вставить("name" , Заголовок);
|
||||
|
||||
URL = "api.telegram.org/bot" + Токен + "/editGeneralForumTopic";
|
||||
Ответ = OPI_Инструменты.Get(URL, Параметры_);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Очистить список закрепленных сообщений темы.
|
||||
//
|
||||
// Параметры:
|
||||
// Токен - Строка - Токен
|
||||
// IDЧата - Строка,Число - ID чата темы
|
||||
// IDТемы - Строка - ID темы. Главная, если не заполнено
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// HTTPОтвет - Очистить список закрепленных сообщений темы
|
||||
Функция ОчиститьСписокЗакрепленныхСообщенийТемы(Знач Токен, Знач IDЧата, Знач IDТемы = "") Экспорт
|
||||
|
||||
IDТемы = OPI_Инструменты.ЧислоВСтроку(IDТемы);
|
||||
IDЧата = OPI_Инструменты.ЧислоВСтроку(IDЧата);
|
||||
Параметры_ = Новый Структура;
|
||||
Параметры_.Вставить("chat_id", IDЧата);
|
||||
|
||||
Если ЗначениеЗаполнено(IDТемы) Тогда
|
||||
Метод = "/unpinAllForumTopicMessages";
|
||||
Параметры_.Вставить("message_thread_id", IDТемы);
|
||||
Иначе
|
||||
Метод = "/unpinAllGeneralForumTopicMessages";
|
||||
КонецЕсли;
|
||||
|
||||
URL = "api.telegram.org/bot" + Токен + Метод;
|
||||
Ответ = OPI_Инструменты.Get(URL, Параметры_);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
@ -830,27 +815,9 @@
|
||||
, Знач ОднаПодОдной = Истина) Экспорт
|
||||
|
||||
Если ОднаПодОдной Тогда
|
||||
|
||||
Строки = Новый Массив;
|
||||
|
||||
Для Каждого Кнопка Из МассивКнопок Цикл
|
||||
Кнопки = Новый Массив;
|
||||
Кнопка = OPI_Инструменты.ЧислоВСтроку(Кнопка);
|
||||
Кнопки.Добавить(Новый Структура("text,callback_data", Кнопка, Кнопка));
|
||||
Строки.Добавить(Кнопки);
|
||||
КонецЦикла;
|
||||
|
||||
Строки = СоздатьВысокуюКлавиатуру(МассивКнопок);
|
||||
Иначе
|
||||
|
||||
Строки = Новый Массив;
|
||||
Кнопки = Новый Массив;
|
||||
|
||||
Для Каждого Кнопка Из МассивКнопок Цикл
|
||||
Кнопка = OPI_Инструменты.ЧислоВСтроку(Кнопка);
|
||||
Кнопки.Добавить(Новый Структура("text,callback_data", Кнопка, Кнопка));
|
||||
КонецЦикла;
|
||||
|
||||
Строки.Добавить(Кнопки);
|
||||
Строки = СоздатьДлиннуюКлваиатуру(МассивКнопок);
|
||||
КонецЕсли;
|
||||
|
||||
Если ПодСообщением Тогда
|
||||
@ -915,6 +882,7 @@
|
||||
, Знач IDИконки = Неопределено
|
||||
, Знач IDТемы = "")
|
||||
|
||||
IDТемы = OPI_Инструменты.ЧислоВСтроку(IDТемы);
|
||||
IDЧата = OPI_Инструменты.ЧислоВСтроку(IDЧата);
|
||||
|
||||
Параметры_ = Новый Структура;
|
||||
@ -923,16 +891,10 @@
|
||||
Параметры_.Вставить("icon_custom_emoji_id", IDИконки);
|
||||
|
||||
Если ЗначениеЗаполнено(IDТемы) Тогда
|
||||
|
||||
IDТемы = OPI_Инструменты.ЧислоВСтроку(IDТемы);
|
||||
Метод = "/editForumTopic";
|
||||
|
||||
Параметры_.Вставить("message_thread_id", IDТемы);
|
||||
|
||||
Иначе
|
||||
|
||||
Метод = "/createForumTopic";
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
OPI_Инструменты.УдалитьПустыеПоляКоллекции(Параметры_);
|
||||
@ -942,28 +904,102 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция УправлениеСостояниемТемыФорума(Знач Токен, Знач IDЧата, Знач IDТемы, Знач Статус)
|
||||
Функция УправлениеСостояниемТемыФорума(Знач Токен, Знач IDЧата, Знач Статус, Знач IDТемы = "")
|
||||
|
||||
Если Статус = 1 Тогда
|
||||
Метод = "/reopenForumTopic";
|
||||
ИначеЕсли Статус = 2 Тогда
|
||||
Метод = "/closeForumTopic";
|
||||
ИначеЕсли Статус = 3 Тогда
|
||||
Метод = "/deleteForumTopic";
|
||||
Если ЗначениеЗаполнено(IDТемы) Тогда
|
||||
Форум = "Forum";
|
||||
Иначе
|
||||
Возврат Неопределено;
|
||||
Форум = "GeneralForum";
|
||||
КонецЕсли;
|
||||
|
||||
IDТемы = OPI_Инструменты.ЧислоВСтроку(IDТемы);
|
||||
IDЧата = OPI_Инструменты.ЧислоВСтроку(IDЧата);
|
||||
Метод = ОпределитьМетодУправленияФорумом(Статус, Форум);
|
||||
Параметры_ = Новый Структура;
|
||||
Параметры_.Вставить("chat_id", IDЧата);
|
||||
|
||||
Если ЗначениеЗаполнено(IDТемы) Тогда
|
||||
Параметры_.Вставить("message_thread_id", IDТемы);
|
||||
КонецЕсли;
|
||||
|
||||
URL = "api.telegram.org/bot" + Токен + Метод;
|
||||
Ответ = OPI_Инструменты.Get(URL, Параметры_);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция УправлениеВидимостьюГлавнойТемыФорума(Знач Токен, Знач IDЧата, Знач Скрыть)
|
||||
|
||||
IDЧата = OPI_Инструменты.ЧислоВСтроку(IDЧата);
|
||||
|
||||
Если Скрыть Тогда
|
||||
Метод = "/hideGeneralForumTopic";
|
||||
Иначе
|
||||
Метод = "/unhideGeneralForumTopic";
|
||||
КонецЕсли;
|
||||
|
||||
Параметры_ = Новый Структура;
|
||||
Параметры_.Вставить("chat_id", IDЧата);
|
||||
Параметры_.Вставить("message_thread_id", IDТемы);
|
||||
|
||||
Ответ = OPI_Инструменты.Get("api.telegram.org/bot" + Токен + Метод, Параметры_);
|
||||
URL = "api.telegram.org/bot" + Токен + Метод;
|
||||
Ответ = OPI_Инструменты.Get(URL, Параметры_);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ОпределитьМетодУправленияФорумом(Знач Статус, Знач Форум)
|
||||
|
||||
Открыть = 1;
|
||||
Закрыть = 2;
|
||||
Удалить = 3;
|
||||
|
||||
Если Статус = Открыть Тогда
|
||||
Метод = "/reopen" + Форум + "Topic";
|
||||
ИначеЕсли Статус = Закрыть Тогда
|
||||
Метод = "/close" + Форум + "Topic";
|
||||
ИначеЕсли Статус = Удалить Тогда
|
||||
Метод = "/deleteForumTopic";
|
||||
Иначе
|
||||
ВызватьИсключение "Некорректный статус управления форумом";
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Метод;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция СоздатьВысокуюКлавиатуру(Знач МассивКнопок)
|
||||
|
||||
Строки = Новый Массив;
|
||||
|
||||
Для Каждого Кнопка Из МассивКнопок Цикл
|
||||
Кнопки = Новый Массив;
|
||||
Кнопка = OPI_Инструменты.ЧислоВСтроку(Кнопка);
|
||||
Кнопки.Добавить(Новый Структура("text,callback_data", Кнопка, Кнопка));
|
||||
Строки.Добавить(Кнопки);
|
||||
КонецЦикла;
|
||||
|
||||
Возврат Строки;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция СоздатьДлиннуюКлваиатуру(Знач МассивКнопок)
|
||||
|
||||
Строки = Новый Массив;
|
||||
Кнопки = Новый Массив;
|
||||
|
||||
Для Каждого Кнопка Из МассивКнопок Цикл
|
||||
Кнопка = OPI_Инструменты.ЧислоВСтроку(Кнопка);
|
||||
Кнопки.Добавить(Новый Структура("text,callback_data", Кнопка, Кнопка));
|
||||
КонецЦикла;
|
||||
|
||||
Строки.Добавить(Кнопки);
|
||||
|
||||
Возврат Строки;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура СформироватьМассивМедиа(Знач СоответствиеФайлов, Знач Текст, СтруктураФайлов, Медиа)
|
||||
|
||||
Счетчик = 0;
|
||||
|
@ -26,6 +26,9 @@
|
||||
|
||||
// BSLLS:Typo-off
|
||||
|
||||
//Раскомментировать, если выполняется OneScript
|
||||
//#Использовать ".."
|
||||
|
||||
#Область ПрограммныйИнтерфейс
|
||||
|
||||
#Область ДанныеИНастройка
|
||||
@ -490,6 +493,7 @@
|
||||
|
||||
Функция СоздатьЗаголовокАвторизацииV1(Знач Параметры, Знач Поля, Знач ВидЗапроса, Знач URL)
|
||||
|
||||
ТекущаяДата = OPI_Инструменты.ПолучитьТекущуюДата();
|
||||
ЗаголовокАвторизации = "";
|
||||
МетодХэширования = "HMAC-SHA1";
|
||||
ВерсияАпи = "1.0";
|
||||
@ -497,7 +501,7 @@
|
||||
Подпись = "";
|
||||
OCK = "oauth_consumer_key";
|
||||
OTK = "oauth_token";
|
||||
ТекущаяДатаUNIX = OPI_Инструменты.UNIXTime(ТекущаяДатаСеанса());
|
||||
ТекущаяДатаUNIX = OPI_Инструменты.UNIXTime(ТекущаяДата);
|
||||
ТекущаяДатаUNIX = OPI_Инструменты.ЧислоВСтроку(ТекущаяДатаUNIX);
|
||||
ТаблицаПараметров = Новый ТаблицаЗначений;
|
||||
ТаблицаПараметров.Колонки.Добавить("Ключ");
|
||||
|
@ -26,6 +26,9 @@
|
||||
|
||||
// BSLLS:NumberOfOptionalParams-off
|
||||
|
||||
//Раскомментировать, если выполняется OneScript
|
||||
//#Использовать ".."
|
||||
|
||||
#Область ПрограммныйИнтерфейс
|
||||
|
||||
#Область ПолучениеТокена
|
||||
@ -653,12 +656,13 @@
|
||||
// ДвоичныеДанные, Неопределено, Произвольный - Ответ сервера
|
||||
Функция СоздатьРекламнуюКампанию(Знач IDКабинета, Знач Наименование, Знач Параметры = "") Экспорт
|
||||
|
||||
ТекущаяДата = OPI_Инструменты.ПолучитьТекущуюДата();
|
||||
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
|
||||
Параметры_.Вставить("account_id", OPI_Инструменты.ЧислоВСтроку(IDКабинета));
|
||||
|
||||
МассивСтруктур = Новый Массив;
|
||||
ДатаСтарт = Формат(ТекущаяДатаСеанса() - Дата(1970, 1, 1, 1, 0, 0), "ЧГ=0");
|
||||
ДатаСтоп = Формат(ДобавитьМесяц(ТекущаяДатаСеанса(), 24) - Дата(1970, 1, 1, 1, 0, 0), "ЧГ=0");
|
||||
ДатаСтарт = Формат(ТекущаяДата - Дата(1970, 1, 1, 1, 0, 0), "ЧГ=0");
|
||||
ДатаСтоп = Формат(ДобавитьМесяц(ТекущаяДата, 24) - Дата(1970, 1, 1, 1, 0, 0), "ЧГ=0");
|
||||
|
||||
СтруктураКампании = Новый Структура;
|
||||
СтруктураКампании.Вставить("type" , "promoted_posts");
|
||||
|
@ -22,6 +22,9 @@
|
||||
|
||||
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||
|
||||
//Раскомментировать, если выполняется OneScript
|
||||
//#Использовать ".."
|
||||
|
||||
#Область ПрограммныйИнтерфейс
|
||||
|
||||
#Область НастройкиИИнформация
|
||||
|
@ -22,6 +22,9 @@
|
||||
|
||||
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||
|
||||
//Раскомментировать, если выполняется OneScript
|
||||
//#Использовать ".."
|
||||
|
||||
#Область ПрограммныйИнтерфейс
|
||||
|
||||
#Область РаботаСФайламиИПапками
|
||||
|
@ -22,6 +22,9 @@
|
||||
|
||||
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||
|
||||
//Раскомментировать, если выполняется OneScript
|
||||
//#Использовать ".."
|
||||
|
||||
#Область ПрограммныйИнтерфейс
|
||||
|
||||
// Получить код подтверждения.
|
||||
|
@ -23,6 +23,9 @@
|
||||
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||
// BSLLS:Typo-off
|
||||
|
||||
//Раскомментировать, если выполняется OneScript
|
||||
//#Использовать ".."
|
||||
|
||||
#Область СлужебныйПрограммныйИнтерфейс
|
||||
|
||||
#Область HTTPМетоды
|
||||
@ -103,6 +106,13 @@
|
||||
Возврат Формат(Дата - Дата(1970, 1, 1, 1, 0, 0), "ЧГ=0");
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьТекущуюДата() Экспорт
|
||||
|
||||
//@skip-check use-non-recommended-method
|
||||
Возврат ТекущаяДата();
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура ЗаменитьСпецСимволы(Текст) Экспорт
|
||||
|
||||
МассивСимволов = Новый Соответствие;
|
||||
@ -142,6 +152,17 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Пауза(Знач Секунды) Экспорт
|
||||
|
||||
Соединение = Новый HTTPСоединение("1C.ru", 11111, , , , Секунды);
|
||||
Попытка
|
||||
Соединение.Получить(Новый HTTPЗапрос(""));
|
||||
Исключение
|
||||
Возврат;
|
||||
Конецпопытки;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область Служебные
|
||||
@ -155,8 +176,12 @@
|
||||
СтрокаПараметров = "?";
|
||||
|
||||
Для Каждого Параметр Из Параметры Цикл
|
||||
СтрокаПараметров = СтрокаПараметров + Параметр.Ключ + "=" + КодироватьСтроку(Параметр.Значение,
|
||||
СпособКодированияСтроки.КодировкаURL) + "&";
|
||||
СтрокаПараметров = СтрокаПараметров
|
||||
+ Параметр.Ключ
|
||||
+ "="
|
||||
+ КодироватьСтроку(Параметр.Значение,
|
||||
СпособКодированияСтроки.КодировкаURL)
|
||||
+ "&";
|
||||
КонецЦикла;
|
||||
|
||||
СтрокаПараметров = Лев(СтрокаПараметров, СтрДлина(СтрокаПараметров) - 1);
|
||||
@ -171,22 +196,32 @@
|
||||
URL = СтрЗаменить(URL, "http://", "");
|
||||
URL = СтрЗаменить(URL, ":443", "");
|
||||
|
||||
Адрес = Прав(URL, СтрДлина(URL) - СтрНайти(URL, "/", НаправлениеПоиска.СНачала) + 1);
|
||||
Сервер = Лев(URL, СтрНайти(URL, "/", НаправлениеПоиска.СНачала) - 1);
|
||||
|
||||
Попытка
|
||||
//@skip-check module-unused-local-variable
|
||||
SSL = Новый ЗащищенноеСоединениеOpenSSL;
|
||||
Исключение
|
||||
Сервер = "https://" + Сервер;
|
||||
КонецПопытки;
|
||||
|
||||
СтруктураВозврата = Новый Структура;
|
||||
СтруктураВозврата.Вставить("Сервер", Лев(URL, СтрНайти(URL, "/", НаправлениеПоиска.СНачала) - 1));
|
||||
СтруктураВозврата.Вставить("Адрес", Прав(URL, СтрДлина(URL) - СтрНайти(URL, "/", НаправлениеПоиска.СНачала) + 1));
|
||||
СтруктураВозврата.Вставить("Сервер", Сервер);
|
||||
СтруктураВозврата.Вставить("Адрес" , Адрес);
|
||||
|
||||
Возврат СтруктураВозврата;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция JsonВСтруктуру(Знач Текст, Знач Кодировка = "utf-8") Экспорт
|
||||
Функция JsonВСтруктуру(Знач Текст) Экспорт
|
||||
|
||||
Если Не ЗначениеЗаполнено(Текст) Тогда
|
||||
Возврат "";
|
||||
КонецЕсли;
|
||||
|
||||
ЧтениеJSON = Новый ЧтениеJSON;
|
||||
ЧтениеJSON.ОткрытьПоток(Текст.ОткрытьПотокДляЧтения());
|
||||
ЧтениеJSON.УстановитьСтроку(ПолучитьСтрокуИзДвоичныхДанных(Текст));
|
||||
|
||||
Данные = ПрочитатьJSON(ЧтениеJSON, Истина, Неопределено, ФорматДатыJSON.ISO);
|
||||
ЧтениеJSON.Закрыть();
|
||||
@ -213,6 +248,18 @@
|
||||
Возврат СтрЗаменить(Строка(Число), Символы.НПП, "");
|
||||
КонецФункции
|
||||
|
||||
Функция ПрочитатьJSONФайл(Знач Путь) Экспорт
|
||||
|
||||
ЧтениеJSON = Новый ЧтениеJSON;
|
||||
ЧтениеJSON.ОткрытьФайл(Путь);
|
||||
Значения = ПрочитатьJSON(ЧтениеJSON);
|
||||
|
||||
ЧтениеJSON.Закрыть();
|
||||
|
||||
Возврат Значения;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
@ -350,7 +397,14 @@
|
||||
КонецФункции
|
||||
|
||||
Функция СоздатьСоединение(Знач Сервер)
|
||||
Возврат Новый HTTPСоединение(Сервер, 443, , , , 300, Новый ЗащищенноеСоединениеOpenSSL);
|
||||
|
||||
Попытка
|
||||
SSL = Новый ЗащищенноеСоединениеOpenSSL;
|
||||
Возврат Новый HTTPСоединение(Сервер, 443, , , , 300, SSL);
|
||||
Исключение
|
||||
Возврат Новый HTTPСоединение(Сервер, 443, , , , 300);
|
||||
КонецПопытки;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ЭтоПереадресация(Знач Ответ)
|
||||
|
275
OPI/src/CommonModules/OPI_ПолучениеДанныхТестов/Module.bsl
Normal file
275
OPI/src/CommonModules/OPI_ПолучениеДанныхТестов/Module.bsl
Normal file
@ -0,0 +1,275 @@
|
||||
// MIT License
|
||||
|
||||
// Copyright (c) 2023 Anton Tsitavets
|
||||
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
|
||||
// The above copyright notice and this permission notice shall be included in all
|
||||
// copies or substantial portions of the Software.
|
||||
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
// SOFTWARE.
|
||||
|
||||
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||
|
||||
//Раскомментировать, если выполняется OneScript
|
||||
//#Использовать ".."
|
||||
|
||||
|
||||
// @skip-check undefined-variable
|
||||
|
||||
#Область СлужебныйПрограммныйИнтерфейс
|
||||
|
||||
Функция ОжидаетЧто(Значение) Экспорт
|
||||
|
||||
Попытка
|
||||
|
||||
Модуль = ПолучитьОбщийМодуль("ЮТест");
|
||||
Ожидаем = ТипЗнч(Модуль) = Тип("ОбщийМодуль");
|
||||
Возврат Модуль.ОжидаетЧто(Значение);
|
||||
|
||||
Исключение
|
||||
Возврат Ожидаем.Что(Значение);
|
||||
КонецПопытки;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция СформироватьТестыЯкс() Экспорт
|
||||
|
||||
Модуль = ПолучитьОбщийМодуль("ЮТТесты");
|
||||
МассивРазделов = ПолучитьМассивРазделовТестирования();
|
||||
ТаблицаТестов = ПолучитьТаблицуТестов();
|
||||
|
||||
Для Каждого Раздел Из МассивРазделов Цикл
|
||||
|
||||
Отбор = Новый Структура("Раздел", Раздел);
|
||||
ТестыРаздела = ТаблицаТестов.НайтиСтроки(Отбор);
|
||||
|
||||
Набор = Модуль.ДобавитьТестовыйНабор(Раздел);
|
||||
|
||||
Для Каждого Тест Из ТестыРаздела Цикл
|
||||
Набор.ДобавитьСерверныйТест(Тест.Метод, Тест.Синоним);
|
||||
КонецЦикла;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Возврат "";
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция СформироватьТестыАссертс() Экспорт
|
||||
|
||||
ТаблицаТестов = ПолучитьТаблицуТестов();
|
||||
МассивТестов = Новый Массив;
|
||||
|
||||
Для Каждого Тест Из ТаблицаТестов Цикл
|
||||
МассивТестов.Добавить(Тест.Метод);
|
||||
КонецЦикла;
|
||||
|
||||
Возврат МассивТестов;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьПараметр(Параметр) Экспорт
|
||||
|
||||
Путь = ПутьКФайлуДанных();
|
||||
Возврат ПолучитьЗначениеИзФайла(Параметр, Путь);
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьДвоичные(Параметр) Экспорт
|
||||
|
||||
Путь = ПутьКФайлуДанных();
|
||||
Значение = ПолучитьЗначениеИзФайла(Параметр, Путь);
|
||||
|
||||
Если ТипЗнч(Значение) = Тип("Строка") Тогда
|
||||
Значение = ПолучитьФайлПути(Значение);
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Значение;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьФайлПути(Знач Путь) Экспорт
|
||||
|
||||
Если СтрНайти(Путь, "http") > 0
|
||||
Или СтрНайти(Путь, "www") > 0 Тогда
|
||||
|
||||
ИВФ = ПолучитьИмяВременногоФайла();
|
||||
КопироватьФайл(Путь, ИВФ);
|
||||
Путь = ИВФ;
|
||||
Двоичные = Новый ДвоичныеДанные(Путь);
|
||||
|
||||
УдалитьФайлы(ИВФ);
|
||||
|
||||
Иначе
|
||||
|
||||
Двоичные = Новый ДвоичныеДанные(Путь);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Двоичные;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура ЗаписатьПараметр(Параметр, Значение) Экспорт
|
||||
|
||||
Путь = ПутьКФайлуДанных();
|
||||
ЗаписатьПараметрВФайл(Параметр, Значение, Путь);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
Функция ПолучитьЗначениеИзФайла(Параметр, Путь)
|
||||
|
||||
Значения = OPI_Инструменты.ПрочитатьJSONФайл(Путь);
|
||||
Возврат Значения[Параметр];
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПутьКФайлуДанных()
|
||||
Возврат "C:\data.json";
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьМассивРазделовТестирования()
|
||||
|
||||
МассивРазделов = Новый Массив;
|
||||
МассивРазделов.Добавить("Телеграм");
|
||||
МассивРазделов.Добавить("ВКонтакте");
|
||||
МассивРазделов.Добавить("Яндекс.Диск");
|
||||
МассивРазделов.Добавить("Google Calendar");
|
||||
МассивРазделов.Добавить("Twitter");
|
||||
|
||||
Возврат МассивРазделов;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьТаблицуТестов()
|
||||
|
||||
Телеграм = "Телеграм";
|
||||
ВКонтакте = "ВКонтакте";
|
||||
ЯДиск = "Яндекс.Диск";
|
||||
Календарь = "Google Calendar";
|
||||
Твиттер = "Twitter";
|
||||
|
||||
ТаблицаТестов = Новый ТаблицаЗначений;
|
||||
ТаблицаТестов.Колонки.Добавить("Метод");
|
||||
ТаблицаТестов.Колонки.Добавить("Синоним");
|
||||
ТаблицаТестов.Колонки.Добавить("Раздел");
|
||||
|
||||
НовыйТест(ТаблицаТестов, "Телеграм_ПолучитьИнформациюБота" , "Получить информацию бота" , Телеграм);
|
||||
НовыйТест(ТаблицаТестов, "Телеграм_ПолучитьОбновления" , "Получить обновления" , Телеграм);
|
||||
НовыйТест(ТаблицаТестов, "Телеграм_УстановитьWebhook" , "Установить Webhook" , Телеграм);
|
||||
НовыйТест(ТаблицаТестов, "Телеграм_УдалитьWebhook" , "Удалить Webhook" , Телеграм);
|
||||
НовыйТест(ТаблицаТестов, "Телеграм_ОтправитьТекстовоеСообщение" , "Отправить текстовое сообщение" , Телеграм);
|
||||
НовыйТест(ТаблицаТестов, "Телеграм_ОтправитьКартинку" , "Отправить картинку" , Телеграм);
|
||||
НовыйТест(ТаблицаТестов, "Телеграм_ОтправитьВидео" , "Отправить видео" , Телеграм);
|
||||
НовыйТест(ТаблицаТестов, "Телеграм_ОтправитьАудио" , "Отправить аудио" , Телеграм);
|
||||
НовыйТест(ТаблицаТестов, "Телеграм_ОтправитьДокумент" , "Отправить документ" , Телеграм);
|
||||
НовыйТест(ТаблицаТестов, "Телеграм_ОтправитьГифку" , "Отправить гифку" , Телеграм);
|
||||
НовыйТест(ТаблицаТестов, "Телеграм_ОтправитьМедиагруппу" , "Отправить медиагруппу" , Телеграм);
|
||||
НовыйТест(ТаблицаТестов, "Телеграм_ОтправитьМестоположение" , "Отправить местоположение" , Телеграм);
|
||||
НовыйТест(ТаблицаТестов, "Телеграм_ОтправитьКонтакт" , "Отправить контакт" , Телеграм);
|
||||
НовыйТест(ТаблицаТестов, "Телеграм_ОтправитьОпрос" , "Отправить опрос" , Телеграм);
|
||||
НовыйТест(ТаблицаТестов, "Телеграм_ПереслатьСообщение" , "Переслать сообщение" , Телеграм);
|
||||
НовыйТест(ТаблицаТестов, "Телеграм_БанРазбан" , "Бан/Разбан" , Телеграм);
|
||||
НовыйТест(ТаблицаТестов, "Телеграм_СоздатьСсылкуПриглашение" , "Создать ссылку-приглашение" , Телеграм);
|
||||
НовыйТест(ТаблицаТестов, "Телеграм_ЗакрепитьОткрепитьСообщение" , "Закрепить/Открепить сообщение" , Телеграм);
|
||||
НовыйТест(ТаблицаТестов, "Телеграм_ПолучитьЧислоУчастников" , "Получить число участников" , Телеграм);
|
||||
НовыйТест(ТаблицаТестов, "Телеграм_ПолучитьСписокАватаровФорума", "Получить список аватаров форума", Телеграм);
|
||||
НовыйТест(ТаблицаТестов, "Телеграм_СоздатьУдалитьТемуФорума" , "Создать/Удалить тему форума" , Телеграм);
|
||||
НовыйТест(ТаблицаТестов, "Телеграм_ОткрытьЗакрытьГлавнуюТему" , "Открыть/Закрыть главную тему" , Телеграм);
|
||||
НовыйТест(ТаблицаТестов, "Телеграм_ИзменитьИмяГлавнойТемы" , "Изменить имя главной темы" , Телеграм);
|
||||
|
||||
НовыйТест(ТаблицаТестов, "ВК_СоздатьСсылкуТокена" , "Создать ссылку получения токена", ВКонтакте);
|
||||
НовыйТест(ТаблицаТестов, "ВК_СоздатьУдалитьПост" , "Создать/Удалить пост" , ВКонтакте);
|
||||
НовыйТест(ТаблицаТестов, "ВК_СоздатьОпрос" , "Создать опрос" , ВКонтакте);
|
||||
НовыйТест(ТаблицаТестов, "ВК_СохранитьУдалитьКартинку" , "Добавить/Удалить картинку" , ВКонтакте);
|
||||
НовыйТест(ТаблицаТестов, "ВК_СоздатьИсторию" , "Создать историю" , ВКонтакте);
|
||||
НовыйТест(ТаблицаТестов, "ВК_МетодыОбсуждений" , "Действия с обсуждениями" , ВКонтакте);
|
||||
НовыйТест(ТаблицаТестов, "ВК_ЛайкРепостКоммент" , "Лайк/Репост/Комментарий" , ВКонтакте);
|
||||
НовыйТест(ТаблицаТестов, "ВК_ПолучитьСтатистику" , "Получить статистику" , ВКонтакте);
|
||||
НовыйТест(ТаблицаТестов, "ВК_ПолучитьСтатистикуПостов" , "Получить статистику постов" , ВКонтакте);
|
||||
НовыйТест(ТаблицаТестов, "ВК_СоздатьРекламнуюКампанию" , "Создать рекламную кампанию" , ВКонтакте);
|
||||
НовыйТест(ТаблицаТестов, "ВК_ОтправитьСообщение" , "Отправить сообщение" , ВКонтакте);
|
||||
НовыйТест(ТаблицаТестов, "ВК_ПолучитьКатегорииТоваров" , "Получить категории товаров" , ВКонтакте);
|
||||
НовыйТест(ТаблицаТестов, "ВК_СоздатьТоварПодборку" , "Создать товар и подборку" , ВКонтакте);
|
||||
НовыйТест(ТаблицаТестов, "ВК_СоздатьТоварСоСвойствами" , "Создать товар со свойствами" , ВКонтакте);
|
||||
НовыйТест(ТаблицаТестов, "ВК_ПолучитьСписокТоваров" , "Получить список товаров" , ВКонтакте);
|
||||
НовыйТест(ТаблицаТестов, "ВК_ПолучитьСписокПодборок" , "Получить список подборок" , ВКонтакте);
|
||||
НовыйТест(ТаблицаТестов, "ВК_ПолучитьСписокСвойств" , "Получить список свойств" , ВКонтакте);
|
||||
НовыйТест(ТаблицаТестов, "ВК_ПолучитьСписокЗаказов" , "Получить список заказов" , ВКонтакте);
|
||||
|
||||
НовыйТест(ТаблицаТестов, "ЯДиск_ПолучитьИнформациюОДиске" , "Получить информацию о диске" , ЯДиск);
|
||||
НовыйТест(ТаблицаТестов, "ЯДиск_СоздатьПапку" , "Создать папку" , ЯДиск);
|
||||
НовыйТест(ТаблицаТестов, "ЯДиск_ЗагрузитьПоАдресуПолучитьОбъект", "Загрузить по URL и получить" , ЯДиск);
|
||||
НовыйТест(ТаблицаТестов, "ЯДиск_ЗагрузитьУдалитьФайл" , "Загрузить/Удалить файл" , ЯДиск);
|
||||
НовыйТест(ТаблицаТестов, "ЯДиск_СоздатьКопиюОбъекта" , "Создать копию объекта" , ЯДиск);
|
||||
НовыйТест(ТаблицаТестов, "ЯДиск_ПолучитьСсылкуНаСкачивание" , "Получить ссылку на скачивание" , ЯДиск);
|
||||
НовыйТест(ТаблицаТестов, "ЯДиск_ПолучитьСписокФайлов" , "Получить список файлов" , ЯДиск);
|
||||
НовыйТест(ТаблицаТестов, "ЯДиск_ПереместитьОбъект" , "Переместить объект" , ЯДиск);
|
||||
НовыйТест(ТаблицаТестов, "ЯДиск_ДействияПубличныхОбъектов" , "Действия с публичными объектами", ЯДиск);
|
||||
НовыйТест(ТаблицаТестов, "ЯДиск_ПолучитьСписокОпубликованных" , "Получить список опубликованных" , ЯДиск);
|
||||
|
||||
НовыйТест(ТаблицаТестов, "ГК_ПолучитьСсылкуАвторизации" , "Получить ссылку авторизации" , Календарь);
|
||||
НовыйТест(ТаблицаТестов, "ГК_ПолучитьТокен" , "Получить токен" , Календарь);
|
||||
НовыйТест(ТаблицаТестов, "ГК_ОбновитьТокен" , "Обновить токен" , Календарь);
|
||||
НовыйТест(ТаблицаТестов, "ГК_ПолучитьСписокКалендарей" , "Получить список календарей" , Календарь);
|
||||
НовыйТест(ТаблицаТестов, "ГК_СоздатьУдалитьКалендарь" , "Создать/Удалить календарь" , Календарь);
|
||||
НовыйТест(ТаблицаТестов, "ГК_СоздатьУдалитьСобытие" , "Создать/Удалить событие" , Календарь);
|
||||
НовыйТест(ТаблицаТестов, "ГК_ПолучитьСписокСобытий" , "Получить список событий" , Календарь);
|
||||
|
||||
НовыйТест(ТаблицаТестов, "Твиттер_ОбновитьТокен" , "Обновить токен" , Твиттер);
|
||||
|
||||
Возврат ТаблицаТестов;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьОбщийМодуль(Знач Имя)
|
||||
|
||||
УстановитьБезопасныйРежим(Истина);
|
||||
|
||||
Модуль = Вычислить(Имя);
|
||||
|
||||
УстановитьБезопасныйРежим(Ложь);
|
||||
|
||||
Возврат Модуль;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура НовыйТест(ТаблицаЗначений, Знач Метод, Знач Синоним, Знач Раздел);
|
||||
|
||||
НовыйТест = ТаблицаЗначений.Добавить();
|
||||
НовыйТест.Метод = Метод;
|
||||
НовыйТест.Синоним = Синоним;
|
||||
НовыйТест.Раздел = Раздел;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ЗаписатьПараметрВФайл(Знач Параметр, Знач Значение, Знач Путь)
|
||||
|
||||
Значения = OPI_Инструменты.ПрочитатьJSONФайл(Путь);
|
||||
Значения.Вставить(Параметр, Значение);
|
||||
|
||||
Запись = Новый ЗаписьJSON;
|
||||
ПараметрыЗаписиJSON = Новый ПараметрыЗаписиJSON(ПереносСтрокJSON.Авто, Символы.Таб);
|
||||
Запись.ОткрытьФайл(Путь, , , ПараметрыЗаписиJSON);
|
||||
ЗаписатьJSON(Запись, Значения);
|
||||
Запись.Закрыть();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="546edcad-c9a0-4823-a44c-fefd7200de6c">
|
||||
<name>OPI_ПолучениеДанныхТестов</name>
|
||||
<synonym>
|
||||
<key></key>
|
||||
<value>OPI получение данных тестов</value>
|
||||
</synonym>
|
||||
<server>true</server>
|
||||
<externalConnection>true</externalConnection>
|
||||
<clientOrdinaryApplication>true</clientOrdinaryApplication>
|
||||
</mdclass:CommonModule>
|
File diff suppressed because it is too large
Load Diff
@ -1,10 +1,14 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="ca6868b2-8987-4ae3-9d97-50a8becc72df">
|
||||
<name>YAX_Тесты</name>
|
||||
<name>OPI_Тесты</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Тесты для YaxUnit (ОПИ)</value>
|
||||
</synonym>
|
||||
<synonym>
|
||||
<key></key>
|
||||
<value>OPI тесты</value>
|
||||
</synonym>
|
||||
<server>true</server>
|
||||
<externalConnection>true</externalConnection>
|
||||
<clientOrdinaryApplication>true</clientOrdinaryApplication>
|
@ -58,5 +58,6 @@
|
||||
<commonModules>CommonModule.OPI_YandexDisk</commonModules>
|
||||
<commonModules>CommonModule.OPI_GoogleWorkspace</commonModules>
|
||||
<commonModules>CommonModule.OPI_GoogleCalendar</commonModules>
|
||||
<commonModules>CommonModule.YAX_Тесты</commonModules>
|
||||
<commonModules>CommonModule.OPI_Тесты</commonModules>
|
||||
<commonModules>CommonModule.OPI_ПолучениеДанныхТестов</commonModules>
|
||||
</mdclass:Configuration>
|
||||
|
Loading…
Reference in New Issue
Block a user