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-06-16 23:11:38 +03:00
parent c48c06dfdc
commit df60d97460
3 changed files with 3618 additions and 3403 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -391,6 +391,29 @@
КонецФункции КонецФункции
// Получить список задач
// Получает список задач (50 шт. за запрос максимум) с фильтром или без (см. ПолучитьСтруктуруФильтраЗадач)
//
// Параметры:
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
// СтруктураФильтра - Структура из КлючИЗначение - Структура отбора задач (см. ПолучитьСтруктуруФильтраЗадач) - filter
// Отступ - Число, Строка - Отступ от начала списка для полчения задач > 50 шт. рекурсивно - offset
// Токен - Строка - Токен авторизации, если используется не вебхук - token
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
Функция ПолучитьСписокЗадач(Знач URL, Знач СтруктураФильтра = "", Знач Отступ = 0, Знач Токен = "") Экспорт
Параметры = НормализоватьАвторизацию(URL, Токен, "tasks.task.list");
OPI_Инструменты.ДобавитьПоле("filter", СтруктураФильтра, "Коллекция", Параметры);
OPI_Инструменты.ДобавитьПоле("start" , Отступ , "Строка" , Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры);
Возврат Ответ;
КонецФункции
// Создать задачу // Создать задачу
// Создает новую задачу по структуре полей (см. ПолучитьСтруктуруЗадачи) // Создает новую задачу по структуре полей (см. ПолучитьСтруктуруЗадачи)
// //
@@ -662,6 +685,67 @@
КонецФункции КонецФункции
// Получить историю задачи
// Получает историю изменений задачи
//
// Параметры:
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
// IDЗадачи - Число,Строка - ID задачи - task
// Токен - Строка - Токен авторизации, если используется не вебхук - token
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
Функция ПолучитьИсториюЗадачи(Знач URL, Знач IDЗадачи, Знач Токен = "") Экспорт
Ответ = УправлениеЗадачей(URL, IDЗадачи, "tasks.task.history.list", Токен);
Возврат Ответ;
КонецФункции
// Получить структуру фильтра задач
// Возвращает структуру полей для фильтрации задач в методе ПолучитьСписокЗадач
//
// Возвращаемое значение:
// Структура Из КлючИЗначение - Структура полей
Функция ПолучитьСтруктуруФильтраЗадач() Экспорт
// Подробнее
// https://dev.1c-bitrix.ru/rest_help/tasks/task/tasks/tasks_task_list.php
СтруктураФильтра = Новый Структура;
СтруктураФильтра.Вставить("ID" , "<идентификатор задачи>");
СтруктураФильтра.Вставить("PARENT_ID" , "<идентификатор родительской задачи>");
СтруктураФильтра.Вставить("GROUP_ID" , "<идентификатор рабочей группы>");
СтруктураФильтра.Вставить("CREATED_BY" , "<постановщик>");
СтруктураФильтра.Вставить("STATUS_CHANGED_BY", "<пользователь, последним изменивший статус задачи>");
СтруктураФильтра.Вставить("PRIORITY" , "<приоритет>");
СтруктураФильтра.Вставить("FORUM_TOPIC_ID" , "<идентификатор темы форума>");
СтруктураФильтра.Вставить("RESPONSIBLE_ID" , "<исполнитель>");
СтруктураФильтра.Вставить("TITLE" , "<название задачи (можно искать по шаблону [%_])>");
СтруктураФильтра.Вставить("TAG" , "<тэг>");
СтруктураФильтра.Вставить("REAL_STATUS" , "<статус задачи>");
СтруктураФильтра.Вставить("MARK" , "<оценка>");
СтруктураФильтра.Вставить("SITE_ID" , "<идентификатор сайта>");
СтруктураФильтра.Вставить("ADD_IN_REPORT" , "<задача в отчете (Y|N)>");
СтруктураФильтра.Вставить("DATE_START" , "<дата начала выполнения>");
СтруктураФильтра.Вставить("DEADLINE" , "<крайний срок>");
СтруктураФильтра.Вставить("CREATED_DATE" , "<дата создания>");
СтруктураФильтра.Вставить("CLOSED_DATE" , "<дата завершения>");
СтруктураФильтра.Вставить("CHANGED_DATE" , "<дата последнего изменения>");
СтруктураФильтра.Вставить("ACCOMPLICE" , "<идентификатор соисполнителя>");
СтруктураФильтра.Вставить("AUDITOR" , "<идентификатор наблюдателя>");
СтруктураФильтра.Вставить("DEPENDS_ON" , "<идентификатор предыдущей задачи>");
СтруктураФильтра.Вставить("ONLY_ROOT_TASKS" , "<только задачи, которые не являются подзадачами (Y|N)>");
СтруктураФильтра.Вставить("STAGE_ID" , "<стадия>");
СтруктураФильтра.Вставить("UF_CRM_TASK" , "<элементы CRM>");
СтруктураФильтра.Вставить("STATUS"
, "<статус для сортировки. Аналогичен REAL_STATUS, но имеет дополнительно три мета-статуса>");
//@skip-check constructor-function-return-section
Возврат СтруктураФильтра;
КонецФункции
#КонецОбласти #КонецОбласти
#КонецОбласти #КонецОбласти

