1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2024-12-27 02:43:54 +02:00

B24: Перенос задачи в другую стадию

This commit is contained in:
Anton 2024-07-09 21:27:10 +03:00
parent 1f3b1f6b65
commit 20192eb2f8
5 changed files with 4286 additions and 4082 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1208,6 +1208,49 @@
КонецФункции
// Перенести задачу в стадию канбана
// Переносит задачу в выбранную стадию канбана
//
// Параметры:
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
// IDЗадачи - Строка, Число - ID задачи для переноса - task
// IDСтадии - Строка, Число - ID стадии - stage
// Перед - Строка, Число - ID задачи, перед которой надо поставить выбранную (если не заполнено После) - before
// После - Строка, Число - ID задачи, после которой надо поставить выбранную (если не заполнено Перед) - after
// Токен - Строка - Токен авторизации, если используется не вебхук - token
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
Функция ПеренестиЗадачуВСтадиюКанбана(Знач URL
, Знач IDЗадачи
, Знач IDСтадии
, Знач Перед = 0
, Знач После = 0
, Знач Токен = "") Экспорт
Параметры = НормализоватьАвторизацию(URL, Токен, "task.stages.movetask");
OPI_Инструменты.ДобавитьПоле("id" , IDЗадачи, "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("stageId", IDСтадии, "Строка", Параметры);
Если ЗначениеЗаполнено(Перед) Тогда
OPI_Инструменты.ДобавитьПоле("before", Перед, "Строка", Параметры);
Иначе
OPI_ПреобразованиеТипов.ПолучитьСтроку(После);
OPI_Инструменты.ДобавитьПоле("after", После, "Строка", Параметры);
КонецЕсли;
Ответ = OPI_Инструменты.Post(URL, Параметры);
Возврат Ответ;
КонецФункции
#КонецОбласти
#Область РаботаСДискомИФайлами

View File

@ -3020,8 +3020,32 @@
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_Domain", ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_Token" , ПараметрыТеста);
ТекущаяДата = OPI_Инструменты.ПолучитьТекущуюДату();
Час = 3600;
Сутки = 24;
Исполнитель = 1;
СтруктураЗадачи = Новый Структура;
СтруктураЗадачи.Вставить("TITLE" , "Новая задача");
СтруктураЗадачи.Вставить("DESCRIPTION" , "Новое описание задачи");
СтруктураЗадачи.Вставить("PRIORITY" , "2");
СтруктураЗадачи.Вставить("DEADLINE" , ТекущаяДата + Час * Сутки);
СтруктураЗадачи.Вставить("RESPONSIBLE_ID", Исполнитель);
URL = ПараметрыТеста["Bitrix24_URL"];
Результат = OPI_Bitrix24.СоздатьЗадачу(URL, СтруктураЗадачи);
IDЗадачи = Результат["result"]["task"]["id"];
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_KanbanTaskID", IDЗадачи);
ПараметрыТеста.Вставить("Bitrix24_KanbanTaskID", IDЗадачи);
Bitrix24_ДобавитьСтадиюКанбана(ПараметрыТеста);
Bitrix24_ПолучитьСтадииКанбана(ПараметрыТеста);
Bitrix24_ПеренестиЗадачуВСтадиюКанбана(ПараметрыТеста);
OPI_Bitrix24.УдалитьЗадачу(URL, IDЗадачи);
Bitrix24_УдалитьСтадиюКанбана(ПараметрыТеста);
КонецПроцедуры
@ -8037,6 +8061,36 @@
КонецПроцедуры
Процедура Bitrix24_ПеренестиЗадачуВСтадиюКанбана(ПараметрыФункции)
IDЗадачи = ПараметрыФункции["Bitrix24_KanbanTaskID"];
IDСтадии = ПараметрыФункции["Bitrix24_HookStageID"];
URL = ПараметрыФункции["Bitrix24_URL"];
Результат = OPI_Bitrix24.ПеренестиЗадачуВСтадиюКанбана(URL, IDЗадачи, IDСтадии);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПеренестиЗадачуВСтадиюКанбана (хук)", "Bitrix24");
Проверка_БитриксИстина(Результат); // SKIP
IDСтадии = ПараметрыФункции["Bitrix24_StageID"];
URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
Результат = OPI_Bitrix24.ПеренестиЗадачуВСтадиюКанбана(URL, IDЗадачи, IDСтадии, , , Токен);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПеренестиЗадачуВСтадиюКанбана", "Bitrix24");
Проверка_БитриксИстина(Результат);
OPI_Bitrix24.ПеренестиЗадачуВСтадиюКанбана(URL, IDЗадачи, 2, , , Токен)
КонецПроцедуры
#КонецОбласти
#Область YandexDisk

