1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2025-01-06 03:54:27 +02:00

Дефекты SC

This commit is contained in:
Anton 2024-11-03 11:00:05 +03:00
parent f10b7cf813
commit d1cb840679
23 changed files with 5615 additions and 5431 deletions

File diff suppressed because it is too large Load Diff

View File

@ -3665,11 +3665,13 @@
, Знач Вложения = ""
, Знач Токен = "") Экспорт
Строка_ = "Строка";
Параметры = НормализоватьАвторизацию(URL, Токен, "im.notify.personal.add");
OPI_Инструменты.ДобавитьПоле("USER_ID", IDПользователя, "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("MESSAGE", Текст , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("TAG" , Тег , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("USER_ID", IDПользователя, Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("MESSAGE", Текст , Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("TAG" , Тег , Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("ATTACH" , Вложения , "Массив", Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры);
@ -3701,11 +3703,13 @@
, Знач Вложения = ""
, Знач Токен = "") Экспорт
Строка_ = "Строка";
Параметры = НормализоватьАвторизацию(URL, Токен, "im.notify.system.add");
OPI_Инструменты.ДобавитьПоле("USER_ID", IDПользователя, "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("MESSAGE", Текст , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("TAG" , Тег , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("USER_ID", IDПользователя, Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("MESSAGE", Текст , Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("TAG" , Тег , Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("ATTACH" , Вложения , "Массив", Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры);
@ -3764,11 +3768,13 @@
, Знач IDРуководителя = ""
, Знач Токен = "") Экспорт
Строка_ = "Строка";
Параметры = НормализоватьАвторизацию(URL, Токен, "department.add");
OPI_Инструменты.ДобавитьПоле("NAME" , Наименование , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("PARENT" , IDРодителя , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("UF_HEAD", IDРуководителя, "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("NAME" , Наименование , Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("PARENT" , IDРодителя , Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("UF_HEAD", IDРуководителя, Строка_, Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры);
@ -3799,12 +3805,14 @@
, Знач IDРуководителя = ""
, Знач Токен = "") Экспорт
Строка_ = "Строка";
Параметры = НормализоватьАвторизацию(URL, Токен, "department.update");
OPI_Инструменты.ДобавитьПоле("ID" , IDПодразделения, "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("NAME" , Наименование , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("PARENT" , IDРодителя , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("UF_HEAD", IDРуководителя , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("ID" , IDПодразделения, Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("NAME" , Наименование , Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("PARENT" , IDРодителя , Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("UF_HEAD", IDРуководителя , Строка_, Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры);
@ -3835,12 +3843,14 @@
, Знач IDРуководителя = ""
, Знач Токен = "") Экспорт
Строка_ = "Строка";
Параметры = НормализоватьАвторизацию(URL, Токен, "department.get");
OPI_Инструменты.ДобавитьПоле("ID" , IDПодразделения, "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("NAME" , Наименование , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("PARENT" , IDРодителя , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("UF_HEAD", IDРуководителя , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("ID" , IDПодразделения, Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("NAME" , Наименование , Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("PARENT" , IDРодителя , Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("UF_HEAD", IDРуководителя , Строка_, Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры);

View File

@ -60,12 +60,14 @@
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от CDEK
Функция ПолучитьТокен(Знач Аккаунт, Знач Пароль, ТестовыйAPI = Ложь) Экспорт
Строка_ = "Строка";
URL = СформироватьURL("/oauth/token", ТестовыйAPI);
Параметры = Новый Структура;
OPI_Инструменты.ДобавитьПоле("grant_type" , "client_credentials", "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("client_id" , Аккаунт , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("client_secret", Пароль , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("grant_type" , "client_credentials", Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("client_id" , Аккаунт , Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("client_secret", Пароль , Строка_, Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры, , Ложь);
@ -643,6 +645,8 @@
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от CDEK
Функция СоздатьПреалерт(Знач Токен, Знач МассивUUID, Знач ДатаПередачи, Знач ПВЗ, Знач ТестовыйAPI = Ложь) Экспорт
Planned_date_ = "planned_date";
OPI_ПреобразованиеТипов.ПолучитьМассив(МассивUUID);
URL = СформироватьURL("/prealert", ТестовыйAPI);
@ -659,10 +663,10 @@
КонецЦикла;
OPI_Инструменты.ДобавитьПоле("orders" , МассивЗаказов, "Массив" , Параметры);
OPI_Инструменты.ДобавитьПоле("planned_date" , ДатаПередачи , "ДатаISO" , Параметры);
OPI_Инструменты.ДобавитьПоле(Planned_date_ , ДатаПередачи , "ДатаISO" , Параметры);
OPI_Инструменты.ДобавитьПоле("shipment_point", ПВЗ , "Строка" , Параметры);
Параметры["planned_date"] = Параметры["planned_date"] + "+0000";
Параметры[Planned_date_] = Параметры[Planned_date_] + "+0000";
Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки);
@ -767,6 +771,8 @@
// Структура Из КлючИЗначение - Структура полей
Функция ПолучитьОписаниеЗаказа(Знач Пустая = Ложь, Знач ТолькоОбязательные = Ложь, Знач ИнтернетМагазин = Ложь) Экспорт
// BSLLS:DuplicateStringLiteral-off
OPI_ПреобразованиеТипов.ПолучитьБулево(Пустая);
OPI_ПреобразованиеТипов.ПолучитьБулево(ТолькоОбязательные);
OPI_ПреобразованиеТипов.ПолучитьБулево(ИнтернетМагазин);
@ -945,6 +951,8 @@
//@skip-check constructor-function-return-section
Возврат СтруктураЗаказа;
// BSLLS:DuplicateStringLiteral-on
КонецФункции
#КонецОбласти
@ -1124,6 +1132,8 @@
// Структура Из КлючИЗначение - Структура полей
Функция ПолучитьОписаниеЗаявкиКурьера(Знач Пустая = Ложь, Знач ТолькоОбязательные = Ложь) Экспорт
// BSLLS:DuplicateStringLiteral-off
OPI_ПреобразованиеТипов.ПолучитьБулево(Пустая);
OPI_ПреобразованиеТипов.ПолучитьБулево(ТолькоОбязательные);
@ -1191,6 +1201,8 @@
//@skip-check constructor-function-return-section
Возврат СтруктураЗаявки;
// BSLLS:DuplicateStringLiteral-on
КонецФункции
// Получить описание договоренности

View File

@ -339,7 +339,7 @@
Событие_.Вставить(Поле.Ключ, "");
КонецЦикла;
Событие_ = Событие_;
Событие = Событие_;
КонецЕсли;

View File

@ -368,10 +368,14 @@
Иначе
// BSLLS:UnusedLocalVariable-off
//@skip-check module-unused-local-variable
СообщениеУдаления = СтрШаблон("Удалено %1 лишних файлов", Строка(МассивУдаляемых.Количество()));
Сообщить(СообщениеУдаления);
// BSLLS:UnusedLocalVariable-on
КонецЕсли;
КонецЕсли;
@ -388,11 +392,15 @@
МассивОшибок.Добавить(Ответ);
Иначе
// BSLLS:UnusedLocalVariable-off
//@skip-check module-unused-local-variable
Прогресс = "[" + OPI_Инструменты.ЧислоВСтроку(Счетчик) + "/" + Всего + "] ";
Сообщить(Прогресс + ЛокальныйПуть.Ключ + Символы.ПС + Ответ["message"] + Символы.ПС);
// BSLLS:UnusedLocalVariable-on
КонецЕсли;

View File

@ -96,14 +96,16 @@
, Знач IDТипа
, Знач Язык = "DEFAULT") Экспорт
Строка_ = "Строка";
URL = "https://api-seller.ozon.ru/v1/description-category/attribute";
Заголовки = СоздатьЗаголовкиЗапроса(IDКлиента, КлючAPI);
Параметры = Новый Структура;
OPI_Инструменты.ДобавитьПоле("description_category_id", IDКатегории, "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("type_id" , IDТипа , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("language" , Язык , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("description_category_id", IDКатегории, Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("type_id" , IDТипа , Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("language" , Язык , Строка_, Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки);
@ -137,18 +139,20 @@
, Знач IDСправочника = 1
, Знач Язык = "DEFAULT") Экспорт
Строка_ = "Строка";
URL = "https://api-seller.ozon.ru/v1/description-category/attribute/values";
Заголовки = СоздатьЗаголовкиЗапроса(IDКлиента, КлючAPI);
Лимит = 200;
Параметры = Новый Структура;
OPI_Инструменты.ДобавитьПоле("description_category_id", IDКатегории , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("type_id" , IDТипа , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("attribute_id" , IDХарактеристики , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("language" , Язык , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("limit" , Лимит , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("last_value_id" , IDСправочника - 1, "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("description_category_id", IDКатегории , Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("type_id" , IDТипа , Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("attribute_id" , IDХарактеристики , Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("language" , Язык , Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("limit" , Лимит , Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("last_value_id" , IDСправочника - 1, Строка_, Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки);
@ -180,17 +184,19 @@
, Знач IDХарактеристики
, Знач Значение) Экспорт
Строка_ = "Строка";
URL = "https://api-seller.ozon.ru/v1/description-category/attribute/values/search";
Заголовки = СоздатьЗаголовкиЗапроса(IDКлиента, КлючAPI);
Лимит = 100;
Параметры = Новый Структура;
OPI_Инструменты.ДобавитьПоле("description_category_id", IDКатегории , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("type_id" , IDТипа , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("attribute_id" , IDХарактеристики , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("limit" , Лимит , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("value" , Значение , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("description_category_id", IDКатегории , Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("type_id" , IDТипа , Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("attribute_id" , IDХарактеристики , Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("limit" , Лимит , Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("value" , Значение , Строка_, Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки);
@ -242,18 +248,20 @@
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Ozon Seller API
Функция ПолучитьСписокТоваров(Знач IDКлиента, Знач КлючAPI, Знач Фильтр = "", Знач IDПоследнего = 0) Экспорт
Filter_ = "filter";
URL = "https://api-seller.ozon.ru/v2/product/list";
Заголовки = СоздатьЗаголовкиЗапроса(IDКлиента, КлючAPI);
Лимит = 200;
Параметры = Новый Структура;
OPI_Инструменты.ДобавитьПоле("filter" , Фильтр , "Коллекция", Параметры);
OPI_Инструменты.ДобавитьПоле(Filter_ , Фильтр , "Коллекция", Параметры);
OPI_Инструменты.ДобавитьПоле("limit" , Лимит , "Строка" , Параметры);
OPI_Инструменты.ДобавитьПоле("last_id", IDПоследнего, "Строка" , Параметры);
Если Не Параметры.Свойство("filter") Тогда
Параметры.Вставить("filter", Новый Структура);
Если Не Параметры.Свойство(Filter_) Тогда
Параметры.Вставить(Filter_, Новый Структура);
КонецЕсли;
Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки);
@ -326,14 +334,16 @@
, Знач SKU = 0
, Знач Артикулы = "") Экспорт
Массив_ = "Массив";
URL = "https://api-seller.ozon.ru/v2/product/info/list";
Заголовки = СоздатьЗаголовкиЗапроса(IDКлиента, КлючAPI);
Параметры = Новый Структура;
OPI_Инструменты.ДобавитьПоле("offer_id" , Артикулы , "Массив" , Параметры);
OPI_Инструменты.ДобавитьПоле("product_id", IDТоваров, "Массив" , Параметры);
OPI_Инструменты.ДобавитьПоле("sku" , SKU , "Массив" , Параметры);
OPI_Инструменты.ДобавитьПоле("offer_id" , Артикулы , Массив_, Параметры);
OPI_Инструменты.ДобавитьПоле("product_id", IDТоваров, Массив_, Параметры);
OPI_Инструменты.ДобавитьПоле("sku" , SKU , Массив_, Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки);
@ -984,6 +994,8 @@
// Структура Из КлючИЗначение - Структура полей товара с добавленным видео
Функция ДобавитьВидеоТовара(СтруктураТовара, Знач URL, Знач Наименование) Экспорт
Complex_attributes_ = "complex_attributes";
OPI_ПреобразованиеТипов.ПолучитьКоллекцию(СтруктураТовара);
OPI_ПреобразованиеТипов.ПолучитьСтроку(URL);
OPI_ПреобразованиеТипов.ПолучитьСтроку(Наименование);
@ -995,11 +1007,11 @@
ДополнитьКомплексныйАтрибут(ОбъектВидео, 21841, 100001, СтруктураURL);
ДополнитьКомплексныйАтрибут(ОбъектВидео, 21837, 100001, СтруктураНаименования);
Если Не OPI_Инструменты.ПолеКоллекцииСуществет(СтруктураТовара, "complex_attributes") Тогда
СтруктураТовара.Вставить("complex_attributes", Новый Массив);
Если Не OPI_Инструменты.ПолеКоллекцииСуществет(СтруктураТовара, Complex_attributes_) Тогда
СтруктураТовара.Вставить(Complex_attributes_, Новый Массив);
КонецЕсли;
СтруктураТовара["complex_attributes"].Добавить(ОбъектВидео);
СтруктураТовара[Complex_attributes_].Добавить(ОбъектВидео);
//@skip-check constructor-function-return-section
Возврат СтруктураТовара;
@ -1020,6 +1032,8 @@
// Структура Из КлючИЗначение - Структура полей товара с добавленным видео
Функция ДобавитьВидеообложкуТовара(СтруктураТовара, Знач URL) Экспорт
Complex_attributes_ = "complex_attributes";
OPI_ПреобразованиеТипов.ПолучитьКоллекцию(СтруктураТовара);
OPI_ПреобразованиеТипов.ПолучитьСтроку(URL);
@ -1028,11 +1042,11 @@
ДополнитьКомплексныйАтрибут(ОбъектОбложка, 21845, 100002, СтруктураURL);
Если Не OPI_Инструменты.ПолеКоллекцииСуществет(СтруктураТовара, "complex_attributes") Тогда
СтруктураТовара.Вставить("complex_attributes", Новый Массив);
Если Не OPI_Инструменты.ПолеКоллекцииСуществет(СтруктураТовара, Complex_attributes_) Тогда
СтруктураТовара.Вставить(Complex_attributes_, Новый Массив);
КонецЕсли;
СтруктураТовара["complex_attributes"].Добавить(ОбъектОбложка);
СтруктураТовара[Complex_attributes_].Добавить(ОбъектОбложка);
//@skip-check constructor-function-return-section
Возврат СтруктураТовара;
@ -1055,16 +1069,18 @@
// Структура - Коллекция, дополненная атрибутом
Функция ДополнитьКомплексныйАтрибут(Коллекция, Знач IDАтрибута, Знач КомплексныйID, Знач Значения) Экспорт
Attributes_ = "attributes";
OPI_ПреобразованиеТипов.ПолучитьМассив(Значения);
OPI_ПреобразованиеТипов.ПолучитьКоллекцию(Коллекция);
СтруктураАтрибута = Новый Структура("id,complex_id,values", IDАтрибута, КомплексныйID, Значения);
Если Не OPI_Инструменты.ПолеКоллекцииСуществет(Коллекция, "attributes") Тогда
Коллекция.Вставить("attributes", Новый Массив);
Если Не OPI_Инструменты.ПолеКоллекцииСуществет(Коллекция, Attributes_) Тогда
Коллекция.Вставить(Attributes_, Новый Массив);
КонецЕсли;
Коллекция["attributes"].Добавить(СтруктураАтрибута);
Коллекция[Attributes_].Добавить(СтруктураАтрибута);
//@skip-check constructor-function-return-section
Возврат Коллекция;
@ -1455,15 +1471,17 @@
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Ozon Seller API
Функция ПолучитьДоступныеТоварыАкции(Знач IDКлиента, Знач КлючAPI, Знач IDАкции, Знач Отступ = 0) Экспорт
Число_ = "Число";
URL = "https://api-seller.ozon.ru/v1/actions/candidates";
Заголовки = СоздатьЗаголовкиЗапроса(IDКлиента, КлючAPI);
Лимит = 100;
Параметры = Новый Структура;
OPI_Инструменты.ДобавитьПоле("action_id", IDАкции, "Число", Параметры);
OPI_Инструменты.ДобавитьПоле("limit" , Лимит , "Число", Параметры);
OPI_Инструменты.ДобавитьПоле("offset" , Отступ , "Число", Параметры);
OPI_Инструменты.ДобавитьПоле("action_id", IDАкции, Число_, Параметры);
OPI_Инструменты.ДобавитьПоле("limit" , Лимит , Число_, Параметры);
OPI_Инструменты.ДобавитьПоле("offset" , Отступ , Число_, Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки);
@ -1487,15 +1505,17 @@
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Ozon Seller API
Функция ПолучитьУчаствующиеТоварыАкции(Знач IDКлиента, Знач КлючAPI, Знач IDАкции, Знач Отступ = 0) Экспорт
Число_ = "Число";
URL = "https://api-seller.ozon.ru/v1/actions/products";
Заголовки = СоздатьЗаголовкиЗапроса(IDКлиента, КлючAPI);
Лимит = 100;
Параметры = Новый Структура;
OPI_Инструменты.ДобавитьПоле("action_id", IDАкции, "Число", Параметры);
OPI_Инструменты.ДобавитьПоле("limit" , Лимит , "Число", Параметры);
OPI_Инструменты.ДобавитьПоле("offset" , Отступ , "Число", Параметры);
OPI_Инструменты.ДобавитьПоле("action_id", IDАкции, Число_, Параметры);
OPI_Инструменты.ДобавитьПоле("limit" , Лимит , Число_, Параметры);
OPI_Инструменты.ДобавитьПоле("offset" , Отступ , Число_, Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки);

View File

@ -33,6 +33,7 @@
// BSLLS:CommentedCode-off
// BSLLS:UsingServiceTag-off
// BSLLS:NumberOfParams-off
// BSLLS:LineLength-off
//@skip-check module-structure-top-region
//@skip-check module-structure-method-in-regions

View File

@ -33,6 +33,7 @@
// BSLLS:IncorrectLineBreak-off
// BSLLS:NumberOfOptionalParams-off
// BSLLS:UsingServiceTag-off
// BSLLS:LineLength-off
//@skip-check method-too-many-params
//@skip-check module-structure-top-region
@ -403,10 +404,10 @@
Для Каждого Часть Из МассивЧтения Цикл
Поля = Новый Структура;
Поля.Вставить(Command , "APPEND");
Поля.Вставить("media_id" , IDSИнициализации);
Поля.Вставить("segment_index" , OPI_Инструменты.ЧислоВСтроку(Счетчик));
Поля.Вставить("media" , Часть);
Поля.Вставить(Command , "APPEND");
Поля.Вставить(MID , IDSИнициализации);
Поля.Вставить("segment_index", OPI_Инструменты.ЧислоВСтроку(Счетчик));
Поля.Вставить("media" , Часть);
Авторизация = СоздатьЗаголовокАвторизацииV1(Параметры, Новый Структура, ВидЗапроса, URL);
@ -417,8 +418,8 @@
КонецЦикла;
Поля = Новый Структура;
Поля.Вставить(Command , "FINALIZE");
Поля.Вставить("media_id", IDSИнициализации);
Поля.Вставить(Command, "FINALIZE");
Поля.Вставить(MID , IDSИнициализации);
СтатусОбработки = ПолучитьСтатусОбработки(Параметры, Поля, URL);

View File

@ -147,14 +147,16 @@
, Знач Клавиатура = ""
, Знач Разметка = "MarkdownV2") Экспорт
Строка_ = "Строка";
URL = "/messages/sendText";
Параметры = НормализоватьОснову(URL, Токен);
OPI_Инструменты.ДобавитьПоле("chatId" , IDЧата , "Строка" , Параметры);
OPI_Инструменты.ДобавитьПоле("text" , Текст , "Строка" , Параметры);
OPI_Инструменты.ДобавитьПоле("replyMsgId" , IDЦитируемого, "Строка" , Параметры);
OPI_Инструменты.ДобавитьПоле("chatId" , IDЧата , Строка_ , Параметры);
OPI_Инструменты.ДобавитьПоле("text" , Текст , Строка_ , Параметры);
OPI_Инструменты.ДобавитьПоле("replyMsgId" , IDЦитируемого, Строка_ , Параметры);
OPI_Инструменты.ДобавитьПоле("inlineKeyboardMarkup", Клавиатура , "Коллекция", Параметры);
OPI_Инструменты.ДобавитьПоле("parseMode" , Разметка , "Строка" , Параметры);
OPI_Инструменты.ДобавитьПоле("parseMode" , Разметка , Строка_ , Параметры);
Ответ = OPI_Инструменты.Get(URL, Параметры);
@ -185,14 +187,16 @@
, Знач ИмяФайла = ""
, Знач Разметка = "MarkdownV2") Экспорт
Строка_ = "Строка";
URL = "/messages/sendFile";
Параметры = НормализоватьОснову(URL, Токен);
OPI_Инструменты.ДобавитьПоле("chatId" , IDЧата , "Строка" , Параметры);
OPI_Инструменты.ДобавитьПоле("caption" , Текст , "Строка" , Параметры);
OPI_Инструменты.ДобавитьПоле("parseMode" , Разметка , "Строка" , Параметры);
OPI_Инструменты.ДобавитьПоле("chatId" , IDЧата , Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("caption" , Текст , Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("parseMode", Разметка, Строка_, Параметры);
Если ТипЗнч(Файл) = Тип("Строка") Тогда
Если ТипЗнч(Файл) = Тип(Строка_) Тогда
ФайлОбъект = Новый Файл(Файл);
ИспользуемоеИмя = ФайлОбъект.Имя;
Иначе
@ -282,13 +286,15 @@
, Знач Текст
, Знач Разметка = "MarkdownV2") Экспорт
Строка_ = "Строка";
URL = "/messages/editText";
Параметры = НормализоватьОснову(URL, Токен);
OPI_Инструменты.ДобавитьПоле("chatId" , IDЧата , "Строка" , Параметры);
OPI_Инструменты.ДобавитьПоле("text" , Текст , "Строка" , Параметры);
OPI_Инструменты.ДобавитьПоле("msgId" , IDСообщения , "Строка" , Параметры);
OPI_Инструменты.ДобавитьПоле("parseMode", Разметка , "Строка" , Параметры);
OPI_Инструменты.ДобавитьПоле("chatId" , IDЧата , Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("text" , Текст , Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("msgId" , IDСообщения, Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("parseMode", Разметка , Строка_, Параметры);
Ответ = OPI_Инструменты.Get(URL, Параметры);
@ -344,13 +350,15 @@
, Знач Текст = ""
, Знач Разметка = "MarkdownV2") Экспорт
Строка_ = "Строка";
URL = "/messages/sendFile";
Параметры = НормализоватьОснову(URL, Токен);
OPI_Инструменты.ДобавитьПоле("chatId" , IDЧата , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("caption" , Текст , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("parseMode" , Разметка, "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("fileId" , IDФайла , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("chatId" , IDЧата , Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("caption" , Текст , Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("parseMode" , Разметка, Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("fileId" , IDФайла , Строка_, Параметры);
Ответ = OPI_Инструменты.Get(URL, Параметры);
@ -403,13 +411,15 @@
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от VK Teams
Функция ПереслатьСообщение(Знач Токен, Знач IDСообщения, Знач IDЧатаИсточника, Знач IDЧата, Знач Текст = "") Экспорт
Строка_ = "Строка";
URL = "/messages/sendText";
Параметры = НормализоватьОснову(URL, Токен);
OPI_Инструменты.ДобавитьПоле("chatId" , IDЧата , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("text" , Текст , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("forwardChatId", IDЧатаИсточника, "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("forwardMsgId" , IDСообщения , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("chatId" , IDЧата , Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("text" , Текст , Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("forwardChatId", IDЧатаИсточника, Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("forwardMsgId" , IDСообщения , Строка_, Параметры);
Ответ = OPI_Инструменты.Get(URL, Параметры);
@ -495,12 +505,14 @@
, Знач URL = ""
, Знач ЭтоПредупреждение = Ложь) Экспорт
Строка_ = "Строка";
URL = "/messages/answerCallbackQuery";
Параметры = НормализоватьОснову(URL, Токен);
OPI_Инструменты.ДобавитьПоле("queryId" , IDСобытия , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("text" , Текст , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("url" , URL , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("queryId" , IDСобытия , Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("text" , Текст , Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("url" , URL , Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("showAlert", ЭтоПредупреждение , "Булево", Параметры);
Ответ = OPI_Инструменты.Get(URL, Параметры);
@ -522,11 +534,13 @@
// Структура - Кнопка для клавиатуры
Функция СформироватьКнопкуДействия(Знач Текст, Знач Значение = "", Знач URL = "", Знач Стиль = "base") Экспорт
Строка_ = "Строка";
СтруктураКнопки = Новый Структура;
OPI_Инструменты.ДобавитьПоле("text" , Текст , "Строка", СтруктураКнопки);
OPI_Инструменты.ДобавитьПоле("callbackData", Значение, "Строка", СтруктураКнопки);
OPI_Инструменты.ДобавитьПоле("url" , URL , "Строка", СтруктураКнопки);
OPI_Инструменты.ДобавитьПоле("style" , Стиль , "Строка", СтруктураКнопки);
OPI_Инструменты.ДобавитьПоле("text" , Текст , Строка_, СтруктураКнопки);
OPI_Инструменты.ДобавитьПоле("callbackData", Значение, Строка_, СтруктураКнопки);
OPI_Инструменты.ДобавитьПоле("url" , URL , Строка_, СтруктураКнопки);
OPI_Инструменты.ДобавитьПоле("style" , Стиль , Строка_, СтруктураКнопки);
Возврат СтруктураКнопки;

View File

@ -1874,6 +1874,8 @@
Сообщить("Проверка товаров Ozon недоступна");
Возврат;
// BSLLS:UnreachableCode-off
Ozon_ПолучитьСтруктуруТовара(ПараметрыТеста);
Ozon_СоздатьОбновитьТовары(ПараметрыТеста);
Ozon_ПолучитьСтатусДобавленияТовара(ПараметрыТеста);
@ -1901,6 +1903,8 @@
Ozon_ПолучитьСвязанныеSKU(ПараметрыТеста);
Ozon_УдалитьТоварыБезSKU(ПараметрыТеста);
// BSLLS:UnreachableCode-on
КонецПроцедуры
Процедура ОзонАПИ_Штрихкоды() Экспорт

View File

@ -32,6 +32,8 @@
// BSLLS:UsingServiceTag-off
// BSLLS:UnusedParameters-off
// BSLLS:DuplicateStringLiteral-off
// BSLLS:UsingHardcodePath-off
// BSLLS:UnusedLocalVariable-off
//@skip-check undefined-variable
//@skip-check wrong-string-literal-content
@ -1432,6 +1434,8 @@
Сообщить("Проверка товаров Ozon недоступна");
Возврат;
// BSLLS:UnreachableCode-off
CLI_Ozon_ПолучитьСтруктуруТовара(ПараметрыТеста);
CLI_Ozon_СоздатьОбновитьТовары(ПараметрыТеста);
CLI_Ozon_ПолучитьСтатусДобавленияТовара(ПараметрыТеста);
@ -1458,6 +1462,8 @@
CLI_Ozon_ПолучитьКоличествоПодписчиковТоваров(ПараметрыТеста);
CLI_Ozon_ПолучитьСвязанныеSKU(ПараметрыТеста);
CLI_Ozon_УдалитьТоварыБезSKU(ПараметрыТеста);
// BSLLS:UnreachableCode-on
КонецПроцедуры

View File

@ -388,8 +388,12 @@
Ответ = Ложь;
// BSLLS:UnusedLocalVariable-off
//@skip-check module-unused-local-variable
Проверка = Новый ЗащищенноеСоединениеOpenSSL();
// BSLLS:UnusedLocalVariable-on
Исключение
@ -1935,9 +1939,9 @@
КонецФункции
Функция ПолучитьОбщийМодуль(Знач Имя)
Модуль = Вычислить(Имя);
Возврат Модуль;
КонецФункции
@ -2011,26 +2015,11 @@
Если ТипЗнч(Значение) = Тип("Структура") Или ТипЗнч(Значение) = Тип("Соответствие") Тогда
Значение_ = ?(ТипЗнч(Значение) = Тип("Структура"), Новый Структура, Новый Соответствие);
Для Каждого Элемент Из Значение Цикл
Значение_.Вставить(Элемент.Ключ
, ОформитьОпцию(Элемент.Значение, Элемент.Ключ, Истина));
КонецЦикла;
Значение = Значение_;
Значение = ОформитьОпциюКоллекцию(Значение);
ИначеЕсли ТипЗнч(Значение) = Тип("Массив") Тогда
Значение_ = Новый Массив;
Для Каждого Элемент Из Значение Цикл
Значение_.Добавить(ОформитьОпцию(Элемент, Имя, Истина));
КонецЦикла;
Значение = Значение_;
Значение = ОформитьОпциюМассив(Значение, Имя);
Иначе
@ -2052,6 +2041,32 @@
КонецФункции
Функция ОформитьОпциюКоллекцию(Знач Значение)
Значение_ = ?(ТипЗнч(Значение) = Тип("Структура"), Новый Структура, Новый Соответствие);
Для Каждого Элемент Из Значение Цикл
Значение_.Вставить(Элемент.Ключ, ОформитьОпцию(Элемент.Значение, Элемент.Ключ, Истина));
КонецЦикла;
Возврат Значение_;
КонецФункции
Функция ОформитьОпциюМассив(Знач Значение, Знач Имя)
Значение_ = Новый Массив;
Для Каждого Элемент Из Значение Цикл
Значение_.Добавить(ОформитьОпцию(Элемент, Имя, Истина));
КонецЦикла;
Возврат Значение_;
КонецФункции
Процедура НовыйТест(ТаблицаЗначений, Знач Метод, Знач Синоним, Знач Раздел)
НовыйТест = ТаблицаЗначений.Добавить();

View File

@ -3665,11 +3665,13 @@
, Знач Вложения = ""
, Знач Токен = "") Экспорт
Строка_ = "Строка";
Параметры = НормализоватьАвторизацию(URL, Токен, "im.notify.personal.add");
OPI_Инструменты.ДобавитьПоле("USER_ID", IDПользователя, "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("MESSAGE", Текст , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("TAG" , Тег , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("USER_ID", IDПользователя, Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("MESSAGE", Текст , Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("TAG" , Тег , Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("ATTACH" , Вложения , "Массив", Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры);
@ -3701,11 +3703,13 @@
, Знач Вложения = ""
, Знач Токен = "") Экспорт
Строка_ = "Строка";
Параметры = НормализоватьАвторизацию(URL, Токен, "im.notify.system.add");
OPI_Инструменты.ДобавитьПоле("USER_ID", IDПользователя, "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("MESSAGE", Текст , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("TAG" , Тег , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("USER_ID", IDПользователя, Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("MESSAGE", Текст , Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("TAG" , Тег , Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("ATTACH" , Вложения , "Массив", Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры);
@ -3764,11 +3768,13 @@
, Знач IDРуководителя = ""
, Знач Токен = "") Экспорт
Строка_ = "Строка";
Параметры = НормализоватьАвторизацию(URL, Токен, "department.add");
OPI_Инструменты.ДобавитьПоле("NAME" , Наименование , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("PARENT" , IDРодителя , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("UF_HEAD", IDРуководителя, "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("NAME" , Наименование , Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("PARENT" , IDРодителя , Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("UF_HEAD", IDРуководителя, Строка_, Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры);
@ -3799,12 +3805,14 @@
, Знач IDРуководителя = ""
, Знач Токен = "") Экспорт
Строка_ = "Строка";
Параметры = НормализоватьАвторизацию(URL, Токен, "department.update");
OPI_Инструменты.ДобавитьПоле("ID" , IDПодразделения, "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("NAME" , Наименование , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("PARENT" , IDРодителя , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("UF_HEAD", IDРуководителя , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("ID" , IDПодразделения, Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("NAME" , Наименование , Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("PARENT" , IDРодителя , Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("UF_HEAD", IDРуководителя , Строка_, Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры);
@ -3835,12 +3843,14 @@
, Знач IDРуководителя = ""
, Знач Токен = "") Экспорт
Строка_ = "Строка";
Параметры = НормализоватьАвторизацию(URL, Токен, "department.get");
OPI_Инструменты.ДобавитьПоле("ID" , IDПодразделения, "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("NAME" , Наименование , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("PARENT" , IDРодителя , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("UF_HEAD", IDРуководителя , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("ID" , IDПодразделения, Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("NAME" , Наименование , Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("PARENT" , IDРодителя , Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("UF_HEAD", IDРуководителя , Строка_, Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры);

View File

@ -60,12 +60,14 @@
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от CDEK
Функция ПолучитьТокен(Знач Аккаунт, Знач Пароль, ТестовыйAPI = Ложь) Экспорт
Строка_ = "Строка";
URL = СформироватьURL("/oauth/token", ТестовыйAPI);
Параметры = Новый Структура;
OPI_Инструменты.ДобавитьПоле("grant_type" , "client_credentials", "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("client_id" , Аккаунт , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("client_secret", Пароль , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("grant_type" , "client_credentials", Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("client_id" , Аккаунт , Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("client_secret", Пароль , Строка_, Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры, , Ложь);
@ -643,6 +645,8 @@
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от CDEK
Функция СоздатьПреалерт(Знач Токен, Знач МассивUUID, Знач ДатаПередачи, Знач ПВЗ, Знач ТестовыйAPI = Ложь) Экспорт
Planned_date_ = "planned_date";
OPI_ПреобразованиеТипов.ПолучитьМассив(МассивUUID);
URL = СформироватьURL("/prealert", ТестовыйAPI);
@ -659,10 +663,10 @@
КонецЦикла;
OPI_Инструменты.ДобавитьПоле("orders" , МассивЗаказов, "Массив" , Параметры);
OPI_Инструменты.ДобавитьПоле("planned_date" , ДатаПередачи , "ДатаISO" , Параметры);
OPI_Инструменты.ДобавитьПоле(Planned_date_ , ДатаПередачи , "ДатаISO" , Параметры);
OPI_Инструменты.ДобавитьПоле("shipment_point", ПВЗ , "Строка" , Параметры);
Параметры["planned_date"] = Параметры["planned_date"] + "+0000";
Параметры[Planned_date_] = Параметры[Planned_date_] + "+0000";
Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки);
@ -767,6 +771,8 @@
// Структура Из КлючИЗначение - Структура полей
Функция ПолучитьОписаниеЗаказа(Знач Пустая = Ложь, Знач ТолькоОбязательные = Ложь, Знач ИнтернетМагазин = Ложь) Экспорт
// BSLLS:DuplicateStringLiteral-off
OPI_ПреобразованиеТипов.ПолучитьБулево(Пустая);
OPI_ПреобразованиеТипов.ПолучитьБулево(ТолькоОбязательные);
OPI_ПреобразованиеТипов.ПолучитьБулево(ИнтернетМагазин);
@ -945,6 +951,8 @@
//@skip-check constructor-function-return-section
Возврат СтруктураЗаказа;
// BSLLS:DuplicateStringLiteral-on
КонецФункции
#КонецОбласти
@ -1124,6 +1132,8 @@
// Структура Из КлючИЗначение - Структура полей
Функция ПолучитьОписаниеЗаявкиКурьера(Знач Пустая = Ложь, Знач ТолькоОбязательные = Ложь) Экспорт
// BSLLS:DuplicateStringLiteral-off
OPI_ПреобразованиеТипов.ПолучитьБулево(Пустая);
OPI_ПреобразованиеТипов.ПолучитьБулево(ТолькоОбязательные);
@ -1191,6 +1201,8 @@
//@skip-check constructor-function-return-section
Возврат СтруктураЗаявки;
// BSLLS:DuplicateStringLiteral-on
КонецФункции
// Получить описание договоренности

View File

@ -339,7 +339,7 @@
Событие_.Вставить(Поле.Ключ, "");
КонецЦикла;
Событие_ = Событие_;
Событие = Событие_;
КонецЕсли;

View File

@ -368,10 +368,14 @@
Иначе
// BSLLS:UnusedLocalVariable-off
//@skip-check module-unused-local-variable
СообщениеУдаления = СтрШаблон("Удалено %1 лишних файлов", Строка(МассивУдаляемых.Количество()));
// !OInt Сообщить(СообщениеУдаления);
// BSLLS:UnusedLocalVariable-on
КонецЕсли;
КонецЕсли;
@ -388,11 +392,15 @@
МассивОшибок.Добавить(Ответ);
Иначе
// BSLLS:UnusedLocalVariable-off
//@skip-check module-unused-local-variable
Прогресс = "[" + OPI_Инструменты.ЧислоВСтроку(Счетчик) + "/" + Всего + "] ";
// !OInt Сообщить(Прогресс + ЛокальныйПуть.Ключ + Символы.ПС + Ответ["message"] + Символы.ПС);
// BSLLS:UnusedLocalVariable-on
КонецЕсли;

View File

@ -96,14 +96,16 @@
, Знач IDТипа
, Знач Язык = "DEFAULT") Экспорт
Строка_ = "Строка";
URL = "https://api-seller.ozon.ru/v1/description-category/attribute";
Заголовки = СоздатьЗаголовкиЗапроса(IDКлиента, КлючAPI);
Параметры = Новый Структура;
OPI_Инструменты.ДобавитьПоле("description_category_id", IDКатегории, "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("type_id" , IDТипа , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("language" , Язык , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("description_category_id", IDКатегории, Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("type_id" , IDТипа , Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("language" , Язык , Строка_, Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки);
@ -137,18 +139,20 @@
, Знач IDСправочника = 1
, Знач Язык = "DEFAULT") Экспорт
Строка_ = "Строка";
URL = "https://api-seller.ozon.ru/v1/description-category/attribute/values";
Заголовки = СоздатьЗаголовкиЗапроса(IDКлиента, КлючAPI);
Лимит = 200;
Параметры = Новый Структура;
OPI_Инструменты.ДобавитьПоле("description_category_id", IDКатегории , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("type_id" , IDТипа , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("attribute_id" , IDХарактеристики , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("language" , Язык , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("limit" , Лимит , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("last_value_id" , IDСправочника - 1, "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("description_category_id", IDКатегории , Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("type_id" , IDТипа , Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("attribute_id" , IDХарактеристики , Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("language" , Язык , Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("limit" , Лимит , Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("last_value_id" , IDСправочника - 1, Строка_, Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки);
@ -180,17 +184,19 @@
, Знач IDХарактеристики
, Знач Значение) Экспорт
Строка_ = "Строка";
URL = "https://api-seller.ozon.ru/v1/description-category/attribute/values/search";
Заголовки = СоздатьЗаголовкиЗапроса(IDКлиента, КлючAPI);
Лимит = 100;
Параметры = Новый Структура;
OPI_Инструменты.ДобавитьПоле("description_category_id", IDКатегории , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("type_id" , IDТипа , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("attribute_id" , IDХарактеристики , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("limit" , Лимит , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("value" , Значение , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("description_category_id", IDКатегории , Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("type_id" , IDТипа , Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("attribute_id" , IDХарактеристики , Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("limit" , Лимит , Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("value" , Значение , Строка_, Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки);
@ -242,18 +248,20 @@
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Ozon Seller API
Функция ПолучитьСписокТоваров(Знач IDКлиента, Знач КлючAPI, Знач Фильтр = "", Знач IDПоследнего = 0) Экспорт
Filter_ = "filter";
URL = "https://api-seller.ozon.ru/v2/product/list";
Заголовки = СоздатьЗаголовкиЗапроса(IDКлиента, КлючAPI);
Лимит = 200;
Параметры = Новый Структура;
OPI_Инструменты.ДобавитьПоле("filter" , Фильтр , "Коллекция", Параметры);
OPI_Инструменты.ДобавитьПоле(Filter_ , Фильтр , "Коллекция", Параметры);
OPI_Инструменты.ДобавитьПоле("limit" , Лимит , "Строка" , Параметры);
OPI_Инструменты.ДобавитьПоле("last_id", IDПоследнего, "Строка" , Параметры);
Если Не Параметры.Свойство("filter") Тогда
Параметры.Вставить("filter", Новый Структура);
Если Не Параметры.Свойство(Filter_) Тогда
Параметры.Вставить(Filter_, Новый Структура);
КонецЕсли;
Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки);
@ -326,14 +334,16 @@
, Знач SKU = 0
, Знач Артикулы = "") Экспорт
Массив_ = "Массив";
URL = "https://api-seller.ozon.ru/v2/product/info/list";
Заголовки = СоздатьЗаголовкиЗапроса(IDКлиента, КлючAPI);
Параметры = Новый Структура;
OPI_Инструменты.ДобавитьПоле("offer_id" , Артикулы , "Массив" , Параметры);
OPI_Инструменты.ДобавитьПоле("product_id", IDТоваров, "Массив" , Параметры);
OPI_Инструменты.ДобавитьПоле("sku" , SKU , "Массив" , Параметры);
OPI_Инструменты.ДобавитьПоле("offer_id" , Артикулы , Массив_, Параметры);
OPI_Инструменты.ДобавитьПоле("product_id", IDТоваров, Массив_, Параметры);
OPI_Инструменты.ДобавитьПоле("sku" , SKU , Массив_, Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки);
@ -984,6 +994,8 @@
// Структура Из КлючИЗначение - Структура полей товара с добавленным видео
Функция ДобавитьВидеоТовара(СтруктураТовара, Знач URL, Знач Наименование) Экспорт
Complex_attributes_ = "complex_attributes";
OPI_ПреобразованиеТипов.ПолучитьКоллекцию(СтруктураТовара);
OPI_ПреобразованиеТипов.ПолучитьСтроку(URL);
OPI_ПреобразованиеТипов.ПолучитьСтроку(Наименование);
@ -995,11 +1007,11 @@
ДополнитьКомплексныйАтрибут(ОбъектВидео, 21841, 100001, СтруктураURL);
ДополнитьКомплексныйАтрибут(ОбъектВидео, 21837, 100001, СтруктураНаименования);
Если Не OPI_Инструменты.ПолеКоллекцииСуществет(СтруктураТовара, "complex_attributes") Тогда
СтруктураТовара.Вставить("complex_attributes", Новый Массив);
Если Не OPI_Инструменты.ПолеКоллекцииСуществет(СтруктураТовара, Complex_attributes_) Тогда
СтруктураТовара.Вставить(Complex_attributes_, Новый Массив);
КонецЕсли;
СтруктураТовара["complex_attributes"].Добавить(ОбъектВидео);
СтруктураТовара[Complex_attributes_].Добавить(ОбъектВидео);
//@skip-check constructor-function-return-section
Возврат СтруктураТовара;
@ -1020,6 +1032,8 @@
// Структура Из КлючИЗначение - Структура полей товара с добавленным видео
Функция ДобавитьВидеообложкуТовара(СтруктураТовара, Знач URL) Экспорт
Complex_attributes_ = "complex_attributes";
OPI_ПреобразованиеТипов.ПолучитьКоллекцию(СтруктураТовара);
OPI_ПреобразованиеТипов.ПолучитьСтроку(URL);
@ -1028,11 +1042,11 @@
ДополнитьКомплексныйАтрибут(ОбъектОбложка, 21845, 100002, СтруктураURL);
Если Не OPI_Инструменты.ПолеКоллекцииСуществет(СтруктураТовара, "complex_attributes") Тогда
СтруктураТовара.Вставить("complex_attributes", Новый Массив);
Если Не OPI_Инструменты.ПолеКоллекцииСуществет(СтруктураТовара, Complex_attributes_) Тогда
СтруктураТовара.Вставить(Complex_attributes_, Новый Массив);
КонецЕсли;
СтруктураТовара["complex_attributes"].Добавить(ОбъектОбложка);
СтруктураТовара[Complex_attributes_].Добавить(ОбъектОбложка);
//@skip-check constructor-function-return-section
Возврат СтруктураТовара;
@ -1055,16 +1069,18 @@
// Структура - Коллекция, дополненная атрибутом
Функция ДополнитьКомплексныйАтрибут(Коллекция, Знач IDАтрибута, Знач КомплексныйID, Знач Значения) Экспорт
Attributes_ = "attributes";
OPI_ПреобразованиеТипов.ПолучитьМассив(Значения);
OPI_ПреобразованиеТипов.ПолучитьКоллекцию(Коллекция);
СтруктураАтрибута = Новый Структура("id,complex_id,values", IDАтрибута, КомплексныйID, Значения);
Если Не OPI_Инструменты.ПолеКоллекцииСуществет(Коллекция, "attributes") Тогда
Коллекция.Вставить("attributes", Новый Массив);
Если Не OPI_Инструменты.ПолеКоллекцииСуществет(Коллекция, Attributes_) Тогда
Коллекция.Вставить(Attributes_, Новый Массив);
КонецЕсли;
Коллекция["attributes"].Добавить(СтруктураАтрибута);
Коллекция[Attributes_].Добавить(СтруктураАтрибута);
//@skip-check constructor-function-return-section
Возврат Коллекция;
@ -1455,15 +1471,17 @@
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Ozon Seller API
Функция ПолучитьДоступныеТоварыАкции(Знач IDКлиента, Знач КлючAPI, Знач IDАкции, Знач Отступ = 0) Экспорт
Число_ = "Число";
URL = "https://api-seller.ozon.ru/v1/actions/candidates";
Заголовки = СоздатьЗаголовкиЗапроса(IDКлиента, КлючAPI);
Лимит = 100;
Параметры = Новый Структура;
OPI_Инструменты.ДобавитьПоле("action_id", IDАкции, "Число", Параметры);
OPI_Инструменты.ДобавитьПоле("limit" , Лимит , "Число", Параметры);
OPI_Инструменты.ДобавитьПоле("offset" , Отступ , "Число", Параметры);
OPI_Инструменты.ДобавитьПоле("action_id", IDАкции, Число_, Параметры);
OPI_Инструменты.ДобавитьПоле("limit" , Лимит , Число_, Параметры);
OPI_Инструменты.ДобавитьПоле("offset" , Отступ , Число_, Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки);
@ -1487,15 +1505,17 @@
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Ozon Seller API
Функция ПолучитьУчаствующиеТоварыАкции(Знач IDКлиента, Знач КлючAPI, Знач IDАкции, Знач Отступ = 0) Экспорт
Число_ = "Число";
URL = "https://api-seller.ozon.ru/v1/actions/products";
Заголовки = СоздатьЗаголовкиЗапроса(IDКлиента, КлючAPI);
Лимит = 100;
Параметры = Новый Структура;
OPI_Инструменты.ДобавитьПоле("action_id", IDАкции, "Число", Параметры);
OPI_Инструменты.ДобавитьПоле("limit" , Лимит , "Число", Параметры);
OPI_Инструменты.ДобавитьПоле("offset" , Отступ , "Число", Параметры);
OPI_Инструменты.ДобавитьПоле("action_id", IDАкции, Число_, Параметры);
OPI_Инструменты.ДобавитьПоле("limit" , Лимит , Число_, Параметры);
OPI_Инструменты.ДобавитьПоле("offset" , Отступ , Число_, Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки);

View File

@ -33,6 +33,7 @@
// BSLLS:CommentedCode-off
// BSLLS:UsingServiceTag-off
// BSLLS:NumberOfParams-off
// BSLLS:LineLength-off
//@skip-check module-structure-top-region
//@skip-check module-structure-method-in-regions

View File

@ -33,6 +33,7 @@
// BSLLS:IncorrectLineBreak-off
// BSLLS:NumberOfOptionalParams-off
// BSLLS:UsingServiceTag-off
// BSLLS:LineLength-off
//@skip-check method-too-many-params
//@skip-check module-structure-top-region
@ -403,10 +404,10 @@
Для Каждого Часть Из МассивЧтения Цикл
Поля = Новый Структура;
Поля.Вставить(Command , "APPEND");
Поля.Вставить("media_id" , IDSИнициализации);
Поля.Вставить("segment_index" , OPI_Инструменты.ЧислоВСтроку(Счетчик));
Поля.Вставить("media" , Часть);
Поля.Вставить(Command , "APPEND");
Поля.Вставить(MID , IDSИнициализации);
Поля.Вставить("segment_index", OPI_Инструменты.ЧислоВСтроку(Счетчик));
Поля.Вставить("media" , Часть);
Авторизация = СоздатьЗаголовокАвторизацииV1(Параметры, Новый Структура, ВидЗапроса, URL);
@ -417,8 +418,8 @@
КонецЦикла;
Поля = Новый Структура;
Поля.Вставить(Command , "FINALIZE");
Поля.Вставить("media_id", IDSИнициализации);
Поля.Вставить(Command, "FINALIZE");
Поля.Вставить(MID , IDSИнициализации);
СтатусОбработки = ПолучитьСтатусОбработки(Параметры, Поля, URL);

View File

@ -147,14 +147,16 @@
, Знач Клавиатура = ""
, Знач Разметка = "MarkdownV2") Экспорт
Строка_ = "Строка";
URL = "/messages/sendText";
Параметры = НормализоватьОснову(URL, Токен);
OPI_Инструменты.ДобавитьПоле("chatId" , IDЧата , "Строка" , Параметры);
OPI_Инструменты.ДобавитьПоле("text" , Текст , "Строка" , Параметры);
OPI_Инструменты.ДобавитьПоле("replyMsgId" , IDЦитируемого, "Строка" , Параметры);
OPI_Инструменты.ДобавитьПоле("chatId" , IDЧата , Строка_ , Параметры);
OPI_Инструменты.ДобавитьПоле("text" , Текст , Строка_ , Параметры);
OPI_Инструменты.ДобавитьПоле("replyMsgId" , IDЦитируемого, Строка_ , Параметры);
OPI_Инструменты.ДобавитьПоле("inlineKeyboardMarkup", Клавиатура , "Коллекция", Параметры);
OPI_Инструменты.ДобавитьПоле("parseMode" , Разметка , "Строка" , Параметры);
OPI_Инструменты.ДобавитьПоле("parseMode" , Разметка , Строка_ , Параметры);
Ответ = OPI_Инструменты.Get(URL, Параметры);
@ -185,14 +187,16 @@
, Знач ИмяФайла = ""
, Знач Разметка = "MarkdownV2") Экспорт
Строка_ = "Строка";
URL = "/messages/sendFile";
Параметры = НормализоватьОснову(URL, Токен);
OPI_Инструменты.ДобавитьПоле("chatId" , IDЧата , "Строка" , Параметры);
OPI_Инструменты.ДобавитьПоле("caption" , Текст , "Строка" , Параметры);
OPI_Инструменты.ДобавитьПоле("parseMode" , Разметка , "Строка" , Параметры);
OPI_Инструменты.ДобавитьПоле("chatId" , IDЧата , Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("caption" , Текст , Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("parseMode", Разметка, Строка_, Параметры);
Если ТипЗнч(Файл) = Тип("Строка") Тогда
Если ТипЗнч(Файл) = Тип(Строка_) Тогда
ФайлОбъект = Новый Файл(Файл);
ИспользуемоеИмя = ФайлОбъект.Имя;
Иначе
@ -282,13 +286,15 @@
, Знач Текст
, Знач Разметка = "MarkdownV2") Экспорт
Строка_ = "Строка";
URL = "/messages/editText";
Параметры = НормализоватьОснову(URL, Токен);
OPI_Инструменты.ДобавитьПоле("chatId" , IDЧата , "Строка" , Параметры);
OPI_Инструменты.ДобавитьПоле("text" , Текст , "Строка" , Параметры);
OPI_Инструменты.ДобавитьПоле("msgId" , IDСообщения , "Строка" , Параметры);
OPI_Инструменты.ДобавитьПоле("parseMode", Разметка , "Строка" , Параметры);
OPI_Инструменты.ДобавитьПоле("chatId" , IDЧата , Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("text" , Текст , Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("msgId" , IDСообщения, Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("parseMode", Разметка , Строка_, Параметры);
Ответ = OPI_Инструменты.Get(URL, Параметры);
@ -344,13 +350,15 @@
, Знач Текст = ""
, Знач Разметка = "MarkdownV2") Экспорт
Строка_ = "Строка";
URL = "/messages/sendFile";
Параметры = НормализоватьОснову(URL, Токен);
OPI_Инструменты.ДобавитьПоле("chatId" , IDЧата , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("caption" , Текст , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("parseMode" , Разметка, "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("fileId" , IDФайла , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("chatId" , IDЧата , Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("caption" , Текст , Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("parseMode" , Разметка, Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("fileId" , IDФайла , Строка_, Параметры);
Ответ = OPI_Инструменты.Get(URL, Параметры);
@ -403,13 +411,15 @@
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от VK Teams
Функция ПереслатьСообщение(Знач Токен, Знач IDСообщения, Знач IDЧатаИсточника, Знач IDЧата, Знач Текст = "") Экспорт
Строка_ = "Строка";
URL = "/messages/sendText";
Параметры = НормализоватьОснову(URL, Токен);
OPI_Инструменты.ДобавитьПоле("chatId" , IDЧата , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("text" , Текст , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("forwardChatId", IDЧатаИсточника, "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("forwardMsgId" , IDСообщения , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("chatId" , IDЧата , Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("text" , Текст , Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("forwardChatId", IDЧатаИсточника, Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("forwardMsgId" , IDСообщения , Строка_, Параметры);
Ответ = OPI_Инструменты.Get(URL, Параметры);
@ -495,12 +505,14 @@
, Знач URL = ""
, Знач ЭтоПредупреждение = Ложь) Экспорт
Строка_ = "Строка";
URL = "/messages/answerCallbackQuery";
Параметры = НормализоватьОснову(URL, Токен);
OPI_Инструменты.ДобавитьПоле("queryId" , IDСобытия , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("text" , Текст , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("url" , URL , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("queryId" , IDСобытия , Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("text" , Текст , Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("url" , URL , Строка_, Параметры);
OPI_Инструменты.ДобавитьПоле("showAlert", ЭтоПредупреждение , "Булево", Параметры);
Ответ = OPI_Инструменты.Get(URL, Параметры);
@ -522,11 +534,13 @@
// Структура - Кнопка для клавиатуры
Функция СформироватьКнопкуДействия(Знач Текст, Знач Значение = "", Знач URL = "", Знач Стиль = "base") Экспорт
Строка_ = "Строка";
СтруктураКнопки = Новый Структура;
OPI_Инструменты.ДобавитьПоле("text" , Текст , "Строка", СтруктураКнопки);
OPI_Инструменты.ДобавитьПоле("callbackData", Значение, "Строка", СтруктураКнопки);
OPI_Инструменты.ДобавитьПоле("url" , URL , "Строка", СтруктураКнопки);
OPI_Инструменты.ДобавитьПоле("style" , Стиль , "Строка", СтруктураКнопки);
OPI_Инструменты.ДобавитьПоле("text" , Текст , Строка_, СтруктураКнопки);
OPI_Инструменты.ДобавитьПоле("callbackData", Значение, Строка_, СтруктураКнопки);
OPI_Инструменты.ДобавитьПоле("url" , URL , Строка_, СтруктураКнопки);
OPI_Инструменты.ДобавитьПоле("style" , Стиль , Строка_, СтруктураКнопки);
Возврат СтруктураКнопки;

View File

@ -388,8 +388,12 @@
Ответ = Ложь;
// BSLLS:UnusedLocalVariable-off
//@skip-check module-unused-local-variable
Проверка = Новый ЗащищенноеСоединениеOpenSSL();
// BSLLS:UnusedLocalVariable-on
Исключение
@ -2011,26 +2015,11 @@
Если ТипЗнч(Значение) = Тип("Структура") Или ТипЗнч(Значение) = Тип("Соответствие") Тогда
Значение_ = ?(ТипЗнч(Значение) = Тип("Структура"), Новый Структура, Новый Соответствие);
Для Каждого Элемент Из Значение Цикл
Значение_.Вставить(Элемент.Ключ
, ОформитьОпцию(Элемент.Значение, Элемент.Ключ, Истина));
КонецЦикла;
Значение = Значение_;
Значение = ОформитьОпциюКоллекцию(Значение);
ИначеЕсли ТипЗнч(Значение) = Тип("Массив") Тогда
Значение_ = Новый Массив;
Для Каждого Элемент Из Значение Цикл
Значение_.Добавить(ОформитьОпцию(Элемент, Имя, Истина));
КонецЦикла;
Значение = Значение_;
Значение = ОформитьОпциюМассив(Значение, Имя);
Иначе
@ -2052,6 +2041,32 @@
КонецФункции
Функция ОформитьОпциюКоллекцию(Знач Значение)
Значение_ = ?(ТипЗнч(Значение) = Тип("Структура"), Новый Структура, Новый Соответствие);
Для Каждого Элемент Из Значение Цикл
Значение_.Вставить(Элемент.Ключ, ОформитьОпцию(Элемент.Значение, Элемент.Ключ, Истина));
КонецЦикла;
Возврат Значение_;
КонецФункции
Функция ОформитьОпциюМассив(Знач Значение, Знач Имя)
Значение_ = Новый Массив;
Для Каждого Элемент Из Значение Цикл
Значение_.Добавить(ОформитьОпцию(Элемент, Имя, Истина));
КонецЦикла;
Возврат Значение_;
КонецФункции
Процедура НовыйТест(ТаблицаЗначений, Знач Метод, Знач Синоним, Знач Раздел)
НовыйТест = ТаблицаЗначений.Добавить();

View File

@ -1874,6 +1874,8 @@
Сообщить("Проверка товаров Ozon недоступна");
Возврат;
// BSLLS:UnreachableCode-off
Ozon_ПолучитьСтруктуруТовара(ПараметрыТеста);
Ozon_СоздатьОбновитьТовары(ПараметрыТеста);
Ozon_ПолучитьСтатусДобавленияТовара(ПараметрыТеста);
@ -1901,6 +1903,8 @@
Ozon_ПолучитьСвязанныеSKU(ПараметрыТеста);
Ozon_УдалитьТоварыБезSKU(ПараметрыТеста);
// BSLLS:UnreachableCode-on
КонецПроцедуры
Процедура ОзонАПИ_Штрихкоды() Экспорт

View File

@ -32,6 +32,8 @@
// BSLLS:UsingServiceTag-off
// BSLLS:UnusedParameters-off
// BSLLS:DuplicateStringLiteral-off
// BSLLS:UsingHardcodePath-off
// BSLLS:UnusedLocalVariable-off
//@skip-check undefined-variable
//@skip-check wrong-string-literal-content
@ -1432,6 +1434,8 @@
Сообщить("Проверка товаров Ozon недоступна");
Возврат;
// BSLLS:UnreachableCode-off
CLI_Ozon_ПолучитьСтруктуруТовара(ПараметрыТеста);
CLI_Ozon_СоздатьОбновитьТовары(ПараметрыТеста);
CLI_Ozon_ПолучитьСтатусДобавленияТовара(ПараметрыТеста);
@ -1458,6 +1462,8 @@
CLI_Ozon_ПолучитьКоличествоПодписчиковТоваров(ПараметрыТеста);
CLI_Ozon_ПолучитьСвязанныеSKU(ПараметрыТеста);
CLI_Ozon_УдалитьТоварыБезSKU(ПараметрыТеста);
// BSLLS:UnreachableCode-on
КонецПроцедуры