1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2024-12-10 11:10:31 +02:00

Перенос обработки ввода со стороны CLI на сторону OInt

This commit is contained in:
Anton 2024-03-30 14:08:04 +03:00
parent b0b3323a78
commit bd057073dc
5 changed files with 204 additions and 91 deletions

View File

@ -82,7 +82,7 @@
Функция УстановитьWebhook(Знач Токен, Знач URL) Экспорт
OPI_ПреобразованиеТипов.ПолучитьСтроку(Токен);
OPI_ПреобразованиеТипов.ПолучитьСтроку(URL, Истина);
OPI_ПреобразованиеТипов.ПолучитьСтроку(URL);
Параметры_ = Новый Структура;
Параметры_.Вставить("url", URL);
@ -390,7 +390,7 @@
OPI_ПреобразованиеТипов.ПолучитьСтроку(Токен);
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDЧата);
OPI_ПреобразованиеТипов.ПолучитьСтроку(Вопрос);
OPI_ПреобразованиеТипов.ПолучитьСтроку(МассивОтветов);
OPI_ПреобразованиеТипов.ПолучитьСтроку(МассивОтветов, Истина);
OPI_ПреобразованиеТипов.ПолучитьБулево(Анонимный);
URL = "api.telegram.org/bot" + Токен + "/sendPoll";

View File

