diff --git a/ci/os/tests_check.os b/ci/os/tests_check.os
index 983d3b7924..5046b5de80 100644
--- a/ci/os/tests_check.os
+++ b/ci/os/tests_check.os
@@ -31,7 +31,7 @@
     КонецЦикла;
 
 	Для Каждого Метод Из МассивМетодов Цикл
-		Вхождения = СтрЧислоВхождений(ТекстТестов, Метод);
+		Вхождения = СтрЧислоВхождений(ТекстТестов, СокрЛП(Метод));
 
 		Если Вхождения = 0 Тогда
 			Сообщить("Тест не реализован: " + Метод);
diff --git a/src/ru/OPI/src/CommonModules/OPI_VK/Module.bsl b/src/ru/OPI/src/CommonModules/OPI_VK/Module.bsl
index c00fa5cbcb..6167c3116b 100644
--- a/src/ru/OPI/src/CommonModules/OPI_VK/Module.bsl
+++ b/src/ru/OPI/src/CommonModules/OPI_VK/Module.bsl
@@ -1254,27 +1254,15 @@
 
 КонецФункции
 
-// Получить описание товара. !NOCLI
+// Получить описание товара
+// Получает шаблон описания для создания товара
 //
+// Параметры:
+//  Пустая - Булево - Истина > структура с пустыми значениями, Ложь > в значениях будут описания полей - empty
+//  
 // Возвращаемое значение:
-//  Соответствие Из КлючИЗначение - Пустое описание товара:
-//  *Имя - Строка - Имя товара
-//  *Описание - Строка - Описание товара
-//  *Категория - Строка - См. ПолучитьСписокКатегорийТоваров
-//  *Цена - Число - Цена товара
-//  *СтараяЦена - Число - Для отображения скидки/изменения цены
-//  *ОсновноеФото - Строка,ДвоичныеДанные - Двоичные данные или путь к фото
-//  *URL - Строка - Ссылка на страницу сайта магазина
-//  *ДополнительныеФото - Массив Из Строка - Двоичные данные или пути к фото
-//  *ЗначенияСвойств - Массив Из Строка - См.ДобавитьВариантСвойстваТовара
-//  *ГлавныйВГруппе - Булево - Главный в группе, если есть в группе
-//  *Ширина - Число - Ширина товара в мм.
-//  *Высота - Число - Высота товара в мм.
-//  *Глубина - Число - Глубина товара в мм.
-//  *Вес - Число - Вес в гр.
-//  *SKU - Строка - SKU
-//  *ДоступныйОстаток - Число - Остаток. -1 - не ограничено
-Функция ПолучитьОписаниеТовара() Экспорт
+//  Соответствие Из КлючИЗначение - Соответствие полей
+Функция ПолучитьОписаниеТовара(Знач Пустая = Ложь) Экспорт
 
     Товар = Новый Соответствие();
     Товар.Вставить("Имя"                , "Новый товар");     // Имя товара
@@ -1294,6 +1282,12 @@
     Товар.Вставить("SKU"                , Неопределено);      // Артикул
     Товар.Вставить("ДоступныйОстаток"   , 1);
 
+    Если Пустая Тогда
+        Для Каждого Характеристика Из Товар Цикл
+            Товар.Вставить(Характеристика.Ключ, "");
+        КонецЦикла;
+    КонецЕсли;
+    
     Возврат Товар;
 
 КонецФункции
diff --git a/src/ru/OPI/src/CommonModules/OPI_ПолучениеДанныхТестов/Module.bsl b/src/ru/OPI/src/CommonModules/OPI_ПолучениеДанныхТестов/Module.bsl
index 86b7cac39f..022b1b25b0 100644
--- a/src/ru/OPI/src/CommonModules/OPI_ПолучениеДанныхТестов/Module.bsl
+++ b/src/ru/OPI/src/CommonModules/OPI_ПолучениеДанныхТестов/Module.bsl
@@ -683,13 +683,18 @@
 
 КонецПроцедуры
 
-Процедура Проверка_ВККартинкаАльбома(Знач Результат, Знач ОписаниеКартинки, Знач ИДАльбома) Экспорт
+Процедура Проверка_ВККартинкаАльбома(Знач Результат, Знач ОписаниеКартинки, Знач ИДАльбома = "") Экспорт
 
     Response    = "response";
 
     ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
     ОжидаетЧто(Результат[Response][0]["text"]).Равно(ОписаниеКартинки);
-    ОжидаетЧто(Результат[Response][0]["album_id"]).Равно(ИДАльбома);
+    
+    Если ЗначениеЗаполнено(ИДАльбома) Тогда
+        ОжидаетЧто(Результат[Response][0]["album_id"]).Равно(ИДАльбома);
+    Иначе
+        ОжидаетЧто(Результат[Response][0]["album_id"]).Заполнено();
+    КонецЕсли;
 
 КонецПроцедуры
 
