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

B24: Системные и персональыне уведомления

This commit is contained in:
Anton
2024-07-26 19:52:58 +03:00
parent 24e8a0744e
commit bcc6bc5691
7 changed files with 4761 additions and 4393 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -3323,6 +3323,82 @@
#КонецОбласти #КонецОбласти
#Область РаботаСУведомлениями
// Создать персональное уведомление
// Создает персональное уведомление пользователю
//
// Примечание:
// Метод в документации API: [im.notify.personal.add](@dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=93&LESSON_ID=12129)
//
// Параметры:
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
// IDПользователя - Строка, Число - ID пользователя для отправки уведомления - user
// Текст - Строка - Текст уведомления - text
// Тег - Строка - Тег уникальности Если уже существет - другие увед. будут удалены - tag
// Вложения - Массив из Структура - Массив блоков вложений - blocks
// Токен - Строка - Токен авторизации, если используется не вебхук - token
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
Функция СоздатьПерсональноеУведомление(Знач URL
, Знач IDПользователя
, Знач Текст
, Знач Тег
, Знач Вложения = ""
, Знач Токен = "") Экспорт
Параметры = НормализоватьАвторизацию(URL, Токен, "im.notify.personal.add");
OPI_Инструменты.ДобавитьПоле("USER_ID", IDПользователя, "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("MESSAGE", Текст , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("TAG" , Тег , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("ATTACH" , Вложения , "Массив", Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры);
Возврат Ответ;
КонецФункции
// Создать системное уведомление
// Создает системное уведомление пользователю
//
// Примечание:
// Метод в документации API: [im.notify.system.add](@dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=93&LESSON_ID=12131)
//
// Параметры:
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
// IDПользователя - Строка, Число - ID пользователя для отправки уведомления - user
// Текст - Строка - Текст уведомления - text
// Тег - Строка - Тег уникальности Если уже существет - другие увед. будут удалены - tag
// Вложения - Массив из Структура - Массив блоков вложений - blocks
// Токен - Строка - Токен авторизации, если используется не вебхук - token
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
Функция СоздатьСистемноеУведомление(Знач URL
, Знач IDПользователя
, Знач Текст
, Знач Тег
, Знач Вложения = ""
, Знач Токен = "") Экспорт
Параметры = НормализоватьАвторизацию(URL, Токен, "im.notify.system.add");
OPI_Инструменты.ДобавитьПоле("USER_ID", IDПользователя, "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("MESSAGE", Текст , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("TAG" , Тег , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("ATTACH" , Вложения , "Массив", Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры);
Возврат Ответ;
КонецФункции
#КонецОбласти
#КонецОбласти #КонецОбласти
#Область СлужебныеПроцедурыИФункции #Область СлужебныеПроцедурыИФункции

View File

@@ -3137,6 +3137,21 @@
КонецПроцедуры КонецПроцедуры
Процедура Б24_РаботаСУведомлениями() Экспорт
ПараметрыТеста = Новый Структура;
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_URL" , ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_Domain", ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_Token" , ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture" , ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture2" , ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Document" , ПараметрыТеста);
Bitrix24_СоздатьПерсональноеУведомление(ПараметрыТеста);
Bitrix24_СоздатьСистемноеУведомление(ПараметрыТеста);
КонецПроцедуры
#КонецОбласти #КонецОбласти
#КонецОбласти #КонецОбласти
@@ -9405,6 +9420,90 @@
КонецПроцедуры КонецПроцедуры
Процедура Bitrix24_СоздатьПерсональноеУведомление(ПараметрыФункции)
IDПользователя = 1;
URL = ПараметрыФункции["Bitrix24_URL"];
Текст = "Текст сообщения";
Картинка = "https://raw.githubusercontent.com/Bayselonarrend/OpenIntegrations/main/service/test_data/picture.jpg";
Файл = "https://github.com/Bayselonarrend/OpenIntegrations/raw/main/service/test_data/document.docx";
Вложения = Новый Массив;
Вложения.Добавить(OPI_Bitrix24.ПолучитьБлокКартинки("Картинка1", Картинка));
Вложения.Добавить(OPI_Bitrix24.ПолучитьБлокФайла("Файл1.docx", Файл));
Результат = OPI_Bitrix24.СоздатьПерсональноеУведомление(URL, IDПользователя, Текст, ,Вложения);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьПерсональноеУведомление (хук)", "Bitrix24");
Проверка_БитриксЧисло(Результат); // SKIP
IDСообщения = Результат["result"]; // SKIP
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_PersoalHookNotifyID", IDСообщения); // SKIP
ПараметрыФункции.Вставить("Bitrix24_PersoalHookNotifyID", IDСообщения); // SKIP
URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
Тег = "Новый";
IDПользователя = 10;
Результат = OPI_Bitrix24.СоздатьПерсональноеУведомление(URL, IDПользователя, Текст, Тег, , Токен);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьПерсональноеУведомление", "Bitrix24");
Проверка_БитриксЧисло(Результат);
IDСообщения = Результат["result"];
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_PersoalNotifyID", IDСообщения);
ПараметрыФункции.Вставить("Bitrix24_PersoalNotifyID", IDСообщения);
КонецПроцедуры
Процедура Bitrix24_СоздатьСистемноеУведомление(ПараметрыФункции)
IDПользователя = 1;
URL = ПараметрыФункции["Bitrix24_URL"];
Текст = "Текст сообщения";
Картинка = "https://raw.githubusercontent.com/Bayselonarrend/OpenIntegrations/main/service/test_data/picture.jpg";
Файл = "https://github.com/Bayselonarrend/OpenIntegrations/raw/main/service/test_data/document.docx";
Вложения = Новый Массив;
Вложения.Добавить(OPI_Bitrix24.ПолучитьБлокКартинки("Картинка1", Картинка));
Вложения.Добавить(OPI_Bitrix24.ПолучитьБлокФайла("Файл1.docx", Файл));
Результат = OPI_Bitrix24.СоздатьСистемноеУведомление(URL, IDПользователя, Текст, ,Вложения);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьСистемноеУведомление (хук)", "Bitrix24");
Проверка_БитриксЧисло(Результат); // SKIP
IDСообщения = Результат["result"]; // SKIP
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_SystemHookNotifyID", IDСообщения); // SKIP
ПараметрыФункции.Вставить("Bitrix24_SystemHookNotifyID", IDСообщения); // SKIP
URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
Тег = "Новый";
IDПользователя = 10;
Результат = OPI_Bitrix24.СоздатьСистемноеУведомление(URL, IDПользователя, Текст, Тег, , Токен);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьСистемноеУведомление", "Bitrix24");
Проверка_БитриксЧисло(Результат);
IDСообщения = Результат["result"];
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_SystemNotifyID", IDСообщения);
ПараметрыФункции.Вставить("Bitrix24_SystemNotifyID", IDСообщения);
КонецПроцедуры
#КонецОбласти #КонецОбласти
#Область YandexDisk #Область YandexDisk

View File

@@ -230,6 +230,7 @@
НовыйТест(ТаблицаТестов, "Б24_Канбан" , "Канбан" , Битрикс); НовыйТест(ТаблицаТестов, "Б24_Канбан" , "Канбан" , Битрикс);
НовыйТест(ТаблицаТестов, "Б24_УчетРабочегоВремени" , "Учет рабочего времени" , Битрикс); НовыйТест(ТаблицаТестов, "Б24_УчетРабочегоВремени" , "Учет рабочего времени" , Битрикс);
НовыйТест(ТаблицаТестов, "Б24_РаботаСЧатами" , "Работа с чатами" , Битрикс); НовыйТест(ТаблицаТестов, "Б24_РаботаСЧатами" , "Работа с чатами" , Битрикс);
НовыйТест(ТаблицаТестов, "Б24_РаботаСУведомлениями" , "Работа с уведомлениями" , Битрикс);
Возврат ТаблицаТестов; Возврат ТаблицаТестов;

View File

@@ -3323,6 +3323,82 @@
#КонецОбласти #КонецОбласти
#Область РаботаСУведомлениями
// Создать персональное уведомление
// Создает персональное уведомление пользователю
//
// Примечание:
// Метод в документации API: [im.notify.personal.add](@dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=93&LESSON_ID=12129)
//
// Параметры:
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
// IDПользователя - Строка, Число - ID пользователя для отправки уведомления - user
// Текст - Строка - Текст уведомления - text
// Тег - Строка - Тег уникальности Если уже существет - другие увед. будут удалены - tag
// Вложения - Массив из Структура - Массив блоков вложений - blocks
// Токен - Строка - Токен авторизации, если используется не вебхук - token
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
Функция СоздатьПерсональноеУведомление(Знач URL
, Знач IDПользователя
, Знач Текст
, Знач Тег
, Знач Вложения = ""
, Знач Токен = "") Экспорт
Параметры = НормализоватьАвторизацию(URL, Токен, "im.notify.personal.add");
OPI_Инструменты.ДобавитьПоле("USER_ID", IDПользователя, "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("MESSAGE", Текст , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("TAG" , Тег , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("ATTACH" , Вложения , "Массив", Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры);
Возврат Ответ;
КонецФункции
// Создать системное уведомление
// Создает системное уведомление пользователю
//
// Примечание:
// Метод в документации API: [im.notify.system.add](@dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=93&LESSON_ID=12131)
//
// Параметры:
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
// IDПользователя - Строка, Число - ID пользователя для отправки уведомления - user
// Текст - Строка - Текст уведомления - text
// Тег - Строка - Тег уникальности Если уже существет - другие увед. будут удалены - tag
// Вложения - Массив из Структура - Массив блоков вложений - blocks
// Токен - Строка - Токен авторизации, если используется не вебхук - token
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
Функция СоздатьСистемноеУведомление(Знач URL
, Знач IDПользователя
, Знач Текст
, Знач Тег
, Знач Вложения = ""
, Знач Токен = "") Экспорт
Параметры = НормализоватьАвторизацию(URL, Токен, "im.notify.system.add");
OPI_Инструменты.ДобавитьПоле("USER_ID", IDПользователя, "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("MESSAGE", Текст , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("TAG" , Тег , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("ATTACH" , Вложения , "Массив", Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры);
Возврат Ответ;
КонецФункции
#КонецОбласти
#КонецОбласти #КонецОбласти
#Область СлужебныеПроцедурыИФункции #Область СлужебныеПроцедурыИФункции

View File

@@ -230,6 +230,7 @@
НовыйТест(ТаблицаТестов, "Б24_Канбан" , "Канбан" , Битрикс); НовыйТест(ТаблицаТестов, "Б24_Канбан" , "Канбан" , Битрикс);
НовыйТест(ТаблицаТестов, "Б24_УчетРабочегоВремени" , "Учет рабочего времени" , Битрикс); НовыйТест(ТаблицаТестов, "Б24_УчетРабочегоВремени" , "Учет рабочего времени" , Битрикс);
НовыйТест(ТаблицаТестов, "Б24_РаботаСЧатами" , "Работа с чатами" , Битрикс); НовыйТест(ТаблицаТестов, "Б24_РаботаСЧатами" , "Работа с чатами" , Битрикс);
НовыйТест(ТаблицаТестов, "Б24_РаботаСУведомлениями" , "Работа с уведомлениями" , Битрикс);
Возврат ТаблицаТестов; Возврат ТаблицаТестов;

View File

@@ -3137,6 +3137,21 @@
КонецПроцедуры КонецПроцедуры
Процедура Б24_РаботаСУведомлениями() Экспорт
ПараметрыТеста = Новый Структура;
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_URL" , ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_Domain", ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_Token" , ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture" , ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture2" , ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Document" , ПараметрыТеста);
Bitrix24_СоздатьПерсональноеУведомление(ПараметрыТеста);
Bitrix24_СоздатьСистемноеУведомление(ПараметрыТеста);
КонецПроцедуры
#КонецОбласти #КонецОбласти
#КонецОбласти #КонецОбласти
@@ -9405,6 +9420,90 @@
КонецПроцедуры КонецПроцедуры
Процедура Bitrix24_СоздатьПерсональноеУведомление(ПараметрыФункции)
IDПользователя = 1;
URL = ПараметрыФункции["Bitrix24_URL"];
Текст = "Текст сообщения";
Картинка = "https://raw.githubusercontent.com/Bayselonarrend/OpenIntegrations/main/service/test_data/picture.jpg";
Файл = "https://github.com/Bayselonarrend/OpenIntegrations/raw/main/service/test_data/document.docx";
Вложения = Новый Массив;
Вложения.Добавить(OPI_Bitrix24.ПолучитьБлокКартинки("Картинка1", Картинка));
Вложения.Добавить(OPI_Bitrix24.ПолучитьБлокФайла("Файл1.docx", Файл));
Результат = OPI_Bitrix24.СоздатьПерсональноеУведомление(URL, IDПользователя, Текст, ,Вложения);
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьПерсональноеУведомление (хук)", "Bitrix24");
Проверка_БитриксЧисло(Результат); // SKIP
IDСообщения = Результат["result"]; // SKIP
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_PersoalHookNotifyID", IDСообщения); // SKIP
ПараметрыФункции.Вставить("Bitrix24_PersoalHookNotifyID", IDСообщения); // SKIP
URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
Тег = "Новый";
IDПользователя = 10;
Результат = OPI_Bitrix24.СоздатьПерсональноеУведомление(URL, IDПользователя, Текст, Тег, , Токен);
// END
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьПерсональноеУведомление", "Bitrix24");
Проверка_БитриксЧисло(Результат);
IDСообщения = Результат["result"];
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_PersoalNotifyID", IDСообщения);
ПараметрыФункции.Вставить("Bitrix24_PersoalNotifyID", IDСообщения);
КонецПроцедуры
Процедура Bitrix24_СоздатьСистемноеУведомление(ПараметрыФункции)
IDПользователя = 1;
URL = ПараметрыФункции["Bitrix24_URL"];
Текст = "Текст сообщения";
Картинка = "https://raw.githubusercontent.com/Bayselonarrend/OpenIntegrations/main/service/test_data/picture.jpg";
Файл = "https://github.com/Bayselonarrend/OpenIntegrations/raw/main/service/test_data/document.docx";
Вложения = Новый Массив;
Вложения.Добавить(OPI_Bitrix24.ПолучитьБлокКартинки("Картинка1", Картинка));
Вложения.Добавить(OPI_Bitrix24.ПолучитьБлокФайла("Файл1.docx", Файл));
Результат = OPI_Bitrix24.СоздатьСистемноеУведомление(URL, IDПользователя, Текст, ,Вложения);
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьСистемноеУведомление (хук)", "Bitrix24");
Проверка_БитриксЧисло(Результат); // SKIP
IDСообщения = Результат["result"]; // SKIP
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_SystemHookNotifyID", IDСообщения); // SKIP
ПараметрыФункции.Вставить("Bitrix24_SystemHookNotifyID", IDСообщения); // SKIP
URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
Тег = "Новый";
IDПользователя = 10;
Результат = OPI_Bitrix24.СоздатьСистемноеУведомление(URL, IDПользователя, Текст, Тег, , Токен);
// END
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьСистемноеУведомление", "Bitrix24");
Проверка_БитриксЧисло(Результат);
IDСообщения = Результат["result"];
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_SystemNotifyID", IDСообщения);
ПараметрыФункции.Вставить("Bitrix24_SystemNotifyID", IDСообщения);
КонецПроцедуры
#КонецОбласти #КонецОбласти
#Область YandexDisk #Область YandexDisk