1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2025-01-26 05:37:27 +02:00

B24: Пользовательские поля задачи

This commit is contained in:
Anton 2024-07-27 23:56:38 +03:00
parent 1af3315b64
commit e304718e5b
10 changed files with 5087 additions and 4422 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1027,6 +1027,155 @@
#КонецОбласти
#Область РаботаСПользовательскимиПолямиЗадач
Функция ПолучитьСписокПользовательскихПолейЗадачи(Знач URL, Знач Токен = "") Экспорт
Параметры = НормализоватьАвторизацию(URL, Токен, "task.item.userfield.getlist");
Ответ = OPI_Инструменты.Post(URL, Параметры);
Возврат Ответ;
КонецФункции
// Добавить пользовательское поле задачи
// Добавляет новое пользовательское поле для добавления в задачу
//
// Примечание:
// Метод в документации API: [task.item.userfield.add](@dev.1c-bitrix.ru/rest_help/tasks/task/userfield/add.php)
//
// Параметры:
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
// Тип - Строка - Тип поля: string, double, date, boolean - type
// Имя - Строка - Текстовый идентификатор (наименование) поля - fieldname
// ВнешнийКод - Строка - Внешний текстовый идентификатор поля - externalid
// Заголовок - Строка - Заголовок поля - title
// Подпись - Структура Из КлючИЗначение - Подпись в форме. Ключ: en или ru, Значение: Текст подписи - label
// Токен - Строка - Токен авторизации, если используется не вебхук - token
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
Функция ДобавитьПользовательскоеПолеЗадачи(Знач URL
, Знач Тип
, Знач Имя
, Знач ВнешнийКод = ""
, Знач Заголовок = ""
, Знач Подпись = ""
, Знач Токен = "") Экспорт
Строка_ = "Строка";
Параметры = НормализоватьАвторизацию(URL, Токен, "task.item.userfield.add");
Поля = Новый Структура;
OPI_Инструменты.ДобавитьПоле("USER_TYPE_ID" , Тип , Строка_, Поля);
OPI_Инструменты.ДобавитьПоле("FIELD_NAME" , Имя , Строка_, Поля);
OPI_Инструменты.ДобавитьПоле("XML_ID" , ВнешнийКод, Строка_, Поля);
OPI_Инструменты.ДобавитьПоле("LABEL" , Заголовок , Строка_, Поля);
OPI_Инструменты.ДобавитьПоле("EDIT_FORM_LABEL", Подпись , "Коллекция", Поля);
OPI_Инструменты.ДобавитьПоле("PARAMS", Поля, "Коллекция", Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры);
Возврат Ответ;
КонецФункции
// Изменить пользовательское поле задачи
// Изменяет пользовательское поле задачи
//
// Примечание:
// Метод в документации API: [task.item.userfield.update](@dev.1c-bitrix.ru/rest_help/tasks/task/userfield/update.php)
//
// Параметры:
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
// IDПоля - Строка, Число - ID поля для изменения - fieldid
// ВнешнийКод - Строка - Внешний текстовый идентификатор поля - externalid
// Заголовок - Строка - Заголовок поля - title
// Подпись - Структура Из КлючИЗначение - Подпись в форме. Ключ: en или ru, Значение: Текст подписи - label
// Токен - Строка - Токен авторизации, если используется не вебхук - token
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
Функция ИзменитьПользовательскоеПолеЗадачи(Знач URL
, Знач IDПоля
, Знач ВнешнийКод = ""
, Знач Заголовок = ""
, Знач Подпись = ""
, Знач Токен = "") Экспорт
Строка_ = "Строка";
Параметры = НормализоватьАвторизацию(URL, Токен, "task.item.userfield.update");
Поля = Новый Структура;
OPI_Инструменты.ДобавитьПоле("XML_ID" , ВнешнийКод, Строка_, Поля);
OPI_Инструменты.ДобавитьПоле("LABEL" , Заголовок , Строка_, Поля);
OPI_Инструменты.ДобавитьПоле("EDIT_FORM_LABEL", Подпись , "Коллекция", Поля);
OPI_Инструменты.ДобавитьПоле("ID" , IDПоля, Строка_ , Параметры);
OPI_Инструменты.ДобавитьПоле("DATA", Поля , "Коллекция", Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры);
Возврат Ответ;
КонецФункции
// Получить пользовательское поле задачи
// Получает информацию о пользовательском поле задачи
//
// Примечание:
// Метод в документации API: [task.item.userfield.get](@dev.1c-bitrix.ru/rest_help/tasks/task/userfield/get.php)
//
// Параметры:
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
// IDПоля - Строка, Число - ID поля для получения - fieldid
// Токен - Строка - Токен авторизации, если используется не вебхук - token
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
Функция ПолучитьПользовательскоеПолеЗадачи(Знач URL, Знач IDПоля, Знач Токен = "") Экспорт
Параметры = НормализоватьАвторизацию(URL, Токен, "task.item.userfield.get");
OPI_Инструменты.ДобавитьПоле("ID", IDПоля, "Строка", Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры);
Возврат Ответ;
КонецФункции
// Удалить пользовательское поле задачи
// Удаляет пользовательское поле задачи
//
// Примечание:
// Метод в документации API: [task.item.userfield.delete](@dev.1c-bitrix.ru/rest_help/tasks/task/userfield/delete.php)
//
// Параметры:
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
// IDПоля - Строка, Число - ID поля для удаления - fieldid
// Токен - Строка - Токен авторизации, если используется не вебхук - token
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
Функция УдалитьПользовательскоеПолеЗадачи(Знач URL, Знач IDПоля, Знач Токен = "") Экспорт
Параметры = НормализоватьАвторизацию(URL, Токен, "task.item.userfield.delete");
OPI_Инструменты.ДобавитьПоле("ID", IDПоля, "Строка", Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры);
Возврат Ответ;
КонецФункции
#КонецОбласти
#Область РаботаСЧеклистамиЗадач
// Добавить элемент чеклиста задачи

