1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2025-08-10 22:41:43 +02:00

B24: События календаря

This commit is contained in:
Anton Titovets
2025-01-26 13:26:50 +03:00
parent 3af9092fc1
commit 18b3a09161
8 changed files with 7682 additions and 6655 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -4614,6 +4614,37 @@
КонецФункции
// Получить занятость пользователей
// Получает массив событий пользователей в заданном интервале
//
// Примечание:
// Метод в документации API: [calendar.accessibility.get](@apidocs.bitrix24.ru/api-reference/calendar/calendar-accessibility-get.html)
//
// Параметры:
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
// Пользователи - Число, Массив Из Число - ID пользователей или одного пользователя - users
// ДатаНачала - Дата - Дата начала периода - from
// ДатаОкончания - Дата - Дата окончания периода - to
// Токен - Строка - Токен авторизации, если используется не вебхук - token
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrix24
Функция ПолучитьЗанятостьПользователей(Знач URL, Знач Пользователи, Знач ДатаНачала, Знач ДатаОкончания, Знач Токен = "") Экспорт
Строка_ = "Строка";
Параметры = НормализоватьАвторизацию(URL, Токен, "calendar.accessibility.get");
OPI_Инструменты.ДобавитьПоле("users", Пользователи , "Массив", Параметры);
OPI_Инструменты.ДобавитьПоле("from" , Формат(ДатаНачала , "ДФ=yyyy-MM-dd"), Строка_ , Параметры);
OPI_Инструменты.ДобавитьПоле("to" , Формат(ДатаОкончания, "ДФ=yyyy-MM-dd"), Строка_ , Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры);
Возврат Ответ;
КонецФункции
// Получить пользовательские настройки календаря
// Получает пользовательские настройки календаря текущего пользователя
//
@@ -4767,6 +4798,138 @@
#КонецОбласти
#Область РаботаССобытиямиКалендарей
// Создать событие календаря
// Создает новое событие календаря
//
// Примечание:
// Метод в документации API: [calendar.event.add](@apidocs.bitrix24.ru/api-reference/calendar/calendar-event/calendar-event-add.html)
//
// Параметры:
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
// ОписаниеСобытия - Структура Из КлючИЗначение - Описание события. См. ПолучитьСтруктуруСобытияКалендаря - fields
// Токен - Строка - Токен авторизации, если используется не вебхук - token
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrix24
Функция СоздатьСобытиеКалендаря(Знач URL, Знач ОписаниеСобытия, Знач Токен = "") Экспорт
OPI_ПреобразованиеТипов.ПолучитьКоллекциюКлючИЗначение(ОписаниеСобытия);
Параметры = НормализоватьАвторизацию(URL, Токен, "calendar.event.add");
Для Каждого Поле Из ОписаниеСобытия Цикл
Параметры.Вставить(Поле.Ключ, Поле.Значение);
КонецЦикла;
Ответ = OPI_Инструменты.Post(URL, Параметры);
Возврат Ответ;
КонецФункции
// Удалить событие календаря
// Удаляет событие из календаря
//
// Примечание:
// Метод в документации API: [calendar.event.delete](@apidocs.bitrix24.ru/api-reference/calendar/calendar-event/calendar-event-delete.html)
//
// Параметры:
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
// IDСобытия - Число - ID события для удаления - event
// Токен - Строка - Токен авторизации, если используется не вебхук - token
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrix24
Функция УдалитьСобытиеКалендаря(Знач URL, Знач IDСобытия, Знач Токен = "") Экспорт
Параметры = НормализоватьАвторизацию(URL, Токен, "calendar.event.delete");
OPI_Инструменты.ДобавитьПоле("id", IDСобытия, "Число", Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры);
Возврат Ответ;
КонецФункции
// Получить структуру события календаря
// Возвращает структуру полей события календаря
//
// Параметры:
// Пустая - Булево - Истина > структура с пустыми значениями, Ложь > в значениях будут описания полей - empty
//
// Возвращаемое значение:
// Структура Из КлючИЗначение - Структура полей
Функция ПолучитьСтруктуруСобытияКалендаря(Знач Пустая = Ложь) Экспорт
СтруктураСобытия = Новый Структура;
СтруктураСобытия.Вставить("type" , "<тип календаря: user, group, company_calendar>");
СтруктураСобытия.Вставить("ownerId" , "<идентификатор владельца календаря>");
СтруктураСобытия.Вставить("from" , "<дата и время начала события (строкой)>");
СтруктураСобытия.Вставить("to" , "<дата окончания события (строкой)>");
СтруктураСобытия.Вставить("from_ts" , "<дата и время в формате timestamp (вместо from)>");
СтруктураСобытия.Вставить("to_ts" , "<дата и время в формате timestamp (вместо to)>");
СтруктураСобытия.Вставить("section" , "<идентификатор календаря>");
СтруктураСобытия.Вставить("name" , "<название события>");
СтруктураСобытия.Вставить("skip_time" , "<передать значение даты без времени в параметрах from и to: Y,N>");
СтруктураСобытия.Вставить("timezone_from", "<часовой пояс начала (по умолчанию - ч.п. пользователя>");
СтруктураСобытия.Вставить("timezone_to" , "<часовой пояс окончания (по умолчанию - ч.п. пользователя>");
СтруктураСобытия.Вставить("description" , "<описание события>");
СтруктураСобытия.Вставить("color" , "<цвет фона события. Cимвол # - в формате unicode как %23>");
СтруктураСобытия.Вставить("text_color" , "<цвет текста события. Cимвол # - в формате unicode как %23>");
СтруктураСобытия.Вставить("accessibility", "<доступность на время события: busy, absent, quest, free>");
СтруктураСобытия.Вставить("importance" , "<важность: high, normal, low>");
СтруктураСобытия.Вставить("private_event", "<частное событие: Y,N>");
СтруктураПовторяемости = Новый Структура;
СтруктураПовторяемости.Вставить("FREQ" , "<частота повторения: DAILY, WEEKLY, MONTHLY, YEARLY>");
СтруктураПовторяемости.Вставить("COUNT" , "<количество повторений>");
СтруктураПовторяемости.Вставить("INTERVAL", "<интервал между повторениями>");
МассивДней = Новый Массив;
МассивДней.Добавить("<дни недели: SU, MO, TU, WE, TH, FR, SA>");
СтруктураПовторяемости.Вставить("BYDAY" , МассивДней);
СтруктураПовторяемости.Вставить("UNTIL" , "<дата окончания повторений>");
СтруктураСобытия.Вставить("rrule" , СтруктураПовторяемости);
СтруктураСобытия.Вставить("is_meeting", "<признак встречи с участниками: Y,N>");
СтруктураСобытия.Вставить("location" , "<место проведения>");
МассивНапоминаний = Новый Массив;
СтруктураНапоминания = Новый Структура;
СтруктураНапоминания.Вставить("type" , "<временной тип: min, hour, day>");
СтруктураНапоминания.Вставить("count", "<числовое значение временного промежутка>");
МассивНапоминаний.Добавить(СтруктураНапоминания);
СтруктураСобытия.Вставить("remind" , МассивНапоминаний);
СтруктураСобытия.Вставить("attendees", "<массив идентификаторов участников события. Если is_meeting = Y>");
СтруктураСобытия.Вставить("host" , "<идентификатор организатора события. Если is_meeting = Y>");
СтруктураВстречи = Новый Структура;
СтруктураВстречи.Вставить("notify" , "<флаг оповещения о подтверждении или отказе участников>");
СтруктураВстречи.Вставить("reinvite" , "<флаг запроса повторного подтверждения участия при редактировании события>");
СтруктураВстречи.Вставить("allow_invite", "<флаг разрешения участникам приглашать других в событие>");
СтруктураВстречи.Вставить("hide_guests" , "<флаг скрытия списка участников>");
СтруктураСобытия.Вставить("meeting", СтруктураВстречи);
Если Пустая Тогда
СтруктураСобытия = OPI_Инструменты.ОчиститьКоллекциюРекурсивно(СтруктураСобытия);
КонецЕсли;
//@skip-check constructor-function-return-section
Возврат СтруктураСобытия;
КонецФункции
#КонецОбласти
#КонецОбласти
#Область СлужебныеПроцедурыИФункции

