mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2024-11-28 09:08:38 +02:00
B24: Работа с хранилищем файлов
This commit is contained in:
parent
2297b94956
commit
2cf6ab8506
@ -396,7 +396,7 @@
|
||||
//
|
||||
// Параметры:
|
||||
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
||||
// Фильтра - Структура из КлючИЗначение - Структура отбора задач (см. ПолучитьСтруктуруФильтраЗадач) - filter
|
||||
// Фильтр - Структура из КлючИЗначение - Структура отбора задач (см. ПолучитьСтруктуруФильтраЗадач) - filter
|
||||
// Отступ - Число, Строка - Отступ от начала списка для полчения задач > 50 шт. рекурсивно - offset
|
||||
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
||||
//
|
||||
@ -728,13 +728,18 @@
|
||||
// Получить структуру фильтра задач
|
||||
// Возвращает структуру полей для фильтрации задач в методе ПолучитьСписокЗадач
|
||||
//
|
||||
// Параметры:
|
||||
// Пустая - Булево - Истина > структура с пустыми значениями, Ложь > в значениях будут описания полей - empty
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура Из КлючИЗначение - Структура полей
|
||||
Функция ПолучитьСтруктуруФильтраЗадач() Экспорт
|
||||
Функция ПолучитьСтруктуруФильтраЗадач(Знач Пустая = Ложь) Экспорт
|
||||
|
||||
// Подробнее
|
||||
// https://dev.1c-bitrix.ru/rest_help/tasks/task/tasks/tasks_task_list.php
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьБулево(Пустая);
|
||||
|
||||
СтруктураФильтра = Новый Структура;
|
||||
СтруктураФильтра.Вставить("ID" , "<идентификатор задачи>");
|
||||
СтруктураФильтра.Вставить("PARENT_ID" , "<идентификатор родительской задачи>");
|
||||
@ -764,6 +769,12 @@
|
||||
СтруктураФильтра.Вставить("STATUS"
|
||||
, "<статус для сортировки. Аналогичен REAL_STATUS, но имеет дополнительно три мета-статуса>");
|
||||
|
||||
Если Пустая Тогда
|
||||
Для Каждого Фильтр Из СтруктураФильтра Цикл
|
||||
Фильтр.Значение = "";
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
//@skip-check constructor-function-return-section
|
||||
Возврат СтруктураФильтра;
|
||||
|
||||
@ -772,19 +783,30 @@
|
||||
// Получить структуру фильтра комментариев
|
||||
// Возвращает структуру полей для фильтрации комментариев в методе ПолучитьСписокКомментариевЗадачи
|
||||
//
|
||||
// Параметры:
|
||||
// Пустая - Булево - Истина > структура с пустыми значениями, Ложь > в значениях будут описания полей - empty
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура Из КлючИЗначение - Структура полей
|
||||
Функция ПолучитьСтруктуруФильтраКомментариев() Экспорт
|
||||
Функция ПолучитьСтруктуруФильтраКомментариев(Знач Пустая = Ложь) Экспорт
|
||||
|
||||
// Подробнее
|
||||
// https://dev.1c-bitrix.ru/rest_help/tasks/task/commentitem/getlist.php
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьБулево(Пустая);
|
||||
|
||||
СтруктураФильтра = Новый Структура;
|
||||
СтруктураФильтра.Вставить("ID" , "<идентификатор комментария>");
|
||||
СтруктураФильтра.Вставить("AUTHOR_ID " , "<идентификатор автора комментария>");
|
||||
СтруктураФильтра.Вставить("AUTHOR_NAME ", "<имя автора>");
|
||||
СтруктураФильтра.Вставить("POST_DATE " , "<дата публикации комментария>");
|
||||
|
||||
Если Пустая Тогда
|
||||
Для Каждого Фильтр Из СтруктураФильтра Цикл
|
||||
Фильтр.Значение = "";
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
//@skip-check constructor-function-return-section
|
||||
Возврат СтруктураФильтра;
|
||||
|
||||
@ -792,6 +814,99 @@
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область Диск
|
||||
|
||||
// Получить список хранилищ
|
||||
// Получает список доступных хранилищ файлов
|
||||
//
|
||||
// Параметры:
|
||||
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
||||
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
||||
Функция ПолучитьСписокХранилищ(Знач URL, Знач Токен = "") Экспорт
|
||||
|
||||
Параметры = НормализоватьАвторизацию(URL, Токен, "disk.storage.getlist");
|
||||
Ответ = OPI_Инструменты.Post(URL, Параметры);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Загрузить файл в хранилище.
|
||||
//
|
||||
// Параметры:
|
||||
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
||||
// Наименование - Строка - Наименование файла с расширением для сохранения - title
|
||||
// Файл - Строка, ДвоичныеДанные - Файл для загрузки - file
|
||||
// IDХранилища - Строка - Идентификатор хранилища для загрузки - storage
|
||||
// Доступы - Строка - Массив доступов по задачам, если необходимо - rights
|
||||
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
||||
Функция ЗагрузитьФайлВХранилище(Знач URL
|
||||
, Знач Наименование
|
||||
, Знач Файл
|
||||
, Знач IDХранилища = ""
|
||||
, Знач Доступы = ""
|
||||
, Знач Токен = "") Экспорт
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDХранилища);
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Наименование);
|
||||
|
||||
Если ЗначениеЗаполнено(IDХранилища) Тогда
|
||||
Метод = "disk.storage.uploadfile";
|
||||
Иначе
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
ДанныеФайла = Новый Структура("NAME", Наименование);
|
||||
СодержимоеФайла = Новый Соответствие();
|
||||
СодержимоеФайла.Вставить(Наименование, Файл);
|
||||
|
||||
Параметры = НормализоватьАвторизацию(URL, Токен, Метод);
|
||||
OPI_Инструменты.ДобавитьПоле("data" , ДанныеФайла, "Коллекция", Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("rights", Доступы , "Массив" , Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("id" , IDХранилища, "Строка" , Параметры);
|
||||
|
||||
МассивФайла = НормализоватьФайлы(СодержимоеФайла);
|
||||
МассивФайла.Добавить(Наименование);
|
||||
|
||||
Если Не МассивФайла.Количество() = 0 Тогда
|
||||
Параметры.Вставить("fileContent", МассивФайла);
|
||||
КонецЕсли;
|
||||
|
||||
Ответ = OPI_Инструменты.Post(URL, Параметры);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Удалить файл
|
||||
// Удаляет файл по ID
|
||||
//
|
||||
// Параметры:
|
||||
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
||||
// IDФайла - Строка, Число - Идентификатор удаляемого файла - fileid
|
||||
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
||||
Функция УдалитьФайл(Знач URL, Знач IDФайла, Знач Токен = "") Экспорт
|
||||
|
||||
Параметры = НормализоватьАвторизацию(URL, Токен, "disk.file.delete");
|
||||
OPI_Инструменты.ДобавитьПоле("id", IDФайла, "Строка", Параметры);
|
||||
|
||||
Ответ = OPI_Инструменты.Post(URL, Параметры);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныйПрограммныйИнтерфейс
|
||||
|
@ -225,6 +225,7 @@
|
||||
НовыйТест(ТаблицаТестов, "Б24_СерверноеВремя" , "Серверное время" , Битрикс);
|
||||
НовыйТест(ТаблицаТестов, "Б24_РаботаСНовостями" , "Работа с новостями" , Битрикс);
|
||||
НовыйТест(ТаблицаТестов, "Б24_РаботаСЗадачами" , "Работа с задачами" , Битрикс);
|
||||
НовыйТест(ТаблицаТестов, "Б24_РаботаСДиском" , "Работа с диском" , Битрикс);
|
||||
|
||||
Возврат ТаблицаТестов;
|
||||
|
||||
|
@ -3333,6 +3333,21 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Б24_РаботаСДиском() Экспорт
|
||||
|
||||
ПараметрыТеста = Новый Структура;
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_URL" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_Domain", ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_Token" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture2" , ПараметрыТеста);
|
||||
|
||||
Bitrix24_ПолучитьСписокХранилищ(ПараметрыТеста);
|
||||
Bitrix24_ЗагрузитьФайлВХранилище(ПараметрыТеста);
|
||||
Bitrix24_УдалитьФайл(ПараметрыТеста);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
@ -3775,6 +3790,16 @@
|
||||
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["tasks"]).ИмеетТип("Массив");
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_БитриксХранилища(Знач Результат)
|
||||
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Массив");
|
||||
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["total"]).Заполнено();
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_БитриксФайл(Знач Результат)
|
||||
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Соответствие");
|
||||
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["ID"]).Заполнено();
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область АтомарныеТесты
|
||||
@ -6268,6 +6293,92 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Bitrix24_ПолучитьСписокХранилищ(ПараметрыФункции)
|
||||
|
||||
URL = ПараметрыФункции["Bitrix24_URL"];
|
||||
Результат = OPI_Bitrix24.ПолучитьСписокХранилищ(URL);
|
||||
|
||||
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокХранилищ (хук)", "Bitrix24");
|
||||
|
||||
Проверка_БитриксХранилища(Результат); // SKIP
|
||||
|
||||
URL = ПараметрыФункции["Bitrix24_Domain"];
|
||||
Токен = ПараметрыФункции["Bitrix24_Token"];
|
||||
|
||||
Результат = OPI_Bitrix24.ПолучитьСписокХранилищ(URL, Токен);
|
||||
|
||||
// END
|
||||
|
||||
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокХранилищ", "Bitrix24");
|
||||
|
||||
Проверка_БитриксХранилища(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Bitrix24_ЗагрузитьФайлВХранилище(ПараметрыФункции)
|
||||
|
||||
Наименование1 = Строка(Новый УникальныйИдентификатор) + ".jpg";
|
||||
Наименование2 = Строка(Новый УникальныйИдентификатор) + ".jpg";
|
||||
|
||||
Картинка1 = ПараметрыФункции["Picture"];
|
||||
Картинка2 = ПараметрыФункции["Picture2"];
|
||||
|
||||
IDПриемника = 3;
|
||||
|
||||
URL = ПараметрыФункции["Bitrix24_URL"];
|
||||
|
||||
Результат = OPI_Bitrix24.ЗагрузитьФайлВХранилище(URL, Наименование1, Картинка1, IDПриемника);
|
||||
|
||||
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗагрузитьФайлВХранилище (хук)", "Bitrix24");
|
||||
|
||||
Проверка_БитриксФайл(Результат); // SKIP
|
||||
|
||||
IDФайла = Результат["result"]["ID"]; // SKIP
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_HookFileID", IDФайла); // SKIP
|
||||
ПараметрыФункции.Вставить("Bitrix24_HookFileID", IDФайла); // SKIP
|
||||
|
||||
URL = ПараметрыФункции["Bitrix24_Domain"];
|
||||
Токен = ПараметрыФункции["Bitrix24_Token"];
|
||||
|
||||
Результат = OPI_Bitrix24.ЗагрузитьФайлВХранилище(URL, Наименование2, Картинка2, IDПриемника, , Токен);
|
||||
|
||||
// END
|
||||
|
||||
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗагрузитьФайлВХранилище", "Bitrix24");
|
||||
|
||||
Проверка_БитриксФайл(Результат);
|
||||
|
||||
IDФайла = Результат["result"]["ID"];
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_FileID", IDФайла);
|
||||
ПараметрыФункции.Вставить("Bitrix24_FileID", IDФайла);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Bitrix24_УдалитьФайл(ПараметрыФункции)
|
||||
|
||||
URL = ПараметрыФункции["Bitrix24_URL"];
|
||||
IDФайла = ПараметрыФункции["Bitrix24_HookFileID"];
|
||||
|
||||
Результат = OPI_Bitrix24.УдалитьФайл(URL, IDФайла);
|
||||
|
||||
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьФайл (хук)", "Bitrix24");
|
||||
|
||||
Проверка_БитриксИстина(Результат); // SKIP
|
||||
|
||||
URL = ПараметрыФункции["Bitrix24_Domain"];
|
||||
Токен = ПараметрыФункции["Bitrix24_Token"];
|
||||
IDФайла = ПараметрыФункции["Bitrix24_FileID"];
|
||||
|
||||
Результат = OPI_Bitrix24.УдалитьФайл(URL, IDФайла, Токен);
|
||||
|
||||
// END
|
||||
|
||||
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьФайл", "Bitrix24");
|
||||
|
||||
Проверка_БитриксИстина(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
Loading…
Reference in New Issue
Block a user