View File

@@ -3327,6 +3327,8 @@
Bitrix24_НачатьНаблюдатьЗаЗадачей(ПараметрыТеста); Bitrix24_НачатьНаблюдатьЗаЗадачей(ПараметрыТеста);
Bitrix24_ПрекратитьНаблюдатьЗаЗадачей(ПараметрыТеста); Bitrix24_ПрекратитьНаблюдатьЗаЗадачей(ПараметрыТеста);
Bitrix24_ПриостановитьЗадачу(ПараметрыТеста); Bitrix24_ПриостановитьЗадачу(ПараметрыТеста);
Bitrix24_ПолучитьИсториюЗадачи(ПараметрыТеста);
Bitrix24_ПолучитьСписокЗадач(ПараметрыТеста);
Bitrix24_УдалитьЗадачу(ПараметрыТеста); Bitrix24_УдалитьЗадачу(ПараметрыТеста);
КонецПроцедуры КонецПроцедуры
@@ -3746,6 +3748,10 @@
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Массив"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Массив");
КонецПроцедуры КонецПроцедуры
Процедура Проверка_БитриксСписок(Знач Результат)
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["list"]).ИмеетТип("Массив");
КонецПроцедуры
Процедура Проверка_БитриксМассивНовостей(Знач Результат) Процедура Проверка_БитриксМассивНовостей(Знач Результат)
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Массив"); OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Массив");
@@ -3765,6 +3771,9 @@
КонецПроцедуры КонецПроцедуры
Процедура Проверка_БитриксСписокЗадач(Знач Результат)
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["tasks"]).ИмеетТип("Массив");
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -6205,6 +6214,60 @@
КонецПроцедуры КонецПроцедуры
Процедура Bitrix24_ПолучитьИсториюЗадачи(ПараметрыФункции)
URL = ПараметрыФункции["Bitrix24_URL"];
IDЗадачи = ПараметрыФункции["Bitrix24_HookTaskID"];
Результат = OPI_Bitrix24.ПолучитьИсториюЗадачи(URL, IDЗадачи);
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьИсториюЗадачи (хук)", "Bitrix24");
Проверка_БитриксСписок(Результат); // SKIP
URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
IDЗадачи = ПараметрыФункции["Bitrix24_TaskID"];
Результат = OPI_Bitrix24.ПолучитьИсториюЗадачи(URL, IDЗадачи, Токен);
// END
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьИсториюЗадачи", "Bitrix24");
Проверка_БитриксСписок(Результат);
КонецПроцедуры
Процедура Bitrix24_ПолучитьСписокЗадач(ПараметрыФункции)
// Полную структуру фильтра можно найти в функции ПолучитьСтруктуруФильтраЗадач
СтруктураФильтра = Новый Структура;
СтруктураФильтра.Вставить("CREATED_BY" , 1);
СтруктураФильтра.Вставить("RESPONSIBLE_ID", 10);
Отступ = 1;
URL = ПараметрыФункции["Bitrix24_URL"];
Результат = OPI_Bitrix24.ПолучитьСписокЗадач(URL, СтруктураФильтра);
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокЗадач (хук)", "Bitrix24");
Проверка_БитриксСписокЗадач(Результат); // SKIP
URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
Результат = OPI_Bitrix24.ПолучитьСписокЗадач(URL, , Отступ, Токен);
// END
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокЗадач", "Bitrix24");
Проверка_БитриксСписокЗадач(Результат);
КонецПроцедуры
#КонецОбласти #КонецОбласти
#КонецОбласти #КонецОбласти