View File

@@ -1800,6 +1800,9 @@
Bitrix24_СоздатьКалендарь(ПараметрыТеста);
Bitrix24_ИзменитьКалендарь(ПараметрыТеста);
Bitrix24_ПолучитьСписокКалендарей(ПараметрыТеста);
Bitrix24_СоздатьСобытиеКалендаря(ПараметрыТеста);
Bitrix24_ПолучитьЗанятостьПользователей(ПараметрыТеста);
Bitrix24_УдалитьСобытиеКалендаря(ПараметрыТеста);
Bitrix24_УдалитьКалендарь(ПараметрыТеста);
Bitrix24_ПолучитьПользовательскиеНастройкиКалендаря(ПараметрыТеста);
Bitrix24_УстановитьПользовательскиеНастройкиКалендаря(ПараметрыТеста);
@@ -12476,6 +12479,150 @@
КонецПроцедуры
Процедура Bitrix24_ПолучитьЗанятостьПользователей(ПараметрыФункции)
URL = ПараметрыФункции["Bitrix24_URL"];
IDКалендаря = ПараметрыФункции["Bitrix24_HookCalendarID"];
Пользователь = 1;
Неделя = 604800;
ТекущаяДата = OPI_Инструменты.ПолучитьТекущуюДату();
ДатаНачала = ТекущаяДата;
ДатаОкончания = ТекущаяДата + Неделя;
Результат = OPI_Bitrix24.ПолучитьЗанятостьПользователей(URL, Пользователь, ДатаНачала, ДатаОкончания);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьЗанятостьПользователей (хук)", "Bitrix24"); // SKIP
OPI_ПолучениеДанныхТестов.Проверка_БитриксСоответствие(Результат); // SKIP
URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
IDКалендаря = ПараметрыФункции["Bitrix24_CalendarID"];
Результат = OPI_Bitrix24.ПолучитьЗанятостьПользователей(URL, Пользователь, ДатаНачала, ДатаОкончания, Токен);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьЗанятостьПользователей", "Bitrix24");
OPI_ПолучениеДанныхТестов.Проверка_БитриксСоответствие(Результат);
КонецПроцедуры
Процедура Bitrix24_СоздатьСобытиеКалендаря(ПараметрыФункции)
URL = ПараметрыФункции["Bitrix24_URL"];
IDКалендаря = ПараметрыФункции["Bitrix24_HookCalendarID"];
Завтра = OPI_Инструменты.ПолучитьТекущуюДату() + 86400;
Час = 3600;
СтруктураСобытия = Новый Структура;
СтруктураСобытия.Вставить("type" , "user");
СтруктураСобытия.Вставить("ownerId" , 1);
СтруктураСобытия.Вставить("from" , XMLСтрока(Завтра));
СтруктураСобытия.Вставить("to" , XMLСтрока(Завтра + Час));
СтруктураСобытия.Вставить("section" , IDКалендаря);
СтруктураСобытия.Вставить("name" , "Новое событие");
СтруктураСобытия.Вставить("skip_time" , "N");
СтруктураСобытия.Вставить("timezone_from", "Europe/Minsk");
СтруктураСобытия.Вставить("timezone_to" , "Europe/Minsk");
СтруктураСобытия.Вставить("description" , "Описание события");
СтруктураСобытия.Вставить("color" , "%23000000>");
СтруктураСобытия.Вставить("text_color" , "%23FFFFFF");
СтруктураСобытия.Вставить("accessibility", "busy");
СтруктураСобытия.Вставить("importance" , "high");
СтруктураСобытия.Вставить("private_event", "N");
СтруктураПовторяемости = Новый Структура;
СтруктураПовторяемости.Вставить("FREQ" , "DAILY");
СтруктураПовторяемости.Вставить("COUNT" , 3);
СтруктураПовторяемости.Вставить("INTERVAL", 10);
МассивДней = Новый Массив;
МассивДней.Добавить("SA");
МассивДней.Добавить("MO");
СтруктураПовторяемости.Вставить("BYDAY" , МассивДней);
СтруктураПовторяемости.Вставить("UNTIL" , XMLСтрока(Завтра + Час * 24 * 10));
СтруктураСобытия.Вставить("rrule" , СтруктураПовторяемости);
СтруктураСобытия.Вставить("is_meeting", "Y");
СтруктураСобытия.Вставить("location" , "Офис");
МассивНапоминаний = Новый Массив;
СтруктураНапоминания = Новый Структура;
СтруктураНапоминания.Вставить("type" , "day");
СтруктураНапоминания.Вставить("count", 1);
МассивНапоминаний.Добавить(СтруктураНапоминания);
СтруктураСобытия.Вставить("remind" , МассивНапоминаний);
СтруктураСобытия.Вставить("attendees", СтрРазделить("1,10", ","));
СтруктураСобытия.Вставить("host" , 1);
СтруктураВстречи = Новый Структура;
СтруктураВстречи.Вставить("notify" , "Y");
СтруктураВстречи.Вставить("reinvite" , "Y");
СтруктураВстречи.Вставить("allow_invite", "N");
СтруктураВстречи.Вставить("hide_guests" , "N");
СтруктураСобытия.Вставить("meeting", СтруктураВстречи);
Результат = OPI_Bitrix24.СоздатьСобытиеКалендаря(URL, СтруктураСобытия);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьСобытиеКалендаря (хук)", "Bitrix24"); // SKIP
OPI_ПолучениеДанныхТестов.Проверка_БитриксЧисло(Результат); // SKIP
IDСобытия = Результат["result"]; // SKIP
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_HookCEventID", IDСобытия); // SKIP
ПараметрыФункции.Вставить("Bitrix24_HookCEventID", IDСобытия); // SKIP
URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
IDКалендаря = ПараметрыФункции["Bitrix24_CalendarID"];
СтруктураСобытия.Вставить("section", IDКалендаря);
Результат = OPI_Bitrix24.СоздатьСобытиеКалендаря(URL, СтруктураСобытия, Токен);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьСобытиеКалендаря", "Bitrix24");
OPI_ПолучениеДанныхТестов.Проверка_БитриксЧисло(Результат);
IDСобытия = Результат["result"];
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_CEventID", IDСобытия);
ПараметрыФункции.Вставить("Bitrix24_CEventID", IDСобытия);
КонецПроцедуры
Процедура Bitrix24_УдалитьСобытиеКалендаря(ПараметрыФункции)
URL = ПараметрыФункции["Bitrix24_URL"];
IDСобытия = ПараметрыФункции["Bitrix24_HookCEventID"];
Результат = OPI_Bitrix24.УдалитьСобытиеКалендаря(URL, IDСобытия);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьСобытиеКалендаря (хук)", "Bitrix24"); // SKIP
OPI_ПолучениеДанныхТестов.Проверка_БитриксИстина(Результат); // SKIP
URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
IDСобытия = ПараметрыФункции["Bitrix24_CEventID"];
Результат = OPI_Bitrix24.УдалитьСобытиеКалендаря(URL, IDСобытия, Токен);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьСобытиеКалендаря", "Bitrix24");
OPI_ПолучениеДанныхТестов.Проверка_БитриксИстина(Результат);
КонецПроцедуры
#КонецОбласти
#Область VKTeams