@ -50,8 +50,10 @@
// Строка - URL, по которому необходимо перейти в браузере
Функция СоздатьСсылкуПолученияТокена(Знач App_id) Экспорт
OPI_ПреобразованиеТипов.ПолучитьСтроку(App_id);
// access_token нужно будет забрать из параметра в строке адреса браузера
Возврат "https://oauth.vk.com/authorize?client_id=" + OPI_Инструменты.ЧислоВСтроку(App_id)
Возврат "https://oauth.vk.com/authorize?client_id=" + App_id
+ "&scope=offline,wall,groups,photos,stats,stories,ads,market"
+ "&v=5.131&response_type=token&redirect_uri=https://api.vk.com/blank.html";
@ -82,6 +84,10 @@
, Знач СсылкаПодЗаписью = ""
, Знач Параметры = "") Экспорт
OPI_ПреобразованиеТипов.ПолучитьСтроку(Текст);
OPI_ПреобразованиеТипов.ПолучитьСтроку(СсылкаПодЗаписью);
OPI_ПреобразованиеТипов.ПолучитьКоллекцию(МассивКартинок);
OPI_ПреобразованиеТипов.ПолучитьБулево(Рекламный);
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
СтрокаВложений = "";
@ -134,8 +140,10 @@
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от VK
Функция УдалитьПост(Знач IDПоста, Знач Параметры = "") Экспорт
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDПоста);
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
Параметры_.Вставить("post_id", OPI_Инструменты.ЧислоВСтроку(IDПоста));
Параметры_.Вставить("post_id", IDПоста);
Ответ = OPI_Инструменты.Get("api.vk.com/method/wall.delete", Параметры_);
@ -156,6 +164,9 @@
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от VK
Функция СоздатьОпрос(Знач Вопрос, Знач МассивОтветов, Знач Картинка = "", Знач Параметры = "") Экспорт
OPI_ПреобразованиеТипов.ПолучитьСтроку(Вопрос);
OPI_ПреобразованиеТипов.ПолучитьКоллекцию(МассивОтветов);
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
Ответ = OPI_Инструменты.Get("api.vk.com/method/polls.getPhotoUploadServer", Параметры_);
Response = "response";
@ -166,7 +177,7 @@
Параметры_.Вставить("upload_url", URL);
Если Не Картинка = "" Тогда
Если ЗначениеЗаполнено(Картинка) Тогда
Если ТипЗнч(Картинка) = Тип("Строка") Тогда
Путь = Картинка;
@ -240,6 +251,9 @@
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от VK
Функция СоздатьАльбом(Знач Наименование, Знач Описание = "", Знач Параметры = "") Экспорт
OPI_ПреобразованиеТипов.ПолучитьСтроку(Наименование);
OPI_ПреобразованиеТипов.ПолучитьСтроку(Описание);
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
Параметры_.Вставить("title" , Наименование);
@ -263,6 +277,8 @@
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от VK
Функция УдалитьАльбом(Знач IDАльбома, Знач Параметры = "") Экспорт
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDАльбома);
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
Параметры_.Вставить("album_id", OPI_Инструменты.ЧислоВСтроку(IDАльбома));
@ -283,7 +299,9 @@
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от VK
Функция СоздатьИсторию(Знач Картинка, Знач URL = "", Знач Параметры = "") Экспорт
OPI_ПреобразованиеТипов.ПолучитьСтроку(URL);
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
Параметры_.Вставить("link_text" , "more");
Параметры_.Вставить("link_url" , URL);
@ -307,9 +325,12 @@
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от VK
Функция СохранитьКартинкуВАльбом(Знач IDАльбома, Знач Картинка, Знач Описание = "", Знач Параметры = "") Экспорт
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDАльбома);
OPI_ПреобразованиеТипов.ПолучитьСтроку(Описание);
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
Параметры_.Вставить("album_id", OPI_Инструменты.ЧислоВСтроку(IDАльбома));
Параметры_.Вставить("album_id", IDАльбома);
Параметры_.Вставить("caption" , Описание);
Возврат ЗагрузитьФотоНаСервер(Картинка, Параметры_, "Альбом");
@ -327,8 +348,10 @@
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от VK
Функция УдалитьКартинку(Знач IDКартинки, Знач Параметры = "") Экспорт
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDКартинки);
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
Параметры_.Вставить("photo_id", OPI_Инструменты.ЧислоВСтроку(IDКартинки));
Параметры_.Вставить("photo_id", IDКартинки);
Ответ = OPI_Инструменты.Get("api.vk.com/method/photos.delete", Параметры_);
@ -352,6 +375,9 @@
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от VK
Функция СоздатьОбсуждение(Знач Наименование, Знач ТекстПервогоСообщения, Знач Параметры = "") Экспорт
OPI_ПреобразованиеТипов.ПолучитьСтроку(Наименование);
OPI_ПреобразованиеТипов.ПолучитьСтроку(ТекстПервогоСообщения);
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
Параметры_.Вставить("title", Наименование);
Параметры_.Вставить("text" , ТекстПервогоСообщения);
@ -374,8 +400,11 @@
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от VK
Функция ЗакрытьОбсуждение(Знач IDОбсуждения, Знач УдалитьПолностью = Ложь, Знач Параметры = "") Экспорт
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDОбсуждения);
OPI_ПреобразованиеТипов.ПолучитьБулево(УдалитьПолностью);
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
Параметры_.Вставить("topic_id", OPI_Инструменты.ЧислоВСтроку(IDОбсуждения));
Параметры_.Вставить("topic_id", IDОбсуждения);
Метод = ?(УдалитьПолностью, "deleteTopic", "closeTopic");
Ответ = OPI_Инструменты.Get("api.vk.com/method/board." + Метод, Параметры_);
@ -395,8 +424,10 @@
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от VK
Функция ОткрытьОбсуждение(Знач IDОбсуждения, Знач Параметры = "") Экспорт
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDОбсуждения);
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
Параметры_.Вставить("topic_id", OPI_Инструменты.ЧислоВСтроку(IDОбсуждения));
Параметры_.Вставить("topic_id", IDОбсуждения);
Ответ = OPI_Инструменты.Get("api.vk.com/method/board.openTopic", Параметры_);
@ -416,8 +447,11 @@
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от VK
Функция НаписатьВОбсуждение(Знач IDОбсуждения, Знач Текст, Знач Параметры = "") Экспорт
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDОбсуждения);
OPI_ПреобразованиеТипов.ПолучитьСтроку(Текст);
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
Параметры_.Вставить("topic_id", OPI_Инструменты.ЧислоВСтроку(IDОбсуждения));
Параметры_.Вставить("topic_id", IDОбсуждения);
Параметры_.Вставить("message" , Текст);
Ответ = OPI_Инструменты.Get("api.vk.com/method/board.createComment", Параметры_);
@ -442,9 +476,12 @@
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от VK
Функция ПоставитьЛайк(Знач IDПоста, Знач IDСтены = "", Знач Параметры = "") Экспорт
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDПоста);
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDСтены);
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
IDСтены = ?(ЗначениеЗаполнено(IDСтены), IDСтены, Параметры_["owner_id"]);
ОбъектВК = "wall" + OPI_Инструменты.ЧислоВСтроку(IDСтены) + "_" + OPI_Инструменты.ЧислоВСтроку(IDПоста);
ОбъектВК = "wall" + IDСтены + "_" + OPI_Инструменты.ЧислоВСтроку(IDПоста);
Параметры_.Вставить("type" , "post");
Параметры_.Вставить("object" , ОбъектВК);
@ -476,18 +513,20 @@
, Знач Рекламный = Ложь
, Знач Параметры = "") Экспорт
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
Источник = ?(ЗначениеЗаполнено(IDСтены)
, OPI_Инструменты.ЧислоВСтроку(IDСтены)
, OPI_Инструменты.ЧислоВСтроку(Параметры_["owner_id"]));
Приемник = ?(ЗначениеЗаполнено(ЦелеваяСтена)
, СтрЗаменить(OPI_Инструменты.ЧислоВСтроку(ЦелеваяСтена), "-", "")
, OPI_Инструменты.ЧислоВСтроку(Параметры_["group_id"]));
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
GroupId = Параметры_["group_id"];
OPI_ПреобразованиеТипов.ПолучитьСтроку(GroupId);
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDПоста);
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDСтены);
OPI_ПреобразованиеТипов.ПолучитьСтроку(ЦелеваяСтена);
OPI_ПреобразованиеТипов.ПолучитьБулево(Рекламный);
Источник = ?(ЗначениеЗаполнено(IDСтены), IDСтены, GroupId);
Приемник = ?(ЗначениеЗаполнено(ЦелеваяСтена), ЦелеваяСтена, GroupId);
Параметры_.Вставить("object" , "wall" + Источник + "_" + OPI_Инструменты.ЧислоВСтроку(IDПоста));
Параметры_.Вставить("group_id" , Приемник);
Параметры_.Вставить("group_id" , СтрЗаменить(Приемник, "-", ""));
Параметры_.Вставить("mark_as_ads" , ?(Рекламный, 1, 0));
Ответ = OPI_Инструменты.Get("api.vk.com/method/wall.repost", Параметры_);
@ -514,11 +553,16 @@
, Знач Клавиатура = ""
, Знач Параметры = "") Экспорт
OPI_ПреобразованиеТипов.ПолучитьСтроку(Текст);
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDПользователя);
OPI_ПреобразованиеТипов.ПолучитьСтроку(Communitytoken);
OPI_ПреобразованиеТипов.ПолучитьСтроку(Клавиатура);
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
Параметры_.Вставить("access_token", Communitytoken);
Параметры_.Вставить("user_id" , OPI_Инструменты.ЧислоВСтроку(IDПользователя));
Параметры_.Вставить("peer_id" , OPI_Инструменты.ЧислоВСтроку(IDПользователя));
Параметры_.Вставить("user_id" , IDПользователя);
Параметры_.Вставить("peer_id" , IDПользователя);
Параметры_.Вставить("parse_mode" , "Markdown");
Параметры_.Вставить("random_id" , 0);
Параметры_.Вставить("message" , Текст);
@ -545,17 +589,24 @@
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от VK
Функция НаписатьКомментарий(Знач IDПоста, Знач IDСтены, Знач Текст, Знач Параметры = "") Экспорт
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
GroupId = Параметры_["group_id"];
Параметры_.Вставить("owner_id" , OPI_Инструменты.ЧислоВСтроку(IDСтены));
Параметры_.Вставить("from_group" , OPI_Инструменты.ЧислоВСтроку(Параметры_["group_id"]));
Параметры_.Вставить("post_id" , OPI_Инструменты.ЧислоВСтроку(IDПоста));
OPI_ПреобразованиеТипов.ПолучитьСтроку(GroupId);
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDПоста);
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDСтены);
OPI_ПреобразованиеТипов.ПолучитьСтроку(Текст);
Параметры_.Вставить("owner_id" , IDСтены);
Параметры_.Вставить("from_group" , GroupId);
Параметры_.Вставить("post_id" , IDПоста);
Параметры_.Вставить("message" , Текст);
Параметры_.Удалить("group_id");
Ответ = OPI_Инструменты.Get("api.vk.com/method/wall.createComment", Параметры_);
Ответ = OPI_Инструменты.Get("api.vk.com/method/wall.createComment", Параметры_);
Возврат Ответ;
@ -572,6 +623,8 @@
// Строка - Сокращенный URL
Функция СократитьСсылку(Знач URL, Знач Параметры = "") Экспорт
OPI_ПреобразованиеТипов.ПолучитьСтроку(URL);
Response = "response";
Параметры_ = Новый Структура;
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
@ -599,6 +652,9 @@
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от VK
Функция ПолучитьСтатистику(Знач ДатаНачала, Знач ДатаОкончания, Знач Параметры = "") Экспорт
OPI_ПреобразованиеТипов.ПолучитьДату(ДатаНачала);
OPI_ПреобразованиеТипов.ПолучитьДату(ДатаОкончания);
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
ДатаНачала = Формат(ДатаНачала - Дата(1970, 1, 1, 1, 0, 0), "ЧГ=0");
@ -627,6 +683,8 @@
// Массив из Произвольный - Массив данных статистики по постам
Функция ПолучитьСтатистикуПостов(Знач МассивИДПостов, Знач Параметры = "") Экспорт
OPI_ПреобразованиеТипов.ПолучитьКоллекцию(МассивИДПостов);
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
МассивОтветов = Новый Массив;
МассивНабора = Новый Массив;
@ -685,9 +743,12 @@
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от VK
Функция СоздатьРекламнуюКампанию(Знач IDКабинета, Знач Наименование, Знач Параметры = "") Экспорт
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDКабинета);
OPI_ПреобразованиеТипов.ПолучитьСтроку(Наименование);
ТекущаяДата = OPI_Инструменты.ПолучитьТекущуюДату();
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
Параметры_.Вставить("account_id", OPI_Инструменты.ЧислоВСтроку(IDКабинета));
Параметры_.Вставить("account_id", IDКабинета);
МассивСтруктур = Новый Массив;
ДатаСтарт = Формат(ТекущаяДата - Дата(1970, 1, 1, 1, 0, 0), "ЧГ=0");
@ -735,14 +796,21 @@
, Знач Параметры = "") Экспорт
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
Линк = "https://vk.com/wall-"
+ Параметры_["group_id"]
+ "_"
+ OPI_Инструменты.ЧислоВСтроку(IDПоста);
GroupId = Параметры_["group_id"];
OPI_ПреобразованиеТипов.ПолучитьСтроку(GroupId);
OPI_ПреобразованиеТипов.ПолучитьСтроку(НомерКампании);
OPI_ПреобразованиеТипов.ПолучитьСтроку(ДневнойЛимит);
OPI_ПреобразованиеТипов.ПолучитьСтроку(НомерКатегории);
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDПоста);
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDКабинета);
Линк = "https://vk.com/wall-" + GroupId + "_" + IDПоста;
МассивСтруктур = Новый Массив;
СтруктураКампании = Новый Структура;
СтруктураКампании.Вставить("campaign_id" , OPI_Инструменты.ЧислоВСтроку(НомерКампании));
СтруктураКампании.Вставить("campaign_id" , НомерКампании);
СтруктураКампании.Вставить("ad_format" , 9);
СтруктураКампании.Вставить("conversion_event_id" , 1);
СтруктураКампании.Вставить("autobidding" , 1);
@ -751,9 +819,9 @@
СтруктураКампании.Вставить("ad_platform" , "all");
СтруктураКампании.Вставить("publisher_platforms" , "vk");
СтруктураКампании.Вставить("publisher_platforms_auto" , "1");
СтруктураКампании.Вставить("day_limit" , OPI_Инструменты.ЧислоВСтроку(ДневнойЛимит));
СтруктураКампании.Вставить("day_limit" , ДневнойЛимит);
СтруктураКампании.Вставить("all_limit" , "0");
СтруктураКампании.Вставить("category1_id" , OPI_Инструменты.ЧислоВСтроку(НомерКатегории));
СтруктураКампании.Вставить("category1_id" , НомерКатегории);
СтруктураКампании.Вставить("age_restriction" , 0);
СтруктураКампании.Вставить("status" , 1);
СтруктураКампании.Вставить("name" , "Объявление");
@ -761,10 +829,10 @@
МассивСтруктур.Добавить(СтруктураКампании);
JSONДата = OPI_Инструменты.JSONСтрокой(МассивСтруктур);
OPI_ПреобразованиеТипов.ПолучитьСтроку(МассивСтруктур, Истина);
Параметры_.Вставить("data" , JSONДата);
Параметры_.Вставить("account_id" , OPI_Инструменты.ЧислоВСтроку(IDКабинета));
Параметры_.Вставить("data" , МассивСтруктур);
Параметры_.Вставить("account_id" , IDКабинета);
Ответ = OPI_Инструменты.Get("api.vk.com/method/ads.createAds", Параметры_);
@ -784,21 +852,24 @@
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от VK
Функция ПриостановитьРекламноеОбъявление(Знач IDКабинета, Знач IDОбъявления, Знач Параметры = "") Экспорт
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDКабинета);
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDОбъявления);
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
Параметры_.Вставить("account_id", OPI_Инструменты.ЧислоВСтроку(IDКабинета));
Параметры_.Вставить("account_id", IDКабинета);
МассивСтруктур = Новый Массив;
СтруктураКампании = Новый Структура;
СтруктураКампании.Вставить("ad_id" , OPI_Инструменты.ЧислоВСтроку(IDОбъявления));
СтруктураКампании.Вставить("ad_id" , IDОбъявления);
СтруктураКампании.Вставить("status" , 0);
МассивСтруктур.Добавить(СтруктураКампании);
JSONДата = OPI_Инструменты.JSONСтрокой(МассивСтруктур);
OPI_ПреобразованиеТипов.ПолучитьСтроку(МассивСтруктур, Истина);
Параметры_.Вставить("data", JSONДата);
Параметры_.Вставить("data", МассивСтруктур);
Ответ = OPI_Инструменты.Get("api.vk.com/method/ads.updateAds", Параметры_);
@ -867,13 +938,15 @@
// Соответствие Из КлючИЗначение - Массив соответствий товаров
Функция ПолучитьСписокТоваров(Знач Подборка = "", Знач Параметры = "") Экспорт
OPI_ПреобразованиеТипов.ПолучитьСтроку(Подборка);
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
Параметры_.Вставить("count" , 200);
Параметры_.Вставить("extended" , 1);
Параметры_.Вставить("with_disabled", 1);
Если ЗначениеЗаполнено(Подборка) Тогда
Параметры_.Вставить("album_id", OPI_Инструменты.ЧислоВСтроку(Подборка));
Параметры_.Вставить("album_id", Подборка);
КонецЕсли;
МассивТоваров = Новый Массив;
@ -896,6 +969,8 @@
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от VK
Функция ПолучитьТоварыПоИД(Знач Товары, Знач Параметры = "") Экспорт
OPI_ПреобразованиеТипов.ПолучитьКоллекцию(Товары);
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
СтрокаТоваров = "";
Owner = "owner_id";
@ -1000,7 +1075,7 @@
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от VK
Функция УдалитьТовар(Знач Товар, Знач Параметры = "") Экспорт
Товар = OPI_Инструменты.ЧислоВСтроку(Товар);
OPI_ПреобразованиеТипов.ПолучитьСтроку(Товар);
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
Параметры_.Вставить("item_id", Товар);
@ -1024,6 +1099,9 @@
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от VK
Функция СгруппироватьТовары(Знач МассивТоваров, Знач СуществующаяГруппа = "", Знач Параметры = "") Экспорт
OPI_ПреобразованиеТипов.ПолучитьСтроку(СуществующаяГруппа);
OPI_ПреобразованиеТипов.ПолучитьКоллекцию(МассивТоваров);
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
МассивТоваров_ = Новый Массив;
@ -1036,7 +1114,7 @@
Параметры_.Вставить("item_ids", Товары);
Если ЗначениеЗаполнено(СуществующаяГруппа) Тогда
Параметры_.Вставить("item_group_id", OPI_Инструменты.ЧислоВСтроку(СуществующаяГруппа));
Параметры_.Вставить("item_group_id", СуществующаяГруппа);
КонецЕсли;
Ответ = OPI_Инструменты.Get("api.vk.com/method/market.groupItems", Параметры_);
@ -1126,6 +1204,8 @@
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от VK
Функция ПолучитьПодборкиПоИД(Знач Подборки, Знач Параметры = "") Экспорт
OPI_ПреобразованиеТипов.ПолучитьКоллекцию(Подборки);
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
СтрокаПодборок = "";
@ -1213,23 +1293,17 @@
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от VK
Функция ДобавитьТоварВПодборку(Знач МассивТоваров, Знач Подборка, Знач Параметры = "") Экспорт
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
Подборка = OPI_Инструменты.ЧислоВСтроку(Подборка);
МассивТовар_ = Новый Массив;
OPI_ПреобразованиеТипов.ПолучитьКоллекцию(МассивТоваров);
OPI_ПреобразованиеТипов.ПолучитьСтроку(Подборка);
Если Не ТипЗнч(МассивТоваров) = Тип("Массив") Тогда
Товар = МассивТоваров;
МассивТовар = Новый Массив;
МассивТовар.Добавить(Товар);
КонецЕсли;
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
МассивТоваров_ = Новый Массив;
Для Каждого Товар Из МассивТовар Цикл
МассивТовар_.Добавить(OPI_Инструменты.ЧислоВСтроку(Товар));
Для Каждого Товар Из МассивТоваров Цикл
МассивТоваров_.Добавить(OPI_Инструменты.ЧислоВСтроку(Товар));
КонецЦикла;
СписокТоваров = СтрСоединить(МассивТовар_, ",");
СписокТоваров = СтрСоединить(МассивТоваров_, ",");
Параметры_.Вставить("item_ids" , СписокТоваров);
Параметры_.Вставить("album_ids", Подборка);
@ -1252,10 +1326,13 @@
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от VK
Функция УдалитьТоварИзПодборки(Знач Товар, Знач Подборка, Знач Параметры = "") Экспорт
OPI_ПреобразованиеТипов.ПолучитьСтроку(Товар);
OPI_ПреобразованиеТипов.ПолучитьСтроку(Подборка);
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
Подборка = OPI_Инструменты.ЧислоВСтроку(Подборка);
Параметры_.Вставить("item_id" , OPI_Инструменты.ЧислоВСтроку(Товар));
Параметры_.Вставить("item_id" , Товар);
Параметры_.Вставить("album_ids", Подборка);
Ответ = OPI_Инструменты.Get("api.vk.com/method/market.removeFromAlbum", Параметры_);
@ -1275,7 +1352,7 @@
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от VK
Функция УдалитьПодборку(Знач Подборка, Знач Параметры = "") Экспорт
Подборка = OPI_Инструменты.ЧислоВСтроку(Подборка);
OPI_ПреобразованиеТипов.ПолучитьСтроку(Подборка);
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
Параметры_.Вставить("album_id", Подборка);
@ -1321,6 +1398,8 @@
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от VK
Функция СоздатьСвойствоТовара(Знач Название, Знач Параметры = "") Экспорт
OPI_ПреобразованиеТипов.ПолучитьСтроку(Название);
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
Параметры_.Вставить("title", Название);
@ -1342,9 +1421,12 @@
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от VK
Функция ИзменитьСвойствоТовара(Знач Название, Знач Свойство, Знач Параметры = "") Экспорт
OPI_ПреобразованиеТипов.ПолучитьСтроку(Название);
OPI_ПреобразованиеТипов.ПолучитьСтроку(Свойство);
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
Параметры_.Вставить("title" , Название);
Параметры_.Вставить("property_id", OPI_Инструменты.ЧислоВСтроку(Свойство));
Параметры_.Вставить("property_id", Свойство);
Параметры_.Вставить("type" , "text");
Ответ = OPI_Инструменты.Get("api.vk.com/method/market.editProperty", Параметры_);
@ -1364,8 +1446,10 @@
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от VK
Функция УдалитьСвойствоТовара(Знач Свойство, Знач Параметры = "") Экспорт
OPI_ПреобразованиеТипов.ПолучитьСтроку(Свойство);
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
Параметры_.Вставить("property_id", OPI_Инструменты.ЧислоВСтроку(Свойство));
Параметры_.Вставить("property_id", Свойство);
Ответ = OPI_Инструменты.Get("api.vk.com/method/market.deleteProperty", Параметры_);
@ -1385,8 +1469,11 @@
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от VK
Функция ДобавитьВариантСвойстваТовара(Знач Значение, Знач Свойство, Знач Параметры = "") Экспорт
OPI_ПреобразованиеТипов.ПолучитьСтроку(Свойство);
OPI_ПреобразованиеТипов.ПолучитьСтроку(Значение);
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
Параметры_.Вставить("property_id", OPI_Инструменты.ЧислоВСтроку(Свойство));
Параметры_.Вставить("property_id", Свойство);
Параметры_.Вставить("title" , Значение);
Ответ = OPI_Инструменты.Get("api.vk.com/method/market.addPropertyVariant", Параметры_);
@ -1407,9 +1494,13 @@
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от VK
Функция ИзменитьВариантСвойстваТовара(Знач Значение, Знач Свойство, Знач Вариант, Знач Параметры = "") Экспорт
OPI_ПреобразованиеТипов.ПолучитьСтроку(Значение);
OPI_ПреобразованиеТипов.ПолучитьСтроку(Свойство);
OPI_ПреобразованиеТипов.ПолучитьСтроку(Вариант);
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
Параметры_.Вставить("property_id", OPI_Инструменты.ЧислоВСтроку(Свойство));
Параметры_.Вставить("variant_id" , OPI_Инструменты.ЧислоВСтроку(Вариант));
Параметры_.Вставить("property_id", Свойство);
Параметры_.Вставить("variant_id" , Вариант);
Параметры_.Вставить("title" , Значение);
Ответ = OPI_Инструменты.Get("api.vk.com/method/market.editPropertyVariant", Параметры_);
@ -1429,8 +1520,10 @@
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от VK
Функция УдалитьВариантСвойстваТовара(Знач Вариант, Знач Параметры = "") Экспорт
OPI_ПреобразованиеТипов.ПолучитьСтроку(Вариант);
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
Параметры_.Вставить("variant_id", OPI_Инструменты.ЧислоВСтроку(Вариант));
Параметры_.Вставить("variant_id", Вариант);
Ответ = OPI_Инструменты.Get("api.vk.com/method/market.deletePropertyVariant", Параметры_);
@ -1634,16 +1727,19 @@
Функция УправлениеТоваром(Знач ОписаниеТовара, Знач ИДТовара = "", Знач Подборка = "", Знач Параметры = "")
OPI_ПреобразованиеТипов.ПолучитьСтроку(ИДТовара);
OPI_ПреобразованиеТипов.ПолучитьСтроку(Подборка);
OPI_ПреобразованиеТипов.ПолучитьКоллекцию(ОписаниеТовара);
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
Параметры_.Вставить("v", "5.199");
Response = "response";
Подборка = OPI_Инструменты.ЧислоВСтроку(Подборка);
ЗаполнитьПоляЗапросаТовара(ОписаниеТовара, Параметры_);
Если ЗначениеЗаполнено(ИДТовара) Тогда
Параметры_.Вставить("item_id", OPI_Инструменты.ЧислоВСтроку(ИДТовара));
Параметры_.Вставить("item_id", ИДТовара);
Метод = "edit";
Иначе
Метод = "add";
@ -1653,7 +1749,7 @@
Если Не ЗначениеЗаполнено(ИДТовара) Тогда
ИДТовара = Ответ[Response]["market_item_id"];
ИДТовара = OPI_Инструменты.ЧислоВСтроку(ИДТовара);
ИДТовара = ИДТовара;
КонецЕсли;
Если ЗначениеЗаполнено(Подборка) Тогда
@ -1671,6 +1767,12 @@
, Знач Скрытая = Ложь
, Знач Параметры = "")
OPI_ПреобразованиеТипов.ПолучитьСтроку(Название);
OPI_ПреобразованиеТипов.ПолучитьСтроку(ИДПодборки);
OPI_ПреобразованиеТипов.ПолучитьБулево(Основная);
OPI_ПреобразованиеТипов.ПолучитьБулево(Скрытая);
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
PhotoID = "photo_id";
Response = "response";
@ -1679,7 +1781,7 @@
Ответ = ЗагрузитьФотоНаСервер(Картинка, Параметры_, "Товар");
ИДФото = Ответ[Response][PhotoID];
ИДФото = OPI_Инструменты.ЧислоВСтроку(ИДФото);
OPI_ПреобразованиеТипов.ПолучитьСтроку(ИДФото);
Параметры_.Вставить(PhotoID, ИДФото);
@ -1692,7 +1794,7 @@
Если Не Подборки.Количество() = 0 Тогда
ИДФото = Подборки[0]["photo"]["id"];
ИДФото = OPI_Инструменты.ЧислоВСтроку(ИДФото);
OPI_ПреобразованиеТипов.ПолучитьСтроку(ИДФото);
Параметры_.Вставить(PhotoID, ИДФото);
КонецЕсли;
@ -1705,7 +1807,7 @@
Параметры_.Вставить("is_hidden" , ?(Скрытая, 1, 0));
Если ЗначениеЗаполнено(ИДПодборки) Тогда
Параметры_.Вставить("album_id", OPI_Инструменты.ЧислоВСтроку(ИДПодборки));
Параметры_.Вставить("album_id", ИДПодборки);
Метод = "editAlbum";
Иначе
Метод = "addAlbum";