View File

@ -172,7 +172,7 @@
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDПоста);
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
Параметры_.Вставить("post_id", IDПоста);
Ответ = OPI_Инструменты.Get("api.vk.com/method/wall.delete", Параметры_);
@ -804,10 +804,10 @@
OPI_ПреобразованиеТипов.ПолучитьДату(ДатаНачала);
OPI_ПреобразованиеТипов.ПолучитьДату(ДатаОкончания);
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
ДатаНачала = OPI_Инструменты.UNIXTime(ДатаНачала);
ДатаОкончания = OPI_Инструменты.UNIXTime(ДатаОкончания);
ДатаНачала = OPI_Инструменты.UNIXTime(ДатаНачала);
ДатаОкончания = OPI_Инструменты.UNIXTime(ДатаОкончания);
Параметры_.Вставить("timestamp_from", ДатаНачала);
Параметры_.Вставить("timestamp_to" , ДатаОкончания);

View File

@ -1,21 +1,21 @@
<package-def>
<module name="OPI_Инструменты" file="tools/Modules/internal/Modules/OPI_Инструменты.os"/>
<module name="OPI_GoogleWorkspace" file="core/Modules/OPI_GoogleWorkspace.os"/>
<module name="OPI_GoogleDrive" file="core/Modules/OPI_GoogleDrive.os"/>
<module name="OPI_ПреобразованиеТипов" file="tools/Modules/OPI_ПреобразованиеТипов.os"/>
<module name="OPI_Viber" file="core/Modules/OPI_Viber.os"/>
<module name="OPI_GoogleSheets" file="core/Modules/OPI_GoogleSheets.os"/>
<module name="OPI_Криптография" file="tools/Modules/internal/Modules/OPI_Криптография.os"/>
<module name="OPI_Notion" file="core/Modules/OPI_Notion.os"/>
<module name="OPI_VK" file="core/Modules/OPI_VK.os"/>
<module name="OPI_Dropbox" file="core/Modules/OPI_Dropbox.os"/>
<module name="OPI_YandexID" file="core/Modules/OPI_YandexID.os"/>
<module name="OPI_Airtable" file="core/Modules/OPI_Airtable.os"/>
<module name="OPI_Twitter" file="core/Modules/OPI_Twitter.os"/>
<module name="OPI_Slack" file="core/Modules/OPI_Slack.os"/>
<module name="OPI_GoogleCalendar" file="core/Modules/OPI_GoogleCalendar.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_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_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_Инструменты" 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>

