mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-03-17 21:08:03 +02:00
Преобразование OPI -> OInt (workflow)
This commit is contained in:
parent
767c4e3769
commit
2780f85170
@ -2822,6 +2822,20 @@
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область Slack
|
||||
|
||||
Процедура Слак_ОтправитьСообщение() Экспорт
|
||||
|
||||
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_Token");
|
||||
Канал = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_Channel");
|
||||
Текст = "Тестовое сообщение";
|
||||
|
||||
Результат = OPI_Slack.ОтправитьСообщение(Токен, Канал, Текст);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
@ -211,6 +211,7 @@
|
||||
МассивРазделов.Добавить("Google Calendar");
|
||||
МассивРазделов.Добавить("Google Drive");
|
||||
МассивРазделов.Добавить("Notion");
|
||||
МассивРазделов.Добавить("Slack");
|
||||
|
||||
Возврат МассивРазделов;
|
||||
|
||||
@ -227,6 +228,7 @@
|
||||
Драйв = "Google Drive";
|
||||
ВСпейс = "Google Workspace";
|
||||
Ноушн = "Notion";
|
||||
Слак = "Slack";
|
||||
|
||||
ТаблицаТестов = Новый ТаблицаЗначений;
|
||||
ТаблицаТестов.Колонки.Добавить("Метод");
|
||||
@ -329,6 +331,8 @@
|
||||
НовыйТест(ТаблицаТестов, "Ноушн_СоздатьУдалитьБлок" , "Создать/Удалить блок" , Ноушн);
|
||||
НовыйТест(ТаблицаТестов, "Ноушн_ПолучитьПользователей" , "Получить пользователей" , Ноушн);
|
||||
НовыйТест(ТаблицаТестов, "Ноушн_ПолучитьДанныеПользователя" , "Получить данные пользователя" , Ноушн);
|
||||
|
||||
НовыйТест(ТаблицаТестов, "Слак_ОтправитьСообщение" , "Отправить сообщение" , Слак);
|
||||
|
||||
Возврат ТаблицаТестов;
|
||||
|
||||
|
@ -412,8 +412,9 @@
|
||||
|
||||
Запрос = СоздатьЗапрос(Адрес, ДопЗаголовки, ТипДанных);
|
||||
Соединение = СоздатьСоединение(Сервер);
|
||||
ТелоЗапроса = Запрос.ПолучитьТелоКакПоток();
|
||||
ЗаписьТекста = Новый ЗаписьДанных(ТелоЗапроса, КодировкаТекста.UTF8, ПорядокБайтов.LittleEndian, "", "", Ложь);
|
||||
|
||||
ТелоЗапроса = ПолучитьИмяВременногоФайла();
|
||||
ЗаписьТекста = Новый ЗаписьДанных(ТелоЗапроса, КодировкаТекста.UTF8, ПорядокБайтов.LittleEndian, "", Ложь, "", Ложь);
|
||||
|
||||
ЗаписатьПараметрыМультипарт(ЗаписьТекста, Boundary, Параметры);
|
||||
ЗаписатьФайлыМультипарт(ЗаписьТекста, Boundary, ТипКонтента, Файлы);
|
||||
@ -421,6 +422,8 @@
|
||||
ЗаписьТекста.ЗаписатьСтроку("--" + boundary + "--" + РазделительСтрок);
|
||||
ЗаписьТекста.Закрыть();
|
||||
|
||||
Запрос.УстановитьИмяФайлаТела(ТелоЗапроса);
|
||||
|
||||
Ответ = Соединение.ВызватьHTTPМетод(Вид, Запрос);
|
||||
ЭтоПереадресация = Ответ.КодСостояния >= Переадресация И Ответ.КодСостояния < Ошибка;
|
||||
|
||||
@ -434,7 +437,11 @@
|
||||
Иначе
|
||||
ОбработатьОтвет(Ответ);
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
Запрос = Неопределено;
|
||||
ЗаписьТекста = Неопределено;
|
||||
|
||||
УдалитьФайлы(ТелоЗапроса);
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
@ -453,9 +460,9 @@
|
||||
Запрос = СоздатьЗапрос(Адрес, ДопЗаголовки, ТипДанных);
|
||||
Соединение = СоздатьСоединение(Сервер);
|
||||
|
||||
ТелоЗапроса = Запрос.ПолучитьТелоКакПоток();
|
||||
ЗаписьТекста = Новый ЗаписьДанных(ТелоЗапроса, КодировкаТекста.UTF8, ПорядокБайтов.LittleEndian, "", "", Ложь);
|
||||
|
||||
ТелоЗапроса = ПолучитьИмяВременногоФайла();
|
||||
ЗаписьТекста = Новый ЗаписьДанных(ТелоЗапроса, КодировкаТекста.UTF8, ПорядокБайтов.LittleEndian, "", Ложь, "", Ложь);
|
||||
|
||||
ЗаписатьJSONМультипарт(ЗаписьТекста, Boundary, JSON);
|
||||
ЗаписатьФайлыРелэйтед(ЗаписьТекста, Boundary, Файлы);
|
||||
|
||||
@ -464,6 +471,8 @@
|
||||
|
||||
ДобавитьContentLength(Запрос);
|
||||
|
||||
Запрос.УстановитьИмяФайлаТела(ТелоЗапроса);
|
||||
|
||||
Ответ = Соединение.ВызватьHTTPМетод(Вид, Запрос);
|
||||
ЭтоПереадресация = Ответ.КодСостояния >= Переадресация И Ответ.КодСостояния < Ошибка;
|
||||
|
||||
@ -473,6 +482,10 @@
|
||||
ОбработатьОтвет(Ответ);
|
||||
КонецЕсли;
|
||||
|
||||
Запрос = Неопределено;
|
||||
ЗаписьТекста = Неопределено;
|
||||
|
||||
УдалитьФайлы(ТелоЗапроса);
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
@ -617,7 +630,7 @@
|
||||
ЗаписьТекста.ЗаписатьСтроку("Content-Type: " + ТипКонтента);
|
||||
ЗаписьТекста.ЗаписатьСтроку(РазделительСтрок);
|
||||
ЗаписьТекста.ЗаписатьСтроку(РазделительСтрок);
|
||||
ЗаписьТекста.Записать(Файл.Значение);
|
||||
ЗаписатьДвоичныеДанные(ЗаписьТекста, Файл.Значение);
|
||||
ЗаписьТекста.ЗаписатьСтроку(РазделительСтрок);
|
||||
|
||||
КонецЦикла;
|
||||
@ -639,7 +652,7 @@
|
||||
ЗаписьТекста.ЗаписатьСтроку("Content-Type: " + Файл.Значение);
|
||||
ЗаписьТекста.ЗаписатьСтроку(РазделительСтрок);
|
||||
ЗаписьТекста.ЗаписатьСтроку(РазделительСтрок);
|
||||
ЗаписьТекста.Записать(Файл.Ключ);
|
||||
ЗаписатьДвоичныеДанные(ЗаписьТекста, Файл.Ключ);
|
||||
ЗаписьТекста.ЗаписатьСтроку(РазделительСтрок);
|
||||
ЗаписьТекста.ЗаписатьСтроку(РазделительСтрок);
|
||||
|
||||
@ -649,6 +662,37 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ЗаписатьДвоичныеДанные(ЗаписьДанных, Знач ДвоичныеДанные)
|
||||
|
||||
РазмерЧасти = 268435456;
|
||||
ПрочитанноБайт = 0;
|
||||
ТекущаяПозиция = 0;
|
||||
ОбщийРазмер = ДвоичныеДанные.Размер();
|
||||
|
||||
Пока ПрочитанноБайт < ОбщийРазмер Цикл
|
||||
|
||||
ЧтениеДанных = Новый ЧтениеДанных(ДвоичныеДанные);
|
||||
ПрочитанноБайт = ЧтениеДанных.Пропустить(ТекущаяПозиция);
|
||||
Результат = ЧтениеДанных.Прочитать(РазмерЧасти);
|
||||
ТекущиеДанные = Результат.ПолучитьДвоичныеДанные();
|
||||
РазмерТекущих = ТекущиеДанные.Размер();
|
||||
|
||||
Если Не ЗначениеЗаполнено(ТекущиеДанные) Тогда
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
ЗаписьДанных.Записать(ТекущиеДанные);
|
||||
|
||||
ОсвободитьОбъект(ТекущиеДанные);
|
||||
ВыполнитьСборкуМусора();
|
||||
|
||||
ТекущаяПозиция = ТекущаяПозиция + РазмерТекущих;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ЗаписатьJSONМультипарт(ЗаписьТекста, Знач Boundary, Знач JSON)
|
||||
|
||||
Если Не ЗначениеЗаполнено(JSON) Тогда
|
||||
|
Loading…
x
Reference in New Issue
Block a user