@@ -803,6 +808,13 @@
 
 КонецПроцедуры
 
+Процедура Проверка_ВККатегории(Знач Результат) Экспорт
+
+    ОжидаетЧто(Результат).ИмеетТип("Соответствие");
+    ОжидаетЧто(Результат["response"]["v2"]).ИмеетТип("Массив").Заполнено();
+    
+КонецПроцедуры
+
 Процедура Проверка_ЯДискДиск(Знач Результат) Экспорт
 
     Соответствие_ = "Соответствие";
@@ -1872,7 +1884,8 @@
         ПутьКФайлу = ПутьЛоговБиблиотеки + "/" + Метод + ".log";
         ФайлЛога   = Новый Файл(ПутьКФайлу);
 
-        Если Не ФайлЛога.Существует() Тогда
+        //Если Не ФайлЛога.Существует() Тогда
+        Если Истина Тогда
             ДокументЛога = Новый ТекстовыйДокумент;
             ДокументЛога.УстановитьТекст(Данные);
             ДокументЛога.Записать(ПутьКФайлу);
diff --git a/src/ru/OPI/src/CommonModules/OPI_Тесты/Module.bsl b/src/ru/OPI/src/CommonModules/OPI_Тесты/Module.bsl
index 07572b7348..01048c0977 100644
--- a/src/ru/OPI/src/CommonModules/OPI_Тесты/Module.bsl
+++ b/src/ru/OPI/src/CommonModules/OPI_Тесты/Module.bsl
@@ -384,6 +384,7 @@
     VK_СохранитьКартинкуВАльбом(ПараметрыТеста);
     VK_УдалитьКартинку(ПараметрыТеста);
     VK_УдалитьАльбом(ПараметрыТеста);
+    VK_ЗагрузитьФотоНаСервер(ПараметрыТеста);
 
 КонецПроцедуры
 
@@ -427,6 +428,7 @@
     VK_ПоставитьЛайк(ПараметрыТеста);
     VK_СделатьРепост(ПараметрыТеста);
     VK_НаписатьКомментарий(ПараметрыТеста);
+    VK_СкоратитьСсылку(ПараметрыТеста);
 
     OPI_VK.УдалитьПост(ИДПоста                 , Параметры);
     OPI_VK.УдалитьПост(ПараметрыТеста["Repost"], Параметры);
@@ -472,6 +474,7 @@
     VK_СоздатьРекламнуюКампанию(ПараметрыТеста);
     VK_СоздатьРекламноеОбъявление(ПараметрыТеста);
     VK_ПриостановитьРекламноеОбъявление(ПараметрыТеста);
+    VK_ПолучитьСписокРекламныхКатегорий(ПараметрыТеста);
 
     OPI_VK.УдалитьПост(ИДПоста, Параметры);
 
@@ -511,6 +514,7 @@
 
     VK_СоздатьПодборкуТоваров(ПараметрыТеста);
     VK_ИзменитьПодборкуТоваров(ПараметрыТеста);
+    VK_ПолучитьПодборкиПоИД(ПараметрыТеста);
     VK_ДобавитьТовар(ПараметрыТеста);
     VK_ИзменитьТовар(ПараметрыТеста);
     VK_ДобавитьТоварВПодборку(ПараметрыТеста);
@@ -530,6 +534,7 @@
     OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture" , ПараметрыТеста);
     OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture2", ПараметрыТеста);
 
+    VK_ПолучитьОписаниеТовара(ПараметрыТеста);
     VK_СоздатьСвойствоТовара(ПараметрыТеста);
     VK_ИзменитьСвойствоТовара(ПараметрыТеста);
     VK_ДобавитьВариантСвойстваТовара(ПараметрыТеста);
@@ -1003,6 +1008,7 @@
     Twitter_СоздатьТвитГифки(ПараметрыТеста);
     Twitter_СоздатьТвитОпрос(ПараметрыТеста);
     Twitter_СоздатьПроизвольныйТвит(ПараметрыТеста);
+    Twitter_ЗагрузитьМассивВложений(ПараметрыТеста);
 
 КонецПроцедуры
 
@@ -3482,13 +3488,26 @@
     Результат  = OPI_VK.ИзменитьПодборкуТоваров(Название, Подборка, , , , Параметры);
 
     OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьПодборкуТоваров", "VK");
-
     OPI_ПолучениеДанныхТестов.Проверка_ВКИстина(Результат);
 
     OPI_Инструменты.Пауза(5);
 
 КонецПроцедуры
 