View File

@ -3153,6 +3153,21 @@
КонецПроцедуры
Процедура Б24_РаботаСППолямиЗадач() Экспорт
ПараметрыТеста = Новый Структура;
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_URL" , ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_Domain", ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_Token" , ПараметрыТеста);
Bitrix24_ДобавитьПользовательскоеПолеЗадачи(ПараметрыТеста);
Bitrix24_ИзменитьПользовательскоеПолеЗадачи(ПараметрыТеста);
Bitrix24_ПолучитьПользовательскоеПолеЗадачи(ПараметрыТеста);
Bitrix24_ПолучитьСписокПользовательскихПолейЗадачи(ПараметрыТеста);
Bitrix24_УдалитьПользовательскоеПолеЗадачи(ПараметрыТеста);
КонецПроцедуры
#КонецОбласти
#КонецОбласти
@ -9534,6 +9549,153 @@
КонецПроцедуры
Процедура Bitrix24_ДобавитьПользовательскоеПолеЗадачи(ПараметрыФункции)
//URL = ПараметрыФункции["Bitrix24_URL"];
URL = "https://b24-gb03za.bitrix24.by/rest/1/tfvwyd1ole6c3504";
Тип = "date";
Имя = "BIRTHDAY_FIELD";
Результат = OPI_Bitrix24.ДобавитьПользовательскоеПолеЗадачи(URL, Тип, Имя);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьПользовательскоеПолеЗадачи (хук)", "Bitrix24");
Проверка_БитриксЧисло(Результат); // SKIP
IDПоля = Результат["result"]; // SKIP
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_HookTaskFieldID", IDПоля); // SKIP
ПараметрыФункции.Вставить("Bitrix24_HookTaskFieldID", IDПоля); // SKIP
//URL = ПараметрыФункции["Bitrix24_Domain"];
//Токен = ПараметрыФункции["Bitrix24_Token"];
Тип = "string";
Имя = "TEXT_FIELD";
ВнешнийКод = "BITRIX_TEXT_FIELD";
Заголовок = "Поле для текста";
Подпись = Новый Структура("en,ru", "Some field", "Некоторое поле");
Результат = OPI_Bitrix24.ДобавитьПользовательскоеПолеЗадачи(URL, Тип, Имя, ВнешнийКод, Заголовок, Подпись, );
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьПользовательскоеПолеЗадачи", "Bitrix24");
Проверка_БитриксЧисло(Результат);
IDПоля = Результат["result"];
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_TaskFieldID", IDПоля);
ПараметрыФункции.Вставить("Bitrix24_TaskFieldID", IDПоля);
КонецПроцедуры
Процедура Bitrix24_ИзменитьПользовательскоеПолеЗадачи(ПараметрыФункции)
//URL = ПараметрыФункции["Bitrix24_URL"];
URL = "https://b24-gb03za.bitrix24.by/rest/1/tfvwyd1ole6c3504";
IDПоля = ПараметрыФункции["Bitrix24_HookTaskFieldID"];
Заголовок = "Новый заголовок";
Результат = OPI_Bitrix24.ИзменитьПользовательскоеПолеЗадачи(URL, IDПоля, , Заголовок);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьПользовательскоеПолеЗадачи (хук)", "Bitrix24");
Проверка_БитриксИстина(Результат); // SKIP
//URL = ПараметрыФункции["Bitrix24_Domain"];
//Токен = ПараметрыФункции["Bitrix24_Token"];
IDПоля = ПараметрыФункции["Bitrix24_TaskFieldID"];
ВнешнийКод = "NEW_TEXT_FIELD";
Подпись = Новый Структура("en,ru", "Updated field", "Измененное поле");
Результат = OPI_Bitrix24.ИзменитьПользовательскоеПолеЗадачи(URL, IDПоля, ВнешнийКод, , Подпись, );
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьПользовательскоеПолеЗадачи", "Bitrix24");
Проверка_БитриксИстина(Результат);
КонецПроцедуры
Процедура Bitrix24_ПолучитьПользовательскоеПолеЗадачи(ПараметрыФункции)
//URL = ПараметрыФункции["Bitrix24_URL"];
URL = "https://b24-gb03za.bitrix24.by/rest/1/tfvwyd1ole6c3504";
IDПоля = ПараметрыФункции["Bitrix24_HookTaskFieldID"];
Результат = OPI_Bitrix24.ПолучитьПользовательскоеПолеЗадачи(URL, IDПоля);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьПользовательскоеПолеЗадачи (хук)", "Bitrix24");
Проверка_БитриксОбъект(Результат); // SKIP
//URL = ПараметрыФункции["Bitrix24_Domain"];
//Токен = ПараметрыФункции["Bitrix24_Token"];
IDПоля = ПараметрыФункции["Bitrix24_TaskFieldID"];
Результат = OPI_Bitrix24.ПолучитьПользовательскоеПолеЗадачи(URL, IDПоля, );
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьПользовательскоеПолеЗадачи", "Bitrix24");
Проверка_БитриксОбъект(Результат);
КонецПроцедуры
Процедура Bitrix24_ПолучитьСписокПользовательскихПолейЗадачи(ПараметрыФункции)
//URL = ПараметрыФункции["Bitrix24_URL"];
URL = "https://b24-gb03za.bitrix24.by/rest/1/tfvwyd1ole6c3504";
Результат = OPI_Bitrix24.ПолучитьСписокПользовательскихПолейЗадачи(URL);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокПользовательскихПолейЗадачи (хук)", "Bitrix24");
Проверка_БитриксМассив(Результат); // SKIP
//URL = ПараметрыФункции["Bitrix24_Domain"];
//Токен = ПараметрыФункции["Bitrix24_Token"];
Результат = OPI_Bitrix24.ПолучитьСписокПользовательскихПолейЗадачи(URL);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокПользовательскихПолейЗадачи", "Bitrix24");
Проверка_БитриксМассив(Результат);
КонецПроцедуры
Процедура Bitrix24_УдалитьПользовательскоеПолеЗадачи(ПараметрыФункции)
//URL = ПараметрыФункции["Bitrix24_URL"];
URL = "https://b24-gb03za.bitrix24.by/rest/1/tfvwyd1ole6c3504";
IDПоля = ПараметрыФункции["Bitrix24_HookTaskFieldID"];
Результат = OPI_Bitrix24.УдалитьПользовательскоеПолеЗадачи(URL, IDПоля);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьПользовательскоеПолеЗадачи (хук)", "Bitrix24");
Проверка_БитриксИстина(Результат); // SKIP
//URL = ПараметрыФункции["Bitrix24_Domain"];
//Токен = ПараметрыФункции["Bitrix24_Token"];
IDПоля = ПараметрыФункции["Bitrix24_TaskFieldID"];
Результат = OPI_Bitrix24.УдалитьПользовательскоеПолеЗадачи(URL, IDПоля, );
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьПользовательскоеПолеЗадачи", "Bitrix24");
Проверка_БитриксИстина(Результат);
КонецПроцедуры
#КонецОбласти
#Область YandexDisk