View File

@ -1208,6 +1208,49 @@
КонецФункции
// Перенести задачу в стадию канбана
// Переносит задачу в выбранную стадию канбана
//
// Параметры:
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
// IDЗадачи - Строка, Число - ID задачи для переноса - task
// IDСтадии - Строка, Число - ID стадии - stage
// Перед - Строка, Число - ID задачи, перед которой надо поставить выбранную (если не заполнено После) - before
// После - Строка, Число - ID задачи, после которой надо поставить выбранную (если не заполнено Перед) - after
// Токен - Строка - Токен авторизации, если используется не вебхук - token
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
Функция ПеренестиЗадачуВСтадиюКанбана(Знач URL
, Знач IDЗадачи
, Знач IDСтадии
, Знач Перед = 0
, Знач После = 0
, Знач Токен = "") Экспорт
Параметры = НормализоватьАвторизацию(URL, Токен, "task.stages.movetask");
OPI_Инструменты.ДобавитьПоле("id" , IDЗадачи, "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("stageId", IDСтадии, "Строка", Параметры);
Если ЗначениеЗаполнено(Перед) Тогда
OPI_Инструменты.ДобавитьПоле("before", Перед, "Строка", Параметры);
Иначе
OPI_ПреобразованиеТипов.ПолучитьСтроку(После);
OPI_Инструменты.ДобавитьПоле("after", После, "Строка", Параметры);
КонецЕсли;
Ответ = OPI_Инструменты.Post(URL, Параметры);
Возврат Ответ;
КонецФункции
#КонецОбласти
#Область РаботаСДискомИФайлами

View File

@ -3020,8 +3020,32 @@
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_Domain", ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_Token" , ПараметрыТеста);
ТекущаяДата = OPI_Инструменты.ПолучитьТекущуюДату();
Час = 3600;
Сутки = 24;
Исполнитель = 1;
СтруктураЗадачи = Новый Структура;
СтруктураЗадачи.Вставить("TITLE" , "Новая задача");
СтруктураЗадачи.Вставить("DESCRIPTION" , "Новое описание задачи");
СтруктураЗадачи.Вставить("PRIORITY" , "2");
СтруктураЗадачи.Вставить("DEADLINE" , ТекущаяДата + Час * Сутки);
СтруктураЗадачи.Вставить("RESPONSIBLE_ID", Исполнитель);
URL = ПараметрыТеста["Bitrix24_URL"];
Результат = OPI_Bitrix24.СоздатьЗадачу(URL, СтруктураЗадачи);
IDЗадачи = Результат["result"]["task"]["id"];
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_KanbanTaskID", IDЗадачи);
ПараметрыТеста.Вставить("Bitrix24_KanbanTaskID", IDЗадачи);
Bitrix24_ДобавитьСтадиюКанбана(ПараметрыТеста);
Bitrix24_ПолучитьСтадииКанбана(ПараметрыТеста);
Bitrix24_ПеренестиЗадачуВСтадиюКанбана(ПараметрыТеста);
OPI_Bitrix24.УдалитьЗадачу(URL, IDЗадачи);
Bitrix24_УдалитьСтадиюКанбана(ПараметрыТеста);
КонецПроцедуры
@ -8037,6 +8061,36 @@
КонецПроцедуры
Процедура Bitrix24_ПеренестиЗадачуВСтадиюКанбана(ПараметрыФункции)
IDЗадачи = ПараметрыФункции["Bitrix24_KanbanTaskID"];
IDСтадии = ПараметрыФункции["Bitrix24_HookStageID"];
URL = ПараметрыФункции["Bitrix24_URL"];
Результат = OPI_Bitrix24.ПеренестиЗадачуВСтадиюКанбана(URL, IDЗадачи, IDСтадии);
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПеренестиЗадачуВСтадиюКанбана (хук)", "Bitrix24");
Проверка_БитриксИстина(Результат); // SKIP
IDСтадии = ПараметрыФункции["Bitrix24_StageID"];
URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
Результат = OPI_Bitrix24.ПеренестиЗадачуВСтадиюКанбана(URL, IDЗадачи, IDСтадии, , , Токен);
// END
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПеренестиЗадачуВСтадиюКанбана", "Bitrix24");
Проверка_БитриксИстина(Результат);
OPI_Bitrix24.ПеренестиЗадачуВСтадиюКанбана(URL, IDЗадачи, 2, , , Токен)
КонецПроцедуры
#КонецОбласти
#Область YandexDisk