You've already forked OpenIntegrations
mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-08-10 22:41:43 +02:00
B24: События календаря
This commit is contained in:
13363
service/dictionaries/en.json
vendored
13363
service/dictionaries/en.json
vendored
File diff suppressed because it is too large
Load Diff
163
src/ru/OInt/core/Modules/OPI_Bitrix24.os
vendored
163
src/ru/OInt/core/Modules/OPI_Bitrix24.os
vendored
@@ -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
|
||||
Возврат СтруктураСобытия;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
147
src/ru/OInt/tests/Modules/internal/OPI_Тесты.os
vendored
147
src/ru/OInt/tests/Modules/internal/OPI_Тесты.os
vendored
@@ -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
|
||||
|
174
src/ru/OInt/tests/Modules/internal/OPI_ТестыCLI.os
vendored
174
src/ru/OInt/tests/Modules/internal/OPI_ТестыCLI.os
vendored
@@ -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
|
||||
|
@@ -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
|
||||
Возврат СтруктураСобытия;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
147
src/ru/OPI/src/CommonModules/OPI_Тесты/Module.bsl
vendored
147
src/ru/OPI/src/CommonModules/OPI_Тесты/Module.bsl
vendored
@@ -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
|
||||
|
174
src/ru/OPI/src/CommonModules/OPI_ТестыCLI/Module.bsl
vendored
174
src/ru/OPI/src/CommonModules/OPI_ТестыCLI/Module.bsl
vendored
@@ -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
|
||||
|
Reference in New Issue
Block a user