View File

@ -231,6 +231,7 @@
НовыйТест(ТаблицаТестов, "Б24_УчетРабочегоВремени" , "Учет рабочего времени" , Битрикс);
НовыйТест(ТаблицаТестов, "Б24_РаботаСЧатами" , "Работа с чатами" , Битрикс);
НовыйТест(ТаблицаТестов, "Б24_РаботаСУведомлениями" , "Работа с уведомлениями" , Битрикс);
НовыйТест(ТаблицаТестов, "Б24_РаботаСППолямиЗадач" , "Работа с польз. полями задач" , Битрикс);
Возврат ТаблицаТестов;
@ -423,9 +424,9 @@
КонецФункции
Функция ПолучитьОбщийМодуль(Знач Имя)
Модуль = Вычислить(Имя);
Возврат Модуль;
КонецФункции

View File

@ -1,4 +1,4 @@
// OneScript: ./OInt/core/Modules/OPI_Bitrix24.os
// OneScript: ./OInt/core/Modules/OPI_Bitrix24.os
// Lib: Bitrix24
// CLI: bitrix24
@ -1027,6 +1027,155 @@
#КонецОбласти
#Область РаботаСПользовательскимиПолямиЗадач
Функция ПолучитьСписокПользовательскихПолейЗадачи(Знач URL, Знач Токен = "") Экспорт
Параметры = НормализоватьАвторизацию(URL, Токен, "task.item.userfield.getlist");
Ответ = OPI_Инструменты.Post(URL, Параметры);
Возврат Ответ;
КонецФункции
// Добавить пользовательское поле задачи
// Добавляет новое пользовательское поле для добавления в задачу
//
// Примечание:
// Метод в документации API: [task.item.userfield.add](@dev.1c-bitrix.ru/rest_help/tasks/task/userfield/add.php)
//
// Параметры:
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
// Тип - Строка - Тип поля: string, double, date, boolean - type
// Имя - Строка - Текстовый идентификатор (наименование) поля - fieldname
// ВнешнийКод - Строка - Внешний текстовый идентификатор поля - externalid
// Заголовок - Строка - Заголовок поля - title
// Подпись - Структура Из КлючИЗначение - Подпись в форме. Ключ: en или ru, Значение: Текст подписи - label
// Токен - Строка - Токен авторизации, если используется не вебхук - token
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
Функция ДобавитьПользовательскоеПолеЗадачи(Знач URL
, Знач Тип
, Знач Имя
, Знач ВнешнийКод = ""
, Знач Заголовок = ""
, Знач Подпись = ""
, Знач Токен = "") Экспорт
Строка_ = "Строка";
Параметры = НормализоватьАвторизацию(URL, Токен, "task.item.userfield.add");
Поля = Новый Структура;
OPI_Инструменты.ДобавитьПоле("USER_TYPE_ID" , Тип , Строка_, Поля);
OPI_Инструменты.ДобавитьПоле("FIELD_NAME" , Имя , Строка_, Поля);
OPI_Инструменты.ДобавитьПоле("XML_ID" , ВнешнийКод, Строка_, Поля);
OPI_Инструменты.ДобавитьПоле("LABEL" , Заголовок , Строка_, Поля);
OPI_Инструменты.ДобавитьПоле("EDIT_FORM_LABEL", Подпись , "Коллекция", Поля);
OPI_Инструменты.ДобавитьПоле("PARAMS", Поля, "Коллекция", Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры);
Возврат Ответ;
КонецФункции
// Изменить пользовательское поле задачи
// Изменяет пользовательское поле задачи
//
// Примечание:
// Метод в документации API: [task.item.userfield.update](@dev.1c-bitrix.ru/rest_help/tasks/task/userfield/update.php)
//
// Параметры:
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
// IDПоля - Строка, Число - ID поля для изменения - fieldid
// ВнешнийКод - Строка - Внешний текстовый идентификатор поля - externalid
// Заголовок - Строка - Заголовок поля - title
// Подпись - Структура Из КлючИЗначение - Подпись в форме. Ключ: en или ru, Значение: Текст подписи - label
// Токен - Строка - Токен авторизации, если используется не вебхук - token
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
Функция ИзменитьПользовательскоеПолеЗадачи(Знач URL
, Знач IDПоля
, Знач ВнешнийКод = ""
, Знач Заголовок = ""
, Знач Подпись = ""
, Знач Токен = "") Экспорт
Строка_ = "Строка";
Параметры = НормализоватьАвторизацию(URL, Токен, "task.item.userfield.update");
Поля = Новый Структура;
OPI_Инструменты.ДобавитьПоле("XML_ID" , ВнешнийКод, Строка_, Поля);
OPI_Инструменты.ДобавитьПоле("LABEL" , Заголовок , Строка_, Поля);
OPI_Инструменты.ДобавитьПоле("EDIT_FORM_LABEL", Подпись , "Коллекция", Поля);
OPI_Инструменты.ДобавитьПоле("ID" , IDПоля, Строка_ , Параметры);
OPI_Инструменты.ДобавитьПоле("DATA", Поля , "Коллекция", Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры);
Возврат Ответ;
КонецФункции
// Получить пользовательское поле задачи
// Получает информацию о пользовательском поле задачи
//
// Примечание:
// Метод в документации API: [task.item.userfield.get](@dev.1c-bitrix.ru/rest_help/tasks/task/userfield/get.php)
//
// Параметры:
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
// IDПоля - Строка, Число - ID поля для получения - fieldid
// Токен - Строка - Токен авторизации, если используется не вебхук - token
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
Функция ПолучитьПользовательскоеПолеЗадачи(Знач URL, Знач IDПоля, Знач Токен = "") Экспорт
Параметры = НормализоватьАвторизацию(URL, Токен, "task.item.userfield.get");
OPI_Инструменты.ДобавитьПоле("ID", IDПоля, "Строка", Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры);
Возврат Ответ;
КонецФункции
// Удалить пользовательское поле задачи
// Удаляет пользовательское поле задачи
//
// Примечание:
// Метод в документации API: [task.item.userfield.delete](@dev.1c-bitrix.ru/rest_help/tasks/task/userfield/delete.php)
//
// Параметры:
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
// IDПоля - Строка, Число - ID поля для удаления - fieldid
// Токен - Строка - Токен авторизации, если используется не вебхук - token
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
Функция УдалитьПользовательскоеПолеЗадачи(Знач URL, Знач IDПоля, Знач Токен = "") Экспорт
Параметры = НормализоватьАвторизацию(URL, Токен, "task.item.userfield.delete");
OPI_Инструменты.ДобавитьПоле("ID", IDПоля, "Строка", Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры);
Возврат Ответ;
КонецФункции
#КонецОбласти
#Область РаботаСЧеклистамиЗадач
// Добавить элемент чеклиста задачи

