1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2025-08-13 20:05:19 +02:00

VK: все по товарам, кроме заказов

This commit is contained in:
Anton
2024-02-16 18:59:23 +03:00
parent 5e04a5f9ec
commit 0b2035fdcd
2 changed files with 544 additions and 64 deletions

View File

@@ -784,38 +784,77 @@
#Область РаботаСТоварами
Функция ДобавитьТовар(Знач ОписаниеТовара, Знач Подборка = "", Знач Параметры = "") Экспорт
Функция ПолучитьСписокКатегорийТоваров(Знач Параметры = "") Экспорт
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
Параметры_.Вставить("v", "5.199");
ОсновноеФото = ОписаниеТовара["ОсновноеФото"];
ДопФото = ОписаниеТовара["ДополнительныеФото"];
Подборка = OPI_Инструменты.ЧислоВСтроку(Подборка);
Ответ = OPI_Инструменты.Get("api.vk.com/method/market.getCategories", Параметры_);
Количество = Ответ["response"]["count"];
Если ЗначениеЗаполнено(ОсновноеФото) Тогда
Ответ = ЗагрузитьФотоНаСервер(ОсновноеФото, Параметры_, "Товар");
ИДФото = Ответ["response"]["photo_id"];
ИДФото = OPI_Инструменты.ЧислоВСтроку(ИДФото);
Параметры_.Вставить("main_photo_id", ИДФото);
КонецЕсли;
Параметры_.Вставить("count", Количество);
Ответ = OPI_Инструменты.Get("api.vk.com/method/market.getCategories", Параметры_);
Категории = Ответ["response"]["items"];
ДобавитьДополнительныеФотоТовара(ДопФото, Параметры_);
СоответствиеКатегорий = Новый Соответствие;
Для Каждого Поле Из ПолучитьСоответствиеПараметровТовара() Цикл
Параметры_.Вставить(Поле.Значение, ОписаниеТовара[Поле.Ключ]);
Для Каждого Категория Из Категории Цикл
СоответствиеКатегорий.Вставить(Категория["id"], Категория["name"]);
КонецЦикла;
Ответ = OPI_Инструменты.Get("api.vk.com/method/market.add", Параметры_);
ИДТовара = Ответ["response"]["market_item_id"];
ИДТовара = OPI_Инструменты.ЧислоВСтроку(ИДТовара);
Возврат СоответствиеКатегорий;
Если ЗначениеЗаполнено(Подборка) Тогда
ОтветПодборки = ДобавитьТоварВПодборку(ИДТовара, Подборка, Параметры_);
КонецФункции
Функция ПолучитьСписокТоваров(Знач Альбом = "", Знач Параметры = "") Экспорт
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
Параметры_.Вставить("count" , 200);
Параметры_.Вставить("extended" , 1);
Параметры_.Вставить("with_disabled", 1);
Если ЗначениеЗаполнено(Альбом) Тогда
Параметры_.Вставить("album_id", OPI_Инструменты.ЧислоВСтроку(Альбом));
КонецЕсли;
МассивТоваров = Новый Массив;
ПолучитьСписокТоваровРекурсивно(МассивТоваров, Параметры_);
Возврат МассивТоваров;
КонецФункции
Функция ПолучитьТоварыПоИД(Знач Товары, Знач Параметры = "") Экспорт
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
СтрокаТоваров = "";
Если ТипЗнч(Товары) <> Тип("Массив") Тогда
Товар = Товары;
Товары = Новый Массив;
Товары.Добавить(Товар);
КонецЕсли;
Для Каждого Товар Из Товары Цикл
ТекущийТовар = Параметры["owner_id"] + "_" + Товар;
ТекущийТовар = OPI_Инструменты.ЧислоВСтроку(ТекущийТовар);
СтрокаТоваров = СтрокаТоваров + ТекущийТовар + ",";
КонецЦикла;
СтрокаТоваров = Лев(СтрокаТоваров, СтрДлина(СтрокаТоваров) - 1);
Параметры_.Вставить("item_ids", СтрокаТоваров);
Параметры_.Вставить("extended", 1);
Ответ = OPI_Инструменты.Get("api.vk.com/method/market.getById", Параметры_);
Возврат Ответ;
КонецФункции
Функция ДобавитьТовар(Знач ОписаниеТовара, Знач Подборка = "", Знач Параметры = "") Экспорт
Возврат УправлениеТоваром(ОписаниеТовара, , Подборка, Параметры);
КонецФункции
Функция ИзменитьТовар(Знач ИДТовара, Знач ОписаниеТовара, Знач Подборка = "", Знач Параметры = "") Экспорт
Возврат УправлениеТоваром(ОписаниеТовара, ИДТовара, Подборка, Параметры);
КонецФункции
Функция УдалитьТовар(Знач Товар, Знач Параметры = "") Экспорт
@@ -831,6 +870,29 @@
КонецФункции
Функция СгруппироватьТовары(Знач МассивТоваров, Знач СуществующаяГруппа = "", Знач Параметры = "") Экспорт
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
МассивТоваров_ = Новый Массив;
Для Каждого Товар Из МассивТоваров Цикл
МассивТоваров_.Добавить(OPI_Инструменты.ЧислоВСтроку(Товар));
КонецЦикла;
Товары = СтрСоединить(МассивТоваров_, ",");
Параметры_.Вставить("item_ids", Товары);
Если ЗначениеЗаполнено(СуществующаяГруппа) Тогда
Параметры_.Вставить("item_group_id", OPI_Инструменты.ЧислоВСтроку(СуществующаяГруппа));
КонецЕсли;
Ответ = OPI_Инструменты.Get("api.vk.com/method/market.groupItems", Параметры_);
Возврат Ответ;
КонецФункции
Функция ПолучитьОписаниеТовара() Экспорт
Товар = Новый Соответствие();
@@ -856,29 +918,47 @@
КонецФункции
Функция ПолучитьСписокКатегорийТоваров(Знач Параметры = "") Экспорт
#КонецОбласти
#Область РаботаСПодборкамиТоваров
Функция ПолучитьСписокПодборок(Знач Параметры = "") Экспорт
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
Ответ = OPI_Инструменты.Get("api.vk.com/method/market.getCategories", Параметры_);
Количество = Ответ["response"]["count"];
Параметры_.Вставить("count", 100);
Параметры_.Вставить("count", Количество);
Ответ = OPI_Инструменты.Get("api.vk.com/method/market.getCategories", Параметры_);
Категории = Ответ["response"]["items"];
МассивАльбомов = Новый Массив;
ПолучитьСписокАльбомовРекурсивно(МассивАльбомов, Параметры_);
СоответствиеКатегорий = Новый Соответствие;
Для Каждого Категория Из Категории Цикл
СоответствиеКатегорий.Вставить(Категория["id"], Категория["name"]);
КонецЦикла;
Возврат СоответствиеКатегорий;
Возврат МассивАльбомов;
КонецФункции
#КонецОбласти
#Область РаботаСПодборками
Функция ПолучитьПодборкиПоИД(Знач Подборки, Знач Параметры = "") Экспорт
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
СтрокаПодборок = "";
Если ТипЗнч(Подборки) <> Тип("Массив") Тогда
Подборка = Подборки;
Подборки = Новый Массив;
Подборки.Добавить(Подборка);
КонецЕсли;
Для Каждого Подборка Из Подборки Цикл
//ТекущаяПодборка = Параметры["owner_id"] + "_" + Товар;
ТекущаяПодборка = OPI_Инструменты.ЧислоВСтроку(Подборка);
СтрокаПодборок = СтрокаПодборок + ТекущаяПодборка + ",";
КонецЦикла;
СтрокаПодборок = Лев(СтрокаПодборок, СтрДлина(СтрокаПодборок) - 1);
Параметры_.Вставить("album_ids", СтрокаПодборок);
Ответ = OPI_Инструменты.Get("api.vk.com/method/market.getAlbumById", Параметры_);
Возврат Ответ;
КонецФункции
Функция СоздатьПодборкуТоваров(Знач Название
, Знач Картинка
@@ -886,20 +966,19 @@
, Знач Скрытая = Ложь
, Знач Параметры = "") Экспорт
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
Ответ = ЗагрузитьФотоНаСервер(Картинка, Параметры_, "Товар");
ИДФото = Ответ["response"]["photo_id"];
ИДФото = OPI_Инструменты.ЧислоВСтроку(ИДФото);
Параметры_.Вставить("photo_id" , ИДФото);
Параметры_.Вставить("title" , Название);
Параметры_.Вставить("main_album" , ?(Основная, 1, 0));
Параметры_.Вставить("is_hidden" , ?(Скрытая, 1, 0));
Возврат УправлениеПодборкой(Название, Картинка, , Основная, Скрытая, Параметры);
Ответ = OPI_Инструменты.Get("api.vk.com/method/market.addAlbum", Параметры_);
Возврат Ответ;
КонецФункции
Функция ИзменитьПодборкуТоваров(Знач Название
, Знач Подборка
, Знач Картинка = ""
, Знач Основная = Ложь
, Знач Скрытая = Ложь
, Знач Параметры = "") Экспорт
Возврат УправлениеПодборкой(Название, Картинка, Подборка, Основная, Скрытая, Параметры);
КонецФункции
Функция ДобавитьТоварВПодборку(Знач МассивТовар, Знач Подборка, Знач Параметры = "") Экспорт
@@ -931,6 +1010,20 @@
КонецФункции
Функция УдалитьТоварИзПодборки(Знач Товар, Знач Подборка, Знач Параметры = "") Экспорт
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
Подборка = OPI_Инструменты.ЧислоВСтроку(Подборка);
Параметры_.Вставить("item_id" , OPI_Инструменты.ЧислоВСтроку(Товар));
Параметры_.Вставить("album_ids", Подборка);
Ответ = OPI_Инструменты.Get("api.vk.com/method/market.removeFromAlbum", Параметры_);
Возврат Ответ;
КонецФункции
Функция УдалитьПодборку(Знач Подборка, Знач Параметры = "") Экспорт
Подборка = OPI_Инструменты.ЧислоВСтроку(Подборка);
@@ -948,6 +1041,17 @@
#Область РаботаСоСвойствамиТоваров
Функция ПолучитьСписокСвойств(Знач Параметры = "") Экспорт
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
Ответ = OPI_Инструменты.Get("api.vk.com/method/market.getProperties", Параметры_);
Свойства = Ответ["response"]["items"];
Возврат Свойства;
КонецФункции
Функция СоздатьСвойствоТовара(Знач Название, Знач Параметры = "") Экспорт
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
@@ -970,11 +1074,24 @@
КонецФункции
Функция ИзменитьСвойствоТовара(Знач Название, Знач Свойство, Знач Параметры = "") Экспорт
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
Параметры_.Вставить("title" , Название);
Параметры_.Вставить("property_id", OPI_Инструменты.ЧислоВСтроку(Свойство));
Параметры_.Вставить("type" , "text");
Ответ = OPI_Инструменты.Get("api.vk.com/method/market.editProperty", Параметры_);
Возврат Ответ;
КонецФункции
Функция ДобавитьВариантСвойстваТовара(Знач Значение, Знач Свойство, Знач Параметры = "") Экспорт
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
Параметры_.Вставить("property_id", OPI_Инструменты.ЧислоВСтроку(Свойство));
Параметры_.Вставить("title" , Свойство);
Параметры_.Вставить("title" , Значение);
Ответ = OPI_Инструменты.Get("api.vk.com/method/market.addPropertyVariant", Параметры_);
@@ -982,6 +1099,19 @@
КонецФункции
Функция ИзменитьВариантСвойстваТовара(Знач Значение, Знач Свойство, Знач Вариант, Знач Параметры = "") Экспорт
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
Параметры_.Вставить("property_id", OPI_Инструменты.ЧислоВСтроку(Свойство));
Параметры_.Вставить("variant_id" , OPI_Инструменты.ЧислоВСтроку(Вариант));
Параметры_.Вставить("title" , Значение);
Ответ = OPI_Инструменты.Get("api.vk.com/method/market.editPropertyVariant", Параметры_);
Возврат Ответ;
КонецФункции
Функция УдалитьВариантСвойстваТовара(Знач Вариант, Знач Параметры = "") Экспорт
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
@@ -1149,19 +1279,99 @@
Поля.Вставить("СтараяЦена" , "old_price");
Поля.Вставить("URL" , "url");
Поля.Вставить("ГлавныйВГруппе" , "is_main_variant");
Поля.Вставить("НомерГруппы" , "variant_ids");
Поля.Вставить("Ширина" , "dimension_width");
Поля.Вставить("Высота" , "dimension_height");
Поля.Вставить("Глубина" , "dimension_length");
Поля.Вставить("Вес" , "weight");
Поля.Вставить("SKU" , "sku");
Поля.Вставить("ДоступныйОстаток" , "stock_amount");
Поля.Вставить("ЗначенияСвойств" , "variant_ids");
Возврат Поля;
КонецФункции
Функция УправлениеТоваром(Знач ОписаниеТовара, Знач ИДТовара = "", Знач Подборка = "", Знач Параметры = "")
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
Параметры_.Вставить("v", "5.199");
Подборка = OPI_Инструменты.ЧислоВСтроку(Подборка);
ЗаполнитьПоляЗапросаТовара(ОписаниеТовара, Параметры_);
Если ЗначениеЗаполнено(ИДТовара) Тогда
Параметры_.Вставить("item_id", OPI_Инструменты.ЧислоВСтроку(ИДТовара));
Метод = "edit";
Иначе
Метод = "add";
КонецЕсли;
Ответ = OPI_Инструменты.Get("api.vk.com/method/market." + Метод, Параметры_);
Если Не ЗначениеЗаполнено(ИДТовара) Тогда
ИДТовара = Ответ["response"]["market_item_id"];
ИДТовара = OPI_Инструменты.ЧислоВСтроку(ИДТовара);
КонецЕсли;
Если ЗначениеЗаполнено(Подборка) Тогда
ОтветПодборки = ДобавитьТоварВПодборку(ИДТовара, Подборка, Параметры_);
КонецЕсли;
Возврат Ответ;
КонецФункции
Функция УправлениеПодборкой(Знач Название
, Знач Картинка = ""
, Знач ИДПодборки = ""
, Знач Основная = Ложь
, Знач Скрытая = Ложь
, Знач Параметры = "")
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
Если ЗначениеЗаполнено(Картинка) Тогда
Ответ = ЗагрузитьФотоНаСервер(Картинка, Параметры_, "Товар");
ИДФото = Ответ["response"]["photo_id"];
ИДФото = OPI_Инструменты.ЧислоВСтроку(ИДФото);
Параметры_.Вставить("photo_id", ИДФото);
Иначе
Если ЗначениеЗаполнено(ИДПодборки) Тогда
Подборки = OPI_VK.ПолучитьПодборкиПоИД(ИДПодборки, Параметры_);
Подборки = Подборки["response"]["items"];
Если Не Подборки.Количество() = 0 Тогда
ИДФото = Подборки[0]["photo"]["id"];
ИДФото = OPI_Инструменты.ЧислоВСтроку(ИДФото);
Параметры_.Вставить("photo_id", ИДФото);
КонецЕсли;
КонецЕсли;
КонецЕсли;
Параметры_.Вставить("title" , Название);
Параметры_.Вставить("main_album" , ?(Основная, 1, 0));
Параметры_.Вставить("is_hidden" , ?(Скрытая, 1, 0));
Если ЗначениеЗаполнено(ИДПодборки) Тогда
Параметры_.Вставить("album_id", OPI_Инструменты.ЧислоВСтроку(ИДПодборки));
Метод = "editAlbum";
Иначе
Метод = "addAlbum";
КонецЕсли;
Ответ = OPI_Инструменты.Get("api.vk.com/method/market." + Метод, Параметры_);
Возврат Ответ;
КонецФункции
Процедура ЗаполнитьПараметрыЗагрузкиФото(Знач Метод, Знач Ответ, Параметры)
Способ = Метод["Способ"];
@@ -1199,6 +1409,49 @@
КонецПроцедуры
Процедура ЗаполнитьПоляЗапросаТовара(Знач ОписаниеТовара, Параметры)
ОсновноеФото = ОписаниеТовара["ОсновноеФото"];
ДопФото = ОписаниеТовара["ДополнительныеФото"];
Свойства = ОписаниеТовара["ЗначенияСвойств"];
Если ЗначениеЗаполнено(ОсновноеФото) Тогда
Ответ = ЗагрузитьФотоНаСервер(ОсновноеФото, Параметры, "Товар");
ИДФото = Ответ["response"]["photo_id"];
ИДФото = OPI_Инструменты.ЧислоВСтроку(ИДФото);
Параметры.Вставить("main_photo_id", ИДФото);
КонецЕсли;
Если ТипЗнч(Свойства) = Тип("Массив") Тогда
Свойства_ = Новый Массив;
Для Каждого Свойство Из Свойства Цикл
Свойства_.Добавить(OPI_Инструменты.ЧислоВСтроку(Свойство));
КонецЦикла;
Свойства = СтрСоединить(Свойства_, ",");
КонецЕсли;
Если ЗначениеЗаполнено(Свойства) Тогда
Параметры.Вставить("variant_ids", OPI_Инструменты.ЧислоВСтроку(Свойства));
КонецЕсли;
ДобавитьДополнительныеФотоТовара(ДопФото, Параметры);
Для Каждого Поле Из ПолучитьСоответствиеПараметровТовара() Цикл
Значение = ОписаниеТовара[Поле.Ключ];
Если Значение <> Неопределено Тогда
Параметры.Вставить(Поле.Значение, ОписаниеТовара[Поле.Ключ]);
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Процедура ДобавитьДополнительныеФотоТовара(Знач МассивФото, Параметры)
Если ТипЗнч(МассивФото) = Тип("Массив") Тогда
@@ -1222,4 +1475,44 @@
КонецПроцедуры
Процедура ПолучитьСписокТоваровРекурсивно(МассивТоваров, Параметры, Сдвиг = 0)
МаксимумВЗапросе = 200;
Ответ = OPI_Инструменты.Get("api.vk.com/method/market.get", Параметры);
Товары = Ответ["response"]["items"];
Если Товары.Количество() = 0 Тогда
Возврат;
КонецЕсли;
Для Каждого Товар Из Товары Цикл
МассивТоваров.Добавить(Товар);
КонецЦикла;
Сдвиг = Сдвиг + МаксимумВЗапросе;
Параметры.Вставить("offset", Сдвиг);
ПолучитьСписокТоваровРекурсивно(МассивТоваров, Параметры, Сдвиг);
КонецПроцедуры
Процедура ПолучитьСписокАльбомовРекурсивно(МассивАльбомов, Параметры, Сдвиг = 0)
МаксимумВЗапросе = 100;
Ответ = OPI_Инструменты.Get("api.vk.com/method/market.getAlbums", Параметры);
Альбомы = Ответ["response"]["items"];
Если Альбомы.Количество() = 0 Тогда
Возврат;
КонецЕсли;
Для Каждого Альбом Из Альбомы Цикл
МассивАльбомов.Добавить(Альбом);
КонецЦикла;
Сдвиг = Сдвиг + МаксимумВЗапросе;
Параметры.Вставить("offset", Сдвиг);
ПолучитьСписокАльбомовРекурсивно(МассивАльбомов, Параметры, Сдвиг);
КонецПроцедуры
#КонецОбласти

