You've already forked OpenIntegrations
mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-08-13 20:05:19 +02:00
VK: все по товарам, кроме заказов
This commit is contained in:
@@ -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", Сдвиг);
|
||||
ПолучитьСписокАльбомовРекурсивно(МассивАльбомов, Параметры, Сдвиг);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
@@ -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
|
||||
|
Reference in New Issue
Block a user