View File

@ -91,7 +91,9 @@
КонецЦикла;
Иначе
ВызватьИсключение "Ошибка получения данных коллекции из параметра";
Значение_ = Новый Массив;
Значение_.Добавить(Значение);
Значение = Значение_;
КонецЕсли;
КонецПопытки;
@ -114,10 +116,10 @@
КонецПроцедуры
Процедура ПолучитьСтроку(Значение, Знач НеПреобразовывать = Ложь) Экспорт
Процедура ПолучитьСтроку(Значение, Знач ИзИсточника = Ложь) Экспорт
Если НеПреобразовывать Тогда
Значение = Строка(Значение);
Если Не ИзИсточника Тогда
Значение = OPI_Инструменты.ЧислоВСтроку(Значение);
Возврат;
КонецЕсли;

View File

@ -118,16 +118,12 @@
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_Token");
IDЧата = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChatID");
IDКанала = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChannelID");
Тема = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_TopicID");
Форум = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ForumID");
ЧатТема = Форум + "*" + Тема;
Текст = "Сообщение из автоматического теста";
МассивРезультатов = Новый Массив;
МассивРезультатов.Добавить(OPI_Telegram.ОтправитьТекстовоеСообщение(Токен, IDЧата, Текст));
МассивРезультатов.Добавить(OPI_Telegram.ОтправитьТекстовоеСообщение(Токен, IDКанала, Текст));
МассивРезультатов.Добавить(OPI_Telegram.ОтправитьТекстовоеСообщение(Токен, ЧатТема, Текст));
IDСообщения = OPI_Инструменты.ЧислоВСтроку(МассивРезультатов[1]["result"]["message_id"]);
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Telegram_ChannelMessageID", IDСообщения);
@ -151,9 +147,7 @@
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_Token");
IDЧата = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChatID");
IDКанала = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ChannelID");
Тема = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_TopicID");
Форум = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ForumID");
ЧатТема = Форум + "*" + Тема;
Текст = "Сообщение из автоматического теста";
Картинка = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Picture");
ИВФ = ПолучитьИмяВременногоФайла("png");
@ -161,7 +155,6 @@
МассивРезультатов = Новый Массив;
МассивРезультатов.Добавить(OPI_Telegram.ОтправитьКартинку(Токен, IDЧата , Текст, Картинка));
МассивРезультатов.Добавить(OPI_Telegram.ОтправитьКартинку(Токен, ЧатТема , Текст, Картинка));
МассивРезультатов.Добавить(OPI_Telegram.ОтправитьКартинку(Токен, IDКанала, Текст, ИВФ));
Для Каждого Результат Из МассивРезультатов Цикл
@ -581,7 +574,9 @@
Ok_ = "ok";
Result = "result";
ТипСоответствие = Тип("Соответствие");
Текст = "Сообщение из автоматического теста";
Картинка = OPI_ПолучениеДанныхТестов.ПолучитьДвоичные("Picture");
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_Token");
Чат = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Telegram_ForumID");
Имя = "Тестовая тема";
@ -599,7 +594,23 @@
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Ok_]).Равно(Истина);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Result]["name"]).Равно(Имя);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат[Result]["icon_custom_emoji_id"]).Равно(Иконка);
ЧатТема = Чат + "*" + Тема;
Результат = OPI_Telegram.ОтправитьТекстовоеСообщение(Токен, ЧатТема, Текст);
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтправитьТекстовоеСообщение");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["text"]).Равно(Текст);
Результат = OPI_Telegram.ОтправитьКартинку(Токен, ЧатТема , Текст, Картинка);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие") .Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["ok"]).Равно(Истина);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["caption"]).Равно(Текст);
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["photo"]).ИмеетТип("Массив");
Результат = OPI_Telegram.ИзменитьТемуФорума(Токен, Чат, Тема, НовоеИмя, НовяИконка);
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьТемуФорума");

View File

@ -173,11 +173,9 @@
ТекстВыполнения = ТекстВыполнения
+ Символы.ПС
+ ИмяПараметра
+ " = ОбработкаПараметров.ОбработатьВходящийПараметр("""
+ " = """
+ ЗначениеПараметра
+ """, """
+ НеобходимыйПараметр.Обработка
+ """);";
+ """;";
СтрокаВызова = СтрокаВызова + ИмяПараметра + ", ";
Счетчик = Счетчик + 1;