View File

@@ -42,6 +42,10 @@
.ДобавитьСерверныйТест("ВК_ОтправитьСообщение" , "Отправить сообщение")
.ДобавитьСерверныйТест("ВК_ПолучитьКатегорииТоваров" , "Получить категории товаров")
.ДобавитьСерверныйТест("ВК_СоздатьТоварПодборку" , "Создать товар и подборку")
.ДобавитьСерверныйТест("ВК_СоздатьТоварСоСвойствами" , "Создать товар со свойствами")
.ДобавитьСерверныйТест("ВК_ПолучитьСписокТоваров" , "Получить список товаров")
.ДобавитьСерверныйТест("ВК_ПолучитьСписокПодборок" , "Получить список подборок")
.ДобавитьСерверныйТест("ВК_ПолучитьСписокСвойств" , "Получить список свойств")
.ДобавитьТестовыйНабор("Яндекс.Диск")
.ДобавитьСерверныйТест("ЯДиск_ПолучитьИнформациюОДиске" , "Получить информацию о диске")
@@ -890,15 +894,23 @@
, Картинка
, Истина
, Ложь
, Параметры);
, Параметры);
ЮТОбщий.Пауза(5);
ЮТест.ОжидаетЧто(Результат)
.ИмеетТип("Соответствие")
.Свойство("response.albums_count").ИмеетТип("Число").Заполнено()
.Свойство("response.market_album_id").ИмеетТип("Число").Заполнено();
ИДПодборки = Результат["response"]["market_album_id"];
Результат = OPI_VK.ИзменитьПодборкуТоваров("Измененная подборка", ИДПодборки, , , , Параметры);
ЮТОбщий.Пауза(5);
ЮТест.ОжидаетЧто(Результат)
.ИмеетТип("Соответствие")
.Свойство("response").ИмеетТип("Число").Равно(1);
МассивКартинок = Новый Массив;
МассивКартинок.Добавить(ИВФ);
МассивКартинок.Добавить(Картинка);
@@ -929,19 +941,38 @@
ИДТовара = Результат["response"]["market_item_id"];
Товар = Новый Соответствие;
Товар.Вставить("Имя", "Тестовый товар измененный");
Результат = OPI_VK.ИзменитьТовар(ИДТовара, Товар, , Параметры); // Изменение товара
ЮТест.ОжидаетЧто(Результат)
.ИмеетТип("Соответствие")
.Свойство("response").ИмеетТип("Число").Равно(1);
Результат = OPI_VK.ДобавитьТоварВПодборку(ИДТовара, ИДПодборки, Параметры); // Добавление в подборку
ЮТОбщий.Пауза(5);
ЮТест.ОжидаетЧто(Результат)
.ИмеетТип("Соответствие")
.Свойство("response").ИмеетТип("Число").Заполнено();
Результат = OPI_VK.УдалитьТоварИзПодборки(ИДТовара, ИДПодборки, Параметры); // Удаляет из подборки
ЮТОбщий.Пауза(5);
ЮТест.ОжидаетЧто(Результат)
.ИмеетТип("Соответствие")
.Свойство("response").ИмеетТип("Число").Равно(1);
Результат = OPI_VK.УдалитьТовар(ИДТовара, Параметры); // Удаление товара
ЮТОбщий.Пауза(5);
ЮТест.ОжидаетЧто(Результат)
.ИмеетТип("Соответствие")
.Свойство("response").ИмеетТип("Число").Равно(1);
Результат = OPI_VK.УдалитьПодборку(ИДПодборки, Параметры); // Уадление подборки
ЮТОбщий.Пауза(5);
ЮТест.ОжидаетЧто(Результат)
.ИмеетТип("Соответствие")
@@ -962,16 +993,136 @@
МассивВариантов.Добавить("Красный");
Результат = OPI_VK.СоздатьСвойствоТовара("Цвет", Параметры);
Свойство = Результат["response"]["property_id"];
Свойство = OPI_Инструменты.ЧислоВСтроку(Свойство);
СоответствиеСвойств = Новый Соответствие;
ЮТест.ОжидаетЧто(Результат)
.ИмеетТип("Соответствие")
.Свойство("response.property_id").ИмеетТип("Число").Заполнено();
Результат = OPI_VK.ИзменитьСвойствоТовара("Цвет (изм.)", Свойство, Параметры);
ЮТест.ОжидаетЧто(Результат)
.ИмеетТип("Соответствие")
.Заполнено()
.Свойство("response").ИмеетТип("Число").Равно(1);
Для Каждого Вариант Из МассивВариантов Цикл
Результат = OPI_VK.ДобавитьВариантСвойстваТовара(Вариант, Свойство, Параметры);
ЮТест.ОжидаетЧто(Результат)
.ИмеетТип("Соответствие")
.Свойство("response.variant_id").ИмеетТип("Число").Заполнено();
ИДВарианта = Результат["response"]["variant_id"];
СоответствиеСвойств.Вставить(Вариант, ИДВарианта);
Результат = OPI_VK.ИзменитьВариантСвойстваТовара(Вариант + " (изм.)"
, Свойство
, ИДВарианта
, Параметры);
ЮТест.ОжидаетЧто(Результат)
.ИмеетТип("Соответствие")
.Заполнено()
.Свойство("response").ИмеетТип("Число").Равно(1);
КонецЦикла;
МассивКартинок = Новый Массив;
МассивКартинок.Добавить(ИВФ);
МассивКартинок.Добавить(Картинка);
Товар = Новый Соответствие();
Товар.Вставить("Имя" , "Тестовый товар (" + "Желтый" + ")");
Товар.Вставить("Описание" , "Описание товара");
Товар.Вставить("Категория" , "20173");
Товар.Вставить("Цена" , 1);
Товар.Вставить("СтараяЦена" , 15);
Товар.Вставить("ОсновноеФото" , Картинка);
Товар.Вставить("URL" , "https://github.com/Bayselonarrend/OpenIntegrations");
Товар.Вставить("ДополнительныеФото" , МассивКартинок);
Товар.Вставить("ГлавныйВГруппе" , Истина);
Товар.Вставить("НомерГруппы" , Неопределено);
Товар.Вставить("Ширина" , 20);
Товар.Вставить("Высота" , 30);
Товар.Вставить("Глубина" , 40);
Товар.Вставить("Вес" , 100);
Товар.Вставить("SKU" , 12345);
Товар.Вставить("ДоступныйОстаток" , "10");
Товар.Вставить("ЗначенияСвойств" , СоответствиеСвойств["Желтый"]);
Результат = OPI_VK.ДобавитьТовар(Товар, , Параметры); // Добавление товара
ЮТОбщий.Пауза(10);
ИДЖелтого = Результат["response"]["market_item_id"];
ЮТест.ОжидаетЧто(Результат)
.ИмеетТип("Соответствие")
.Свойство("response.market_item_id").ИмеетТип("Число").Заполнено();
Товар.Вставить("Имя" , "Тестовый товар (" + "Красный" + ")");
Товар.Вставить("ЗначенияСвойств", СоответствиеСвойств["Красный"]);
Результат = OPI_VK.ДобавитьТовар(Товар, , Параметры); // Добавление товара
ЮТОбщий.Пауза(10);
ИДКрасного = Результат["response"]["market_item_id"];
ЮТест.ОжидаетЧто(Результат)
.ИмеетТип("Соответствие")
.Свойство("response.market_item_id").ИмеетТип("Число").Заполнено();
МассивТоваров = Новый Массив;
МассивТоваров.Добавить(ИДЖелтого);
МассивТоваров.Добавить(ИДКрасного);
Результат = OPI_VK.ПолучитьТоварыПоИД(МассивТоваров, Параметры);
ЮТест.ОжидаетЧто(Результат)
.ИмеетТип("Соответствие")
.Свойство("response.items").ИмеетТип("Массив").ИмеетДлину(2);
Результат = OPI_VK.СгруппироватьТовары(МассивТоваров, , Параметры);
ЮТест.ОжидаетЧто(Результат)
.ИмеетТип("Соответствие")
.Свойство("response.item_group_id").ИмеетТип("Число").Заполнено();
OPI_VK.УдалитьТовар(ИДЖелтого , Параметры);
OPI_VK.УдалитьТовар(ИДКрасного, Параметры);
Для Каждого Вариант Из СоответствиеСвойств Цикл
Удаление = OPI_VK.УдалитьВариантСвойстваТовара(Вариант.Значение, Параметры);
ЮТест.ОжидаетЧто(Удаление)
.ИмеетТип("Соответствие")
.Заполнено()
.Свойство("response").ИмеетТип("Число").Равно(1);
КонецЦикла;
Удаление = OPI_VK.УдалитьСвойствоТовара(Свойство, Параметры);
ЮТест.ОжидаетЧто(Удаление)
.ИмеетТип("Соответствие")
.Заполнено()
.Свойство("response").ИмеетТип("Число").Равно(1);
Конецпроцедуры
Процедура ВК_ПолучитьСписокТоваров() Экспорт
Параметры = ПолучитьПараметрыВК();
Картинка = ПолучитьДвоичные("Картинка");
МассивКартинок = Новый Массив;
МассивКартинок.Добавить(Картинка);
Товар = Новый Соответствие();
Товар.Вставить("Имя" , "Тестовый товар 2");
Товар.Вставить("Описание" , "Описание товара");
@@ -990,16 +1141,52 @@
Товар.Вставить("SKU" , 12345);
Товар.Вставить("ДоступныйОстаток" , "10");
Результат = OPI_VK.ДобавитьТовар(Товар, , Параметры); // Добавление товара
Результат = OPI_VK.ДобавитьТовар(Товар, , Параметры);
ИДТовара = Результат["response"]["market_item_id"];
ЮТОбщий.Пазуа(5);
Результат = OPI_VK.ПолучитьСписокТоваров(, Параметры);
ЮТОбщий.Пазуа(5);
ЮТест.ОжидаетЧто(Результат)
.ИмеетТип("Соответствие")
.Свойство("response.market_item_id").ИмеетТип("Число").Заполнено();
ИДТовара = Результат["response"]["market_item_id"];
OPI_VK.УдалитьТовар(ИДТовара, Параметры); // Удаление товара
.ИмеетТип("Массив").Заполнено();
OPI_VK.УдалитьТовар(ИДТовара, Параметры);
КонецПроцедуры
Процедура ВК_ПолучитьСписокПодборок() Экспорт
Параметры = ПолучитьПараметрыВК();
Картинка = ПолучитьДвоичные("Картинка");
Результат = OPI_VK.СоздатьПодборкуТоваров("Тестовая подборка"
, Картинка
, Истина
, Ложь
, Параметры);
ИДПодборки = Результат["response"]["market_album_id"];
Результат = OPI_VK.ПолучитьСписокПодборок(Параметры);
ЮТОбщий.Пазуа(5);
ЮТест.ОжидаетЧто(Результат)
.ИмеетТип("Массив").Заполнено();
OPI_VK.УдалитьПодборку(ИДПодборки, Параметры);
КонецПроцедуры
Процедура ВК_ПолучитьСписокСвойств() Экспорт
Параметры = ПолучитьПараметрыВК();
Результат = OPI_VK.ПолучитьСписокСвойств(Параметры);
ЮТОбщий.Пазуа(5);
ЮТест.ОжидаетЧто(Результат)
.ИмеетТип("Массив").Заполнено();
КонецПроцедуры
Конецпроцедуры
#КонецОбласти
#Область YandexDisk