+Процедура VK_ПолучитьПодборкиПоИД(ПараметрыФункции)
+    
+    Параметры = ПолучитьПараметрыВК();
+    Подборка  = ПараметрыФункции["VK_MarketAlbumID"];
+    
+    Результат = OPI_VK.ПолучитьПодборкиПоИД(Подборка, Параметры);
+    
+    // END
+    
+    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьПодборкиПоИД", "VK");
+    OPI_ПолучениеДанныхТестов.Проверка_Массив(Результат, 1);
+    
+КонецПроцедуры
+
 Процедура VK_ДобавитьТовар(ПараметрыФункции)
 
     Параметры = ПолучитьПараметрыВК();
@@ -3921,7 +3940,7 @@
 
     Параметры    = ПолучитьПараметрыВК();
 
-    Видео        = ПараметрыФункции["Video"];
+    Видео        = ПараметрыФункции["Video"]; // URL, Двоичные данные или Путь к файлу
     Наименование = "Новое видео";
     Описание     = "Описание видео";
 
@@ -3930,13 +3949,65 @@
     // END
 
     OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗагрузитьВидеоНаСервер", "VK");
-
     OPI_ПолучениеДанныхТестов.Проверка_ВКВидео(Результат);
 
     OPI_Инструменты.Пауза(5);
 
 КонецПроцедуры
 
+Процедура VK_ЗагрузитьФотоНаСервер(ПараметрыФункции)
+    
+    Параметры    = ПолучитьПараметрыВК();
+
+    Картинка = ПараметрыФункции["Picture"]; // URL, Двоичные данные или Путь к файлу
+    Вид      = "Пост"; 
+    
+    Результат = OPI_VK.ЗагрузитьФотоНаСервер(Картинка, Параметры, Вид);
+    
+    // END
+    
+    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗагрузитьВидеоНаСервер", "VK");
+    OPI_ПолучениеДанныхТестов.Проверка_ВККартинкаАльбома(Результат, ""); 
+    
+КонецПроцедуры
+
+Процедура VK_СкоратитьСсылку(ПараметрыФункции)
+    
+    Результат = OPI_VK.СократитьСсылку("https://github.com/Bayselonarrend/OpenIntegrations", Параметры);
+    
+    // END
+    
+    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СократитьСсылку", "VK");
+    OPI_ПолучениеДанныхТестов.Проверка_Строка(Результат);
+    
+КонецПроцедуры
+
+Процедура VK_ПолучитьСписокРекламныхКатегорий(ПараметрыФункции)
+    
+    Параметры = ПолучитьПараметрыВК();
+    
+    Результат = OPI_VK.ПолучитьСписокРекламныхКатегорий(Параметры);
+    
+    // END
+    
+    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокРекламныхКатегорий", "VK");
+    OPI_ПолучениеДанныхТестов.Проверка_ВККатегории(Результат);
+    
+КонецПроцедуры
+
+Процедура VK_ПолучитьОписаниеТовара(ПараметрыФункции)
+    
+    Параметры = ПолучитьПараметрыВК();
+    
+    Результат = OPI_VK.ПолучитьОписаниеТовара();
+    
+    // END
+    
+    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьОписаниеТовара", "VK");
+    OPI_ПолучениеДанныхТестов.Проверка_Соответствие(Результат);
+    
+КонецПроцедуры
+
 #КонецОбласти
 
 #Область YandexDisk
@@ -6630,9 +6701,6 @@
 
     Картинка1 = ПараметрыФункции["Picture"];  // URL, Двоичные данные или Путь к файлу
     Картинка2 = ПараметрыФункции["Picture2"]; // URL, Двоичные данные или Путь к файлу
-    Гифка     = ПараметрыФункции["GIF"];      // URL, Двоичные данные или Путь к файлу
-
-    МассивМедиа = Новый Массив;
 
     МассивКартинок = Новый Массив();
     МассивКартинок.Добавить(Картинка1);
@@ -6650,6 +6718,24 @@
 
 КонецПроцедуры
 
+Процедура Twitter_ЗагрузитьМассивВложений(ПараметрыФункции)
+    
+    Картинка1 = ПараметрыФункции["Picture"];  // URL, Двоичные данные или Путь к файлу
+    Картинка2 = ПараметрыФункции["Picture2"]; // URL, Двоичные данные или Путь к файлу
+    
+    МассивКартинок = Новый Массив();
+    МассивКартинок.Добавить(Картинка1);
+    МассивКартинок.Добавить(Картинка2);
+    
+    Результат = OPI_Twitter.ЗагрузитьМассивВложений(МассивКартинок, "photo", Параметры);
+    
+    // END
+    
+    OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗагрузитьМассивВложений", "Twitter");
+    OPI_ПолучениеДанныхТестов.Проверка_Массив(Результат);
+    
+КонецПроцедуры
+
 #КонецОбласти
 
 #Область Notion