View File

@@ -2028,6 +2028,9 @@
CLI_Bitrix24_СоздатьКалендарь(ПараметрыТеста);
CLI_Bitrix24_ИзменитьКалендарь(ПараметрыТеста);
CLI_Bitrix24_ПолучитьСписокКалендарей(ПараметрыТеста);
CLI_Bitrix24_СоздатьСобытиеКалендаря(ПараметрыТеста);
CLI_Bitrix24_ПолучитьЗанятостьПользователей(ПараметрыТеста);
CLI_Bitrix24_УдалитьСобытиеКалендаря(ПараметрыТеста);
CLI_Bitrix24_УдалитьКалендарь(ПараметрыТеста);
CLI_Bitrix24_ПолучитьПользовательскиеНастройкиКалендаря(ПараметрыТеста);
CLI_Bitrix24_УстановитьПользовательскиеНастройкиКалендаря(ПараметрыТеста);
@@ -16225,6 +16228,177 @@
КонецПроцедуры
Процедура CLI_Bitrix24_ПолучитьЗанятостьПользователей(ПараметрыФункции)
URL = ПараметрыФункции["Bitrix24_URL"];
IDКалендаря = ПараметрыФункции["Bitrix24_HookCalendarID"];
Пользователь = 1;
Неделя = 604800;
ТекущаяДата = OPI_Инструменты.ПолучитьТекущуюДату();
ДатаНачала = ТекущаяДата;
ДатаОкончания = ТекущаяДата + Неделя;
Опции = Новый Структура;
Опции.Вставить("url" , URL);
Опции.Вставить("users", Пользователь);
Опции.Вставить("from" , ДатаНачала);
Опции.Вставить("to" , ДатаОкончания);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("bitrix24", "ПолучитьЗанятостьПользователей", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьЗанятостьПользователей (хук)", "Bitrix24"); // SKIP
OPI_ПолучениеДанныхТестов.Проверка_БитриксСоответствие(Результат); // SKIP
URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
IDКалендаря = ПараметрыФункции["Bitrix24_CalendarID"];
Опции = Новый Структура;
Опции.Вставить("url" , URL);
Опции.Вставить("users", Пользователь);
Опции.Вставить("from" , ДатаНачала);
Опции.Вставить("to" , ДатаОкончания);
Опции.Вставить("token", Токен);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("bitrix24", "ПолучитьЗанятостьПользователей", Опции);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьЗанятостьПользователей", "Bitrix24");
OPI_ПолучениеДанныхТестов.Проверка_БитриксСоответствие(Результат);
КонецПроцедуры
Процедура CLI_Bitrix24_СоздатьСобытиеКалендаря(ПараметрыФункции)
URL = ПараметрыФункции["Bitrix24_URL"];
IDКалендаря = ПараметрыФункции["Bitrix24_HookCalendarID"];
Завтра = OPI_Инструменты.ПолучитьТекущуюДату() + 86400;
Час = 3600;
СтруктураСобытия = Новый Структура;
СтруктураСобытия.Вставить("type" , "user");
СтруктураСобытия.Вставить("ownerId" , 1);
СтруктураСобытия.Вставить("from" , XMLСтрока(Завтра));
СтруктураСобытия.Вставить("to" , XMLСтрока(Завтра + Час));
СтруктураСобытия.Вставить("section" , IDКалендаря);
СтруктураСобытия.Вставить("name" , "Новое событие");
СтруктураСобытия.Вставить("skip_time" , "N");
СтруктураСобытия.Вставить("timezone_from", "Europe/Minsk");
СтруктураСобытия.Вставить("timezone_to" , "Europe/Minsk");
СтруктураСобытия.Вставить("description" , "Описание события");
СтруктураСобытия.Вставить("color" , "%23000000>");
СтруктураСобытия.Вставить("text_color" , "%23FFFFFF");
СтруктураСобытия.Вставить("accessibility", "busy");
СтруктураСобытия.Вставить("importance" , "high");
СтруктураСобытия.Вставить("private_event", "N");
СтруктураПовторяемости = Новый Структура;
СтруктураПовторяемости.Вставить("FREQ" , "DAILY");
СтруктураПовторяемости.Вставить("COUNT" , 3);
СтруктураПовторяемости.Вставить("INTERVAL", 10);
МассивДней = Новый Массив;
МассивДней.Добавить("SA");
МассивДней.Добавить("MO");
СтруктураПовторяемости.Вставить("BYDAY" , МассивДней);
СтруктураПовторяемости.Вставить("UNTIL" , XMLСтрока(Завтра + Час * 24 * 10));
СтруктураСобытия.Вставить("rrule" , СтруктураПовторяемости);
СтруктураСобытия.Вставить("is_meeting", "Y");
СтруктураСобытия.Вставить("location" , "Офис");
МассивНапоминаний = Новый Массив;
СтруктураНапоминания = Новый Структура;
СтруктураНапоминания.Вставить("type" , "day");
СтруктураНапоминания.Вставить("count", 1);
МассивНапоминаний.Добавить(СтруктураНапоминания);
СтруктураСобытия.Вставить("remind" , МассивНапоминаний);
СтруктураСобытия.Вставить("attendees", СтрРазделить("1,10", ","));
СтруктураСобытия.Вставить("host" , 1);
СтруктураВстречи = Новый Структура;
СтруктураВстречи.Вставить("notify" , "Y");
СтруктураВстречи.Вставить("reinvite" , "Y");
СтруктураВстречи.Вставить("allow_invite", "N");
СтруктураВстречи.Вставить("hide_guests" , "N");
СтруктураСобытия.Вставить("meeting", СтруктураВстречи);
Опции = Новый Структура;
Опции.Вставить("url" , URL);
Опции.Вставить("fields", СтруктураСобытия);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("bitrix24", "СоздатьСобытиеКалендаря", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьСобытиеКалендаря (хук)", "Bitrix24"); // SKIP
OPI_ПолучениеДанныхТестов.Проверка_БитриксЧисло(Результат); // SKIP
IDСобытия = Результат["result"]; // SKIP
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_HookCEventID", IDСобытия); // SKIP
ПараметрыФункции.Вставить("Bitrix24_HookCEventID", IDСобытия); // SKIP
URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
IDКалендаря = ПараметрыФункции["Bitrix24_CalendarID"];
СтруктураСобытия.Вставить("section", IDКалендаря);
Опции = Новый Структура;
Опции.Вставить("url" , URL);
Опции.Вставить("fields", СтруктураСобытия);
Опции.Вставить("token" , Токен);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("bitrix24", "СоздатьСобытиеКалендаря", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьСобытиеКалендаря", "Bitrix24");
OPI_ПолучениеДанныхТестов.Проверка_БитриксЧисло(Результат);
IDСобытия = Результат["result"];
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_CEventID", IDСобытия);
ПараметрыФункции.Вставить("Bitrix24_CEventID", IDСобытия);
КонецПроцедуры
Процедура CLI_Bitrix24_УдалитьСобытиеКалендаря(ПараметрыФункции)
URL = ПараметрыФункции["Bitrix24_URL"];
IDСобытия = ПараметрыФункции["Bitrix24_HookCEventID"];
Опции = Новый Структура;
Опции.Вставить("url" , URL);
Опции.Вставить("event" , IDСобытия);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("bitrix24", "УдалитьСобытиеКалендаря", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьСобытиеКалендаря (хук)", "Bitrix24"); // SKIP
OPI_ПолучениеДанныхТестов.Проверка_БитриксИстина(Результат); // SKIP
URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
IDСобытия = ПараметрыФункции["Bitrix24_CEventID"];
Опции = Новый Структура;
Опции.Вставить("url" , URL);
Опции.Вставить("event" , IDСобытия);
Опции.Вставить("token" , Токен);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("bitrix24", "УдалитьСобытиеКалендаря", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьСобытиеКалендаря", "Bitrix24");
OPI_ПолучениеДанныхТестов.Проверка_БитриксИстина(Результат);
КонецПроцедуры
#КонецОбласти
#Область CDEK

View File

@@ -4614,6 +4614,37 @@
КонецФункции
// Получить занятость пользователей
// Получает массив событий пользователей в заданном интервале
//
// Примечание:
// Метод в документации API: [calendar.accessibility.get](@apidocs.bitrix24.ru/api-reference/calendar/calendar-accessibility-get.html)
//
// Параметры:
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
// Пользователи - Число, Массив Из Число - ID пользователей или одного пользователя - users
// ДатаНачала - Дата - Дата начала периода - from
// ДатаОкончания - Дата - Дата окончания периода - to
// Токен - Строка - Токен авторизации, если используется не вебхук - token
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrix24
Функция ПолучитьЗанятостьПользователей(Знач URL, Знач Пользователи, Знач ДатаНачала, Знач ДатаОкончания, Знач Токен = "") Экспорт
Строка_ = "Строка";
Параметры = НормализоватьАвторизацию(URL, Токен, "calendar.accessibility.get");
OPI_Инструменты.ДобавитьПоле("users", Пользователи , "Массив", Параметры);
OPI_Инструменты.ДобавитьПоле("from" , Формат(ДатаНачала , "ДФ=yyyy-MM-dd"), Строка_ , Параметры);
OPI_Инструменты.ДобавитьПоле("to" , Формат(ДатаОкончания, "ДФ=yyyy-MM-dd"), Строка_ , Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры);
Возврат Ответ;
КонецФункции
// Получить пользовательские настройки календаря
// Получает пользовательские настройки календаря текущего пользователя
//
@@ -4767,6 +4798,138 @@
#КонецОбласти
#Область РаботаССобытиямиКалендарей
// Создать событие календаря
// Создает новое событие календаря
//
// Примечание:
// Метод в документации API: [calendar.event.add](@apidocs.bitrix24.ru/api-reference/calendar/calendar-event/calendar-event-add.html)
//
// Параметры:
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
// ОписаниеСобытия - Структура Из КлючИЗначение - Описание события. См. ПолучитьСтруктуруСобытияКалендаря - fields
// Токен - Строка - Токен авторизации, если используется не вебхук - token
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrix24
Функция СоздатьСобытиеКалендаря(Знач URL, Знач ОписаниеСобытия, Знач Токен = "") Экспорт
OPI_ПреобразованиеТипов.ПолучитьКоллекциюКлючИЗначение(ОписаниеСобытия);
Параметры = НормализоватьАвторизацию(URL, Токен, "calendar.event.add");
Для Каждого Поле Из ОписаниеСобытия Цикл
Параметры.Вставить(Поле.Ключ, Поле.Значение);
КонецЦикла;
Ответ = OPI_Инструменты.Post(URL, Параметры);
Возврат Ответ;
КонецФункции
// Удалить событие календаря
// Удаляет событие из календаря
//
// Примечание:
// Метод в документации API: [calendar.event.delete](@apidocs.bitrix24.ru/api-reference/calendar/calendar-event/calendar-event-delete.html)
//
// Параметры:
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
// IDСобытия - Число - ID события для удаления - event
// Токен - Строка - Токен авторизации, если используется не вебхук - token
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrix24
Функция УдалитьСобытиеКалендаря(Знач URL, Знач IDСобытия, Знач Токен = "") Экспорт
Параметры = НормализоватьАвторизацию(URL, Токен, "calendar.event.delete");
OPI_Инструменты.ДобавитьПоле("id", IDСобытия, "Число", Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры);
Возврат Ответ;
КонецФункции
// Получить структуру события календаря
// Возвращает структуру полей события календаря
//
// Параметры:
// Пустая - Булево - Истина > структура с пустыми значениями, Ложь > в значениях будут описания полей - empty
//
// Возвращаемое значение:
// Структура Из КлючИЗначение - Структура полей
Функция ПолучитьСтруктуруСобытияКалендаря(Знач Пустая = Ложь) Экспорт
СтруктураСобытия = Новый Структура;
СтруктураСобытия.Вставить("type" , "<тип календаря: user, group, company_calendar>");
СтруктураСобытия.Вставить("ownerId" , "<идентификатор владельца календаря>");
СтруктураСобытия.Вставить("from" , "<дата и время начала события (строкой)>");
СтруктураСобытия.Вставить("to" , "<дата окончания события (строкой)>");
СтруктураСобытия.Вставить("from_ts" , "<дата и время в формате timestamp (вместо from)>");
СтруктураСобытия.Вставить("to_ts" , "<дата и время в формате timestamp (вместо to)>");
СтруктураСобытия.Вставить("section" , "<идентификатор календаря>");
СтруктураСобытия.Вставить("name" , "<название события>");
СтруктураСобытия.Вставить("skip_time" , "<передать значение даты без времени в параметрах from и to: Y,N>");
СтруктураСобытия.Вставить("timezone_from", "<часовой пояс начала (по умолчанию - ч.п. пользователя>");
СтруктураСобытия.Вставить("timezone_to" , "<часовой пояс окончания (по умолчанию - ч.п. пользователя>");
СтруктураСобытия.Вставить("description" , "<описание события>");
СтруктураСобытия.Вставить("color" , "<цвет фона события. Cимвол # - в формате unicode как %23>");
СтруктураСобытия.Вставить("text_color" , "<цвет текста события. Cимвол # - в формате unicode как %23>");
СтруктураСобытия.Вставить("accessibility", "<доступность на время события: busy, absent, quest, free>");
СтруктураСобытия.Вставить("importance" , "<важность: high, normal, low>");
СтруктураСобытия.Вставить("private_event", "<частное событие: Y,N>");
СтруктураПовторяемости = Новый Структура;
СтруктураПовторяемости.Вставить("FREQ" , "<частота повторения: DAILY, WEEKLY, MONTHLY, YEARLY>");
СтруктураПовторяемости.Вставить("COUNT" , "<количество повторений>");
СтруктураПовторяемости.Вставить("INTERVAL", "<интервал между повторениями>");
МассивДней = Новый Массив;
МассивДней.Добавить("<дни недели: SU, MO, TU, WE, TH, FR, SA>");
СтруктураПовторяемости.Вставить("BYDAY" , МассивДней);
СтруктураПовторяемости.Вставить("UNTIL" , "<дата окончания повторений>");
СтруктураСобытия.Вставить("rrule" , СтруктураПовторяемости);
СтруктураСобытия.Вставить("is_meeting", "<признак встречи с участниками: Y,N>");
СтруктураСобытия.Вставить("location" , "<место проведения>");
МассивНапоминаний = Новый Массив;
СтруктураНапоминания = Новый Структура;
СтруктураНапоминания.Вставить("type" , "<временной тип: min, hour, day>");
СтруктураНапоминания.Вставить("count", "<числовое значение временного промежутка>");
МассивНапоминаний.Добавить(СтруктураНапоминания);
СтруктураСобытия.Вставить("remind" , МассивНапоминаний);
СтруктураСобытия.Вставить("attendees", "<массив идентификаторов участников события. Если is_meeting = Y>");
СтруктураСобытия.Вставить("host" , "<идентификатор организатора события. Если is_meeting = Y>");
СтруктураВстречи = Новый Структура;
СтруктураВстречи.Вставить("notify" , "<флаг оповещения о подтверждении или отказе участников>");
СтруктураВстречи.Вставить("reinvite" , "<флаг запроса повторного подтверждения участия при редактировании события>");
СтруктураВстречи.Вставить("allow_invite", "<флаг разрешения участникам приглашать других в событие>");
СтруктураВстречи.Вставить("hide_guests" , "<флаг скрытия списка участников>");
СтруктураСобытия.Вставить("meeting", СтруктураВстречи);
Если Пустая Тогда
СтруктураСобытия = OPI_Инструменты.ОчиститьКоллекциюРекурсивно(СтруктураСобытия);
КонецЕсли;
//@skip-check constructor-function-return-section
Возврат СтруктураСобытия;
КонецФункции
#КонецОбласти
#КонецОбласти
#Область СлужебныеПроцедурыИФункции

View File

@@ -1800,6 +1800,9 @@
Bitrix24_СоздатьКалендарь(ПараметрыТеста);
Bitrix24_ИзменитьКалендарь(ПараметрыТеста);
Bitrix24_ПолучитьСписокКалендарей(ПараметрыТеста);
Bitrix24_СоздатьСобытиеКалендаря(ПараметрыТеста);
Bitrix24_ПолучитьЗанятостьПользователей(ПараметрыТеста);
Bitrix24_УдалитьСобытиеКалендаря(ПараметрыТеста);
Bitrix24_УдалитьКалендарь(ПараметрыТеста);
Bitrix24_ПолучитьПользовательскиеНастройкиКалендаря(ПараметрыТеста);
Bitrix24_УстановитьПользовательскиеНастройкиКалендаря(ПараметрыТеста);
@@ -12476,6 +12479,150 @@
КонецПроцедуры
Процедура Bitrix24_ПолучитьЗанятостьПользователей(ПараметрыФункции)
URL = ПараметрыФункции["Bitrix24_URL"];
IDКалендаря = ПараметрыФункции["Bitrix24_HookCalendarID"];
Пользователь = 1;
Неделя = 604800;
ТекущаяДата = OPI_Инструменты.ПолучитьТекущуюДату();
ДатаНачала = ТекущаяДата;
ДатаОкончания = ТекущаяДата + Неделя;
Результат = OPI_Bitrix24.ПолучитьЗанятостьПользователей(URL, Пользователь, ДатаНачала, ДатаОкончания);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьЗанятостьПользователей (хук)", "Bitrix24"); // SKIP
OPI_ПолучениеДанныхТестов.Проверка_БитриксСоответствие(Результат); // SKIP
URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
IDКалендаря = ПараметрыФункции["Bitrix24_CalendarID"];
Результат = OPI_Bitrix24.ПолучитьЗанятостьПользователей(URL, Пользователь, ДатаНачала, ДатаОкончания, Токен);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьЗанятостьПользователей", "Bitrix24");
OPI_ПолучениеДанныхТестов.Проверка_БитриксСоответствие(Результат);
КонецПроцедуры
Процедура Bitrix24_СоздатьСобытиеКалендаря(ПараметрыФункции)
URL = ПараметрыФункции["Bitrix24_URL"];
IDКалендаря = ПараметрыФункции["Bitrix24_HookCalendarID"];
Завтра = OPI_Инструменты.ПолучитьТекущуюДату() + 86400;
Час = 3600;
СтруктураСобытия = Новый Структура;
СтруктураСобытия.Вставить("type" , "user");
СтруктураСобытия.Вставить("ownerId" , 1);
СтруктураСобытия.Вставить("from" , XMLСтрока(Завтра));
СтруктураСобытия.Вставить("to" , XMLСтрока(Завтра + Час));
СтруктураСобытия.Вставить("section" , IDКалендаря);
СтруктураСобытия.Вставить("name" , "Новое событие");
СтруктураСобытия.Вставить("skip_time" , "N");
СтруктураСобытия.Вставить("timezone_from", "Europe/Minsk");
СтруктураСобытия.Вставить("timezone_to" , "Europe/Minsk");
СтруктураСобытия.Вставить("description" , "Описание события");
СтруктураСобытия.Вставить("color" , "%23000000>");
СтруктураСобытия.Вставить("text_color" , "%23FFFFFF");
СтруктураСобытия.Вставить("accessibility", "busy");
СтруктураСобытия.Вставить("importance" , "high");
СтруктураСобытия.Вставить("private_event", "N");
СтруктураПовторяемости = Новый Структура;
СтруктураПовторяемости.Вставить("FREQ" , "DAILY");
СтруктураПовторяемости.Вставить("COUNT" , 3);
СтруктураПовторяемости.Вставить("INTERVAL", 10);
МассивДней = Новый Массив;
МассивДней.Добавить("SA");
МассивДней.Добавить("MO");
СтруктураПовторяемости.Вставить("BYDAY" , МассивДней);
СтруктураПовторяемости.Вставить("UNTIL" , XMLСтрока(Завтра + Час * 24 * 10));
СтруктураСобытия.Вставить("rrule" , СтруктураПовторяемости);
СтруктураСобытия.Вставить("is_meeting", "Y");
СтруктураСобытия.Вставить("location" , "Офис");
МассивНапоминаний = Новый Массив;
СтруктураНапоминания = Новый Структура;
СтруктураНапоминания.Вставить("type" , "day");
СтруктураНапоминания.Вставить("count", 1);
МассивНапоминаний.Добавить(СтруктураНапоминания);
СтруктураСобытия.Вставить("remind" , МассивНапоминаний);
СтруктураСобытия.Вставить("attendees", СтрРазделить("1,10", ","));
СтруктураСобытия.Вставить("host" , 1);
СтруктураВстречи = Новый Структура;
СтруктураВстречи.Вставить("notify" , "Y");
СтруктураВстречи.Вставить("reinvite" , "Y");
СтруктураВстречи.Вставить("allow_invite", "N");
СтруктураВстречи.Вставить("hide_guests" , "N");
СтруктураСобытия.Вставить("meeting", СтруктураВстречи);
Результат = OPI_Bitrix24.СоздатьСобытиеКалендаря(URL, СтруктураСобытия);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьСобытиеКалендаря (хук)", "Bitrix24"); // SKIP
OPI_ПолучениеДанныхТестов.Проверка_БитриксЧисло(Результат); // SKIP
IDСобытия = Результат["result"]; // SKIP
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_HookCEventID", IDСобытия); // SKIP
ПараметрыФункции.Вставить("Bitrix24_HookCEventID", IDСобытия); // SKIP
URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
IDКалендаря = ПараметрыФункции["Bitrix24_CalendarID"];
СтруктураСобытия.Вставить("section", IDКалендаря);
Результат = OPI_Bitrix24.СоздатьСобытиеКалендаря(URL, СтруктураСобытия, Токен);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьСобытиеКалендаря", "Bitrix24");
OPI_ПолучениеДанныхТестов.Проверка_БитриксЧисло(Результат);
IDСобытия = Результат["result"];
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_CEventID", IDСобытия);
ПараметрыФункции.Вставить("Bitrix24_CEventID", IDСобытия);
КонецПроцедуры
Процедура Bitrix24_УдалитьСобытиеКалендаря(ПараметрыФункции)
URL = ПараметрыФункции["Bitrix24_URL"];
IDСобытия = ПараметрыФункции["Bitrix24_HookCEventID"];
Результат = OPI_Bitrix24.УдалитьСобытиеКалендаря(URL, IDСобытия);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьСобытиеКалендаря (хук)", "Bitrix24"); // SKIP
OPI_ПолучениеДанныхТестов.Проверка_БитриксИстина(Результат); // SKIP
URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
IDСобытия = ПараметрыФункции["Bitrix24_CEventID"];
Результат = OPI_Bitrix24.УдалитьСобытиеКалендаря(URL, IDСобытия, Токен);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьСобытиеКалендаря", "Bitrix24");
OPI_ПолучениеДанныхТестов.Проверка_БитриксИстина(Результат);
КонецПроцедуры
#КонецОбласти
#Область VKTeams

View File

@@ -2028,6 +2028,9 @@
CLI_Bitrix24_СоздатьКалендарь(ПараметрыТеста);
CLI_Bitrix24_ИзменитьКалендарь(ПараметрыТеста);
CLI_Bitrix24_ПолучитьСписокКалендарей(ПараметрыТеста);
CLI_Bitrix24_СоздатьСобытиеКалендаря(ПараметрыТеста);
CLI_Bitrix24_ПолучитьЗанятостьПользователей(ПараметрыТеста);
CLI_Bitrix24_УдалитьСобытиеКалендаря(ПараметрыТеста);
CLI_Bitrix24_УдалитьКалендарь(ПараметрыТеста);
CLI_Bitrix24_ПолучитьПользовательскиеНастройкиКалендаря(ПараметрыТеста);
CLI_Bitrix24_УстановитьПользовательскиеНастройкиКалендаря(ПараметрыТеста);
@@ -16225,6 +16228,177 @@
КонецПроцедуры
Процедура CLI_Bitrix24_ПолучитьЗанятостьПользователей(ПараметрыФункции)
URL = ПараметрыФункции["Bitrix24_URL"];
IDКалендаря = ПараметрыФункции["Bitrix24_HookCalendarID"];
Пользователь = 1;
Неделя = 604800;
ТекущаяДата = OPI_Инструменты.ПолучитьТекущуюДату();
ДатаНачала = ТекущаяДата;
ДатаОкончания = ТекущаяДата + Неделя;
Опции = Новый Структура;
Опции.Вставить("url" , URL);
Опции.Вставить("users", Пользователь);
Опции.Вставить("from" , ДатаНачала);
Опции.Вставить("to" , ДатаОкончания);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("bitrix24", "ПолучитьЗанятостьПользователей", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьЗанятостьПользователей (хук)", "Bitrix24"); // SKIP
OPI_ПолучениеДанныхТестов.Проверка_БитриксСоответствие(Результат); // SKIP
URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
IDКалендаря = ПараметрыФункции["Bitrix24_CalendarID"];
Опции = Новый Структура;
Опции.Вставить("url" , URL);
Опции.Вставить("users", Пользователь);
Опции.Вставить("from" , ДатаНачала);
Опции.Вставить("to" , ДатаОкончания);
Опции.Вставить("token", Токен);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("bitrix24", "ПолучитьЗанятостьПользователей", Опции);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьЗанятостьПользователей", "Bitrix24");
OPI_ПолучениеДанныхТестов.Проверка_БитриксСоответствие(Результат);
КонецПроцедуры
Процедура CLI_Bitrix24_СоздатьСобытиеКалендаря(ПараметрыФункции)
URL = ПараметрыФункции["Bitrix24_URL"];
IDКалендаря = ПараметрыФункции["Bitrix24_HookCalendarID"];
Завтра = OPI_Инструменты.ПолучитьТекущуюДату() + 86400;
Час = 3600;
СтруктураСобытия = Новый Структура;
СтруктураСобытия.Вставить("type" , "user");
СтруктураСобытия.Вставить("ownerId" , 1);
СтруктураСобытия.Вставить("from" , XMLСтрока(Завтра));
СтруктураСобытия.Вставить("to" , XMLСтрока(Завтра + Час));
СтруктураСобытия.Вставить("section" , IDКалендаря);
СтруктураСобытия.Вставить("name" , "Новое событие");
СтруктураСобытия.Вставить("skip_time" , "N");
СтруктураСобытия.Вставить("timezone_from", "Europe/Minsk");
СтруктураСобытия.Вставить("timezone_to" , "Europe/Minsk");
СтруктураСобытия.Вставить("description" , "Описание события");
СтруктураСобытия.Вставить("color" , "%23000000>");
СтруктураСобытия.Вставить("text_color" , "%23FFFFFF");
СтруктураСобытия.Вставить("accessibility", "busy");
СтруктураСобытия.Вставить("importance" , "high");
СтруктураСобытия.Вставить("private_event", "N");
СтруктураПовторяемости = Новый Структура;
СтруктураПовторяемости.Вставить("FREQ" , "DAILY");
СтруктураПовторяемости.Вставить("COUNT" , 3);
СтруктураПовторяемости.Вставить("INTERVAL", 10);
МассивДней = Новый Массив;
МассивДней.Добавить("SA");
МассивДней.Добавить("MO");
СтруктураПовторяемости.Вставить("BYDAY" , МассивДней);
СтруктураПовторяемости.Вставить("UNTIL" , XMLСтрока(Завтра + Час * 24 * 10));
СтруктураСобытия.Вставить("rrule" , СтруктураПовторяемости);
СтруктураСобытия.Вставить("is_meeting", "Y");
СтруктураСобытия.Вставить("location" , "Офис");
МассивНапоминаний = Новый Массив;
СтруктураНапоминания = Новый Структура;
СтруктураНапоминания.Вставить("type" , "day");
СтруктураНапоминания.Вставить("count", 1);
МассивНапоминаний.Добавить(СтруктураНапоминания);
СтруктураСобытия.Вставить("remind" , МассивНапоминаний);
СтруктураСобытия.Вставить("attendees", СтрРазделить("1,10", ","));
СтруктураСобытия.Вставить("host" , 1);
СтруктураВстречи = Новый Структура;
СтруктураВстречи.Вставить("notify" , "Y");
СтруктураВстречи.Вставить("reinvite" , "Y");
СтруктураВстречи.Вставить("allow_invite", "N");
СтруктураВстречи.Вставить("hide_guests" , "N");
СтруктураСобытия.Вставить("meeting", СтруктураВстречи);
Опции = Новый Структура;
Опции.Вставить("url" , URL);
Опции.Вставить("fields", СтруктураСобытия);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("bitrix24", "СоздатьСобытиеКалендаря", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьСобытиеКалендаря (хук)", "Bitrix24"); // SKIP
OPI_ПолучениеДанныхТестов.Проверка_БитриксЧисло(Результат); // SKIP
IDСобытия = Результат["result"]; // SKIP
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_HookCEventID", IDСобытия); // SKIP
ПараметрыФункции.Вставить("Bitrix24_HookCEventID", IDСобытия); // SKIP
URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
IDКалендаря = ПараметрыФункции["Bitrix24_CalendarID"];
СтруктураСобытия.Вставить("section", IDКалендаря);
Опции = Новый Структура;
Опции.Вставить("url" , URL);
Опции.Вставить("fields", СтруктураСобытия);
Опции.Вставить("token" , Токен);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("bitrix24", "СоздатьСобытиеКалендаря", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьСобытиеКалендаря", "Bitrix24");
OPI_ПолучениеДанныхТестов.Проверка_БитриксЧисло(Результат);
IDСобытия = Результат["result"];
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_CEventID", IDСобытия);
ПараметрыФункции.Вставить("Bitrix24_CEventID", IDСобытия);
КонецПроцедуры
Процедура CLI_Bitrix24_УдалитьСобытиеКалендаря(ПараметрыФункции)
URL = ПараметрыФункции["Bitrix24_URL"];
IDСобытия = ПараметрыФункции["Bitrix24_HookCEventID"];
Опции = Новый Структура;
Опции.Вставить("url" , URL);
Опции.Вставить("event" , IDСобытия);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("bitrix24", "УдалитьСобытиеКалендаря", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьСобытиеКалендаря (хук)", "Bitrix24"); // SKIP
OPI_ПолучениеДанныхТестов.Проверка_БитриксИстина(Результат); // SKIP
URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
IDСобытия = ПараметрыФункции["Bitrix24_CEventID"];
Опции = Новый Структура;
Опции.Вставить("url" , URL);
Опции.Вставить("event" , IDСобытия);
Опции.Вставить("token" , Токен);
Результат = OPI_ПолучениеДанныхТестов.ВыполнитьТестCLI("bitrix24", "УдалитьСобытиеКалендаря", Опции);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьСобытиеКалендаря", "Bitrix24");
OPI_ПолучениеДанныхТестов.Проверка_БитриксИстина(Результат);
КонецПроцедуры
#КонецОбласти
#Область CDEK