View File

@ -172,7 +172,7 @@
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDПоста);
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
Параметры_.Вставить("post_id", IDПоста);
Ответ = OPI_Инструменты.Get("api.vk.com/method/wall.delete", Параметры_);
@ -804,10 +804,10 @@
OPI_ПреобразованиеТипов.ПолучитьДату(ДатаНачала);
OPI_ПреобразованиеТипов.ПолучитьДату(ДатаОкончания);
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
Параметры_ = ПолучитьСтандартныеПараметры(Параметры);
ДатаНачала = OPI_Инструменты.UNIXTime(ДатаНачала);
ДатаОкончания = OPI_Инструменты.UNIXTime(ДатаОкончания);
ДатаНачала = OPI_Инструменты.UNIXTime(ДатаНачала);
ДатаОкончания = OPI_Инструменты.UNIXTime(ДатаОкончания);
Параметры_.Вставить("timestamp_from", ДатаНачала);
Параметры_.Вставить("timestamp_to" , ДатаОкончания);

View File

@ -231,6 +231,7 @@
НовыйТест(ТаблицаТестов, "Б24_УчетРабочегоВремени" , "Учет рабочего времени" , Битрикс);
НовыйТест(ТаблицаТестов, "Б24_РаботаСЧатами" , "Работа с чатами" , Битрикс);
НовыйТест(ТаблицаТестов, "Б24_РаботаСУведомлениями" , "Работа с уведомлениями" , Битрикс);
НовыйТест(ТаблицаТестов, "Б24_РаботаСППолямиЗадач" , "Работа с польз. полями задач" , Битрикс);
Возврат ТаблицаТестов;

