You've already forked OpenIntegrations
mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-08-13 20:05:19 +02:00
B24: Добавление и удаление комментариев задачи
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -364,24 +364,6 @@
|
||||
|
||||
#Область РаботаСЗадачами
|
||||
|
||||
// Получить структуру задачи
|
||||
// Получает структуру с описанем полей для создания задачи
|
||||
//
|
||||
// Параметры:
|
||||
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
||||
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
||||
Функция ПолучитьСтруктуруЗадачи(Знач URL, Знач Токен = "") Экспорт
|
||||
|
||||
Параметры = НормализоватьАвторизацию(URL, Токен, "tasks.task.getFields");
|
||||
Ответ = OPI_Инструменты.Get(URL, Параметры);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить задачу
|
||||
// Получает задачу по ID
|
||||
//
|
||||
@@ -426,9 +408,9 @@
|
||||
// Создает новую задачу по структуре полей (см. ПолучитьСтруктуруЗадачи)
|
||||
//
|
||||
// Параметры:
|
||||
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
||||
// СтруктураПолей - Структура Из КлючИЗначение - Структура полей задачи - fields
|
||||
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
||||
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
||||
// СтруктураПолей - Структура Из КлючИЗначение - Структура полей задачи (см. ПолучитьСтруктуруЗадачи) - fields
|
||||
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
||||
@@ -734,29 +716,6 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить список комментариев задачи
|
||||
// Полчает список комментариев пользователей к задаче по ID
|
||||
//
|
||||
// Параметры:
|
||||
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
||||
// IDЗадачи - Число,Строка - ID задачи - task
|
||||
// Фильтр - Структура из КлючИЗначение - Структура отбора (см. ПолучитьСтруктуруФильтраКомментариев) - filter
|
||||
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
||||
Функция ПолучитьСписокКомментариевЗадачи(Знач URL, Знач IDЗадачи, Знач Фильтр = "", Знач Токен = "") Экспорт
|
||||
|
||||
Параметры = НормализоватьАвторизацию(URL, Токен, "tasks.task.delegate");
|
||||
OPI_Инструменты.ДобавитьПоле("TASKID", IDЗадачи, "Строка" , Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("FILTER", Фильтр , "Коллекция", Параметры);
|
||||
|
||||
Ответ = OPI_Инструменты.Post(URL, Параметры);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Проверить доступ к задаче
|
||||
// Проверяет доступность задачи для пользователей
|
||||
//
|
||||
@@ -814,6 +773,24 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить структуру задачи
|
||||
// Получает структуру с описанем полей для создания задачи
|
||||
//
|
||||
// Параметры:
|
||||
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
||||
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
||||
Функция ПолучитьСтруктуруЗадачи(Знач URL, Знач Токен = "") Экспорт
|
||||
|
||||
Параметры = НормализоватьАвторизацию(URL, Токен, "tasks.task.getFields");
|
||||
Ответ = OPI_Инструменты.Get(URL, Параметры);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить структуру фильтра задач
|
||||
// Возвращает структуру полей для фильтрации задач в методе ПолучитьСписокЗадач
|
||||
//
|
||||
@@ -869,6 +846,117 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область РаботаСКомментариямиИРезультатамиЗадач
|
||||
|
||||
// Получить список комментариев задачи
|
||||
// Полчает список комментариев пользователей к задаче по ID
|
||||
//
|
||||
// Параметры:
|
||||
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
||||
// IDЗадачи - Число,Строка - ID задачи - task
|
||||
// Фильтр - Структура из КлючИЗначение - Структура отбора (см. ПолучитьСтруктуруФильтраКомментариев) - filter
|
||||
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
||||
Функция ПолучитьСписокКомментариевЗадачи(Знач URL, Знач IDЗадачи, Знач Фильтр = "", Знач Токен = "") Экспорт
|
||||
|
||||
Параметры = НормализоватьАвторизацию(URL, Токен, "task.commentitem.getlist");
|
||||
OPI_Инструменты.ДобавитьПоле("TASKID", IDЗадачи, "Строка" , Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("FILTER", Фильтр , "Коллекция", Параметры);
|
||||
|
||||
Ответ = OPI_Инструменты.Post(URL, Параметры);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Создать комментарий
|
||||
// Создает комментарий к задаче
|
||||
//
|
||||
// Параметры:
|
||||
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
||||
// IDЗадачи - Число, Строка - ID задачи - task
|
||||
// Текст - Строка - Текст комментария - text
|
||||
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
||||
Функция СоздатьКомментарий(Знач URL, Знач IDЗадачи, Знач Текст, Знач Токен = "") Экспорт
|
||||
|
||||
Параметры = НормализоватьАвторизацию(URL, Токен, "task.commentitem.add");
|
||||
|
||||
Комментарий = Новый Структура;
|
||||
OPI_Инструменты.ДобавитьПоле("POST_MESSAGE", Текст, "Строка", Комментарий);
|
||||
|
||||
OPI_Инструменты.ДобавитьПоле("TASKID", IDЗадачи , "Строка" , Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("FIELDS", Комментарий, "Коллекция", Параметры);
|
||||
|
||||
Ответ = OPI_Инструменты.Post(URL, Параметры);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Удалить комментарий
|
||||
// Удаляет существующий комментарий задачи
|
||||
//
|
||||
// Параметры:
|
||||
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
||||
// IDЗадачи - Число, Строка - ID задачи - task
|
||||
// IDКомментария - Число, Строка - ID удаляемого комментария - comment
|
||||
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
||||
Функция УдалитьКомментарий(Знач URL, Знач IDЗадачи, Знач IDКомментария, Знач Токен = "") Экспорт
|
||||
|
||||
Параметры = НормализоватьАвторизацию(URL, Токен, "task.commentitem.delete");
|
||||
OPI_Инструменты.ДобавитьПоле("TASKID", IDЗадачи , "Строка", Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("ITEMID", IDКомментария, "Строка", Параметры);
|
||||
|
||||
Ответ = OPI_Инструменты.Post(URL, Параметры);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить структуру комментария
|
||||
// Получает структуру полей комментария
|
||||
//
|
||||
// Параметры:
|
||||
// Пустая - Булево - Истина > структура с пустыми значениями, Ложь > в значениях будут описания полей - empty
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура Из КлючИЗначение - Структура полей
|
||||
Функция ПолучитьСтруктуруКомментария(Знач Пустая = Ложь) Экспорт
|
||||
|
||||
// Подробнее
|
||||
// https://dev.1c-bitrix.ru/rest_help/tasks/task/commentitem/add.php
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьБулево(Пустая);
|
||||
|
||||
СтруктураПолей = Новый Структура;
|
||||
СтруктураПолей.Вставить("AUTHOR_ID" , "<идентификатор автора комментария>");
|
||||
СтруктураПолей.Вставить("AUTHOR_NAME" , "<Имя пользователя (опционально)>");
|
||||
СтруктураПолей.Вставить("AUTHOR_EMAIL" , "<E-mail пользователя (опционально)>");
|
||||
СтруктураПолей.Вставить("USE_SMILES" , "<(Y|N) - парсить или нет комментарии на наличие смайлов>");
|
||||
СтруктураПолей.Вставить("POST_MESSAGE" , "<Текст сообщения>");
|
||||
СтруктураПолей.Вставить("UF_FORUM_MESSAGE_DOC" , "<Массив файлов с диска для прикрепления>");
|
||||
|
||||
Если Пустая Тогда
|
||||
Для Каждого Поле Из СтруктураПолей Цикл
|
||||
Поле.Значение = "";
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
//@skip-check constructor-function-return-section
|
||||
Возврат СтруктураПолей;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить структуру фильтра комментариев
|
||||
// Возвращает структуру полей для фильтрации комментариев в методе ПолучитьСписокКомментариевЗадачи
|
||||
//
|
||||
@@ -879,25 +967,25 @@
|
||||
// Структура Из КлючИЗначение - Структура полей
|
||||
Функция ПолучитьСтруктуруФильтраКомментариев(Знач Пустая = Ложь) Экспорт
|
||||
|
||||
// Подробнее
|
||||
// https://dev.1c-bitrix.ru/rest_help/tasks/task/commentitem/getlist.php
|
||||
// Подробнее
|
||||
// https://dev.1c-bitrix.ru/rest_help/tasks/task/commentitem/getlist.php
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьБулево(Пустая);
|
||||
OPI_ПреобразованиеТипов.ПолучитьБулево(Пустая);
|
||||
|
||||
СтруктураФильтра = Новый Структура;
|
||||
СтруктураФильтра.Вставить("ID" , "<идентификатор комментария>");
|
||||
СтруктураФильтра.Вставить("AUTHOR_ID " , "<идентификатор автора комментария>");
|
||||
СтруктураФильтра.Вставить("AUTHOR_NAME ", "<имя автора>");
|
||||
СтруктураФильтра.Вставить("POST_DATE " , "<дата публикации комментария>");
|
||||
СтруктураФильтра = Новый Структура;
|
||||
СтруктураФильтра.Вставить("ID" , "<идентификатор комментария>");
|
||||
СтруктураФильтра.Вставить("AUTHOR_ID " , "<идентификатор автора комментария>");
|
||||
СтруктураФильтра.Вставить("AUTHOR_NAME ", "<имя автора>");
|
||||
СтруктураФильтра.Вставить("POST_DATE " , "<дата публикации комментария>");
|
||||
|
||||
Если Пустая Тогда
|
||||
Для Каждого Фильтр Из СтруктураФильтра Цикл
|
||||
Фильтр.Значение = "";
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
Если Пустая Тогда
|
||||
Для Каждого Фильтр Из СтруктураФильтра Цикл
|
||||
Фильтр.Значение = "";
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
//@skip-check constructor-function-return-section
|
||||
Возврат СтруктураФильтра;
|
||||
Возврат СтруктураФильтра;
|
||||
|
||||
КонецФункции
|
||||
|
||||
|
@@ -1,21 +1,21 @@
|
||||
<package-def>
|
||||
<module name="OPI_Криптография" file="tools/Modules/internal/Modules/OPI_Криптография.os"/>
|
||||
<module name="OPI_Notion" file="core/Modules/OPI_Notion.os"/>
|
||||
<module name="OPI_GoogleCalendar" file="core/Modules/OPI_GoogleCalendar.os"/>
|
||||
<module name="OPI_ПолучениеДанныхТестов" file="tools/Modules/OPI_ПолучениеДанныхТестов.os"/>
|
||||
<module name="OPI_Slack" file="core/Modules/OPI_Slack.os"/>
|
||||
<module name="OPI_Dropbox" file="core/Modules/OPI_Dropbox.os"/>
|
||||
<module name="OPI_GoogleDrive" file="core/Modules/OPI_GoogleDrive.os"/>
|
||||
<module name="OPI_VK" file="core/Modules/OPI_VK.os"/>
|
||||
<module name="OPI_Telegram" file="core/Modules/OPI_Telegram.os"/>
|
||||
<module name="OPI_Airtable" file="core/Modules/OPI_Airtable.os"/>
|
||||
<module name="OPI_Bitrix24" file="core/Modules/OPI_Bitrix24.os"/>
|
||||
<module name="OPI_Dropbox" file="core/Modules/OPI_Dropbox.os"/>
|
||||
<module name="OPI_GoogleCalendar" file="core/Modules/OPI_GoogleCalendar.os"/>
|
||||
<module name="OPI_GoogleDrive" file="core/Modules/OPI_GoogleDrive.os"/>
|
||||
<module name="OPI_GoogleSheets" file="core/Modules/OPI_GoogleSheets.os"/>
|
||||
<module name="OPI_ПреобразованиеТипов" file="tools/Modules/OPI_ПреобразованиеТипов.os"/>
|
||||
<module name="OPI_GoogleWorkspace" file="core/Modules/OPI_GoogleWorkspace.os"/>
|
||||
<module name="OPI_Notion" file="core/Modules/OPI_Notion.os"/>
|
||||
<module name="OPI_Slack" file="core/Modules/OPI_Slack.os"/>
|
||||
<module name="OPI_Telegram" file="core/Modules/OPI_Telegram.os"/>
|
||||
<module name="OPI_Twitter" file="core/Modules/OPI_Twitter.os"/>
|
||||
<module name="OPI_Инструменты" file="tools/Modules/internal/Modules/OPI_Инструменты.os"/>
|
||||
<module name="OPI_Viber" file="core/Modules/OPI_Viber.os"/>
|
||||
<module name="OPI_VK" file="core/Modules/OPI_VK.os"/>
|
||||
<module name="OPI_YandexDisk" file="core/Modules/OPI_YandexDisk.os"/>
|
||||
<module name="OPI_YandexID" file="core/Modules/OPI_YandexID.os"/>
|
||||
<module name="OPI_GoogleWorkspace" file="core/Modules/OPI_GoogleWorkspace.os"/>
|
||||
<module name="OPI_Инструменты" file="tools/Modules/internal/Modules/OPI_Инструменты.os"/>
|
||||
<module name="OPI_Криптография" file="tools/Modules/internal/Modules/OPI_Криптография.os"/>
|
||||
<module name="OPI_ПолучениеДанныхТестов" file="tools/Modules/OPI_ПолучениеДанныхТестов.os"/>
|
||||
<module name="OPI_ПреобразованиеТипов" file="tools/Modules/OPI_ПреобразованиеТипов.os"/>
|
||||
</package-def>
|
||||
|
@@ -2972,6 +2972,40 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Б24_РаботаСКомментариями() Экспорт
|
||||
|
||||
ПараметрыТеста = Новый Структура;
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_URL" , ПараметрыТеста);
|
||||
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_CommentsTaskID", IDЗадачи);
|
||||
ПараметрыТеста.Вставить("Bitrix24_CommentsTaskID", IDЗадачи);
|
||||
|
||||
Bitrix24_СоздатьКомментарий(ПараметрыТеста);
|
||||
Bitrix24_УдалитьКомментарий(ПараметрыТеста);
|
||||
|
||||
OPI_Bitrix24.УдалитьЗадачу(URL, IDЗадачи);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
@@ -7607,6 +7641,68 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Bitrix24_СоздатьКомментарий(ПараметрыФункции)
|
||||
|
||||
URL = ПараметрыФункции["Bitrix24_URL"];
|
||||
IDЗадачи = ПараметрыФункции["Bitrix24_CommentsTaskID"];
|
||||
|
||||
Текст = "Задача невыполнима, расходимся";
|
||||
|
||||
Результат = OPI_Bitrix24.СоздатьКомментарий(URL, IDЗадачи, Текст);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьКомментарий (хук)", "Bitrix24");
|
||||
|
||||
Проверка_БитриксЧисло(Результат); // SKIP
|
||||
|
||||
IDКомментария = Результат["result"]; // SKIP
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_HookCommentID", IDКомментария); // SKIP
|
||||
ПараметрыФункции.Вставить("Bitrix24_HookCommentID", IDКомментария); // SKIP
|
||||
|
||||
URL = ПараметрыФункции["Bitrix24_Domain"];
|
||||
Токен = ПараметрыФункции["Bitrix24_Token"];
|
||||
|
||||
Текст = "Задача выполнима, не расходимся";
|
||||
|
||||
Результат = OPI_Bitrix24.СоздатьКомментарий(URL, IDЗадачи, Текст, Токен);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьКомментарий", "Bitrix24");
|
||||
|
||||
Проверка_БитриксЧисло(Результат);
|
||||
|
||||
IDКомментария = Результат["result"]; // SKIP
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_CommentID", IDКомментария); // SKIP
|
||||
ПараметрыФункции.Вставить("Bitrix24_CommentID", IDКомментария); // SKIP
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Bitrix24_УдалитьКомментарий(ПараметрыФункции)
|
||||
|
||||
URL = ПараметрыФункции["Bitrix24_URL"];
|
||||
IDЗадачи = ПараметрыФункции["Bitrix24_CommentsTaskID"];
|
||||
IDКомментария = ПараметрыФункции["Bitrix24_HookCommentID"];
|
||||
|
||||
Результат = OPI_Bitrix24.УдалитьКомментарий(URL, IDЗадачи, IDКомментария);
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьКомментарий (хук)", "Bitrix24");
|
||||
|
||||
Проверка_БитриксИстина(Результат); // SKIP
|
||||
|
||||
URL = ПараметрыФункции["Bitrix24_Domain"];
|
||||
Токен = ПараметрыФункции["Bitrix24_Token"];
|
||||
IDКомментария = ПараметрыФункции["Bitrix24_CommentID"];
|
||||
|
||||
Результат = OPI_Bitrix24.УдалитьКомментарий(URL, IDЗадачи, IDКомментария, Токен);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьКомментарий", "Bitrix24");
|
||||
|
||||
Проверка_БитриксИстина(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область YandexDisk
|
||||
|
@@ -225,6 +225,7 @@
|
||||
НовыйТест(ТаблицаТестов, "Б24_СерверноеВремя" , "Серверное время" , Битрикс);
|
||||
НовыйТест(ТаблицаТестов, "Б24_РаботаСНовостями" , "Работа с новостями" , Битрикс);
|
||||
НовыйТест(ТаблицаТестов, "Б24_РаботаСЗадачами" , "Работа с задачами" , Битрикс);
|
||||
НовыйТест(ТаблицаТестов, "Б24_РаботаСКомментариями" , "Работа с комментариями" , Битрикс);
|
||||
НовыйТест(ТаблицаТестов, "Б24_РаботаСДиском" , "Работа с диском" , Битрикс);
|
||||
|
||||
Возврат ТаблицаТестов;
|
||||
|
@@ -364,24 +364,6 @@
|
||||
|
||||
#Область РаботаСЗадачами
|
||||
|
||||
// Получить структуру задачи
|
||||
// Получает структуру с описанем полей для создания задачи
|
||||
//
|
||||
// Параметры:
|
||||
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
||||
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
||||
Функция ПолучитьСтруктуруЗадачи(Знач URL, Знач Токен = "") Экспорт
|
||||
|
||||
Параметры = НормализоватьАвторизацию(URL, Токен, "tasks.task.getFields");
|
||||
Ответ = OPI_Инструменты.Get(URL, Параметры);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить задачу
|
||||
// Получает задачу по ID
|
||||
//
|
||||
@@ -426,9 +408,9 @@
|
||||
// Создает новую задачу по структуре полей (см. ПолучитьСтруктуруЗадачи)
|
||||
//
|
||||
// Параметры:
|
||||
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
||||
// СтруктураПолей - Структура Из КлючИЗначение - Структура полей задачи - fields
|
||||
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
||||
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
||||
// СтруктураПолей - Структура Из КлючИЗначение - Структура полей задачи (см. ПолучитьСтруктуруЗадачи) - fields
|
||||
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
||||
@@ -734,29 +716,6 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить список комментариев задачи
|
||||
// Полчает список комментариев пользователей к задаче по ID
|
||||
//
|
||||
// Параметры:
|
||||
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
||||
// IDЗадачи - Число,Строка - ID задачи - task
|
||||
// Фильтр - Структура из КлючИЗначение - Структура отбора (см. ПолучитьСтруктуруФильтраКомментариев) - filter
|
||||
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
||||
Функция ПолучитьСписокКомментариевЗадачи(Знач URL, Знач IDЗадачи, Знач Фильтр = "", Знач Токен = "") Экспорт
|
||||
|
||||
Параметры = НормализоватьАвторизацию(URL, Токен, "tasks.task.delegate");
|
||||
OPI_Инструменты.ДобавитьПоле("TASKID", IDЗадачи, "Строка" , Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("FILTER", Фильтр , "Коллекция", Параметры);
|
||||
|
||||
Ответ = OPI_Инструменты.Post(URL, Параметры);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Проверить доступ к задаче
|
||||
// Проверяет доступность задачи для пользователей
|
||||
//
|
||||
@@ -814,6 +773,24 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить структуру задачи
|
||||
// Получает структуру с описанем полей для создания задачи
|
||||
//
|
||||
// Параметры:
|
||||
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
||||
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
||||
Функция ПолучитьСтруктуруЗадачи(Знач URL, Знач Токен = "") Экспорт
|
||||
|
||||
Параметры = НормализоватьАвторизацию(URL, Токен, "tasks.task.getFields");
|
||||
Ответ = OPI_Инструменты.Get(URL, Параметры);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить структуру фильтра задач
|
||||
// Возвращает структуру полей для фильтрации задач в методе ПолучитьСписокЗадач
|
||||
//
|
||||
@@ -869,6 +846,117 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область РаботаСКомментариямиИРезультатамиЗадач
|
||||
|
||||
// Получить список комментариев задачи
|
||||
// Полчает список комментариев пользователей к задаче по ID
|
||||
//
|
||||
// Параметры:
|
||||
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
||||
// IDЗадачи - Число,Строка - ID задачи - task
|
||||
// Фильтр - Структура из КлючИЗначение - Структура отбора (см. ПолучитьСтруктуруФильтраКомментариев) - filter
|
||||
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
||||
Функция ПолучитьСписокКомментариевЗадачи(Знач URL, Знач IDЗадачи, Знач Фильтр = "", Знач Токен = "") Экспорт
|
||||
|
||||
Параметры = НормализоватьАвторизацию(URL, Токен, "task.commentitem.getlist");
|
||||
OPI_Инструменты.ДобавитьПоле("TASKID", IDЗадачи, "Строка" , Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("FILTER", Фильтр , "Коллекция", Параметры);
|
||||
|
||||
Ответ = OPI_Инструменты.Post(URL, Параметры);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Создать комментарий
|
||||
// Создает комментарий к задаче
|
||||
//
|
||||
// Параметры:
|
||||
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
||||
// IDЗадачи - Число, Строка - ID задачи - task
|
||||
// Текст - Строка - Текст комментария - text
|
||||
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
||||
Функция СоздатьКомментарий(Знач URL, Знач IDЗадачи, Знач Текст, Знач Токен = "") Экспорт
|
||||
|
||||
Параметры = НормализоватьАвторизацию(URL, Токен, "task.commentitem.add");
|
||||
|
||||
Комментарий = Новый Структура;
|
||||
OPI_Инструменты.ДобавитьПоле("POST_MESSAGE", Текст, "Строка", Комментарий);
|
||||
|
||||
OPI_Инструменты.ДобавитьПоле("TASKID", IDЗадачи , "Строка" , Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("FIELDS", Комментарий, "Коллекция", Параметры);
|
||||
|
||||
Ответ = OPI_Инструменты.Post(URL, Параметры);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Удалить комментарий
|
||||
// Удаляет существующий комментарий задачи
|
||||
//
|
||||
// Параметры:
|
||||
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
||||
// IDЗадачи - Число, Строка - ID задачи - task
|
||||
// IDКомментария - Число, Строка - ID удаляемого комментария - comment
|
||||
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
||||
Функция УдалитьКомментарий(Знач URL, Знач IDЗадачи, Знач IDКомментария, Знач Токен = "") Экспорт
|
||||
|
||||
Параметры = НормализоватьАвторизацию(URL, Токен, "task.commentitem.delete");
|
||||
OPI_Инструменты.ДобавитьПоле("TASKID", IDЗадачи , "Строка", Параметры);
|
||||
OPI_Инструменты.ДобавитьПоле("ITEMID", IDКомментария, "Строка", Параметры);
|
||||
|
||||
Ответ = OPI_Инструменты.Post(URL, Параметры);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить структуру комментария
|
||||
// Получает структуру полей комментария
|
||||
//
|
||||
// Параметры:
|
||||
// Пустая - Булево - Истина > структура с пустыми значениями, Ложь > в значениях будут описания полей - empty
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура Из КлючИЗначение - Структура полей
|
||||
Функция ПолучитьСтруктуруКомментария(Знач Пустая = Ложь) Экспорт
|
||||
|
||||
// Подробнее
|
||||
// https://dev.1c-bitrix.ru/rest_help/tasks/task/commentitem/add.php
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьБулево(Пустая);
|
||||
|
||||
СтруктураПолей = Новый Структура;
|
||||
СтруктураПолей.Вставить("AUTHOR_ID" , "<идентификатор автора комментария>");
|
||||
СтруктураПолей.Вставить("AUTHOR_NAME" , "<Имя пользователя (опционально)>");
|
||||
СтруктураПолей.Вставить("AUTHOR_EMAIL" , "<E-mail пользователя (опционально)>");
|
||||
СтруктураПолей.Вставить("USE_SMILES" , "<(Y|N) - парсить или нет комментарии на наличие смайлов>");
|
||||
СтруктураПолей.Вставить("POST_MESSAGE" , "<Текст сообщения>");
|
||||
СтруктураПолей.Вставить("UF_FORUM_MESSAGE_DOC" , "<Массив файлов с диска для прикрепления>");
|
||||
|
||||
Если Пустая Тогда
|
||||
Для Каждого Поле Из СтруктураПолей Цикл
|
||||
Поле.Значение = "";
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
//@skip-check constructor-function-return-section
|
||||
Возврат СтруктураПолей;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получить структуру фильтра комментариев
|
||||
// Возвращает структуру полей для фильтрации комментариев в методе ПолучитьСписокКомментариевЗадачи
|
||||
//
|
||||
@@ -879,25 +967,25 @@
|
||||
// Структура Из КлючИЗначение - Структура полей
|
||||
Функция ПолучитьСтруктуруФильтраКомментариев(Знач Пустая = Ложь) Экспорт
|
||||
|
||||
// Подробнее
|
||||
// https://dev.1c-bitrix.ru/rest_help/tasks/task/commentitem/getlist.php
|
||||
// Подробнее
|
||||
// https://dev.1c-bitrix.ru/rest_help/tasks/task/commentitem/getlist.php
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьБулево(Пустая);
|
||||
OPI_ПреобразованиеТипов.ПолучитьБулево(Пустая);
|
||||
|
||||
СтруктураФильтра = Новый Структура;
|
||||
СтруктураФильтра.Вставить("ID" , "<идентификатор комментария>");
|
||||
СтруктураФильтра.Вставить("AUTHOR_ID " , "<идентификатор автора комментария>");
|
||||
СтруктураФильтра.Вставить("AUTHOR_NAME ", "<имя автора>");
|
||||
СтруктураФильтра.Вставить("POST_DATE " , "<дата публикации комментария>");
|
||||
СтруктураФильтра = Новый Структура;
|
||||
СтруктураФильтра.Вставить("ID" , "<идентификатор комментария>");
|
||||
СтруктураФильтра.Вставить("AUTHOR_ID " , "<идентификатор автора комментария>");
|
||||
СтруктураФильтра.Вставить("AUTHOR_NAME ", "<имя автора>");
|
||||
СтруктураФильтра.Вставить("POST_DATE " , "<дата публикации комментария>");
|
||||
|
||||
Если Пустая Тогда
|
||||
Для Каждого Фильтр Из СтруктураФильтра Цикл
|
||||
Фильтр.Значение = "";
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
Если Пустая Тогда
|
||||
Для Каждого Фильтр Из СтруктураФильтра Цикл
|
||||
Фильтр.Значение = "";
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
//@skip-check constructor-function-return-section
|
||||
Возврат СтруктураФильтра;
|
||||
Возврат СтруктураФильтра;
|
||||
|
||||
КонецФункции
|
||||
|
||||
|
@@ -225,6 +225,7 @@
|
||||
НовыйТест(ТаблицаТестов, "Б24_СерверноеВремя" , "Серверное время" , Битрикс);
|
||||
НовыйТест(ТаблицаТестов, "Б24_РаботаСНовостями" , "Работа с новостями" , Битрикс);
|
||||
НовыйТест(ТаблицаТестов, "Б24_РаботаСЗадачами" , "Работа с задачами" , Битрикс);
|
||||
НовыйТест(ТаблицаТестов, "Б24_РаботаСКомментариями" , "Работа с комментариями" , Битрикс);
|
||||
НовыйТест(ТаблицаТестов, "Б24_РаботаСДиском" , "Работа с диском" , Битрикс);
|
||||
|
||||
Возврат ТаблицаТестов;
|
||||
|
@@ -2972,6 +2972,40 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Б24_РаботаСКомментариями() Экспорт
|
||||
|
||||
ПараметрыТеста = Новый Структура;
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_URL" , ПараметрыТеста);
|
||||
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_CommentsTaskID", IDЗадачи);
|
||||
ПараметрыТеста.Вставить("Bitrix24_CommentsTaskID", IDЗадачи);
|
||||
|
||||
Bitrix24_СоздатьКомментарий(ПараметрыТеста);
|
||||
Bitrix24_УдалитьКомментарий(ПараметрыТеста);
|
||||
|
||||
OPI_Bitrix24.УдалитьЗадачу(URL, IDЗадачи);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
@@ -7607,6 +7641,68 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Bitrix24_СоздатьКомментарий(ПараметрыФункции)
|
||||
|
||||
URL = ПараметрыФункции["Bitrix24_URL"];
|
||||
IDЗадачи = ПараметрыФункции["Bitrix24_CommentsTaskID"];
|
||||
|
||||
Текст = "Задача невыполнима, расходимся";
|
||||
|
||||
Результат = OPI_Bitrix24.СоздатьКомментарий(URL, IDЗадачи, Текст);
|
||||
|
||||
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьКомментарий (хук)", "Bitrix24");
|
||||
|
||||
Проверка_БитриксЧисло(Результат); // SKIP
|
||||
|
||||
IDКомментария = Результат["result"]; // SKIP
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_HookCommentID", IDКомментария); // SKIP
|
||||
ПараметрыФункции.Вставить("Bitrix24_HookCommentID", IDКомментария); // SKIP
|
||||
|
||||
URL = ПараметрыФункции["Bitrix24_Domain"];
|
||||
Токен = ПараметрыФункции["Bitrix24_Token"];
|
||||
|
||||
Текст = "Задача выполнима, не расходимся";
|
||||
|
||||
Результат = OPI_Bitrix24.СоздатьКомментарий(URL, IDЗадачи, Текст, Токен);
|
||||
|
||||
// END
|
||||
|
||||
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьКомментарий", "Bitrix24");
|
||||
|
||||
Проверка_БитриксЧисло(Результат);
|
||||
|
||||
IDКомментария = Результат["result"]; // SKIP
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_CommentID", IDКомментария); // SKIP
|
||||
ПараметрыФункции.Вставить("Bitrix24_CommentID", IDКомментария); // SKIP
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Bitrix24_УдалитьКомментарий(ПараметрыФункции)
|
||||
|
||||
URL = ПараметрыФункции["Bitrix24_URL"];
|
||||
IDЗадачи = ПараметрыФункции["Bitrix24_CommentsTaskID"];
|
||||
IDКомментария = ПараметрыФункции["Bitrix24_HookCommentID"];
|
||||
|
||||
Результат = OPI_Bitrix24.УдалитьКомментарий(URL, IDЗадачи, IDКомментария);
|
||||
|
||||
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьКомментарий (хук)", "Bitrix24");
|
||||
|
||||
Проверка_БитриксИстина(Результат); // SKIP
|
||||
|
||||
URL = ПараметрыФункции["Bitrix24_Domain"];
|
||||
Токен = ПараметрыФункции["Bitrix24_Token"];
|
||||
IDКомментария = ПараметрыФункции["Bitrix24_CommentID"];
|
||||
|
||||
Результат = OPI_Bitrix24.УдалитьКомментарий(URL, IDЗадачи, IDКомментария, Токен);
|
||||
|
||||
// END
|
||||
|
||||
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьКомментарий", "Bitrix24");
|
||||
|
||||
Проверка_БитриксИстина(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область YandexDisk
|
||||
|
Reference in New Issue
Block a user