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

Деффекты SC

This commit is contained in:
Anton Titovets 2024-04-02 13:02:35 +03:00
parent 9b888cc333
commit 7f658ff69b
6 changed files with 127 additions and 93 deletions

View File

@ -390,6 +390,7 @@
OPI_ПреобразованиеТипов.ПолучитьСтроку(Токен);
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDЧата);
OPI_ПреобразованиеТипов.ПолучитьСтроку(Вопрос);
OPI_ПреобразованиеТипов.ПолучитьКоллекцию(МассивОтветов);
OPI_ПреобразованиеТипов.ПолучитьСтроку(МассивОтветов, Истина);
OPI_ПреобразованиеТипов.ПолучитьБулево(Анонимный);
@ -1000,7 +1001,6 @@
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDЧата);
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDТемы);
Параметры_ = Новый Структура;
Параметры_.Вставить("name" , Заголовок);
Параметры_.Вставить("chat_id" , IDЧата);

View File

@ -94,26 +94,14 @@
Для Каждого КартинкаПоста Из МассивКартинок Цикл
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
Ответ = ЗагрузитьФотоНаСервер(КартинкаПоста, Параметры_);
ОтветМассив = Ответ.Получить("response");
Если Не ЗначениеЗаполнено(ОтветМассив) Или Не ТипЗнч(ОтветМассив) = Тип("Массив") Тогда
Возврат Ответ;
Иначе
Если ОтветМассив.Количество() = 0 Тогда
Возврат Ответ;
Иначе
ОтветСоответствие = ОтветМассив[0];
КонецЕсли;
КонецЕсли;
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
ОтветСоответствие = ПолучитьСоответствиеКартинки(КартинкаПоста, Параметры_, "Пост");
OwnerId = ОтветСоответствие.Получить("owner_id");
ObjectId = ОтветСоответствие.Получить("id");
Если Не ЗначениеЗаполнено(OwnerId) Или Не ЗначениеЗаполнено(ObjectId) Тогда
Возврат Ответ;
Возврат ОтветСоответствие;
КонецЕсли;
ФотоID = "photo"
@ -594,8 +582,7 @@
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDПоста);
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDСтены);
OPI_ПреобразованиеТипов.ПолучитьСтроку(Текст);
Параметры_.Вставить("owner_id" , IDСтены);
Параметры_.Вставить("from_group" , GroupId);
Параметры_.Вставить("post_id" , IDПоста);
@ -643,8 +630,7 @@
Иначе
Возврат Ответ;
КонецЕсли;
КонецФункции
#КонецОбласти
@ -669,7 +655,7 @@
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
ДатаНачала = OPI_Инструменты.UNIXTime(ДатаНачала);
ДатаОкончания = OPI_Инструменты.UNIXTime(ДатаОкончания);;
ДатаОкончания = OPI_Инструменты.UNIXTime(ДатаОкончания);
Параметры_.Вставить("timestamp_from", ДатаНачала);
Параметры_.Вставить("timestamp_to" , ДатаОкончания);
@ -1050,9 +1036,9 @@
// "Вес" : "",
// "SKU" : "",
// "ДоступныйОстаток" : "1"
//}
// }
// Параметры:
// ОписаниеТовара - Соответствие Из КлючИЗначение - См.ПолучитьОписаниеТовара - product - JSON описание товара или путь к .json
// ОписаниеТовара - Соответствие Из КлючИЗначение - См.ПолучитьОписаниеТовара - product - JSON описание товара или путь
// Подборка - Строка - ID подборка для помещения товара, если необходимо - sel
// Параметры - Структура из Строка - См.ПолучитьСтандартныеПараметры - auth - JSON авторизации или путь к .json
//
@ -1083,10 +1069,10 @@
// "Вес" : "",
// "SKU" : "",
// "ДоступныйОстаток" : "1"
//}
// }
// Параметры:
// Товар - Число,Строка - Идентификатор изменяемого товара - item
// ОписаниеТовара - Соответствие Из КлючИЗначение - См.ПолучитьОписаниеТовара - product - JSON описание товара или путь к .json
// ОписаниеТовара - Соответствие Из КлючИЗначение - См.ПолучитьОписаниеТовара - product - JSON описание товара или путь
// Подборка - Строка - Идентификатор новой подборки, если необходимо - sel
// Параметры - Структура из Строка - См.ПолучитьСтандартныеПараметры - auth - JSON авторизации или путь к .json
//
@ -1659,6 +1645,69 @@
КонецФункции
Функция ПолучитьИДКартинки(Знач Картинка, Знач Параметры, Знач Вид)
Response = "response";
Ответ = ЗагрузитьФотоНаСервер(Картинка, Параметры, Вид);
Результат = Ответ[Response];
Если ЗначениеЗаполнено(Результат) Тогда
ИДФото = Результат["photo_id"];
Если Не ЗначениеЗаполнено(ИДФото) Тогда
Возврат Ответ;
КонецЕсли;
Иначе
Возврат Ответ;
КонецЕсли;
ИДФото = OPI_Инструменты.ЧислоВСтроку(ИДФото);
Возврат ИДФото;
КонецФункции
Функция ПолучитьСоответствиеКартинки(Знач Картинка, Знач Параметры, Знач Вид)
Ответ = ЗагрузитьФотоНаСервер(Картинка, Параметры, Вид);
ОтветМассив = Ответ.Получить("response");
Если Не ЗначениеЗаполнено(ОтветМассив) Или Не ТипЗнч(ОтветМассив) = Тип("Массив") Тогда
Возврат Ответ;
Иначе
Если ОтветМассив.Количество() = 0 Тогда
Возврат Ответ;
Иначе
ОтветСоответствие = ОтветМассив[0];
КонецЕсли;
КонецЕсли;
Возврат ОтветСоответствие;
КонецФункции
Функция ПолучитьМассивПодборок(Знач Подборки, Знач Параметры = "")
Response = "response";
Подборки = ПолучитьПодборкиПоИД(Подборки, Параметры);
Результат = Подборки[Response];
Если ЗначениеЗаполнено(Результат) Тогда
МассивПодборок = Результат["items"];
Если Не ЗначениеЗаполнено(МассивПодборок) Тогда
Возврат Подборки;
КонецЕсли;
Иначе
Возврат Подборки;
КонецЕсли;
Возврат МассивПодборок;
КонецФункции
Функция ЗагрузитьФотоНаСервер(Знач Картинка, Знач Параметры, Знач Вид = "Пост")
Метод = ОпределитьМетодЗагрузкиИзображений(Вид);
@ -1822,7 +1871,6 @@
, Знач Скрытая = Ложь
, Знач Параметры = "")
OPI_ПреобразованиеТипов.ПолучитьСтроку(Название);
OPI_ПреобразованиеТипов.ПолучитьСтроку(ИДПодборки);
OPI_ПреобразованиеТипов.ПолучитьБулево(Основная);
@ -1830,45 +1878,26 @@
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
PhotoID = "photo_id";
Response = "response";
Если ЗначениеЗаполнено(Картинка) Тогда
Ответ = ЗагрузитьФотоНаСервер(Картинка, Параметры_, "Товар");
Результат = Ответ[Response];
ИДФото = ПолучитьИДКартинки(Картинка, Параметры_, "Товар");
Если ЗначениеЗаполнено(Результат) Тогда
ИДФото = Результат[PhotoID];
Если Не ЗначениеЗаполнено(ИДФото) Тогда
Возврат Ответ;
КонецЕсли;
Иначе
Возврат Ответ;
КонецЕсли;
OPI_ПреобразованиеТипов.ПолучитьСтроку(ИДФото);
Если Не ТипЗнч(ИДФото) = Тип("Строка") Тогда
Возврат ИДФото;
КонецЕсли;
Параметры_.Вставить(PhotoID, ИДФото);
Иначе
Если ЗначениеЗаполнено(ИДПодборки) Тогда
Подборки = ПолучитьПодборкиПоИД(ИДПодборки, Параметры_);
Результат = Подборки[Response];
Подборки = ПолучитьМассивПодборок(ИДПодборки, Параметры_);
Если ЗначениеЗаполнено(Результат) Тогда
Подборки = Результат["items"];
Если Не ЗначениеЗаполнено(Подборки) Тогда
Возврат Ответ;
КонецЕсли;
Иначе
Возврат Ответ;
КонецЕсли;
Если Не ТипЗнч(Подборки) = Тип("Массив") Тогда
Возврат Подборки;
КонецЕсли;
Если Не Подборки.Количество() = 0 Тогда
ИДФото = Подборки[0]["photo"]["id"];
@ -2005,25 +2034,15 @@
Если МассивФото.Количество() > 0 Тогда
СтрокаФотографий = "";
Response = "response";
Для Каждого Фото Из МассивФото Цикл
Ответ = ЗагрузитьФотоНаСервер(Фото, Параметры, "Товар");
Результат = Ответ[Response];
Если ЗначениеЗаполнено(Результат) Тогда
ИДФото = Результат["photo_id"];
Если Не ЗначениеЗаполнено(ИДФото) Тогда
Возврат;
КонецЕсли;
Иначе
Возврат;
КонецЕсли;
ИДФото = OPI_Инструменты.ЧислоВСтроку(ИДФото);
ИДФото = ПолучитьИДКартинки(Фото, Параметры, "Товар");
Если Не ТипЗнч(ИДФото) = Тип("Строка") Тогда
Возврат;
КонецЕсли;
СтрокаФотографий = СтрокаФотографий + ИДФото + ",";
КонецЦикла;