View File

@ -1,4 +1,4 @@
// OneScript: ./OInt/tests/Modules/internal/OPI_Тесты.os
// OneScript: ./OInt/tests/Modules/internal/OPI_Тесты.os
// MIT License
@ -3153,6 +3153,21 @@
КонецПроцедуры
Процедура Б24_РаботаСППолямиЗадач() Экспорт
ПараметрыТеста = Новый Структура;
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_URL" , ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_Domain", ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_Token" , ПараметрыТеста);
Bitrix24_ДобавитьПользовательскоеПолеЗадачи(ПараметрыТеста);
Bitrix24_ИзменитьПользовательскоеПолеЗадачи(ПараметрыТеста);
Bitrix24_ПолучитьПользовательскоеПолеЗадачи(ПараметрыТеста);
Bitrix24_ПолучитьСписокПользовательскихПолейЗадачи(ПараметрыТеста);
Bitrix24_УдалитьПользовательскоеПолеЗадачи(ПараметрыТеста);
КонецПроцедуры
#КонецОбласти
#КонецОбласти
@ -9534,6 +9549,153 @@
КонецПроцедуры
Процедура Bitrix24_ДобавитьПользовательскоеПолеЗадачи(ПараметрыФункции)
//URL = ПараметрыФункции["Bitrix24_URL"];
URL = "https://b24-gb03za.bitrix24.by/rest/1/tfvwyd1ole6c3504";
Тип = "date";
Имя = "BIRTHDAY_FIELD";
Результат = OPI_Bitrix24.ДобавитьПользовательскоеПолеЗадачи(URL, Тип, Имя);
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьПользовательскоеПолеЗадачи (хук)", "Bitrix24");
Проверка_БитриксЧисло(Результат); // SKIP
IDПоля = Результат["result"]; // SKIP
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_HookTaskFieldID", IDПоля); // SKIP
ПараметрыФункции.Вставить("Bitrix24_HookTaskFieldID", IDПоля); // SKIP
//URL = ПараметрыФункции["Bitrix24_Domain"];
//Токен = ПараметрыФункции["Bitrix24_Token"];
Тип = "string";
Имя = "TEXT_FIELD";
ВнешнийКод = "BITRIX_TEXT_FIELD";
Заголовок = "Поле для текста";
Подпись = Новый Структура("en,ru", "Some field", "Некоторое поле");
Результат = OPI_Bitrix24.ДобавитьПользовательскоеПолеЗадачи(URL, Тип, Имя, ВнешнийКод, Заголовок, Подпись, );
// END
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьПользовательскоеПолеЗадачи", "Bitrix24");
Проверка_БитриксЧисло(Результат);
IDПоля = Результат["result"];
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_TaskFieldID", IDПоля);
ПараметрыФункции.Вставить("Bitrix24_TaskFieldID", IDПоля);
КонецПроцедуры
Процедура Bitrix24_ИзменитьПользовательскоеПолеЗадачи(ПараметрыФункции)
//URL = ПараметрыФункции["Bitrix24_URL"];
URL = "https://b24-gb03za.bitrix24.by/rest/1/tfvwyd1ole6c3504";
IDПоля = ПараметрыФункции["Bitrix24_HookTaskFieldID"];
Заголовок = "Новый заголовок";
Результат = OPI_Bitrix24.ИзменитьПользовательскоеПолеЗадачи(URL, IDПоля, , Заголовок);
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьПользовательскоеПолеЗадачи (хук)", "Bitrix24");
Проверка_БитриксИстина(Результат); // SKIP
//URL = ПараметрыФункции["Bitrix24_Domain"];
//Токен = ПараметрыФункции["Bitrix24_Token"];
IDПоля = ПараметрыФункции["Bitrix24_TaskFieldID"];
ВнешнийКод = "NEW_TEXT_FIELD";
Подпись = Новый Структура("en,ru", "Updated field", "Измененное поле");
Результат = OPI_Bitrix24.ИзменитьПользовательскоеПолеЗадачи(URL, IDПоля, ВнешнийКод, , Подпись, );
// END
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьПользовательскоеПолеЗадачи", "Bitrix24");
Проверка_БитриксИстина(Результат);
КонецПроцедуры
Процедура Bitrix24_ПолучитьПользовательскоеПолеЗадачи(ПараметрыФункции)
//URL = ПараметрыФункции["Bitrix24_URL"];
URL = "https://b24-gb03za.bitrix24.by/rest/1/tfvwyd1ole6c3504";
IDПоля = ПараметрыФункции["Bitrix24_HookTaskFieldID"];
Результат = OPI_Bitrix24.ПолучитьПользовательскоеПолеЗадачи(URL, IDПоля);
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьПользовательскоеПолеЗадачи (хук)", "Bitrix24");
Проверка_БитриксОбъект(Результат); // SKIP
//URL = ПараметрыФункции["Bitrix24_Domain"];
//Токен = ПараметрыФункции["Bitrix24_Token"];
IDПоля = ПараметрыФункции["Bitrix24_TaskFieldID"];
Результат = OPI_Bitrix24.ПолучитьПользовательскоеПолеЗадачи(URL, IDПоля, );
// END
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьПользовательскоеПолеЗадачи", "Bitrix24");
Проверка_БитриксОбъект(Результат);
КонецПроцедуры
Процедура Bitrix24_ПолучитьСписокПользовательскихПолейЗадачи(ПараметрыФункции)
//URL = ПараметрыФункции["Bitrix24_URL"];
URL = "https://b24-gb03za.bitrix24.by/rest/1/tfvwyd1ole6c3504";
Результат = OPI_Bitrix24.ПолучитьСписокПользовательскихПолейЗадачи(URL);
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокПользовательскихПолейЗадачи (хук)", "Bitrix24");
Проверка_БитриксМассив(Результат); // SKIP
//URL = ПараметрыФункции["Bitrix24_Domain"];
//Токен = ПараметрыФункции["Bitrix24_Token"];
Результат = OPI_Bitrix24.ПолучитьСписокПользовательскихПолейЗадачи(URL);
// END
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокПользовательскихПолейЗадачи", "Bitrix24");
Проверка_БитриксМассив(Результат);
КонецПроцедуры
Процедура Bitrix24_УдалитьПользовательскоеПолеЗадачи(ПараметрыФункции)
//URL = ПараметрыФункции["Bitrix24_URL"];
URL = "https://b24-gb03za.bitrix24.by/rest/1/tfvwyd1ole6c3504";
IDПоля = ПараметрыФункции["Bitrix24_HookTaskFieldID"];
Результат = OPI_Bitrix24.УдалитьПользовательскоеПолеЗадачи(URL, IDПоля);
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьПользовательскоеПолеЗадачи (хук)", "Bitrix24");
Проверка_БитриксИстина(Результат); // SKIP
//URL = ПараметрыФункции["Bitrix24_Domain"];
//Токен = ПараметрыФункции["Bitrix24_Token"];
IDПоля = ПараметрыФункции["Bitrix24_TaskFieldID"];
Результат = OPI_Bitrix24.УдалитьПользовательскоеПолеЗадачи(URL, IDПоля, );
// END
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьПользовательскоеПолеЗадачи", "Bitrix24");
Проверка_БитриксИстина(Результат);
КонецПроцедуры
#КонецОбласти
#Область YandexDisk