diff --git a/src/ru/OPI/src/CommonModules/OPI_Bitrix24/Module.bsl b/src/ru/OPI/src/CommonModules/OPI_Bitrix24/Module.bsl index ce14dab43..0c2a40de6 100644 --- a/src/ru/OPI/src/CommonModules/OPI_Bitrix24/Module.bsl +++ b/src/ru/OPI/src/CommonModules/OPI_Bitrix24/Module.bsl @@ -152,7 +152,7 @@ // Параметры: // URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url // Текст - Строка - Текст новости - text -// Видмость - Строка - Массив/Один получатель (UA все, SGn раб. группа, Un пользователь, DRn отдел, Gn группа) - vision +// Видимость - Строка - Массив/Один получатель: UA все, SGn раб. группа, Un пользователь, DRn отдел, Gn группа - vision // Файлы - Строка - Данные вложений, где ключ > имя файла, значение > путь к файлу иди двоичные данные - files // Заголовок - Строка - Заголовок новости - title // Важное - Булево - Помечает новость как важную - important @@ -162,7 +162,7 @@ // Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24 Функция СоздатьНовость(Знач URL , Знач Текст - , Знач Видмость = "UA" + , Знач Видимость = "UA" , Знач Файлы = "" , Знач Заголовок = "" , Знач Важное = Ложь @@ -171,10 +171,56 @@ ПривестиБулево(Важное); Параметры = НормализоватьАвторизацию(URL, Токен, "log.blogpost.add"); - OPI_Инструменты.ДобавитьПоле("POST_MESSAGE", Текст , "Строка", Параметры); - OPI_Инструменты.ДобавитьПоле("POST_TITLE" , Заголовок, "Строка", Параметры); - OPI_Инструменты.ДобавитьПоле("DEST" , Видмость , "Массив", Параметры); - OPI_Инструменты.ДобавитьПоле("IMPORTANT" , Важное , "Строка", Параметры); + OPI_Инструменты.ДобавитьПоле("POST_MESSAGE", Текст , "Строка", Параметры); + OPI_Инструменты.ДобавитьПоле("POST_TITLE" , Заголовок , "Строка", Параметры); + OPI_Инструменты.ДобавитьПоле("DEST" , Видимость , "Массив", Параметры); + OPI_Инструменты.ДобавитьПоле("IMPORTANT" , Важное , "Строка", Параметры); + + Если ЗначениеЗаполнено(Файлы) Тогда + + OPI_ПреобразованиеТипов.ПолучитьКоллекцию(Файлы); + + МассивФайлов = НормализоватьФайлы(Файлы); + + Если Не МассивФайлов.Количество() = 0 Тогда + Параметры.Вставить("FILES", МассивФайлов); + КонецЕсли; + + Конецесли; + + Ответ = OPI_Инструменты.Post(URL, Параметры); + + Возврат Ответ; + +КонецФункции + +// Изменить новость +// Изменяет новость в ленте +// +// Параметры: +// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url +// IDНовости - Строка, Число - ID новости - postid +// Текст - Строка - Текст новости - text +// Видимость - Строка - Массив/Один получатель: UA все, SGn раб. группа, Un пользователь, DRn отдел, Gn группа - vision +// Файлы - Строка - Данные вложений, где ключ > имя файла, значение > путь к файлу иди двоичные данные - files +// Заголовок - Строка - Заголовок новости - title +// Токен - Строка - Токен авторизации, если используется не вебхук - token +// +// Возвращаемое значение: +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24 +Функция ИзменитьНовость(Знач URL + , Знач IDНовости + , Знач Текст + , Знач Видимость = "UA" + , Знач Файлы = "" + , Знач Заголовок = "" + , Знач Токен = "") Экспорт + + Параметры = НормализоватьАвторизацию(URL, Токен, "log.blogpost.update"); + OPI_Инструменты.ДобавитьПоле("POST_MESSAGE", Текст , "Строка", Параметры); + OPI_Инструменты.ДобавитьПоле("POST_TITLE" , Заголовок , "Строка", Параметры); + OPI_Инструменты.ДобавитьПоле("DEST" , Видимость , "Массив", Параметры); + OPI_Инструменты.ДобавитьПоле("POST_ID" , IDНовости , "Строка", Параметры); Если ЗначениеЗаполнено(Файлы) Тогда @@ -242,7 +288,7 @@ // Параметры: // URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url // IDНовости - Строка, Число - ID важной новости - postid -// Отбор - Строка - Отбор новостей по доступу (UA все, SGn раб. группа, Un пользователь, DRn отдел, Gn группа) - sel +// Отбор - Строка - Отбор новостей по доступу: UA все, SGn раб. группа, Un пользователь, DRn отдел, Gn группа - sel // Токен - Строка - Токен авторизации, если используется не вебхук - token // // Возвращаемое значение: @@ -260,6 +306,54 @@ КонецФункции +// Добавить комментарий +// Добавляет комментарий к новости +// +// Параметры: +// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url +// IDНовости - Строка, Число - ID новости - postid +// Текст - Строка - Текст комментария - text +// Токен - Строка - Токен авторизации, если используется не вебхук - token +// +// Возвращаемое значение: +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24 +Функция ДобавитьКомментарий(Знач URL, Знач IDНовости, Знач Текст, Знач Токен = "") Экспорт + + Параметры = НормализоватьАвторизацию(URL, Токен, "log.blogcomment.add"); + + OPI_Инструменты.ДобавитьПоле("POST_ID" , IDНовости, "Строка", Параметры); + OPI_Инструменты.ДобавитьПоле("TEXT" , Текст , "Строка", Параметры); + + Ответ = OPI_Инструменты.Post(URL, Параметры); + + Возврат Ответ; + +КонецФункции + +// Добавить получателей к новости +// Добавляет новые группы или пользователей в получатели +// +// Параметры: +// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url +// IDНовости - Строка, Число - ID новости - postid +// Видимость - Строка - Массив/Один получатель: UA все, SGn раб. группа, Un пользователь, DRn отдел, Gn группа - vision +// Токен - Строка - Токен авторизации, если используется не вебхук - token +// +// Возвращаемое значение: +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24 +Функция ДобавитьПолучателейКНовости(Знач URL, Знач IDНовости, Знач Видимость, Знач Токен = "") Экспорт + + Параметры = НормализоватьАвторизацию(URL, Токен, "log.blogpost.share"); + + OPI_Инструменты.ДобавитьПоле("POST_ID" , IDНовости, "Строка", Параметры); + OPI_Инструменты.ДобавитьПоле("DEST" , Видимость, "Строка", Параметры); + + Ответ = OPI_Инструменты.Post(URL, Параметры); + + Возврат Ответ; + +КонецФункции + #КонецОбласти #КонецОбласти @@ -311,25 +405,25 @@ НормализованныеФайлы = Новый Массив; - Если Не ТипЗнч(Файлы) = Тип("Соответствие") Тогда - Возврат НормализованныеФайлы; - КонецЕсли; + Если ТипЗнч(Файлы) = Тип("Соответствие") Тогда + + Для Каждого Файл Из Файлы Цикл + + ТекущийМассив = Новый Массив; + ТекущийФайл = Файл.Значение; + ТекущееИмя = Файл.Ключ; + + OPI_ПреобразованиеТипов.ПолучитьДвоичныеДанные(ТекущийФайл); + OPI_ПреобразованиеТипов.ПолучитьСтроку(ТекущееИмя); + + ТекущийМассив.Добавить(ТекущееИмя); + ТекущийМассив.Добавить(Base64Строка(ТекущийФайл)); + + НормализованныеФайлы.Добавить(ТекущийМассив); + + КонецЦикла; - Для Каждого Файл Из Файлы Цикл - - ТекущийМассив = Новый Массив; - ТекущийФайл = Файл.Значение; - ТекущееИмя = Файл.Ключ; - - OPI_ПреобразованиеТипов.ПолучитьДвоичныеДанные(ТекущийФайл); - OPI_ПреобразованиеТипов.ПолучитьСтроку(ТекущееИмя); - - ТекущийМассив.Добавить(ТекущееИмя); - ТекущийМассив.Добавить(Base64Строка(ТекущийФайл)); - - НормализованныеФайлы.Добавить(ТекущийМассив); - - КонецЦикла; + КонецЕсли; Возврат НормализованныеФайлы; diff --git a/src/ru/OPI/src/CommonModules/OPI_Notion/Module.bsl b/src/ru/OPI/src/CommonModules/OPI_Notion/Module.bsl index fb605ce40..65c41241b 100644 --- a/src/ru/OPI/src/CommonModules/OPI_Notion/Module.bsl +++ b/src/ru/OPI/src/CommonModules/OPI_Notion/Module.bsl @@ -127,7 +127,8 @@ КонецФункции -// Изменить свойства страницы. +// Изменить свойства страницы +// Изменяет свойства существующей страницы // // Параметры: // Токен - Строка - Токен - token @@ -366,7 +367,8 @@ КонецФункции -// Вернуть блок. +// Вернуть блок +// Возвращает структуру блока по ID // // Параметры: // Токен - Строка - Токен - token diff --git a/src/ru/OPI/src/CommonModules/OPI_Тесты/Module.bsl b/src/ru/OPI/src/CommonModules/OPI_Тесты/Module.bsl index c056c76fb..57f73acc2 100644 --- a/src/ru/OPI/src/CommonModules/OPI_Тесты/Module.bsl +++ b/src/ru/OPI/src/CommonModules/OPI_Тесты/Module.bsl @@ -3294,8 +3294,11 @@ OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture2" , ПараметрыТеста); Bitrix24_СоздатьНовость(ПараметрыТеста); + Bitrix24_ИзменитьНовость(ПараметрыТеста); Bitrix24_ПолучитьСписокПросмотревшихВажное(ПараметрыТеста); Bitrix24_ПолучитьНовости(ПараметрыТеста); + Bitrix24_ДобавитьКомментарий(ПараметрыТеста); + Bitrix24_ДобавитьПолучателейКНовости(ПараметрыТеста); Bitrix24_УдалитьНовость(ПараметрыТеста); КонецПроцедуры @@ -3703,7 +3706,7 @@ КонецПроцедуры -Процедура Проверка_БитриксНовость(Знач Результат) +Процедура Проверка_БитриксЧисло(Знач Результат) OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Число").Заполнено(); КонецПроцедуры @@ -5530,7 +5533,7 @@ // !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьНовость (хук)", "Bitrix24"); - Проверка_БитриксНовость(Результат); // SKIP + Проверка_БитриксЧисло(Результат); // SKIP IDНовости = Результат["result"]; // SKIP OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_HookPostID", IDНовости); // SKIP @@ -5545,7 +5548,7 @@ // !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьНовость", "Bitrix24"); - Проверка_БитриксНовость(Результат); + Проверка_БитриксЧисло(Результат); IDНовости = Результат["result"]; @@ -5554,6 +5557,38 @@ КонецПроцедуры +Процедура Bitrix24_ИзменитьНовость(ПараметрыФункции) + + Текст = "Новый текст новости"; + Заголовок = "Новый заголовок новости"; + Картинка1 = ПараметрыФункции["Picture"]; + IDНовости = ПараметрыФункции["Bitrix24_PostID"]; + + Файлы = Новый Соответствие; + Файлы.Вставить("1.png", Картинка1); + + URL = ПараметрыФункции["Bitrix24_URL"]; + + Результат = OPI_Bitrix24.ИзменитьНовость(URL, IDНовости, Текст, , Файлы, Заголовок); + + // !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьНовость (хук)", "Bitrix24"); + + Проверка_БитриксЧисло(Результат); // SKIP + + URL = ПараметрыФункции["Bitrix24_Domain"]; + Токен = ПараметрыФункции["Bitrix24_Token"]; + IDНовости = ПараметрыФункции["Bitrix24_HookPostID"]; + + Результат = OPI_Bitrix24.ИзменитьНовость(URL, IDНовости, Текст, , Файлы, Заголовок, Токен); + + // END + + // !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьНовость", "Bitrix24"); + + Проверка_БитриксЧисло(Результат); + +КонецПроцедуры + Процедура Bitrix24_УдалитьНовость(ПараметрыФункции) IDНовости = ПараметрыФункции["Bitrix24_HookPostID"]; @@ -5627,6 +5662,57 @@ КонецПроцедуры +Процедура Bitrix24_ДобавитьКомментарий(ПараметрыФункции) + + Текст = "Комментарий к новости"; + IDНовости = ПараметрыФункции["Bitrix24_PostID"]; + URL = ПараметрыФункции["Bitrix24_URL"]; + + Результат = OPI_Bitrix24.ДобавитьКомментарий(URL, IDНовости, Текст); + + // !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьКомментарий (хук)", "Bitrix24"); + + Проверка_БитриксЧисло(Результат); // SKIP + + Текст = "Другой комментарий к новости"; + URL = ПараметрыФункции["Bitrix24_Domain"]; + Токен = ПараметрыФункции["Bitrix24_Token"]; + + Результат = OPI_Bitrix24.ДобавитьКомментарий(URL, IDНовости, Текст, Токен); + + // END + + // !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьКомментарий", "Bitrix24"); + + Проверка_БитриксЧисло(Результат); + +КонецПроцедуры + +Процедура Bitrix24_ДобавитьПолучателейКНовости(ПараметрыФункции) + + Видимость = "UA"; + IDНовости = ПараметрыФункции["Bitrix24_PostID"]; + URL = ПараметрыФункции["Bitrix24_URL"]; + + Результат = OPI_Bitrix24.ДобавитьПолучателейКНовости(URL, IDНовости, Видимость); + + // !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьПолучателейКНовости (хук)", "Bitrix24"); + + Проверка_БитриксИстина(Результат); // SKIP + + URL = ПараметрыФункции["Bitrix24_Domain"]; + Токен = ПараметрыФункции["Bitrix24_Token"]; + + Результат = OPI_Bitrix24.ДобавитьПолучателейКНовости(URL, IDНовости, Видимость, Токен); + + // END + + // !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьПолучателейКНовости", "Bitrix24"); + + Проверка_БитриксИстина(Результат); + +КонецПроцедуры + #КонецОбласти #КонецОбласти