mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-01-28 05:46:35 +02:00
OZON: Добавление товаров
This commit is contained in:
parent
6bf89d827e
commit
dfa12dd7db
6
docs/en/data/Ozon/CreateUpdateProducts.json
Normal file
6
docs/en/data/Ozon/CreateUpdateProducts.json
Normal file
@ -0,0 +1,6 @@
|
||||
{
|
||||
"ClientID": "2128753",
|
||||
"APIKey": "7cc90d26-33e4-499b...",
|
||||
"Image1": "https://openintegrations.dev/test_data/picture.jpg",
|
||||
"Image2": "https://openintegrations.dev/test_data/picture2.jpg"
|
||||
}
|
5
docs/en/data/Ozon/GetProductCreationStatus.json
Normal file
5
docs/en/data/Ozon/GetProductCreationStatus.json
Normal file
@ -0,0 +1,5 @@
|
||||
{
|
||||
"ClientID": "2128753",
|
||||
"APIKey": "7cc90d26-33e4-499b...",
|
||||
"TaskID": ""
|
||||
}
|
20
docs/en/examples/Ozon/AddProductVideo.txt
Normal file
20
docs/en/examples/Ozon/AddProductVideo.txt
Normal file
@ -0,0 +1,20 @@
|
||||
Video = "https://rutube.ru/video/c6cc4d620b1d4338901770a44b3e82f4/";
|
||||
|
||||
ItemStructure = New Structure;
|
||||
ItemStructure.Insert("description_category_id", 17028922);
|
||||
ItemStructure.Insert("name" , "Protective film set for X3 NFC. Dark cotton");
|
||||
ItemStructure.Insert("offer_id" , "143210608");
|
||||
ItemStructure.Insert("barcode" , "112772873170");
|
||||
ItemStructure.Insert("price" , "1000");
|
||||
ItemStructure.Insert("old_price" , "1100");
|
||||
ItemStructure.Insert("vat" , "0.1");
|
||||
ItemStructure.Insert("height" , 250);
|
||||
ItemStructure.Insert("width" , 150);
|
||||
ItemStructure.Insert("depth" , 10);
|
||||
ItemStructure.Insert("dimension_unit" , "mm");
|
||||
ItemStructure.Insert("weight" , 100);
|
||||
ItemStructure.Insert("weight_unit" , "g");
|
||||
|
||||
// Video
|
||||
|
||||
OPI_Ozon.AddProductVideo(ItemStructure, Video, "viedo1");
|
20
docs/en/examples/Ozon/AddProductVideoCover.txt
Normal file
20
docs/en/examples/Ozon/AddProductVideoCover.txt
Normal file
@ -0,0 +1,20 @@
|
||||
Video = "https://rutube.ru/video/c6cc4d620b1d4338901770a44b3e82f4/";
|
||||
|
||||
ItemStructure = New Structure;
|
||||
ItemStructure.Insert("description_category_id", 17028922);
|
||||
ItemStructure.Insert("name" , "Protective film set for X3 NFC. Dark cotton");
|
||||
ItemStructure.Insert("offer_id" , "143210608");
|
||||
ItemStructure.Insert("barcode" , "112772873170");
|
||||
ItemStructure.Insert("price" , "1000");
|
||||
ItemStructure.Insert("old_price" , "1100");
|
||||
ItemStructure.Insert("vat" , "0.1");
|
||||
ItemStructure.Insert("height" , 250);
|
||||
ItemStructure.Insert("width" , 150);
|
||||
ItemStructure.Insert("depth" , 10);
|
||||
ItemStructure.Insert("dimension_unit" , "mm");
|
||||
ItemStructure.Insert("weight" , 100);
|
||||
ItemStructure.Insert("weight_unit" , "g");
|
||||
|
||||
// Videocover
|
||||
|
||||
OPI_Ozon.AddProductVideoCover(ItemStructure, Video);
|
21
docs/en/examples/Ozon/CompleteComplexAttribute.txt
Normal file
21
docs/en/examples/Ozon/CompleteComplexAttribute.txt
Normal file
@ -0,0 +1,21 @@
|
||||
ItemStructure = New Structure;
|
||||
ItemStructure.Insert("description_category_id", 17028922);
|
||||
ItemStructure.Insert("name" , "Protective film set for X3 NFC. Dark cotton");
|
||||
ItemStructure.Insert("offer_id" , "143210608");
|
||||
ItemStructure.Insert("barcode" , "112772873170");
|
||||
ItemStructure.Insert("price" , "1000");
|
||||
ItemStructure.Insert("old_price" , "1100");
|
||||
ItemStructure.Insert("vat" , "0.1");
|
||||
ItemStructure.Insert("height" , 250);
|
||||
ItemStructure.Insert("width" , 150);
|
||||
ItemStructure.Insert("depth" , 10);
|
||||
ItemStructure.Insert("dimension_unit" , "mm");
|
||||
ItemStructure.Insert("weight" , 100);
|
||||
ItemStructure.Insert("weight_unit" , "g");
|
||||
|
||||
CategoryAttribute1 = New Structure("dictionary_value_id,value", 971082156, "Speaker stand");
|
||||
|
||||
CategoryAttribute2 = New Structure("value", "Protective film set for X3 NFC. Dark cotton");
|
||||
|
||||
OPI_Ozon.CompleteComplexAttribute(ItemStructure, 5076 , 0, CategoryAttribute1);
|
||||
OPI_Ozon.CompleteComplexAttribute(ItemStructure, 9048 , 0, CategoryAttribute2);
|
48
docs/en/examples/Ozon/CreateUpdateProducts.txt
Normal file
48
docs/en/examples/Ozon/CreateUpdateProducts.txt
Normal file
@ -0,0 +1,48 @@
|
||||
ClientID = "2128753";
|
||||
APIKey = "7cc90d26-33e4-499b...";
|
||||
Image1 = "https://openintegrations.dev/test_data/picture.jpg";
|
||||
Image2 = "https://openintegrations.dev/test_data/picture2.jpg";
|
||||
Video = "https://rutube.ru/video/c6cc4d620b1d4338901770a44b3e82f4/";
|
||||
|
||||
ImageArray = New Array;
|
||||
ImageArray.Add(Image1);
|
||||
ImageArray.Add(Image2);
|
||||
|
||||
// Common fields
|
||||
|
||||
ItemStructure = New Structure;
|
||||
ItemStructure.Insert("description_category_id", 17028922);
|
||||
ItemStructure.Insert("name" , "Protective film set for X3 NFC. Dark cotton");
|
||||
ItemStructure.Insert("offer_id" , "143210608");
|
||||
ItemStructure.Insert("barcode" , "112772873170");
|
||||
ItemStructure.Insert("price" , "1000");
|
||||
ItemStructure.Insert("old_price" , "1100");
|
||||
ItemStructure.Insert("vat" , "0.1");
|
||||
ItemStructure.Insert("height" , 250);
|
||||
ItemStructure.Insert("width" , 150);
|
||||
ItemStructure.Insert("depth" , 10);
|
||||
ItemStructure.Insert("dimension_unit" , "mm");
|
||||
ItemStructure.Insert("weight" , 100);
|
||||
ItemStructure.Insert("weight_unit" , "g");
|
||||
ItemStructure.Insert("images" , ImageArray);
|
||||
|
||||
// Video
|
||||
|
||||
OPI_Ozon.AddProductVideo(ItemStructure, Video, "viedo1");
|
||||
|
||||
// Attributes individualized for different categories
|
||||
|
||||
CategoryAttribute1 = New Structure("dictionary_value_id,value", 971082156, "Speaker stand");
|
||||
CategoryAttribute2 = New Structure("dictionary_value_id,value", 5060050 , "Samsung");
|
||||
CategoryAttribute3 = New Structure("dictionary_value_id,value", 61576 , "gray");
|
||||
CategoryAttribute4 = New Structure("dictionary_value_id,value", 95911 , "Protective film set for X3 NFC. Dark cotton");
|
||||
|
||||
CategoryAttribute5 = New Structure("value", "Protective film set for X3 NFC. Dark cotton");
|
||||
|
||||
OPI_Ozon.CompleteComplexAttribute(ItemStructure, 5076 , 0, CategoryAttribute1);
|
||||
OPI_Ozon.CompleteComplexAttribute(ItemStructure, 85 , 0, CategoryAttribute2);
|
||||
OPI_Ozon.CompleteComplexAttribute(ItemStructure, 10096, 0, CategoryAttribute3);
|
||||
OPI_Ozon.CompleteComplexAttribute(ItemStructure, 8229 , 0, CategoryAttribute4);
|
||||
OPI_Ozon.CompleteComplexAttribute(ItemStructure, 9048 , 0, CategoryAttribute5);
|
||||
|
||||
Result = OPI_Ozon.CreateUpdateProducts(ClientID, APIKey, ItemStructure);
|
5
docs/en/examples/Ozon/GetProductCreationStatus.txt
Normal file
5
docs/en/examples/Ozon/GetProductCreationStatus.txt
Normal file
@ -0,0 +1,5 @@
|
||||
ClientID = "2128753";
|
||||
APIKey = "7cc90d26-33e4-499b...";
|
||||
TaskID = "";
|
||||
|
||||
Result = OPI_Ozon.GetProductCreationStatus(ClientID, APIKey, TaskID);
|
5
docs/ru/data/Ozon/ПолучитьСтатусДобавленияТовара.json
Normal file
5
docs/ru/data/Ozon/ПолучитьСтатусДобавленияТовара.json
Normal file
@ -0,0 +1,5 @@
|
||||
{
|
||||
"IDКлиента": "2128753",
|
||||
"КлючAPI": "7cc90d26-33e4-499b...",
|
||||
"IDЗадачи": ""
|
||||
}
|
6
docs/ru/data/Ozon/СоздатьОбновитьТовары.json
Normal file
6
docs/ru/data/Ozon/СоздатьОбновитьТовары.json
Normal file
@ -0,0 +1,6 @@
|
||||
{
|
||||
"IDКлиента": "2128753",
|
||||
"КлючAPI": "7cc90d26-33e4-499b...",
|
||||
"Картинка1": "https://openintegrations.dev/test_data/picture.jpg",
|
||||
"Картинка2": "https://openintegrations.dev/test_data/picture2.jpg"
|
||||
}
|
20
docs/ru/examples/Ozon/ДобавитьВидеоТовара.txt
Normal file
20
docs/ru/examples/Ozon/ДобавитьВидеоТовара.txt
Normal file
@ -0,0 +1,20 @@
|
||||
Видео = "https://rutube.ru/video/c6cc4d620b1d4338901770a44b3e82f4/";
|
||||
|
||||
СтруктураТовара = Новый Структура;
|
||||
СтруктураТовара.Вставить("description_category_id", 17028922);
|
||||
СтруктураТовара.Вставить("name" , "Комплект защитных плёнок для X3 NFC. Темный хлопок");
|
||||
СтруктураТовара.Вставить("offer_id" , "143210608");
|
||||
СтруктураТовара.Вставить("barcode" , "112772873170");
|
||||
СтруктураТовара.Вставить("price" , "1000");
|
||||
СтруктураТовара.Вставить("old_price" , "1100");
|
||||
СтруктураТовара.Вставить("vat" , "0.1");
|
||||
СтруктураТовара.Вставить("height" , 250);
|
||||
СтруктураТовара.Вставить("width" , 150);
|
||||
СтруктураТовара.Вставить("depth" , 10);
|
||||
СтруктураТовара.Вставить("dimension_unit" , "mm");
|
||||
СтруктураТовара.Вставить("weight" , 100);
|
||||
СтруктураТовара.Вставить("weight_unit" , "g");
|
||||
|
||||
// Видео
|
||||
|
||||
OPI_Ozon.ДобавитьВидеоТовара(СтруктураТовара, Видео, "viedo1");
|
20
docs/ru/examples/Ozon/ДобавитьВидеообложкуТовара.txt
Normal file
20
docs/ru/examples/Ozon/ДобавитьВидеообложкуТовара.txt
Normal file
@ -0,0 +1,20 @@
|
||||
Видео = "https://rutube.ru/video/c6cc4d620b1d4338901770a44b3e82f4/";
|
||||
|
||||
СтруктураТовара = Новый Структура;
|
||||
СтруктураТовара.Вставить("description_category_id", 17028922);
|
||||
СтруктураТовара.Вставить("name" , "Комплект защитных плёнок для X3 NFC. Темный хлопок");
|
||||
СтруктураТовара.Вставить("offer_id" , "143210608");
|
||||
СтруктураТовара.Вставить("barcode" , "112772873170");
|
||||
СтруктураТовара.Вставить("price" , "1000");
|
||||
СтруктураТовара.Вставить("old_price" , "1100");
|
||||
СтруктураТовара.Вставить("vat" , "0.1");
|
||||
СтруктураТовара.Вставить("height" , 250);
|
||||
СтруктураТовара.Вставить("width" , 150);
|
||||
СтруктураТовара.Вставить("depth" , 10);
|
||||
СтруктураТовара.Вставить("dimension_unit" , "mm");
|
||||
СтруктураТовара.Вставить("weight" , 100);
|
||||
СтруктураТовара.Вставить("weight_unit" , "g");
|
||||
|
||||
// Видеообложка
|
||||
|
||||
OPI_Ozon.ДобавитьВидеообложкуТовара(СтруктураТовара, Видео);
|
21
docs/ru/examples/Ozon/ДополнитьКомплексныйАтрибут.txt
Normal file
21
docs/ru/examples/Ozon/ДополнитьКомплексныйАтрибут.txt
Normal file
@ -0,0 +1,21 @@
|
||||
СтруктураТовара = Новый Структура;
|
||||
СтруктураТовара.Вставить("description_category_id", 17028922);
|
||||
СтруктураТовара.Вставить("name" , "Комплект защитных плёнок для X3 NFC. Темный хлопок");
|
||||
СтруктураТовара.Вставить("offer_id" , "143210608");
|
||||
СтруктураТовара.Вставить("barcode" , "112772873170");
|
||||
СтруктураТовара.Вставить("price" , "1000");
|
||||
СтруктураТовара.Вставить("old_price" , "1100");
|
||||
СтруктураТовара.Вставить("vat" , "0.1");
|
||||
СтруктураТовара.Вставить("height" , 250);
|
||||
СтруктураТовара.Вставить("width" , 150);
|
||||
СтруктураТовара.Вставить("depth" , 10);
|
||||
СтруктураТовара.Вставить("dimension_unit" , "mm");
|
||||
СтруктураТовара.Вставить("weight" , 100);
|
||||
СтруктураТовара.Вставить("weight_unit" , "g");
|
||||
|
||||
АтрибутКатегории1 = Новый Структура("dictionary_value_id,value", 971082156, "Стойка для акустической системы");
|
||||
|
||||
АтрибутКатегории2 = Новый Структура("value", "Комплект защитных плёнок для X3 NFC. Темный хлопок");
|
||||
|
||||
OPI_Ozon.ДополнитьКомплексныйАтрибут(СтруктураТовара, 5076 , 0, АтрибутКатегории1);
|
||||
OPI_Ozon.ДополнитьКомплексныйАтрибут(СтруктураТовара, 9048 , 0, АтрибутКатегории2);
|
5
docs/ru/examples/Ozon/ПолучитьСтатусДобавленияТовара.txt
Normal file
5
docs/ru/examples/Ozon/ПолучитьСтатусДобавленияТовара.txt
Normal file
@ -0,0 +1,5 @@
|
||||
IDКлиента = "2128753";
|
||||
КлючAPI = "7cc90d26-33e4-499b...";
|
||||
IDЗадачи = "";
|
||||
|
||||
Результат = OPI_Ozon.ПолучитьСтатусДобавленияТовара(IDКлиента, КлючAPI, IDЗадачи);
|
48
docs/ru/examples/Ozon/СоздатьОбновитьТовары.txt
Normal file
48
docs/ru/examples/Ozon/СоздатьОбновитьТовары.txt
Normal file
@ -0,0 +1,48 @@
|
||||
IDКлиента = "2128753";
|
||||
КлючAPI = "7cc90d26-33e4-499b...";
|
||||
Картинка1 = "https://openintegrations.dev/test_data/picture.jpg";
|
||||
Картинка2 = "https://openintegrations.dev/test_data/picture2.jpg";
|
||||
Видео = "https://rutube.ru/video/c6cc4d620b1d4338901770a44b3e82f4/";
|
||||
|
||||
МассивКартинок = Новый Массив;
|
||||
МассивКартинок.Добавить(Картинка1);
|
||||
МассивКартинок.Добавить(Картинка2);
|
||||
|
||||
// Стандартные реквизиты
|
||||
|
||||
СтруктураТовара = Новый Структура;
|
||||
СтруктураТовара.Вставить("description_category_id", 17028922);
|
||||
СтруктураТовара.Вставить("name" , "Комплект защитных плёнок для X3 NFC. Темный хлопок");
|
||||
СтруктураТовара.Вставить("offer_id" , "143210608");
|
||||
СтруктураТовара.Вставить("barcode" , "112772873170");
|
||||
СтруктураТовара.Вставить("price" , "1000");
|
||||
СтруктураТовара.Вставить("old_price" , "1100");
|
||||
СтруктураТовара.Вставить("vat" , "0.1");
|
||||
СтруктураТовара.Вставить("height" , 250);
|
||||
СтруктураТовара.Вставить("width" , 150);
|
||||
СтруктураТовара.Вставить("depth" , 10);
|
||||
СтруктураТовара.Вставить("dimension_unit" , "mm");
|
||||
СтруктураТовара.Вставить("weight" , 100);
|
||||
СтруктураТовара.Вставить("weight_unit" , "g");
|
||||
СтруктураТовара.Вставить("images" , МассивКартинок);
|
||||
|
||||
// Видео
|
||||
|
||||
OPI_Ozon.ДобавитьВидеоТовара(СтруктураТовара, Видео, "viedo1");
|
||||
|
||||
// Атрибуты, индивидуальные для разных категорий
|
||||
|
||||
АтрибутКатегории1 = Новый Структура("dictionary_value_id,value", 971082156, "Стойка для акустической системы");
|
||||
АтрибутКатегории2 = Новый Структура("dictionary_value_id,value", 5060050 , "Samsung");
|
||||
АтрибутКатегории3 = Новый Структура("dictionary_value_id,value", 61576 , "серый");
|
||||
АтрибутКатегории4 = Новый Структура("dictionary_value_id,value", 95911 , "Комплект защитных плёнок для X3 NFC. Темный хлопок");
|
||||
|
||||
АтрибутКатегории5 = Новый Структура("value", "Комплект защитных плёнок для X3 NFC. Темный хлопок");
|
||||
|
||||
OPI_Ozon.ДополнитьКомплексныйАтрибут(СтруктураТовара, 5076 , 0, АтрибутКатегории1);
|
||||
OPI_Ozon.ДополнитьКомплексныйАтрибут(СтруктураТовара, 85 , 0, АтрибутКатегории2);
|
||||
OPI_Ozon.ДополнитьКомплексныйАтрибут(СтруктураТовара, 10096, 0, АтрибутКатегории3);
|
||||
OPI_Ozon.ДополнитьКомплексныйАтрибут(СтруктураТовара, 8229 , 0, АтрибутКатегории4);
|
||||
OPI_Ozon.ДополнитьКомплексныйАтрибут(СтруктураТовара, 9048 , 0, АтрибутКатегории5);
|
||||
|
||||
Результат = OPI_Ozon.СоздатьОбновитьТовары(IDКлиента, КлючAPI, СтруктураТовара);
|
File diff suppressed because it is too large
Load Diff
@ -202,6 +202,63 @@ EndFunction
|
||||
|
||||
#Region UploadingAndUpdatingProducts
|
||||
|
||||
// Create update product
|
||||
// Creates new products or updates existing products, based on data structures
|
||||
//
|
||||
// Note
|
||||
// Methods of product structure formation: GetProductStructure(), AddProductVideo(), AddProductVideoCover()
|
||||
// Method at API documentation: [post /v3/product/import](@docs.ozon.ru/api/seller/#operation/ProductAPI_ImportProductsV3)
|
||||
//
|
||||
// Parameters:
|
||||
// ClientID - String - Client identifier - clientid
|
||||
// APIKey - String - API key - apikey
|
||||
// ProductsArray - Array Of String - Array or one structure of product description fields - items
|
||||
//
|
||||
// Returns:
|
||||
// Map Of KeyAndValue - Serialized JSON response from Ozon Seller API
|
||||
Function CreateUpdateProducts(Val ClientID, Val APIKey, Val ProductsArray) Export
|
||||
|
||||
URL = "https://api-seller.ozon.ru/v3/product/import";
|
||||
|
||||
Headers = CreateRequestHeaders(ClientID, APIKey);
|
||||
|
||||
Parameters = New Structure;
|
||||
OPI_Tools.AddField("items", ProductsArray, "Array", Parameters);
|
||||
|
||||
Response = OPI_Tools.Post(URL, Parameters, Headers);
|
||||
|
||||
Return Response;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Get product creation status
|
||||
// Gets the status of adding a new product by task ID
|
||||
//
|
||||
// Note
|
||||
// Method at API documentation: [post /v1/product/import/info](@docs.ozon.ru/api/seller/#operation/ProductAPI_GetImportProductsInfo)
|
||||
//
|
||||
// Parameters:
|
||||
// ClientID - String - Client identifier - clientid
|
||||
// APIKey - String - API key - apikey
|
||||
// TaskID - String, Number - Add product task ID - taskid
|
||||
//
|
||||
// Returns:
|
||||
// Map Of KeyAndValue - Serialized JSON response from Ozon Seller API
|
||||
Function GetProductCreationStatus(Val ClientID, Val APIKey, Val TaskID) Export
|
||||
|
||||
URL = "https://api-seller.ozon.ru/v1/product/import/info";
|
||||
|
||||
Headers = CreateRequestHeaders(ClientID, APIKey);
|
||||
|
||||
Parameters = New Structure;
|
||||
OPI_Tools.AddField("task_id", TaskID, "String", Parameters);
|
||||
|
||||
Response = OPI_Tools.Post(URL, Parameters, Headers);
|
||||
|
||||
Return Response;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Get product structure
|
||||
// Gets the structure of product standard fields
|
||||
//
|
||||
@ -213,7 +270,7 @@ EndFunction
|
||||
// Clear - Boolean - True > structure with empty valuse, False > field descriptions at values - empty
|
||||
//
|
||||
// Returns:
|
||||
// Structure of KeyAndValue - Fields structure
|
||||
// Structure of KeyAndValue - Product fields structure
|
||||
Function GetProductStructure(Val Clear = False) Export
|
||||
|
||||
OPI_TypeConversion.GetBoolean(Clear);
|
||||
@ -247,6 +304,107 @@ Function GetProductStructure(Val Clear = False) Export
|
||||
|
||||
EndFunction
|
||||
|
||||
// Add product video
|
||||
// Adds video to product attributes
|
||||
//
|
||||
// Note
|
||||
// In 1C the method can be used as a procedure, without getting a return value. Return value is required for CLI version
|
||||
//
|
||||
// Parameters:
|
||||
// ItemStructure - Structure Of String - The basic structure of the product fields. See GetProductStructure - item
|
||||
// URL - String - URL of the video - url
|
||||
// Name - String - Technical name of the video - title
|
||||
//
|
||||
// Returns:
|
||||
// Structure of KeyAndValue - Structure of product fields with added video
|
||||
Function AddProductVideo(ItemStructure, Val URL, Val Name) Export
|
||||
|
||||
OPI_TypeConversion.GetCollection(ItemStructure);
|
||||
OPI_TypeConversion.GetLine(URL);
|
||||
OPI_TypeConversion.GetLine(Name);
|
||||
|
||||
VideoObject = New Structure();
|
||||
URLStructure = New Structure("value", URL);
|
||||
NameStructure = New Structure("value", Name);
|
||||
|
||||
CompleteComplexAttribute(VideoObject, 21841, 100001, URLStructure);
|
||||
CompleteComplexAttribute(VideoObject, 21837, 100001, NameStructure);
|
||||
|
||||
If Not ItemStructure.Property("complex_attributes") Then
|
||||
ItemStructure.Insert("complex_attributes", New Array);
|
||||
EndIf;
|
||||
|
||||
ItemStructure["complex_attributes"].Add(VideoObject);
|
||||
|
||||
//@skip-check constructor-function-return-section
|
||||
Return ItemStructure;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Add product video cover
|
||||
// Adds a video cover to the product attributes
|
||||
//
|
||||
// Note
|
||||
// In 1C the method can be used as a procedure, without getting a return value. Return value is required for CLI version
|
||||
//
|
||||
// Parameters:
|
||||
// ItemStructure - Structure Of String - The basic structure of the product fields. See GetProductStructure - item
|
||||
// URL - String - URL of the video cover - url
|
||||
//
|
||||
// Returns:
|
||||
// Structure of KeyAndValue - Structure of product fields with added video
|
||||
Function AddProductVideoCover(ItemStructure, Val URL) Export
|
||||
|
||||
OPI_TypeConversion.GetCollection(ItemStructure);
|
||||
OPI_TypeConversion.GetLine(URL);
|
||||
|
||||
CoverObject = New Structure();
|
||||
URLStructure = New Structure("dictionary_value_id,value", 0, URL);
|
||||
|
||||
CompleteComplexAttribute(CoverObject, 21845, 100002, URLStructure);
|
||||
|
||||
If Not ItemStructure.Property("complex_attributes") Then
|
||||
ItemStructure.Insert("complex_attributes", New Array);
|
||||
EndIf;
|
||||
|
||||
ItemStructure["complex_attributes"].Add(CoverObject);
|
||||
|
||||
//@skip-check constructor-function-return-section
|
||||
Return ItemStructure;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Complete the complex attribute
|
||||
// Formats the value in attribute format and adds it to the <attributes> array of the collection
|
||||
//
|
||||
// Note
|
||||
// In 1C the method can be used as a procedure, without getting a return value. Return value is required for CLI version
|
||||
//
|
||||
// Parameters:
|
||||
// Collection - Structure Of String - Complex attribute structure or product structure - object
|
||||
// AttributeID - String, Number - Attribute ID - attributeid
|
||||
// ComplexID - String, Number - Complex attribute ID - complexid
|
||||
// Values - Arbitrary - Value or array of values to add to <values> field - values
|
||||
//
|
||||
// Returns:
|
||||
// Structure - A collection enhanced with a new attribute
|
||||
Function CompleteComplexAttribute(Collection, Val AttributeID, Val ComplexID, Val Values) Export
|
||||
|
||||
OPI_TypeConversion.GetArray(Values);
|
||||
|
||||
AttributeStructure = New Structure("id,complex_id,values", AttributeID, ComplexID, Values);
|
||||
|
||||
If Not Collection.Property("attributes") Then
|
||||
Collection.Insert("attributes", New Array);
|
||||
EndIf;
|
||||
|
||||
Collection["attributes"].Add(AttributeStructure);
|
||||
|
||||
//@skip-check constructor-function-return-section
|
||||
Return Collection;
|
||||
|
||||
EndFunction
|
||||
|
||||
#EndRegion
|
||||
|
||||
#EndRegion
|
||||
@ -264,4 +422,6 @@ Function CreateRequestHeaders(Val ClientID, Val APIKey)
|
||||
|
||||
EndFunction
|
||||
|
||||
|
||||
|
||||
#EndRegion
|
||||
|
@ -3221,8 +3221,15 @@ Procedure OzonAPI_UploadingAndUpdatingProducts() Export
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Ozon_ClientID" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Ozon_ApiKey" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Picture" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Picture2" , TestParameters);
|
||||
|
||||
Ozon_GetProductStructure(TestParameters);
|
||||
Ozon_CreateUpdateProducts(TestParameters);
|
||||
Ozon_GetProductCreationStatus(TestParameters);
|
||||
Ozon_AddProductVideo(TestParameters);
|
||||
Ozon_AddProductVideoCover(TestParameters);
|
||||
Ozon_CompleteComplexAttribute(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
@ -4044,6 +4051,18 @@ Procedure Check_OzonListOfAttributesValues(Val Result)
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Check_OzonUploadTask(Val Result)
|
||||
|
||||
OPI_TestDataRetrieval.ExpectsThat(Result["result"]["task_id"]).Заполнено();
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Check_OzonNewProducts(Val Result)
|
||||
|
||||
OPI_TestDataRetrieval.ExpectsThat(Result["result"]["items"]).ИмеетТип("Array");
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region AtomicTests
|
||||
@ -11338,6 +11357,182 @@ Procedure Ozon_GetProductStructure(FunctionParameters)
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Ozon_CreateUpdateProducts(FunctionParameters)
|
||||
|
||||
ClientID = FunctionParameters["Ozon_ClientID"];
|
||||
APIKey = FunctionParameters["Ozon_ApiKey"];
|
||||
Image1 = FunctionParameters["Picture"];
|
||||
Image2 = FunctionParameters["Picture2"];
|
||||
Video = "https://rutube.ru/video/c6cc4d620b1d4338901770a44b3e82f4/";
|
||||
|
||||
ImageArray = New Array;
|
||||
ImageArray.Add(Image1);
|
||||
ImageArray.Add(Image2);
|
||||
|
||||
// Common fields
|
||||
|
||||
ItemStructure = New Structure;
|
||||
ItemStructure.Insert("description_category_id", 17028922);
|
||||
ItemStructure.Insert("name" , "Protective film set for X3 NFC. Dark cotton");
|
||||
ItemStructure.Insert("offer_id" , "143210608");
|
||||
ItemStructure.Insert("barcode" , "112772873170");
|
||||
ItemStructure.Insert("price" , "1000");
|
||||
ItemStructure.Insert("old_price" , "1100");
|
||||
ItemStructure.Insert("vat" , "0.1");
|
||||
ItemStructure.Insert("height" , 250);
|
||||
ItemStructure.Insert("width" , 150);
|
||||
ItemStructure.Insert("depth" , 10);
|
||||
ItemStructure.Insert("dimension_unit" , "mm");
|
||||
ItemStructure.Insert("weight" , 100);
|
||||
ItemStructure.Insert("weight_unit" , "g");
|
||||
ItemStructure.Insert("images" , ImageArray);
|
||||
|
||||
// Video
|
||||
|
||||
OPI_Ozon.AddProductVideo(ItemStructure, Video, "viedo1");
|
||||
|
||||
// Attributes individualized for different categories
|
||||
|
||||
CategoryAttribute1 = New Structure("dictionary_value_id,value", 971082156, "Speaker stand");
|
||||
CategoryAttribute2 = New Structure("dictionary_value_id,value", 5060050 , "Samsung");
|
||||
CategoryAttribute3 = New Structure("dictionary_value_id,value", 61576 , "gray");
|
||||
CategoryAttribute4 = New Structure("dictionary_value_id,value", 95911 , "Protective film set for X3 NFC. Dark cotton");
|
||||
|
||||
CategoryAttribute5 = New Structure("value", "Protective film set for X3 NFC. Dark cotton");
|
||||
|
||||
|
||||
OPI_Ozon.CompleteComplexAttribute(ItemStructure, 5076 , 0, CategoryAttribute1);
|
||||
OPI_Ozon.CompleteComplexAttribute(ItemStructure, 85 , 0, CategoryAttribute2);
|
||||
OPI_Ozon.CompleteComplexAttribute(ItemStructure, 10096, 0, CategoryAttribute3);
|
||||
OPI_Ozon.CompleteComplexAttribute(ItemStructure, 8229 , 0, CategoryAttribute4);
|
||||
OPI_Ozon.CompleteComplexAttribute(ItemStructure, 9048 , 0, CategoryAttribute5);
|
||||
|
||||
Result = OPI_Ozon.CreateUpdateProducts(ClientID, APIKey, ItemStructure);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GetProductStructure", "Ozon");
|
||||
|
||||
Check_OzonUploadTask(Result);
|
||||
|
||||
TaskID = Result["result"]["task_id"];
|
||||
OPI_TestDataRetrieval.WriteParameter("Ozon_TaskID", TaskID);
|
||||
FunctionParameters.Insert("Ozon_TaskID", TaskID);
|
||||
|
||||
OPI_Tools.Pause(60);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Ozon_AddProductVideo(FunctionParameters)
|
||||
|
||||
Video = "https://rutube.ru/video/c6cc4d620b1d4338901770a44b3e82f4/";
|
||||
|
||||
ItemStructure = New Structure;
|
||||
ItemStructure.Insert("description_category_id", 17028922);
|
||||
ItemStructure.Insert("name" , "Protective film set for X3 NFC. Dark cotton");
|
||||
ItemStructure.Insert("offer_id" , "143210608");
|
||||
ItemStructure.Insert("barcode" , "112772873170");
|
||||
ItemStructure.Insert("price" , "1000");
|
||||
ItemStructure.Insert("old_price" , "1100");
|
||||
ItemStructure.Insert("vat" , "0.1");
|
||||
ItemStructure.Insert("height" , 250);
|
||||
ItemStructure.Insert("width" , 150);
|
||||
ItemStructure.Insert("depth" , 10);
|
||||
ItemStructure.Insert("dimension_unit" , "mm");
|
||||
ItemStructure.Insert("weight" , 100);
|
||||
ItemStructure.Insert("weight_unit" , "g");
|
||||
|
||||
// Video
|
||||
|
||||
OPI_Ozon.AddProductVideo(ItemStructure, Video, "viedo1");
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(ItemStructure, "AddProductVideo", "Ozon");
|
||||
|
||||
Check_Structure(ItemStructure);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Ozon_AddProductVideoCover(FunctionParameters)
|
||||
|
||||
Video = "https://rutube.ru/video/c6cc4d620b1d4338901770a44b3e82f4/";
|
||||
|
||||
ItemStructure = New Structure;
|
||||
ItemStructure.Insert("description_category_id", 17028922);
|
||||
ItemStructure.Insert("name" , "Protective film set for X3 NFC. Dark cotton");
|
||||
ItemStructure.Insert("offer_id" , "143210608");
|
||||
ItemStructure.Insert("barcode" , "112772873170");
|
||||
ItemStructure.Insert("price" , "1000");
|
||||
ItemStructure.Insert("old_price" , "1100");
|
||||
ItemStructure.Insert("vat" , "0.1");
|
||||
ItemStructure.Insert("height" , 250);
|
||||
ItemStructure.Insert("width" , 150);
|
||||
ItemStructure.Insert("depth" , 10);
|
||||
ItemStructure.Insert("dimension_unit" , "mm");
|
||||
ItemStructure.Insert("weight" , 100);
|
||||
ItemStructure.Insert("weight_unit" , "g");
|
||||
|
||||
// Videocover
|
||||
|
||||
OPI_Ozon.AddProductVideoCover(ItemStructure, Video);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(ItemStructure, "AddProductVideoCover", "Ozon");
|
||||
|
||||
Check_Structure(ItemStructure);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Ozon_CompleteComplexAttribute(FunctionParameters)
|
||||
|
||||
ItemStructure = New Structure;
|
||||
ItemStructure.Insert("description_category_id", 17028922);
|
||||
ItemStructure.Insert("name" , "Protective film set for X3 NFC. Dark cotton");
|
||||
ItemStructure.Insert("offer_id" , "143210608");
|
||||
ItemStructure.Insert("barcode" , "112772873170");
|
||||
ItemStructure.Insert("price" , "1000");
|
||||
ItemStructure.Insert("old_price" , "1100");
|
||||
ItemStructure.Insert("vat" , "0.1");
|
||||
ItemStructure.Insert("height" , 250);
|
||||
ItemStructure.Insert("width" , 150);
|
||||
ItemStructure.Insert("depth" , 10);
|
||||
ItemStructure.Insert("dimension_unit" , "mm");
|
||||
ItemStructure.Insert("weight" , 100);
|
||||
ItemStructure.Insert("weight_unit" , "g");
|
||||
|
||||
CategoryAttribute1 = New Structure("dictionary_value_id,value", 971082156, "Speaker stand");
|
||||
|
||||
CategoryAttribute2 = New Structure("value", "Protective film set for X3 NFC. Dark cotton");
|
||||
|
||||
OPI_Ozon.CompleteComplexAttribute(ItemStructure, 5076 , 0, CategoryAttribute1);
|
||||
OPI_Ozon.CompleteComplexAttribute(ItemStructure, 9048 , 0, CategoryAttribute2);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(ItemStructure, "CompleteComplexAttribute", "Ozon");
|
||||
|
||||
Check_Structure(ItemStructure);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Ozon_GetProductCreationStatus(FunctionParameters)
|
||||
|
||||
ClientID = FunctionParameters["Ozon_ClientID"];
|
||||
APIKey = FunctionParameters["Ozon_ApiKey"];
|
||||
TaskID = FunctionParameters["Ozon_TaskID"];
|
||||
|
||||
Result = OPI_Ozon.GetProductCreationStatus(ClientID, APIKey, TaskID);
|
||||
|
||||
// END
|
||||
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "GetProductCreationStatus", "Ozon");
|
||||
|
||||
Check_OzonNewProducts(Result);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#EndRegion
|
||||
|
@ -202,6 +202,63 @@ EndFunction
|
||||
|
||||
#Region UploadingAndUpdatingProducts
|
||||
|
||||
// Create update product
|
||||
// Creates new products or updates existing products, based on data structures
|
||||
//
|
||||
// Note
|
||||
// Methods of product structure formation: GetProductStructure(), AddProductVideo(), AddProductVideoCover()
|
||||
// Method at API documentation: [post /v3/product/import](@docs.ozon.ru/api/seller/#operation/ProductAPI_ImportProductsV3)
|
||||
//
|
||||
// Parameters:
|
||||
// ClientID - String - Client identifier - clientid
|
||||
// APIKey - String - API key - apikey
|
||||
// ProductsArray - Array Of String - Array or one structure of product description fields - items
|
||||
//
|
||||
// Returns:
|
||||
// Map Of KeyAndValue - Serialized JSON response from Ozon Seller API
|
||||
Function CreateUpdateProducts(Val ClientID, Val APIKey, Val ProductsArray) Export
|
||||
|
||||
URL = "https://api-seller.ozon.ru/v3/product/import";
|
||||
|
||||
Headers = CreateRequestHeaders(ClientID, APIKey);
|
||||
|
||||
Parameters = New Structure;
|
||||
OPI_Tools.AddField("items", ProductsArray, "Array", Parameters);
|
||||
|
||||
Response = OPI_Tools.Post(URL, Parameters, Headers);
|
||||
|
||||
Return Response;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Get product creation status
|
||||
// Gets the status of adding a new product by task ID
|
||||
//
|
||||
// Note
|
||||
// Method at API documentation: [post /v1/product/import/info](@docs.ozon.ru/api/seller/#operation/ProductAPI_GetImportProductsInfo)
|
||||
//
|
||||
// Parameters:
|
||||
// ClientID - String - Client identifier - clientid
|
||||
// APIKey - String - API key - apikey
|
||||
// TaskID - String, Number - Add product task ID - taskid
|
||||
//
|
||||
// Returns:
|
||||
// Map Of KeyAndValue - Serialized JSON response from Ozon Seller API
|
||||
Function GetProductCreationStatus(Val ClientID, Val APIKey, Val TaskID) Export
|
||||
|
||||
URL = "https://api-seller.ozon.ru/v1/product/import/info";
|
||||
|
||||
Headers = CreateRequestHeaders(ClientID, APIKey);
|
||||
|
||||
Parameters = New Structure;
|
||||
OPI_Tools.AddField("task_id", TaskID, "String", Parameters);
|
||||
|
||||
Response = OPI_Tools.Post(URL, Parameters, Headers);
|
||||
|
||||
Return Response;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Get product structure
|
||||
// Gets the structure of product standard fields
|
||||
//
|
||||
@ -213,7 +270,7 @@ EndFunction
|
||||
// Clear - Boolean - True > structure with empty valuse, False > field descriptions at values - empty
|
||||
//
|
||||
// Returns:
|
||||
// Structure of KeyAndValue - Fields structure
|
||||
// Structure of KeyAndValue - Product fields structure
|
||||
Function GetProductStructure(Val Clear = False) Export
|
||||
|
||||
OPI_TypeConversion.GetBoolean(Clear);
|
||||
@ -247,6 +304,107 @@ Function GetProductStructure(Val Clear = False) Export
|
||||
|
||||
EndFunction
|
||||
|
||||
// Add product video
|
||||
// Adds video to product attributes
|
||||
//
|
||||
// Note
|
||||
// In 1C the method can be used as a procedure, without getting a return value. Return value is required for CLI version
|
||||
//
|
||||
// Parameters:
|
||||
// ItemStructure - Structure Of String - The basic structure of the product fields. See GetProductStructure - item
|
||||
// URL - String - URL of the video - url
|
||||
// Name - String - Technical name of the video - title
|
||||
//
|
||||
// Returns:
|
||||
// Structure of KeyAndValue - Structure of product fields with added video
|
||||
Function AddProductVideo(ItemStructure, Val URL, Val Name) Export
|
||||
|
||||
OPI_TypeConversion.GetCollection(ItemStructure);
|
||||
OPI_TypeConversion.GetLine(URL);
|
||||
OPI_TypeConversion.GetLine(Name);
|
||||
|
||||
VideoObject = New Structure();
|
||||
URLStructure = New Structure("value", URL);
|
||||
NameStructure = New Structure("value", Name);
|
||||
|
||||
CompleteComplexAttribute(VideoObject, 21841, 100001, URLStructure);
|
||||
CompleteComplexAttribute(VideoObject, 21837, 100001, NameStructure);
|
||||
|
||||
If Not ItemStructure.Property("complex_attributes") Then
|
||||
ItemStructure.Insert("complex_attributes", New Array);
|
||||
EndIf;
|
||||
|
||||
ItemStructure["complex_attributes"].Add(VideoObject);
|
||||
|
||||
//@skip-check constructor-function-return-section
|
||||
Return ItemStructure;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Add product video cover
|
||||
// Adds a video cover to the product attributes
|
||||
//
|
||||
// Note
|
||||
// In 1C the method can be used as a procedure, without getting a return value. Return value is required for CLI version
|
||||
//
|
||||
// Parameters:
|
||||
// ItemStructure - Structure Of String - The basic structure of the product fields. See GetProductStructure - item
|
||||
// URL - String - URL of the video cover - url
|
||||
//
|
||||
// Returns:
|
||||
// Structure of KeyAndValue - Structure of product fields with added video
|
||||
Function AddProductVideoCover(ItemStructure, Val URL) Export
|
||||
|
||||
OPI_TypeConversion.GetCollection(ItemStructure);
|
||||
OPI_TypeConversion.GetLine(URL);
|
||||
|
||||
CoverObject = New Structure();
|
||||
URLStructure = New Structure("dictionary_value_id,value", 0, URL);
|
||||
|
||||
CompleteComplexAttribute(CoverObject, 21845, 100002, URLStructure);
|
||||
|
||||
If Not ItemStructure.Property("complex_attributes") Then
|
||||
ItemStructure.Insert("complex_attributes", New Array);
|
||||
EndIf;
|
||||
|
||||
ItemStructure["complex_attributes"].Add(CoverObject);
|
||||
|
||||
//@skip-check constructor-function-return-section
|
||||
Return ItemStructure;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Complete the complex attribute
|
||||
// Formats the value in attribute format and adds it to the <attributes> array of the collection
|
||||
//
|
||||
// Note
|
||||
// In 1C the method can be used as a procedure, without getting a return value. Return value is required for CLI version
|
||||
//
|
||||
// Parameters:
|
||||
// Collection - Structure Of String - Complex attribute structure or product structure - object
|
||||
// AttributeID - String, Number - Attribute ID - attributeid
|
||||
// ComplexID - String, Number - Complex attribute ID - complexid
|
||||
// Values - Arbitrary - Value or array of values to add to <values> field - values
|
||||
//
|
||||
// Returns:
|
||||
// Structure - A collection enhanced with a new attribute
|
||||
Function CompleteComplexAttribute(Collection, Val AttributeID, Val ComplexID, Val Values) Export
|
||||
|
||||
OPI_TypeConversion.GetArray(Values);
|
||||
|
||||
AttributeStructure = New Structure("id,complex_id,values", AttributeID, ComplexID, Values);
|
||||
|
||||
If Not Collection.Property("attributes") Then
|
||||
Collection.Insert("attributes", New Array);
|
||||
EndIf;
|
||||
|
||||
Collection["attributes"].Add(AttributeStructure);
|
||||
|
||||
//@skip-check constructor-function-return-section
|
||||
Return Collection;
|
||||
|
||||
EndFunction
|
||||
|
||||
#EndRegion
|
||||
|
||||
#EndRegion
|
||||
@ -264,4 +422,6 @@ Function CreateRequestHeaders(Val ClientID, Val APIKey)
|
||||
|
||||
EndFunction
|
||||
|
||||
|
||||
|
||||
#EndRegion
|
||||
|
@ -3221,8 +3221,15 @@ Procedure OzonAPI_UploadingAndUpdatingProducts() Export
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Ozon_ClientID" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Ozon_ApiKey" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Picture" , TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Picture2" , TestParameters);
|
||||
|
||||
Ozon_GetProductStructure(TestParameters);
|
||||
Ozon_CreateUpdateProducts(TestParameters);
|
||||
Ozon_GetProductCreationStatus(TestParameters);
|
||||
Ozon_AddProductVideo(TestParameters);
|
||||
Ozon_AddProductVideoCover(TestParameters);
|
||||
Ozon_CompleteComplexAttribute(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
@ -4044,6 +4051,18 @@ Procedure Check_OzonListOfAttributesValues(Val Result)
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Check_OzonUploadTask(Val Result)
|
||||
|
||||
OPI_TestDataRetrieval.ExpectsThat(Result["result"]["task_id"]).Заполнено();
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Check_OzonNewProducts(Val Result)
|
||||
|
||||
OPI_TestDataRetrieval.ExpectsThat(Result["result"]["items"]).ИмеетТип("Array");
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region AtomicTests
|
||||
@ -11338,6 +11357,182 @@ Procedure Ozon_GetProductStructure(FunctionParameters)
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Ozon_CreateUpdateProducts(FunctionParameters)
|
||||
|
||||
ClientID = FunctionParameters["Ozon_ClientID"];
|
||||
APIKey = FunctionParameters["Ozon_ApiKey"];
|
||||
Image1 = FunctionParameters["Picture"];
|
||||
Image2 = FunctionParameters["Picture2"];
|
||||
Video = "https://rutube.ru/video/c6cc4d620b1d4338901770a44b3e82f4/";
|
||||
|
||||
ImageArray = New Array;
|
||||
ImageArray.Add(Image1);
|
||||
ImageArray.Add(Image2);
|
||||
|
||||
// Common fields
|
||||
|
||||
ItemStructure = New Structure;
|
||||
ItemStructure.Insert("description_category_id", 17028922);
|
||||
ItemStructure.Insert("name" , "Protective film set for X3 NFC. Dark cotton");
|
||||
ItemStructure.Insert("offer_id" , "143210608");
|
||||
ItemStructure.Insert("barcode" , "112772873170");
|
||||
ItemStructure.Insert("price" , "1000");
|
||||
ItemStructure.Insert("old_price" , "1100");
|
||||
ItemStructure.Insert("vat" , "0.1");
|
||||
ItemStructure.Insert("height" , 250);
|
||||
ItemStructure.Insert("width" , 150);
|
||||
ItemStructure.Insert("depth" , 10);
|
||||
ItemStructure.Insert("dimension_unit" , "mm");
|
||||
ItemStructure.Insert("weight" , 100);
|
||||
ItemStructure.Insert("weight_unit" , "g");
|
||||
ItemStructure.Insert("images" , ImageArray);
|
||||
|
||||
// Video
|
||||
|
||||
OPI_Ozon.AddProductVideo(ItemStructure, Video, "viedo1");
|
||||
|
||||
// Attributes individualized for different categories
|
||||
|
||||
CategoryAttribute1 = New Structure("dictionary_value_id,value", 971082156, "Speaker stand");
|
||||
CategoryAttribute2 = New Structure("dictionary_value_id,value", 5060050 , "Samsung");
|
||||
CategoryAttribute3 = New Structure("dictionary_value_id,value", 61576 , "gray");
|
||||
CategoryAttribute4 = New Structure("dictionary_value_id,value", 95911 , "Protective film set for X3 NFC. Dark cotton");
|
||||
|
||||
CategoryAttribute5 = New Structure("value", "Protective film set for X3 NFC. Dark cotton");
|
||||
|
||||
|
||||
OPI_Ozon.CompleteComplexAttribute(ItemStructure, 5076 , 0, CategoryAttribute1);
|
||||
OPI_Ozon.CompleteComplexAttribute(ItemStructure, 85 , 0, CategoryAttribute2);
|
||||
OPI_Ozon.CompleteComplexAttribute(ItemStructure, 10096, 0, CategoryAttribute3);
|
||||
OPI_Ozon.CompleteComplexAttribute(ItemStructure, 8229 , 0, CategoryAttribute4);
|
||||
OPI_Ozon.CompleteComplexAttribute(ItemStructure, 9048 , 0, CategoryAttribute5);
|
||||
|
||||
Result = OPI_Ozon.CreateUpdateProducts(ClientID, APIKey, ItemStructure);
|
||||
|
||||
// END
|
||||
|
||||
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "GetProductStructure", "Ozon");
|
||||
|
||||
Check_OzonUploadTask(Result);
|
||||
|
||||
TaskID = Result["result"]["task_id"];
|
||||
OPI_TestDataRetrieval.WriteParameter("Ozon_TaskID", TaskID);
|
||||
FunctionParameters.Insert("Ozon_TaskID", TaskID);
|
||||
|
||||
OPI_Tools.Pause(60);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Ozon_AddProductVideo(FunctionParameters)
|
||||
|
||||
Video = "https://rutube.ru/video/c6cc4d620b1d4338901770a44b3e82f4/";
|
||||
|
||||
ItemStructure = New Structure;
|
||||
ItemStructure.Insert("description_category_id", 17028922);
|
||||
ItemStructure.Insert("name" , "Protective film set for X3 NFC. Dark cotton");
|
||||
ItemStructure.Insert("offer_id" , "143210608");
|
||||
ItemStructure.Insert("barcode" , "112772873170");
|
||||
ItemStructure.Insert("price" , "1000");
|
||||
ItemStructure.Insert("old_price" , "1100");
|
||||
ItemStructure.Insert("vat" , "0.1");
|
||||
ItemStructure.Insert("height" , 250);
|
||||
ItemStructure.Insert("width" , 150);
|
||||
ItemStructure.Insert("depth" , 10);
|
||||
ItemStructure.Insert("dimension_unit" , "mm");
|
||||
ItemStructure.Insert("weight" , 100);
|
||||
ItemStructure.Insert("weight_unit" , "g");
|
||||
|
||||
// Video
|
||||
|
||||
OPI_Ozon.AddProductVideo(ItemStructure, Video, "viedo1");
|
||||
|
||||
// END
|
||||
|
||||
// !OInt OPI_TestDataRetrieval.WriteLog(ItemStructure, "AddProductVideo", "Ozon");
|
||||
|
||||
Check_Structure(ItemStructure);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Ozon_AddProductVideoCover(FunctionParameters)
|
||||
|
||||
Video = "https://rutube.ru/video/c6cc4d620b1d4338901770a44b3e82f4/";
|
||||
|
||||
ItemStructure = New Structure;
|
||||
ItemStructure.Insert("description_category_id", 17028922);
|
||||
ItemStructure.Insert("name" , "Protective film set for X3 NFC. Dark cotton");
|
||||
ItemStructure.Insert("offer_id" , "143210608");
|
||||
ItemStructure.Insert("barcode" , "112772873170");
|
||||
ItemStructure.Insert("price" , "1000");
|
||||
ItemStructure.Insert("old_price" , "1100");
|
||||
ItemStructure.Insert("vat" , "0.1");
|
||||
ItemStructure.Insert("height" , 250);
|
||||
ItemStructure.Insert("width" , 150);
|
||||
ItemStructure.Insert("depth" , 10);
|
||||
ItemStructure.Insert("dimension_unit" , "mm");
|
||||
ItemStructure.Insert("weight" , 100);
|
||||
ItemStructure.Insert("weight_unit" , "g");
|
||||
|
||||
// Videocover
|
||||
|
||||
OPI_Ozon.AddProductVideoCover(ItemStructure, Video);
|
||||
|
||||
// END
|
||||
|
||||
// !OInt OPI_TestDataRetrieval.WriteLog(ItemStructure, "AddProductVideoCover", "Ozon");
|
||||
|
||||
Check_Structure(ItemStructure);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Ozon_CompleteComplexAttribute(FunctionParameters)
|
||||
|
||||
ItemStructure = New Structure;
|
||||
ItemStructure.Insert("description_category_id", 17028922);
|
||||
ItemStructure.Insert("name" , "Protective film set for X3 NFC. Dark cotton");
|
||||
ItemStructure.Insert("offer_id" , "143210608");
|
||||
ItemStructure.Insert("barcode" , "112772873170");
|
||||
ItemStructure.Insert("price" , "1000");
|
||||
ItemStructure.Insert("old_price" , "1100");
|
||||
ItemStructure.Insert("vat" , "0.1");
|
||||
ItemStructure.Insert("height" , 250);
|
||||
ItemStructure.Insert("width" , 150);
|
||||
ItemStructure.Insert("depth" , 10);
|
||||
ItemStructure.Insert("dimension_unit" , "mm");
|
||||
ItemStructure.Insert("weight" , 100);
|
||||
ItemStructure.Insert("weight_unit" , "g");
|
||||
|
||||
CategoryAttribute1 = New Structure("dictionary_value_id,value", 971082156, "Speaker stand");
|
||||
|
||||
CategoryAttribute2 = New Structure("value", "Protective film set for X3 NFC. Dark cotton");
|
||||
|
||||
OPI_Ozon.CompleteComplexAttribute(ItemStructure, 5076 , 0, CategoryAttribute1);
|
||||
OPI_Ozon.CompleteComplexAttribute(ItemStructure, 9048 , 0, CategoryAttribute2);
|
||||
|
||||
// END
|
||||
|
||||
// !OInt OPI_TestDataRetrieval.WriteLog(ItemStructure, "CompleteComplexAttribute", "Ozon");
|
||||
|
||||
Check_Structure(ItemStructure);
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure Ozon_GetProductCreationStatus(FunctionParameters)
|
||||
|
||||
ClientID = FunctionParameters["Ozon_ClientID"];
|
||||
APIKey = FunctionParameters["Ozon_ApiKey"];
|
||||
TaskID = FunctionParameters["Ozon_TaskID"];
|
||||
|
||||
Result = OPI_Ozon.GetProductCreationStatus(ClientID, APIKey, TaskID);
|
||||
|
||||
// END
|
||||
|
||||
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "GetProductCreationStatus", "Ozon");
|
||||
|
||||
Check_OzonNewProducts(Result);
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#EndRegion
|
||||
|
@ -224,6 +224,68 @@
|
||||
NewLine.Область = "Attributes and features";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "ozon";
|
||||
NewLine.Модуль = "OPI_Ozon";
|
||||
NewLine.Метод = "CreateUpdateProducts";
|
||||
NewLine.МетодПоиска = "CREATEUPDATEPRODUCTS";
|
||||
NewLine.Параметр = "--clientid";
|
||||
NewLine.Описание = "Client identifier";
|
||||
NewLine.Область = "Uploading and updating products";
|
||||
NewLine.ОписаниеМетода = "Creates new products or updates existing products, based on data structures";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "ozon";
|
||||
NewLine.Модуль = "OPI_Ozon";
|
||||
NewLine.Метод = "CreateUpdateProducts";
|
||||
NewLine.МетодПоиска = "CREATEUPDATEPRODUCTS";
|
||||
NewLine.Параметр = "--apikey";
|
||||
NewLine.Описание = "API key";
|
||||
NewLine.Область = "Uploading and updating products";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "ozon";
|
||||
NewLine.Модуль = "OPI_Ozon";
|
||||
NewLine.Метод = "CreateUpdateProducts";
|
||||
NewLine.МетодПоиска = "CREATEUPDATEPRODUCTS";
|
||||
NewLine.Параметр = "--items";
|
||||
NewLine.Описание = "Array or one structure of product description fields";
|
||||
NewLine.Область = "Uploading and updating products";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "ozon";
|
||||
NewLine.Модуль = "OPI_Ozon";
|
||||
NewLine.Метод = "GetProductCreationStatus";
|
||||
NewLine.МетодПоиска = "GETPRODUCTCREATIONSTATUS";
|
||||
NewLine.Параметр = "--clientid";
|
||||
NewLine.Описание = "Client identifier";
|
||||
NewLine.Область = "Uploading and updating products";
|
||||
NewLine.ОписаниеМетода = "Gets the status of adding a new product by task ID";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "ozon";
|
||||
NewLine.Модуль = "OPI_Ozon";
|
||||
NewLine.Метод = "GetProductCreationStatus";
|
||||
NewLine.МетодПоиска = "GETPRODUCTCREATIONSTATUS";
|
||||
NewLine.Параметр = "--apikey";
|
||||
NewLine.Описание = "API key";
|
||||
NewLine.Область = "Uploading and updating products";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "ozon";
|
||||
NewLine.Модуль = "OPI_Ozon";
|
||||
NewLine.Метод = "GetProductCreationStatus";
|
||||
NewLine.МетодПоиска = "GETPRODUCTCREATIONSTATUS";
|
||||
NewLine.Параметр = "--taskid";
|
||||
NewLine.Описание = "Add product task ID";
|
||||
NewLine.Область = "Uploading and updating products";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "ozon";
|
||||
NewLine.Модуль = "OPI_Ozon";
|
||||
@ -234,6 +296,99 @@
|
||||
NewLine.Область = "Uploading and updating products";
|
||||
NewLine.ОписаниеМетода = "Gets the structure of product standard fields";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "ozon";
|
||||
NewLine.Модуль = "OPI_Ozon";
|
||||
NewLine.Метод = "AddProductVideo";
|
||||
NewLine.МетодПоиска = "ADDPRODUCTVIDEO";
|
||||
NewLine.Параметр = "--item";
|
||||
NewLine.Описание = "The basic structure of the product fields. See GetProductStructure";
|
||||
NewLine.Область = "Uploading and updating products";
|
||||
NewLine.ОписаниеМетода = "Adds video to product attributes";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "ozon";
|
||||
NewLine.Модуль = "OPI_Ozon";
|
||||
NewLine.Метод = "AddProductVideo";
|
||||
NewLine.МетодПоиска = "ADDPRODUCTVIDEO";
|
||||
NewLine.Параметр = "--url";
|
||||
NewLine.Описание = "URL of the video";
|
||||
NewLine.Область = "Uploading and updating products";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "ozon";
|
||||
NewLine.Модуль = "OPI_Ozon";
|
||||
NewLine.Метод = "AddProductVideo";
|
||||
NewLine.МетодПоиска = "ADDPRODUCTVIDEO";
|
||||
NewLine.Параметр = "--title";
|
||||
NewLine.Описание = "Technical name of the video";
|
||||
NewLine.Область = "Uploading and updating products";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "ozon";
|
||||
NewLine.Модуль = "OPI_Ozon";
|
||||
NewLine.Метод = "AddProductVideoCover";
|
||||
NewLine.МетодПоиска = "ADDPRODUCTVIDEOCOVER";
|
||||
NewLine.Параметр = "--item";
|
||||
NewLine.Описание = "The basic structure of the product fields. See GetProductStructure";
|
||||
NewLine.Область = "Uploading and updating products";
|
||||
NewLine.ОписаниеМетода = "Adds a video cover to the product attributes";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "ozon";
|
||||
NewLine.Модуль = "OPI_Ozon";
|
||||
NewLine.Метод = "AddProductVideoCover";
|
||||
NewLine.МетодПоиска = "ADDPRODUCTVIDEOCOVER";
|
||||
NewLine.Параметр = "--url";
|
||||
NewLine.Описание = "URL of the video cover";
|
||||
NewLine.Область = "Uploading and updating products";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "ozon";
|
||||
NewLine.Модуль = "OPI_Ozon";
|
||||
NewLine.Метод = "CompleteComplexAttribute";
|
||||
NewLine.МетодПоиска = "COMPLETECOMPLEXATTRIBUTE";
|
||||
NewLine.Параметр = "--object";
|
||||
NewLine.Описание = "Complex attribute structure or product structure";
|
||||
NewLine.Область = "Uploading and updating products";
|
||||
NewLine.ОписаниеМетода = "Formats the value in attribute format and adds it to the <attributes> array of the collection";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "ozon";
|
||||
NewLine.Модуль = "OPI_Ozon";
|
||||
NewLine.Метод = "CompleteComplexAttribute";
|
||||
NewLine.МетодПоиска = "COMPLETECOMPLEXATTRIBUTE";
|
||||
NewLine.Параметр = "--attributeid";
|
||||
NewLine.Описание = "Attribute ID";
|
||||
NewLine.Область = "Uploading and updating products";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "ozon";
|
||||
NewLine.Модуль = "OPI_Ozon";
|
||||
NewLine.Метод = "CompleteComplexAttribute";
|
||||
NewLine.МетодПоиска = "COMPLETECOMPLEXATTRIBUTE";
|
||||
NewLine.Параметр = "--complexid";
|
||||
NewLine.Описание = "Complex attribute ID";
|
||||
NewLine.Область = "Uploading and updating products";
|
||||
|
||||
|
||||
NewLine = CompositionTable.Add();
|
||||
NewLine.Библиотека = "ozon";
|
||||
NewLine.Модуль = "OPI_Ozon";
|
||||
NewLine.Метод = "CompleteComplexAttribute";
|
||||
NewLine.МетодПоиска = "COMPLETECOMPLEXATTRIBUTE";
|
||||
NewLine.Параметр = "--values";
|
||||
NewLine.Описание = "Value or array of values to add to <values> field";
|
||||
NewLine.Область = "Uploading and updating products";
|
||||
|
||||
Return CompositionTable;
|
||||
EndFunction
|
||||
|
||||
|
@ -202,6 +202,63 @@
|
||||
|
||||
#Область ЗагрузкаИОбновлениеТоваров
|
||||
|
||||
// Создать обновить товары
|
||||
// Создает новые или обновляет существующие товары по структурам полей
|
||||
//
|
||||
// Примечание:
|
||||
// Методы формирования структуры товара: ПолучитьСтруктуруТовара(), ДобавитьВидеоТовара(), ДобавитьВидеообложкуТовара()
|
||||
// Метод в документации API: [post /v3/product/import](@docs.ozon.ru/api/seller/#operation/ProductAPI_ImportProductsV3)
|
||||
//
|
||||
// Параметры:
|
||||
// IDКлиента - Строка - Идентификатор клиента - clientid
|
||||
// КлючAPI - Строка - API ключ - apikey
|
||||
// МассивТоваров - Массив Из Строка - Массив или одна структура полей описания товара - items
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Ozon Seller API
|
||||
Функция СоздатьОбновитьТовары(Знач IDКлиента, Знач КлючAPI, Знач МассивТоваров) Экспорт
|
||||
|
||||
URL = "https://api-seller.ozon.ru/v3/product/import";
|
||||
|
||||
Заголовки = СоздатьЗаголовкиЗапроса(IDКлиента, КлючAPI);
|
||||
|
||||
Параметры = Новый Структура;
|
||||
OPI_Инструменты.ДобавитьПоле("items", МассивТоваров, "Массив", Параметры);
|
||||
|
||||
Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить статус добавления товара
|
||||
// Получает статус добавления нового товара по ID задачи
|
||||
//
|
||||
// Примечание:
|
||||
// Метод в документации API: [post /v1/product/import/info](@docs.ozon.ru/api/seller/#operation/ProductAPI_GetImportProductsInfo)
|
||||
//
|
||||
// Параметры:
|
||||
// IDКлиента - Строка - Идентификатор клиента - clientid
|
||||
// КлючAPI - Строка - API ключ - apikey
|
||||
// IDЗадачи - Строка, Число - ID задачи добавления товара - taskid
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Ozon Seller API
|
||||
Функция ПолучитьСтатусДобавленияТовара(Знач IDКлиента, Знач КлючAPI, Знач IDЗадачи) Экспорт
|
||||
|
||||
URL = "https://api-seller.ozon.ru/v1/product/import/info";
|
||||
|
||||
Заголовки = СоздатьЗаголовкиЗапроса(IDКлиента, КлючAPI);
|
||||
|
||||
Параметры = Новый Структура;
|
||||
OPI_Инструменты.ДобавитьПоле("task_id", IDЗадачи, "Строка", Параметры);
|
||||
|
||||
Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить структуру товара
|
||||
// Получает структуру стандартных полей товара
|
||||
//
|
||||
@ -213,7 +270,7 @@
|
||||
// Пустая - Булево - Истина > структура с пустыми значениями, Ложь > в значениях будут описания полей - empty
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура Из КлючИЗначение - Структура полей
|
||||
// Структура Из КлючИЗначение - Структура полей товара
|
||||
Функция ПолучитьСтруктуруТовара(Знач Пустая = Ложь) Экспорт
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьБулево(Пустая);
|
||||
@ -247,6 +304,107 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Добавить видео товара
|
||||
// Добавляет видео к атрибутам товара
|
||||
//
|
||||
// Примечание:
|
||||
// В 1С метод может использоваться как процедура, без получения возвращаемого значения. Возвращаемое значение необходимо для CLI версии
|
||||
//
|
||||
// Параметры:
|
||||
// СтруктураТовара - Структура Из Строка - Основная структура полей товара. См. ПолучитьСтруктуруТовара - item
|
||||
// URL - Строка - URL к видео для добавления - url
|
||||
// Наименование - Строка - Техническое наименование видео - title
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура Из КлючИЗначение - Структура полей товара с добавленным видео
|
||||
Функция ДобавитьВидеоТовара(СтруктураТовара, Знач URL, Знач Наименование) Экспорт
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьКоллекцию(СтруктураТовара);
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(URL);
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Наименование);
|
||||
|
||||
ОбъектВидео = Новый Структура();
|
||||
СтруктураURL = Новый Структура("value", URL);
|
||||
СтруктураНаименования = Новый Структура("value", Наименование);
|
||||
|
||||
ДополнитьКомплексныйАтрибут(ОбъектВидео, 21841, 100001, СтруктураURL);
|
||||
ДополнитьКомплексныйАтрибут(ОбъектВидео, 21837, 100001, СтруктураНаименования);
|
||||
|
||||
Если Не СтруктураТовара.Свойство("complex_attributes") Тогда
|
||||
СтруктураТовара.Вставить("complex_attributes", Новый Массив);
|
||||
КонецЕсли;
|
||||
|
||||
СтруктураТовара["complex_attributes"].Добавить(ОбъектВидео);
|
||||
|
||||
//@skip-check constructor-function-return-section
|
||||
Возврат СтруктураТовара;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Добавить видеообложку товара
|
||||
// Добавляет видеообложку к атрибутам товара
|
||||
//
|
||||
// Примечание:
|
||||
// В 1С метод может использоваться как процедура, без получения возвращаемого значения. Возвращаемое значение необходимо для CLI версии
|
||||
//
|
||||
// Параметры:
|
||||
// СтруктураТовара - Структура Из Строка - Основная структура полей товара. См. ПолучитьСтруктуруТовара - item
|
||||
// URL - Строка - URL к видеообложке для добавления - url
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура Из КлючИЗначение - Структура полей товара с добавленным видео
|
||||
Функция ДобавитьВидеообложкуТовара(СтруктураТовара, Знач URL) Экспорт
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьКоллекцию(СтруктураТовара);
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(URL);
|
||||
|
||||
ОбъектОбложка = Новый Структура();
|
||||
СтруктураURL = Новый Структура("dictionary_value_id,value", 0, URL);
|
||||
|
||||
ДополнитьКомплексныйАтрибут(ОбъектОбложка, 21845, 100002, СтруктураURL);
|
||||
|
||||
Если Не СтруктураТовара.Свойство("complex_attributes") Тогда
|
||||
СтруктураТовара.Вставить("complex_attributes", Новый Массив);
|
||||
КонецЕсли;
|
||||
|
||||
СтруктураТовара["complex_attributes"].Добавить(ОбъектОбложка);
|
||||
|
||||
//@skip-check constructor-function-return-section
|
||||
Возврат СтруктураТовара;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Дополнить комплексный атрибут
|
||||
// Оформляет значение в формате атрибута и добавляет его в массив attributes переданной коллекции
|
||||
//
|
||||
// Примечание:
|
||||
// В 1С метод может использоваться как процедура, без получения возвращаемого значения. Возвращаемое значение необходимо для CLI версии
|
||||
//
|
||||
// Параметры:
|
||||
// Коллекция - Структура Из Строка - Структура комплексного атрибута или структура товара - object
|
||||
// IDАтрибута - Строка, Число - ID атрибута - attributeid
|
||||
// КомплексныйID - Строка, Число - Комплексный ID - complexid
|
||||
// Значения - Произвольный - Значение или массив значений для добавления в values - values
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура - Коллекция, дополненная атрибутом
|
||||
Функция ДополнитьКомплексныйАтрибут(Коллекция, Знач IDАтрибута, Знач КомплексныйID, Знач Значения) Экспорт
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьМассив(Значения);
|
||||
|
||||
СтруктураАтрибута = Новый Структура("id,complex_id,values", IDАтрибута, КомплексныйID, Значения);
|
||||
|
||||
Если Не Коллекция.Свойство("attributes") Тогда
|
||||
Коллекция.Вставить("attributes", Новый Массив);
|
||||
КонецЕсли;
|
||||
|
||||
Коллекция["attributes"].Добавить(СтруктураАтрибута);
|
||||
|
||||
//@skip-check constructor-function-return-section
|
||||
Возврат Коллекция;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
@ -264,4 +422,6 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
|
||||
|
||||
#КонецОбласти
|
||||
|
@ -3221,8 +3221,15 @@
|
||||
ПараметрыТеста = Новый Структура;
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Ozon_ClientID" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Ozon_ApiKey" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture2" , ПараметрыТеста);
|
||||
|
||||
Ozon_ПолучитьСтруктуруТовара(ПараметрыТеста);
|
||||
Ozon_СоздатьОбновитьТовары(ПараметрыТеста);
|
||||
Ozon_ПолучитьСтатусДобавленияТовара(ПараметрыТеста);
|
||||
Ozon_ДобавитьВидеоТовара(ПараметрыТеста);
|
||||
Ozon_ДобавитьВидеообложкуТовара(ПараметрыТеста);
|
||||
Ozon_ДополнитьКомплексныйАтрибут(ПараметрыТеста);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@ -4044,6 +4051,18 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_ОзонЗаданиеЗагрузки(Знач Результат)
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["task_id"]).Заполнено();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_ОзонНовыеТовары(Знач Результат)
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["items"]).ИмеетТип("Массив");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область АтомарныеТесты
|
||||
@ -11338,6 +11357,182 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Ozon_СоздатьОбновитьТовары(ПараметрыФункции)
|
||||
|
||||
IDКлиента = ПараметрыФункции["Ozon_ClientID"];
|
||||
КлючAPI = ПараметрыФункции["Ozon_ApiKey"];
|
||||
Картинка1 = ПараметрыФункции["Picture"];
|
||||
Картинка2 = ПараметрыФункции["Picture2"];
|
||||
Видео = "https://rutube.ru/video/c6cc4d620b1d4338901770a44b3e82f4/";
|
||||
|
||||
МассивКартинок = Новый Массив;
|
||||
МассивКартинок.Добавить(Картинка1);
|
||||
МассивКартинок.Добавить(Картинка2);
|
||||
|
||||
// Стандартные реквизиты
|
||||
|
||||
СтруктураТовара = Новый Структура;
|
||||
СтруктураТовара.Вставить("description_category_id", 17028922);
|
||||
СтруктураТовара.Вставить("name" , "Комплект защитных плёнок для X3 NFC. Темный хлопок");
|
||||
СтруктураТовара.Вставить("offer_id" , "143210608");
|
||||
СтруктураТовара.Вставить("barcode" , "112772873170");
|
||||
СтруктураТовара.Вставить("price" , "1000");
|
||||
СтруктураТовара.Вставить("old_price" , "1100");
|
||||
СтруктураТовара.Вставить("vat" , "0.1");
|
||||
СтруктураТовара.Вставить("height" , 250);
|
||||
СтруктураТовара.Вставить("width" , 150);
|
||||
СтруктураТовара.Вставить("depth" , 10);
|
||||
СтруктураТовара.Вставить("dimension_unit" , "mm");
|
||||
СтруктураТовара.Вставить("weight" , 100);
|
||||
СтруктураТовара.Вставить("weight_unit" , "g");
|
||||
СтруктураТовара.Вставить("images" , МассивКартинок);
|
||||
|
||||
// Видео
|
||||
|
||||
OPI_Ozon.ДобавитьВидеоТовара(СтруктураТовара, Видео, "viedo1");
|
||||
|
||||
// Атрибуты, индивидуальные для разных категорий
|
||||
|
||||
АтрибутКатегории1 = Новый Структура("dictionary_value_id,value", 971082156, "Стойка для акустической системы");
|
||||
АтрибутКатегории2 = Новый Структура("dictionary_value_id,value", 5060050 , "Samsung");
|
||||
АтрибутКатегории3 = Новый Структура("dictionary_value_id,value", 61576 , "серый");
|
||||
АтрибутКатегории4 = Новый Структура("dictionary_value_id,value", 95911 , "Комплект защитных плёнок для X3 NFC. Темный хлопок");
|
||||
|
||||
АтрибутКатегории5 = Новый Структура("value", "Комплект защитных плёнок для X3 NFC. Темный хлопок");
|
||||
|
||||
|
||||
OPI_Ozon.ДополнитьКомплексныйАтрибут(СтруктураТовара, 5076 , 0, АтрибутКатегории1);
|
||||
OPI_Ozon.ДополнитьКомплексныйАтрибут(СтруктураТовара, 85 , 0, АтрибутКатегории2);
|
||||
OPI_Ozon.ДополнитьКомплексныйАтрибут(СтруктураТовара, 10096, 0, АтрибутКатегории3);
|
||||
OPI_Ozon.ДополнитьКомплексныйАтрибут(СтруктураТовара, 8229 , 0, АтрибутКатегории4);
|
||||
OPI_Ozon.ДополнитьКомплексныйАтрибут(СтруктураТовара, 9048 , 0, АтрибутКатегории5);
|
||||
|
||||
Результат = OPI_Ozon.СоздатьОбновитьТовары(IDКлиента, КлючAPI, СтруктураТовара);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтруктуруТовара", "Ozon");
|
||||
|
||||
Проверка_ОзонЗаданиеЗагрузки(Результат);
|
||||
|
||||
IDЗадания = Результат["result"]["task_id"];
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Ozon_TaskID", IDЗадания);
|
||||
ПараметрыФункции.Вставить("Ozon_TaskID", IDЗадания);
|
||||
|
||||
OPI_Инструменты.Пауза(60);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Ozon_ДобавитьВидеоТовара(ПараметрыФункции)
|
||||
|
||||
Видео = "https://rutube.ru/video/c6cc4d620b1d4338901770a44b3e82f4/";
|
||||
|
||||
СтруктураТовара = Новый Структура;
|
||||
СтруктураТовара.Вставить("description_category_id", 17028922);
|
||||
СтруктураТовара.Вставить("name" , "Комплект защитных плёнок для X3 NFC. Темный хлопок");
|
||||
СтруктураТовара.Вставить("offer_id" , "143210608");
|
||||
СтруктураТовара.Вставить("barcode" , "112772873170");
|
||||
СтруктураТовара.Вставить("price" , "1000");
|
||||
СтруктураТовара.Вставить("old_price" , "1100");
|
||||
СтруктураТовара.Вставить("vat" , "0.1");
|
||||
СтруктураТовара.Вставить("height" , 250);
|
||||
СтруктураТовара.Вставить("width" , 150);
|
||||
СтруктураТовара.Вставить("depth" , 10);
|
||||
СтруктураТовара.Вставить("dimension_unit" , "mm");
|
||||
СтруктураТовара.Вставить("weight" , 100);
|
||||
СтруктураТовара.Вставить("weight_unit" , "g");
|
||||
|
||||
// Видео
|
||||
|
||||
OPI_Ozon.ДобавитьВидеоТовара(СтруктураТовара, Видео, "viedo1");
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(СтруктураТовара, "ДобавитьВидеоТовара", "Ozon");
|
||||
|
||||
Проверка_Структура(СтруктураТовара);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Ozon_ДобавитьВидеообложкуТовара(ПараметрыФункции)
|
||||
|
||||
Видео = "https://rutube.ru/video/c6cc4d620b1d4338901770a44b3e82f4/";
|
||||
|
||||
СтруктураТовара = Новый Структура;
|
||||
СтруктураТовара.Вставить("description_category_id", 17028922);
|
||||
СтруктураТовара.Вставить("name" , "Комплект защитных плёнок для X3 NFC. Темный хлопок");
|
||||
СтруктураТовара.Вставить("offer_id" , "143210608");
|
||||
СтруктураТовара.Вставить("barcode" , "112772873170");
|
||||
СтруктураТовара.Вставить("price" , "1000");
|
||||
СтруктураТовара.Вставить("old_price" , "1100");
|
||||
СтруктураТовара.Вставить("vat" , "0.1");
|
||||
СтруктураТовара.Вставить("height" , 250);
|
||||
СтруктураТовара.Вставить("width" , 150);
|
||||
СтруктураТовара.Вставить("depth" , 10);
|
||||
СтруктураТовара.Вставить("dimension_unit" , "mm");
|
||||
СтруктураТовара.Вставить("weight" , 100);
|
||||
СтруктураТовара.Вставить("weight_unit" , "g");
|
||||
|
||||
// Видеообложка
|
||||
|
||||
OPI_Ozon.ДобавитьВидеообложкуТовара(СтруктураТовара, Видео);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(СтруктураТовара, "ДобавитьВидеообложкуТовара", "Ozon");
|
||||
|
||||
Проверка_Структура(СтруктураТовара);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Ozon_ДополнитьКомплексныйАтрибут(ПараметрыФункции)
|
||||
|
||||
СтруктураТовара = Новый Структура;
|
||||
СтруктураТовара.Вставить("description_category_id", 17028922);
|
||||
СтруктураТовара.Вставить("name" , "Комплект защитных плёнок для X3 NFC. Темный хлопок");
|
||||
СтруктураТовара.Вставить("offer_id" , "143210608");
|
||||
СтруктураТовара.Вставить("barcode" , "112772873170");
|
||||
СтруктураТовара.Вставить("price" , "1000");
|
||||
СтруктураТовара.Вставить("old_price" , "1100");
|
||||
СтруктураТовара.Вставить("vat" , "0.1");
|
||||
СтруктураТовара.Вставить("height" , 250);
|
||||
СтруктураТовара.Вставить("width" , 150);
|
||||
СтруктураТовара.Вставить("depth" , 10);
|
||||
СтруктураТовара.Вставить("dimension_unit" , "mm");
|
||||
СтруктураТовара.Вставить("weight" , 100);
|
||||
СтруктураТовара.Вставить("weight_unit" , "g");
|
||||
|
||||
АтрибутКатегории1 = Новый Структура("dictionary_value_id,value", 971082156, "Стойка для акустической системы");
|
||||
|
||||
АтрибутКатегории2 = Новый Структура("value", "Комплект защитных плёнок для X3 NFC. Темный хлопок");
|
||||
|
||||
OPI_Ozon.ДополнитьКомплексныйАтрибут(СтруктураТовара, 5076 , 0, АтрибутКатегории1);
|
||||
OPI_Ozon.ДополнитьКомплексныйАтрибут(СтруктураТовара, 9048 , 0, АтрибутКатегории2);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(СтруктураТовара, "ДополнитьКомплексныйАтрибут", "Ozon");
|
||||
|
||||
Проверка_Структура(СтруктураТовара);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Ozon_ПолучитьСтатусДобавленияТовара(ПараметрыФункции)
|
||||
|
||||
IDКлиента = ПараметрыФункции["Ozon_ClientID"];
|
||||
КлючAPI = ПараметрыФункции["Ozon_ApiKey"];
|
||||
IDЗадачи = ПараметрыФункции["Ozon_TaskID"];
|
||||
|
||||
Результат = OPI_Ozon.ПолучитьСтатусДобавленияТовара(IDКлиента, КлючAPI, IDЗадачи);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтатусДобавленияТовара", "Ozon");
|
||||
|
||||
Проверка_ОзонНовыеТовары(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
@ -202,6 +202,63 @@
|
||||
|
||||
#Область ЗагрузкаИОбновлениеТоваров
|
||||
|
||||
// Создать обновить товары
|
||||
// Создает новые или обновляет существующие товары по структурам полей
|
||||
//
|
||||
// Примечание:
|
||||
// Методы формирования структуры товара: ПолучитьСтруктуруТовара(), ДобавитьВидеоТовара(), ДобавитьВидеообложкуТовара()
|
||||
// Метод в документации API: [post /v3/product/import](@docs.ozon.ru/api/seller/#operation/ProductAPI_ImportProductsV3)
|
||||
//
|
||||
// Параметры:
|
||||
// IDКлиента - Строка - Идентификатор клиента - clientid
|
||||
// КлючAPI - Строка - API ключ - apikey
|
||||
// МассивТоваров - Массив Из Строка - Массив или одна структура полей описания товара - items
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Ozon Seller API
|
||||
Функция СоздатьОбновитьТовары(Знач IDКлиента, Знач КлючAPI, Знач МассивТоваров) Экспорт
|
||||
|
||||
URL = "https://api-seller.ozon.ru/v3/product/import";
|
||||
|
||||
Заголовки = СоздатьЗаголовкиЗапроса(IDКлиента, КлючAPI);
|
||||
|
||||
Параметры = Новый Структура;
|
||||
OPI_Инструменты.ДобавитьПоле("items", МассивТоваров, "Массив", Параметры);
|
||||
|
||||
Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить статус добавления товара
|
||||
// Получает статус добавления нового товара по ID задачи
|
||||
//
|
||||
// Примечание:
|
||||
// Метод в документации API: [post /v1/product/import/info](@docs.ozon.ru/api/seller/#operation/ProductAPI_GetImportProductsInfo)
|
||||
//
|
||||
// Параметры:
|
||||
// IDКлиента - Строка - Идентификатор клиента - clientid
|
||||
// КлючAPI - Строка - API ключ - apikey
|
||||
// IDЗадачи - Строка, Число - ID задачи добавления товара - taskid
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Ozon Seller API
|
||||
Функция ПолучитьСтатусДобавленияТовара(Знач IDКлиента, Знач КлючAPI, Знач IDЗадачи) Экспорт
|
||||
|
||||
URL = "https://api-seller.ozon.ru/v1/product/import/info";
|
||||
|
||||
Заголовки = СоздатьЗаголовкиЗапроса(IDКлиента, КлючAPI);
|
||||
|
||||
Параметры = Новый Структура;
|
||||
OPI_Инструменты.ДобавитьПоле("task_id", IDЗадачи, "Строка", Параметры);
|
||||
|
||||
Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить структуру товара
|
||||
// Получает структуру стандартных полей товара
|
||||
//
|
||||
@ -213,7 +270,7 @@
|
||||
// Пустая - Булево - Истина > структура с пустыми значениями, Ложь > в значениях будут описания полей - empty
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура Из КлючИЗначение - Структура полей
|
||||
// Структура Из КлючИЗначение - Структура полей товара
|
||||
Функция ПолучитьСтруктуруТовара(Знач Пустая = Ложь) Экспорт
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьБулево(Пустая);
|
||||
@ -247,6 +304,107 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Добавить видео товара
|
||||
// Добавляет видео к атрибутам товара
|
||||
//
|
||||
// Примечание:
|
||||
// В 1С метод может использоваться как процедура, без получения возвращаемого значения. Возвращаемое значение необходимо для CLI версии
|
||||
//
|
||||
// Параметры:
|
||||
// СтруктураТовара - Структура Из Строка - Основная структура полей товара. См. ПолучитьСтруктуруТовара - item
|
||||
// URL - Строка - URL к видео для добавления - url
|
||||
// Наименование - Строка - Техническое наименование видео - title
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура Из КлючИЗначение - Структура полей товара с добавленным видео
|
||||
Функция ДобавитьВидеоТовара(СтруктураТовара, Знач URL, Знач Наименование) Экспорт
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьКоллекцию(СтруктураТовара);
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(URL);
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Наименование);
|
||||
|
||||
ОбъектВидео = Новый Структура();
|
||||
СтруктураURL = Новый Структура("value", URL);
|
||||
СтруктураНаименования = Новый Структура("value", Наименование);
|
||||
|
||||
ДополнитьКомплексныйАтрибут(ОбъектВидео, 21841, 100001, СтруктураURL);
|
||||
ДополнитьКомплексныйАтрибут(ОбъектВидео, 21837, 100001, СтруктураНаименования);
|
||||
|
||||
Если Не СтруктураТовара.Свойство("complex_attributes") Тогда
|
||||
СтруктураТовара.Вставить("complex_attributes", Новый Массив);
|
||||
КонецЕсли;
|
||||
|
||||
СтруктураТовара["complex_attributes"].Добавить(ОбъектВидео);
|
||||
|
||||
//@skip-check constructor-function-return-section
|
||||
Возврат СтруктураТовара;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Добавить видеообложку товара
|
||||
// Добавляет видеообложку к атрибутам товара
|
||||
//
|
||||
// Примечание:
|
||||
// В 1С метод может использоваться как процедура, без получения возвращаемого значения. Возвращаемое значение необходимо для CLI версии
|
||||
//
|
||||
// Параметры:
|
||||
// СтруктураТовара - Структура Из Строка - Основная структура полей товара. См. ПолучитьСтруктуруТовара - item
|
||||
// URL - Строка - URL к видеообложке для добавления - url
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура Из КлючИЗначение - Структура полей товара с добавленным видео
|
||||
Функция ДобавитьВидеообложкуТовара(СтруктураТовара, Знач URL) Экспорт
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьКоллекцию(СтруктураТовара);
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(URL);
|
||||
|
||||
ОбъектОбложка = Новый Структура();
|
||||
СтруктураURL = Новый Структура("dictionary_value_id,value", 0, URL);
|
||||
|
||||
ДополнитьКомплексныйАтрибут(ОбъектОбложка, 21845, 100002, СтруктураURL);
|
||||
|
||||
Если Не СтруктураТовара.Свойство("complex_attributes") Тогда
|
||||
СтруктураТовара.Вставить("complex_attributes", Новый Массив);
|
||||
КонецЕсли;
|
||||
|
||||
СтруктураТовара["complex_attributes"].Добавить(ОбъектОбложка);
|
||||
|
||||
//@skip-check constructor-function-return-section
|
||||
Возврат СтруктураТовара;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Дополнить комплексный атрибут
|
||||
// Оформляет значение в формате атрибута и добавляет его в массив attributes переданной коллекции
|
||||
//
|
||||
// Примечание:
|
||||
// В 1С метод может использоваться как процедура, без получения возвращаемого значения. Возвращаемое значение необходимо для CLI версии
|
||||
//
|
||||
// Параметры:
|
||||
// Коллекция - Структура Из Строка - Структура комплексного атрибута или структура товара - object
|
||||
// IDАтрибута - Строка, Число - ID атрибута - attributeid
|
||||
// КомплексныйID - Строка, Число - Комплексный ID - complexid
|
||||
// Значения - Произвольный - Значение или массив значений для добавления в values - values
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура - Коллекция, дополненная атрибутом
|
||||
Функция ДополнитьКомплексныйАтрибут(Коллекция, Знач IDАтрибута, Знач КомплексныйID, Знач Значения) Экспорт
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьМассив(Значения);
|
||||
|
||||
СтруктураАтрибута = Новый Структура("id,complex_id,values", IDАтрибута, КомплексныйID, Значения);
|
||||
|
||||
Если Не Коллекция.Свойство("attributes") Тогда
|
||||
Коллекция.Вставить("attributes", Новый Массив);
|
||||
КонецЕсли;
|
||||
|
||||
Коллекция["attributes"].Добавить(СтруктураАтрибута);
|
||||
|
||||
//@skip-check constructor-function-return-section
|
||||
Возврат Коллекция;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
@ -264,4 +422,6 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
|
||||
|
||||
#КонецОбласти
|
||||
|
@ -3221,8 +3221,15 @@
|
||||
ПараметрыТеста = Новый Структура;
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Ozon_ClientID" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Ozon_ApiKey" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture2" , ПараметрыТеста);
|
||||
|
||||
Ozon_ПолучитьСтруктуруТовара(ПараметрыТеста);
|
||||
Ozon_СоздатьОбновитьТовары(ПараметрыТеста);
|
||||
Ozon_ПолучитьСтатусДобавленияТовара(ПараметрыТеста);
|
||||
Ozon_ДобавитьВидеоТовара(ПараметрыТеста);
|
||||
Ozon_ДобавитьВидеообложкуТовара(ПараметрыТеста);
|
||||
Ozon_ДополнитьКомплексныйАтрибут(ПараметрыТеста);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@ -4044,6 +4051,18 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_ОзонЗаданиеЗагрузки(Знач Результат)
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["task_id"]).Заполнено();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_ОзонНовыеТовары(Знач Результат)
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["items"]).ИмеетТип("Массив");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область АтомарныеТесты
|
||||
@ -11338,6 +11357,182 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Ozon_СоздатьОбновитьТовары(ПараметрыФункции)
|
||||
|
||||
IDКлиента = ПараметрыФункции["Ozon_ClientID"];
|
||||
КлючAPI = ПараметрыФункции["Ozon_ApiKey"];
|
||||
Картинка1 = ПараметрыФункции["Picture"];
|
||||
Картинка2 = ПараметрыФункции["Picture2"];
|
||||
Видео = "https://rutube.ru/video/c6cc4d620b1d4338901770a44b3e82f4/";
|
||||
|
||||
МассивКартинок = Новый Массив;
|
||||
МассивКартинок.Добавить(Картинка1);
|
||||
МассивКартинок.Добавить(Картинка2);
|
||||
|
||||
// Стандартные реквизиты
|
||||
|
||||
СтруктураТовара = Новый Структура;
|
||||
СтруктураТовара.Вставить("description_category_id", 17028922);
|
||||
СтруктураТовара.Вставить("name" , "Комплект защитных плёнок для X3 NFC. Темный хлопок");
|
||||
СтруктураТовара.Вставить("offer_id" , "143210608");
|
||||
СтруктураТовара.Вставить("barcode" , "112772873170");
|
||||
СтруктураТовара.Вставить("price" , "1000");
|
||||
СтруктураТовара.Вставить("old_price" , "1100");
|
||||
СтруктураТовара.Вставить("vat" , "0.1");
|
||||
СтруктураТовара.Вставить("height" , 250);
|
||||
СтруктураТовара.Вставить("width" , 150);
|
||||
СтруктураТовара.Вставить("depth" , 10);
|
||||
СтруктураТовара.Вставить("dimension_unit" , "mm");
|
||||
СтруктураТовара.Вставить("weight" , 100);
|
||||
СтруктураТовара.Вставить("weight_unit" , "g");
|
||||
СтруктураТовара.Вставить("images" , МассивКартинок);
|
||||
|
||||
// Видео
|
||||
|
||||
OPI_Ozon.ДобавитьВидеоТовара(СтруктураТовара, Видео, "viedo1");
|
||||
|
||||
// Атрибуты, индивидуальные для разных категорий
|
||||
|
||||
АтрибутКатегории1 = Новый Структура("dictionary_value_id,value", 971082156, "Стойка для акустической системы");
|
||||
АтрибутКатегории2 = Новый Структура("dictionary_value_id,value", 5060050 , "Samsung");
|
||||
АтрибутКатегории3 = Новый Структура("dictionary_value_id,value", 61576 , "серый");
|
||||
АтрибутКатегории4 = Новый Структура("dictionary_value_id,value", 95911 , "Комплект защитных плёнок для X3 NFC. Темный хлопок");
|
||||
|
||||
АтрибутКатегории5 = Новый Структура("value", "Комплект защитных плёнок для X3 NFC. Темный хлопок");
|
||||
|
||||
|
||||
OPI_Ozon.ДополнитьКомплексныйАтрибут(СтруктураТовара, 5076 , 0, АтрибутКатегории1);
|
||||
OPI_Ozon.ДополнитьКомплексныйАтрибут(СтруктураТовара, 85 , 0, АтрибутКатегории2);
|
||||
OPI_Ozon.ДополнитьКомплексныйАтрибут(СтруктураТовара, 10096, 0, АтрибутКатегории3);
|
||||
OPI_Ozon.ДополнитьКомплексныйАтрибут(СтруктураТовара, 8229 , 0, АтрибутКатегории4);
|
||||
OPI_Ozon.ДополнитьКомплексныйАтрибут(СтруктураТовара, 9048 , 0, АтрибутКатегории5);
|
||||
|
||||
Результат = OPI_Ozon.СоздатьОбновитьТовары(IDКлиента, КлючAPI, СтруктураТовара);
|
||||
|
||||
// END
|
||||
|
||||
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтруктуруТовара", "Ozon");
|
||||
|
||||
Проверка_ОзонЗаданиеЗагрузки(Результат);
|
||||
|
||||
IDЗадания = Результат["result"]["task_id"];
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Ozon_TaskID", IDЗадания);
|
||||
ПараметрыФункции.Вставить("Ozon_TaskID", IDЗадания);
|
||||
|
||||
OPI_Инструменты.Пауза(60);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Ozon_ДобавитьВидеоТовара(ПараметрыФункции)
|
||||
|
||||
Видео = "https://rutube.ru/video/c6cc4d620b1d4338901770a44b3e82f4/";
|
||||
|
||||
СтруктураТовара = Новый Структура;
|
||||
СтруктураТовара.Вставить("description_category_id", 17028922);
|
||||
СтруктураТовара.Вставить("name" , "Комплект защитных плёнок для X3 NFC. Темный хлопок");
|
||||
СтруктураТовара.Вставить("offer_id" , "143210608");
|
||||
СтруктураТовара.Вставить("barcode" , "112772873170");
|
||||
СтруктураТовара.Вставить("price" , "1000");
|
||||
СтруктураТовара.Вставить("old_price" , "1100");
|
||||
СтруктураТовара.Вставить("vat" , "0.1");
|
||||
СтруктураТовара.Вставить("height" , 250);
|
||||
СтруктураТовара.Вставить("width" , 150);
|
||||
СтруктураТовара.Вставить("depth" , 10);
|
||||
СтруктураТовара.Вставить("dimension_unit" , "mm");
|
||||
СтруктураТовара.Вставить("weight" , 100);
|
||||
СтруктураТовара.Вставить("weight_unit" , "g");
|
||||
|
||||
// Видео
|
||||
|
||||
OPI_Ozon.ДобавитьВидеоТовара(СтруктураТовара, Видео, "viedo1");
|
||||
|
||||
// END
|
||||
|
||||
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(СтруктураТовара, "ДобавитьВидеоТовара", "Ozon");
|
||||
|
||||
Проверка_Структура(СтруктураТовара);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Ozon_ДобавитьВидеообложкуТовара(ПараметрыФункции)
|
||||
|
||||
Видео = "https://rutube.ru/video/c6cc4d620b1d4338901770a44b3e82f4/";
|
||||
|
||||
СтруктураТовара = Новый Структура;
|
||||
СтруктураТовара.Вставить("description_category_id", 17028922);
|
||||
СтруктураТовара.Вставить("name" , "Комплект защитных плёнок для X3 NFC. Темный хлопок");
|
||||
СтруктураТовара.Вставить("offer_id" , "143210608");
|
||||
СтруктураТовара.Вставить("barcode" , "112772873170");
|
||||
СтруктураТовара.Вставить("price" , "1000");
|
||||
СтруктураТовара.Вставить("old_price" , "1100");
|
||||
СтруктураТовара.Вставить("vat" , "0.1");
|
||||
СтруктураТовара.Вставить("height" , 250);
|
||||
СтруктураТовара.Вставить("width" , 150);
|
||||
СтруктураТовара.Вставить("depth" , 10);
|
||||
СтруктураТовара.Вставить("dimension_unit" , "mm");
|
||||
СтруктураТовара.Вставить("weight" , 100);
|
||||
СтруктураТовара.Вставить("weight_unit" , "g");
|
||||
|
||||
// Видеообложка
|
||||
|
||||
OPI_Ozon.ДобавитьВидеообложкуТовара(СтруктураТовара, Видео);
|
||||
|
||||
// END
|
||||
|
||||
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(СтруктураТовара, "ДобавитьВидеообложкуТовара", "Ozon");
|
||||
|
||||
Проверка_Структура(СтруктураТовара);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Ozon_ДополнитьКомплексныйАтрибут(ПараметрыФункции)
|
||||
|
||||
СтруктураТовара = Новый Структура;
|
||||
СтруктураТовара.Вставить("description_category_id", 17028922);
|
||||
СтруктураТовара.Вставить("name" , "Комплект защитных плёнок для X3 NFC. Темный хлопок");
|
||||
СтруктураТовара.Вставить("offer_id" , "143210608");
|
||||
СтруктураТовара.Вставить("barcode" , "112772873170");
|
||||
СтруктураТовара.Вставить("price" , "1000");
|
||||
СтруктураТовара.Вставить("old_price" , "1100");
|
||||
СтруктураТовара.Вставить("vat" , "0.1");
|
||||
СтруктураТовара.Вставить("height" , 250);
|
||||
СтруктураТовара.Вставить("width" , 150);
|
||||
СтруктураТовара.Вставить("depth" , 10);
|
||||
СтруктураТовара.Вставить("dimension_unit" , "mm");
|
||||
СтруктураТовара.Вставить("weight" , 100);
|
||||
СтруктураТовара.Вставить("weight_unit" , "g");
|
||||
|
||||
АтрибутКатегории1 = Новый Структура("dictionary_value_id,value", 971082156, "Стойка для акустической системы");
|
||||
|
||||
АтрибутКатегории2 = Новый Структура("value", "Комплект защитных плёнок для X3 NFC. Темный хлопок");
|
||||
|
||||
OPI_Ozon.ДополнитьКомплексныйАтрибут(СтруктураТовара, 5076 , 0, АтрибутКатегории1);
|
||||
OPI_Ozon.ДополнитьКомплексныйАтрибут(СтруктураТовара, 9048 , 0, АтрибутКатегории2);
|
||||
|
||||
// END
|
||||
|
||||
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(СтруктураТовара, "ДополнитьКомплексныйАтрибут", "Ozon");
|
||||
|
||||
Проверка_Структура(СтруктураТовара);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Ozon_ПолучитьСтатусДобавленияТовара(ПараметрыФункции)
|
||||
|
||||
IDКлиента = ПараметрыФункции["Ozon_ClientID"];
|
||||
КлючAPI = ПараметрыФункции["Ozon_ApiKey"];
|
||||
IDЗадачи = ПараметрыФункции["Ozon_TaskID"];
|
||||
|
||||
Результат = OPI_Ozon.ПолучитьСтатусДобавленияТовара(IDКлиента, КлючAPI, IDЗадачи);
|
||||
|
||||
// END
|
||||
|
||||
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтатусДобавленияТовара", "Ozon");
|
||||
|
||||
Проверка_ОзонНовыеТовары(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
@ -224,6 +224,72 @@
|
||||
НоваяСтрока.Область = "Атрибуты и характеристики";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "ozon";
|
||||
НоваяСтрока.Модуль = "OPI_Ozon";
|
||||
НоваяСтрока.Метод = "СоздатьОбновитьТовары";
|
||||
НоваяСтрока.МетодПоиска = "СОЗДАТЬОБНОВИТЬТОВАРЫ";
|
||||
НоваяСтрока.Параметр = "--clientid";
|
||||
НоваяСтрока.Описание = "Идентификатор клиента";
|
||||
НоваяСтрока.Область = "Загрузка и обновление товаров";
|
||||
НоваяСтрока.ОписаниеМетода = "Создает новые или обновляет существующие товары по структурам полей
|
||||
|
|
||||
| Пример указания параметра типа массив:
|
||||
| --param ""['Val1','Val2','Val3']""
|
||||
|";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "ozon";
|
||||
НоваяСтрока.Модуль = "OPI_Ozon";
|
||||
НоваяСтрока.Метод = "СоздатьОбновитьТовары";
|
||||
НоваяСтрока.МетодПоиска = "СОЗДАТЬОБНОВИТЬТОВАРЫ";
|
||||
НоваяСтрока.Параметр = "--apikey";
|
||||
НоваяСтрока.Описание = "API ключ";
|
||||
НоваяСтрока.Область = "Загрузка и обновление товаров";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "ozon";
|
||||
НоваяСтрока.Модуль = "OPI_Ozon";
|
||||
НоваяСтрока.Метод = "СоздатьОбновитьТовары";
|
||||
НоваяСтрока.МетодПоиска = "СОЗДАТЬОБНОВИТЬТОВАРЫ";
|
||||
НоваяСтрока.Параметр = "--items";
|
||||
НоваяСтрока.Описание = "Массив или одна структура полей описания товара";
|
||||
НоваяСтрока.Область = "Загрузка и обновление товаров";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "ozon";
|
||||
НоваяСтрока.Модуль = "OPI_Ozon";
|
||||
НоваяСтрока.Метод = "ПолучитьСтатусДобавленияТовара";
|
||||
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬСТАТУСДОБАВЛЕНИЯТОВАРА";
|
||||
НоваяСтрока.Параметр = "--clientid";
|
||||
НоваяСтрока.Описание = "Идентификатор клиента";
|
||||
НоваяСтрока.Область = "Загрузка и обновление товаров";
|
||||
НоваяСтрока.ОписаниеМетода = "Получает статус добавления нового товара по ID задачи";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "ozon";
|
||||
НоваяСтрока.Модуль = "OPI_Ozon";
|
||||
НоваяСтрока.Метод = "ПолучитьСтатусДобавленияТовара";
|
||||
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬСТАТУСДОБАВЛЕНИЯТОВАРА";
|
||||
НоваяСтрока.Параметр = "--apikey";
|
||||
НоваяСтрока.Описание = "API ключ";
|
||||
НоваяСтрока.Область = "Загрузка и обновление товаров";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "ozon";
|
||||
НоваяСтрока.Модуль = "OPI_Ozon";
|
||||
НоваяСтрока.Метод = "ПолучитьСтатусДобавленияТовара";
|
||||
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬСТАТУСДОБАВЛЕНИЯТОВАРА";
|
||||
НоваяСтрока.Параметр = "--taskid";
|
||||
НоваяСтрока.Описание = "ID задачи добавления товара";
|
||||
НоваяСтрока.Область = "Загрузка и обновление товаров";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "ozon";
|
||||
НоваяСтрока.Модуль = "OPI_Ozon";
|
||||
@ -234,6 +300,99 @@
|
||||
НоваяСтрока.Область = "Загрузка и обновление товаров";
|
||||
НоваяСтрока.ОписаниеМетода = "Получает структуру стандартных полей товара";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "ozon";
|
||||
НоваяСтрока.Модуль = "OPI_Ozon";
|
||||
НоваяСтрока.Метод = "ДобавитьВидеоТовара";
|
||||
НоваяСтрока.МетодПоиска = "ДОБАВИТЬВИДЕОТОВАРА";
|
||||
НоваяСтрока.Параметр = "--item";
|
||||
НоваяСтрока.Описание = "Основная структура полей товара. См. ПолучитьСтруктуруТовара";
|
||||
НоваяСтрока.Область = "Загрузка и обновление товаров";
|
||||
НоваяСтрока.ОписаниеМетода = "Добавляет видео к атрибутам товара";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "ozon";
|
||||
НоваяСтрока.Модуль = "OPI_Ozon";
|
||||
НоваяСтрока.Метод = "ДобавитьВидеоТовара";
|
||||
НоваяСтрока.МетодПоиска = "ДОБАВИТЬВИДЕОТОВАРА";
|
||||
НоваяСтрока.Параметр = "--url";
|
||||
НоваяСтрока.Описание = "URL к видео для добавления";
|
||||
НоваяСтрока.Область = "Загрузка и обновление товаров";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "ozon";
|
||||
НоваяСтрока.Модуль = "OPI_Ozon";
|
||||
НоваяСтрока.Метод = "ДобавитьВидеоТовара";
|
||||
НоваяСтрока.МетодПоиска = "ДОБАВИТЬВИДЕОТОВАРА";
|
||||
НоваяСтрока.Параметр = "--title";
|
||||
НоваяСтрока.Описание = "Техническое наименование видео";
|
||||
НоваяСтрока.Область = "Загрузка и обновление товаров";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "ozon";
|
||||
НоваяСтрока.Модуль = "OPI_Ozon";
|
||||
НоваяСтрока.Метод = "ДобавитьВидеообложкуТовара";
|
||||
НоваяСтрока.МетодПоиска = "ДОБАВИТЬВИДЕООБЛОЖКУТОВАРА";
|
||||
НоваяСтрока.Параметр = "--item";
|
||||
НоваяСтрока.Описание = "Основная структура полей товара. См. ПолучитьСтруктуруТовара";
|
||||
НоваяСтрока.Область = "Загрузка и обновление товаров";
|
||||
НоваяСтрока.ОписаниеМетода = "Добавляет видеообложку к атрибутам товара";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "ozon";
|
||||
НоваяСтрока.Модуль = "OPI_Ozon";
|
||||
НоваяСтрока.Метод = "ДобавитьВидеообложкуТовара";
|
||||
НоваяСтрока.МетодПоиска = "ДОБАВИТЬВИДЕООБЛОЖКУТОВАРА";
|
||||
НоваяСтрока.Параметр = "--url";
|
||||
НоваяСтрока.Описание = "URL к видеообложке для добавления";
|
||||
НоваяСтрока.Область = "Загрузка и обновление товаров";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "ozon";
|
||||
НоваяСтрока.Модуль = "OPI_Ozon";
|
||||
НоваяСтрока.Метод = "ДополнитьКомплексныйАтрибут";
|
||||
НоваяСтрока.МетодПоиска = "ДОПОЛНИТЬКОМПЛЕКСНЫЙАТРИБУТ";
|
||||
НоваяСтрока.Параметр = "--object";
|
||||
НоваяСтрока.Описание = "Структура комплексного атрибута или структура товара";
|
||||
НоваяСтрока.Область = "Загрузка и обновление товаров";
|
||||
НоваяСтрока.ОписаниеМетода = "Оформляет значение в формате атрибута и добавляет его в массив attributes переданной коллекции";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "ozon";
|
||||
НоваяСтрока.Модуль = "OPI_Ozon";
|
||||
НоваяСтрока.Метод = "ДополнитьКомплексныйАтрибут";
|
||||
НоваяСтрока.МетодПоиска = "ДОПОЛНИТЬКОМПЛЕКСНЫЙАТРИБУТ";
|
||||
НоваяСтрока.Параметр = "--attributeid";
|
||||
НоваяСтрока.Описание = "ID атрибута";
|
||||
НоваяСтрока.Область = "Загрузка и обновление товаров";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "ozon";
|
||||
НоваяСтрока.Модуль = "OPI_Ozon";
|
||||
НоваяСтрока.Метод = "ДополнитьКомплексныйАтрибут";
|
||||
НоваяСтрока.МетодПоиска = "ДОПОЛНИТЬКОМПЛЕКСНЫЙАТРИБУТ";
|
||||
НоваяСтрока.Параметр = "--complexid";
|
||||
НоваяСтрока.Описание = "Комплексный ID";
|
||||
НоваяСтрока.Область = "Загрузка и обновление товаров";
|
||||
|
||||
|
||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||
НоваяСтрока.Библиотека = "ozon";
|
||||
НоваяСтрока.Модуль = "OPI_Ozon";
|
||||
НоваяСтрока.Метод = "ДополнитьКомплексныйАтрибут";
|
||||
НоваяСтрока.МетодПоиска = "ДОПОЛНИТЬКОМПЛЕКСНЫЙАТРИБУТ";
|
||||
НоваяСтрока.Параметр = "--values";
|
||||
НоваяСтрока.Описание = "Значение или массив значений для добавления в values";
|
||||
НоваяСтрока.Область = "Загрузка и обновление товаров";
|
||||
|
||||
Возврат ТаблицаСостава;
|
||||
КонецФункции
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user