View File

@ -198,7 +198,7 @@
// IDПользователя - Строка,Число - ID пользователя. Для канала > администратора, для бота > получателя - user
// ОтправкаВКанал - Булево - Отправка в канал или в чат бота - ischannel
// Расширение - Строка - Расширение файла - ext
// Размер - Число - Размер файла. Если не заполнен > определяется автоматически, но при этом происходит скачивание файла - size
// Размер - Число - Размер файла. Если не заполнен > определяется автоматически скачиванием файла - size
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Viber

View File

@ -294,7 +294,6 @@
КонецПроцедуры
#КонецОбласти
#КонецОбласти

View File

@ -80,9 +80,7 @@
ИсходноеЗначение = Значение;
Если ТипЗнч(Значение) = Тип("Структура")
Или ТипЗнч(Значение) = Тип("Соответствие")
Или ТипЗнч(Значение) = Тип("Массив") Тогда
Если ЭтоКоллекция(Значение) Тогда
Возврат;
Иначе
@ -117,9 +115,7 @@
Значение = ПрочитатьJSON(ЧтениеJSON, Истина, Неопределено, ФорматДатыJSON.ISO);
ЧтениеJSON.Закрыть();
Если (Не ТипЗнч(Значение) = Тип("Структура")
И Не ТипЗнч(Значение) = Тип("Соответствие")
И Не ТипЗнч(Значение) = Тип("Массив")) Или Не ЗначениеЗаполнено(Значение) Тогда
Если (Не ЭтоКоллекция(Значение)) Или Не ЗначениеЗаполнено(Значение) Тогда
Значение = ИсходноеЗначение;
ПолучитьМассив(Значение);
@ -142,14 +138,16 @@
Если ТипЗнч(Значение) = Тип("Строка")
И СтрНачинаетсяС(Значение, "[")
И СтрЗаканчиваетсяНа(Значение, "]") Тогда
ЗапятаяВКавычках = "','";
Значение = СтрЗаменить(Значение, "['" , "");
Значение = СтрЗаменить(Значение, "']" , "");
Значение = СтрЗаменить(Значение, "', '" , "','");
Значение = СтрЗаменить(Значение, "' , '", "','");
Значение = СтрЗаменить(Значение, "' ,'" , "','");
Значение = СтрЗаменить(Значение, "', '" , ЗапятаяВКавычках);
Значение = СтрЗаменить(Значение, "' , '", ЗапятаяВКавычках);
Значение = СтрЗаменить(Значение, "' ,'" , ЗапятаяВКавычках);
Значение = СтрРазделить(Значение, "','", Ложь);
Значение = СтрРазделить(Значение, ЗапятаяВКавычках, Ложь);
Для Н = 0 По Значение.ВГраница() Цикл
Значение[Н] = СокрЛП(Значение[Н]);
@ -195,9 +193,7 @@
Попытка
Если ТипЗнч(Значение) = Тип("Строка")
Или ТипЗнч(Значение) = Тип("Число")
Или ТипЗнч(Значение) = Тип("Дата") Тогда
Если ЭтоСимвольное(Значение) Тогда
Если Не ИзИсточника Тогда
Значение = OPI_Инструменты.ЧислоВСтроку(Значение);
@ -234,9 +230,7 @@
Значение = ПолучитьСтрокуИзДвоичныхДанных(Значение);
ИначеЕсли ТипЗнч(Значение) = Тип("Массив")
Или ТипЗнч(Значение) = Тип("Структура")
Или ТипЗнч(Значение) = Тип("Соответствие") Тогда
ИначеЕсли ЭтоКоллекция(Значение) Тогда
Значение = OPI_Инструменты.JSONСтрокой(Значение);
@ -257,19 +251,40 @@
Возврат;
КонецЕсли;
Дата = "Дата";
Попытка
Если ТипЗнч(Значение) = Тип("Дата") Тогда
Если ТипЗнч(Значение) = Тип(Дата) Тогда
Возврат;
Иначе
Значение = XMLЗначение(Тип("Дата"), Значение);
Значение = XMLЗначение(Тип(Дата), Значение);
КонецЕсли;
Исключение
ООД = Новый ОписаниеТипов("Дата");
ООД = Новый ОписаниеТипов(Дата);
Значение = ООД.ПривестиЗначение(Значение);
КонецПопытки;
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
Функция ЭтоКоллекция(Знач Значение)
Возврат ТипЗнч(Значение) = Тип("Массив")
Или ТипЗнч(Значение) = Тип("Структура")
Или ТипЗнч(Значение) = Тип("Соответствие");
КонецФункции
Функция ЭтоСимвольное(Знач Значение)
Возврат ТипЗнч(Значение) = Тип("Строка")
Или ТипЗнч(Значение) = Тип("Число")
Или ТипЗнч(Значение) = Тип("Дата");
КонецФункции
#КонецОбласти

View File

@ -29,6 +29,7 @@
// BSLLS:IncorrectLineBreak-off
// BSLLS:UsingServiceTag-off
// BSLLS:UnusedParameters-off
// BSLLS:DuplicateStringLiteral-off
// @skip-check undefined-variable
@ -331,8 +332,8 @@
JSON =
"{
| """ + КартинкаURL + """ : ""picture"",
| """ + КартинкаURL2 + """ : ""picture""
| """ + КартинкаURL + """ : ""photo"",
| """ + КартинкаURL2 + """ : ""photo""
|}";
ИВФ_JSON = ПолучитьИмяВременногоФайла("json");