You've already forked OpenIntegrations
mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-11-25 22:12:29 +02:00
5237 lines
327 KiB
Plaintext
5237 lines
327 KiB
Plaintext
// OneScript: ./OInt/core/Modules/OPI_Bitrix24.os
|
|
// Lib: Bitrix24
|
|
// CLI: bitrix24
|
|
// Keywords: bitrix24, b24, bitrix
|
|
|
|
// MIT License
|
|
|
|
// Copyright (c) 2023-2025 Anton Tsitavets
|
|
|
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
// of this software and associated documentation files (the "Software"), to deal
|
|
// in the Software without restriction, including without limitation the rights
|
|
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
// copies of the Software, and to permit persons to whom the Software is
|
|
// furnished to do so, subject to the following conditions:
|
|
|
|
// The above copyright notice and this permission notice shall be included in all
|
|
// copies or substantial portions of the Software.
|
|
|
|
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
// SOFTWARE.
|
|
|
|
// https://github.com/Bayselonarrend/OpenIntegrations
|
|
|
|
// BSLLS:Typo-off
|
|
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
|
// BSLLS:IncorrectLineBreak-off
|
|
// BSLLS:NumberOfOptionalParams-off
|
|
// BSLLS:UsingServiceTag-off
|
|
// BSLLS:LineLength-off
|
|
// BSLLS:UsingSynchronousCalls-off
|
|
|
|
//@skip-check module-structure-top-region
|
|
//@skip-check module-structure-method-in-regions
|
|
//@skip-check wrong-string-literal-content
|
|
//@skip-check method-too-many-params
|
|
|
|
#Область ПрограммныйИнтерфейс
|
|
|
|
#Область НастройкиИАдминистрирование
|
|
|
|
// Получить ссылку авторизации приложения
|
|
// Формирует ссылку для авторизации через браузер
|
|
//
|
|
// Параметры:
|
|
// Домен - Строка - Адрес битрикс вида portal.bitrix24.com - domain
|
|
// ClientID - Строка - Client ID из настроек приложения - clientid
|
|
//
|
|
// Возвращаемое значение:
|
|
// Строка - URL для перехода в браузере
|
|
Функция ПолучитьСсылкуАвторизацииПриложения(Знач Домен, Знач ClientID) Экспорт
|
|
|
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(Домен);
|
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(ClientID);
|
|
|
|
Если Не СтрНачинаетсяС(Домен, "http") Тогда
|
|
URL = "https://" + Домен;
|
|
КонецЕсли;
|
|
|
|
Если Не СтрЗаканчиваетсяНа(URL, "/") Тогда
|
|
URL = URL + "/";
|
|
КонецЕсли;
|
|
|
|
URL = URL + "oauth/authorize/?client_id=" + ClientID;
|
|
|
|
Возврат URL;
|
|
|
|
КонецФункции
|
|
|
|
// Получить токен
|
|
// Получает токен по коду авторизации
|
|
//
|
|
// Параметры:
|
|
// ClientID - Строка - Client ID из настроек приложения - clientid
|
|
// ClientSecret - Строка - Client secret из настроек приложения - clientsecret
|
|
// Code - Строка - Code из авторизации через браузер - code
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ПолучитьТокен(Знач ClientID, Знач ClientSecret, Знач Code) Экспорт
|
|
|
|
URL = "https://oauth.bitrix.info/oauth/token/";
|
|
Строка_ = "Строка";
|
|
|
|
Параметры = Новый Структура;
|
|
OPI_Инструменты.ДобавитьПоле("grant_type" , "authorization_code", Строка_, Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("client_id" , ClientID , Строка_, Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("client_secret", ClientSecret , Строка_, Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("code" , Code , Строка_, Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.Get(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Обновить токен
|
|
// Обновляет токен по Refresh токену
|
|
//
|
|
// Параметры:
|
|
// ClientID - Строка - Client ID из настроек приложения - clientid
|
|
// ClientSecret - Строка - Client secret из настроек приложения - clientsecret
|
|
// Refresh - Строка - Refresh токен - refresh
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ОбновитьТокен(Знач ClientID, Знач ClientSecret, Знач Refresh) Экспорт
|
|
|
|
URL = "https://oauth.bitrix.info/oauth/token/";
|
|
Строка_ = "Строка";
|
|
|
|
Параметры = Новый Структура;
|
|
OPI_Инструменты.ДобавитьПоле("grant_type" , "refresh_token" , Строка_, Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("client_id" , ClientID , Строка_, Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("client_secret", ClientSecret , Строка_, Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("refresh_token", Refresh , Строка_, Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.Get(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Серверное время
|
|
// Получает текущее серверное время
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [server_time](@dev.1c-bitrix.ru/rest_help/general/server_time.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция СерверноеВремя(Знач URL, Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "server.time");
|
|
Ответ = OPI_ЗапросыHTTP.Get(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
#КонецОбласти
|
|
|
|
#Область РаботаСЖивойЛентой
|
|
|
|
// Создать новость
|
|
// Создает новую новость в ленте
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [log.blogpost.add](@dev.1c-bitrix.ru/rest_help/log/log_blogpost_add.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// Текст - Строка - Текст новости - text
|
|
// Видимость - Строка - Массив или 1 получатель: UA все, SGn р. группа, Un пользователь, DRn отдел, Gn группа - vision
|
|
// Файлы - Соответствие Из КлючИЗначение - Ключ > имя файла, значение > путь или двоичные данные - files
|
|
// Заголовок - Строка - Заголовок новости - title
|
|
// Важное - Булево - Помечает новость как важную - important
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция СоздатьНовость(Знач URL
|
|
, Знач Текст
|
|
, Знач Видимость = "UA"
|
|
, Знач Файлы = ""
|
|
, Знач Заголовок = ""
|
|
, Знач Важное = Ложь
|
|
, Знач Токен = "") Экспорт
|
|
|
|
ПривестиБулево(Важное);
|
|
|
|
Строка_ = "Строка";
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "log.blogpost.add");
|
|
OPI_Инструменты.ДобавитьПоле("POST_MESSAGE", Текст , Строка_ , Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("POST_TITLE" , Заголовок , Строка_ , Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("DEST" , Видимость , "Массив", Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("IMPORTANT" , Важное , Строка_ , Параметры);
|
|
|
|
Если ЗначениеЗаполнено(Файлы) Тогда
|
|
|
|
OPI_ПреобразованиеТипов.ПолучитьКоллекцию(Файлы);
|
|
|
|
МассивФайлов = НормализоватьФайлы(Файлы);
|
|
|
|
Если Не МассивФайлов.Количество() = 0 Тогда
|
|
Параметры.Вставить("FILES", МассивФайлов);
|
|
КонецЕсли;
|
|
|
|
КонецЕсли;
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Изменить новость
|
|
// Изменяет новость в ленте
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [log.blogpost.update](@dev.1c-bitrix.ru/rest_help/log/log_blogpost_update.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDНовости - Строка, Число - ID новости - postid
|
|
// Текст - Строка - Текст новости - text
|
|
// Видимость - Строка - Массив или 1 получатель: UA все, SGn р. группа, Un пользователь, DRn отдел, Gn группа - vision
|
|
// Файлы - Соответствие Из КлючИЗначение - Ключ > имя файла, значение > путь или двоичные данные - files
|
|
// Заголовок - Строка - Заголовок новости - title
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ИзменитьНовость(Знач URL
|
|
, Знач IDНовости
|
|
, Знач Текст
|
|
, Знач Видимость = "UA"
|
|
, Знач Файлы = ""
|
|
, Знач Заголовок = ""
|
|
, Знач Токен = "") Экспорт
|
|
|
|
Строка_ = "Строка";
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "log.blogpost.update");
|
|
OPI_Инструменты.ДобавитьПоле("POST_MESSAGE", Текст , Строка_ , Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("POST_TITLE" , Заголовок , Строка_ , Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("DEST" , Видимость , "Массив", Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("POST_ID" , IDНовости , Строка_ , Параметры);
|
|
|
|
Если ЗначениеЗаполнено(Файлы) Тогда
|
|
|
|
OPI_ПреобразованиеТипов.ПолучитьКоллекцию(Файлы);
|
|
|
|
МассивФайлов = НормализоватьФайлы(Файлы);
|
|
|
|
Если Не МассивФайлов.Количество() = 0 Тогда
|
|
Параметры.Вставить("FILES", МассивФайлов);
|
|
КонецЕсли;
|
|
|
|
КонецЕсли;
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Удалить новость
|
|
// Удаляет новость из ленты по выбранному ID
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [log.blogpost.delete](@dev.1c-bitrix.ru/rest_help/log/log_blogpost_delete.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDНовости - Строка, Число - ID новости для удаления - postid
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция УдалитьНовость(Знач URL, Знач IDНовости, Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "log.blogpost.delete");
|
|
OPI_Инструменты.ДобавитьПоле("POST_ID", IDНовости, "Строка", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Получить список просмотревших важное
|
|
// Возвращает список пользователей, просмотревших выбранное важное сообщение
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [log.blogpost.getusers.important](@dev.1c-bitrix.ru/rest_help/log/log_blogpost_getusers_important.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDНовости - Строка, Число - ID важной новости - postid
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ПолучитьСписокПросмотревшихВажное(Знач URL, Знач IDНовости, Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "log.blogpost.getusers.important");
|
|
OPI_Инструменты.ДобавитьПоле("POST_ID", IDНовости, "Строка", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Получить новости
|
|
// Получает нвости или одну новость с отобором по ID или доступности
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [log.blogpost.get](@dev.1c-bitrix.ru/rest_help/log/log_blogpost_get.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDНовости - Строка, Число - ID важной новости - postid
|
|
// Отбор - Строка - Отбор новостей по доступу: UA все, SGn раб. группа, Un пользователь, DRn отдел, Gn группа - sel
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ПолучитьНовости(Знач URL, Знач IDНовости = "", Знач Отбор = "UA", Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "log.blogpost.get");
|
|
|
|
OPI_Инструменты.ДобавитьПоле("POST_ID" , IDНовости, "Строка", Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("LOG_RIGHTS", Отбор , "Строка", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Добавить комментарий новости
|
|
// Добавляет комментарий к новости
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [log.blogcomment.add](@dev.1c-bitrix.ru/rest_help/log/log_blogcomment_add.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDНовости - Строка, Число - ID новости - postid
|
|
// Текст - Строка - Текст комментария - text
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ДобавитьКомментарийНовости(Знач URL, Знач IDНовости, Знач Текст, Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "log.blogcomment.add");
|
|
|
|
OPI_Инструменты.ДобавитьПоле("POST_ID", IDНовости, "Строка", Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("TEXT" , Текст , "Строка", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Добавить получателей к новости
|
|
// Добавляет новые группы или пользователей в получатели
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [log.blogpost.share](@dev.1c-bitrix.ru/rest_help/log/log_blogpost_share.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDНовости - Строка, Число - ID новости - postid
|
|
// Видимость - Строка - Массив или 1 получатель: UA все, SGn р. группа, Un пользователь, DRn отдел, Gn группа - vision
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ДобавитьПолучателейКНовости(Знач URL, Знач IDНовости, Знач Видимость, Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "log.blogpost.share");
|
|
|
|
OPI_Инструменты.ДобавитьПоле("POST_ID", IDНовости, "Строка", Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("DEST" , Видимость, "Строка", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
#КонецОбласти
|
|
|
|
#Область РаботаСЗадачами
|
|
|
|
// Получить задачу
|
|
// Получает задачу по ID
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [tasks.task.get](@dev.1c-bitrix.ru/rest_help/tasks/task/tasks/tasks_task_get.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDЗадачи - Число,Строка - ID задачи - task
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ПолучитьЗадачу(Знач URL, Знач IDЗадачи, Знач Токен = "") Экспорт
|
|
|
|
Ответ = ОсновноеУправляющееДействие(URL, IDЗадачи, "tasks.task.get", Токен, "taskId");
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Получить список задач
|
|
// Получает список задач (50 шт. за запрос максимум) с фильтром или без
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [tasks.task.list](@dev.1c-bitrix.ru/rest_help/tasks/task/tasks/tasks_task_list.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// Фильтр - Структура из КлючИЗначение - Структура отбора задач. См. ПолучитьСтруктуруФильтраЗадач - filter
|
|
// Отступ - Число, Строка - Отступ от начала списка для полчения задач > 50 шт. рекурсивно - offset
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
// Поля - Строка, Массив Из Строка - Список полей задачи в ответе. Все невычисляемые по умолчанию - select
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ПолучитьСписокЗадач(Знач URL, Знач Фильтр = "", Знач Отступ = 0, Знач Токен = "", Знач Поля = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "tasks.task.list");
|
|
OPI_Инструменты.ДобавитьПоле("filter", Фильтр, "Коллекция", Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("start" , Отступ, "Строка" , Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("select", Поля , "Массив" , Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Создать задачу
|
|
// Создает новую задачу по структуре полей
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [tasks.task.add](@dev.1c-bitrix.ru/rest_help/tasks/task/tasks/tasks_task_add.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// СтруктураПолей - Структура Из КлючИЗначение - Структура полей задачи. См. ПолучитьСтруктуруЗадачи - fields
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция СоздатьЗадачу(Знач URL, Знач СтруктураПолей, Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "tasks.task.add");
|
|
OPI_Инструменты.ДобавитьПоле("fields", СтруктураПолей, "Коллекция", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Изменить задачу
|
|
// Изменяет существующую задачу
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [tasks.task.update](@dev.1c-bitrix.ru/rest_help/tasks/task/tasks/tasks_task_update.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDЗадачи - Число,Строка - ID задачи - task
|
|
// СтруктураПолей - Структура Из КлючИЗначение - Структура полей задачи - fields
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ИзменитьЗадачу(Знач URL, Знач IDЗадачи, Знач СтруктураПолей, Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "tasks.task.update");
|
|
OPI_Инструменты.ДобавитьПоле("fields", СтруктураПолей, "Коллекция", Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("taskId", IDЗадачи , "Строка" , Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Удалить задачу
|
|
// Удаляет задачу по ID
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [tasks.task.delete](@dev.1c-bitrix.ru/rest_help/tasks/task/tasks/tasks_task_delete.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDЗадачи - Число,Строка - ID задачи - task
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция УдалитьЗадачу(Знач URL, Знач IDЗадачи, Знач Токен = "") Экспорт
|
|
|
|
Ответ = ОсновноеУправляющееДействие(URL, IDЗадачи, "tasks.task.delete", Токен, "taskId");
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Добавить файл в задачу
|
|
// Прикрепляет файл к выбранной задаче
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [tasks.task.files.attach](@dev.1c-bitrix.ru/rest_help/tasks/task/tasks/tasks_task_files_attach.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDЗадачи - Число, Строка - ID задачи - task
|
|
// IDФайла - Число, Строка - ID Файла - fileid
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ДобавитьФайлВЗадачу(Знач URL, Знач IDЗадачи, Знач IDФайла, Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "tasks.task.files.attach");
|
|
OPI_Инструменты.ДобавитьПоле("fileId", IDФайла , "Строка", Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("taskId", IDЗадачи, "Строка", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Принять задачу
|
|
// Принимает задачу по ID
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [tasks.task.approve](@dev.1c-bitrix.ru/rest_help/tasks/task/tasks/tasks_task_approve.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDЗадачи - Число,Строка - ID задачи - task
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ПринятьЗадачу(Знач URL, Знач IDЗадачи, Знач Токен = "") Экспорт
|
|
|
|
Ответ = ОсновноеУправляющееДействие(URL, IDЗадачи, "tasks.task.approve", Токен, "taskId");
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Отклонить задачу
|
|
// Отклоняет задачу по ID
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [tasks.task.disapprove](@dev.1c-bitrix.ru/rest_help/tasks/task/tasks/tasks_task_disapprove.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDЗадачи - Число,Строка - ID задачи - task
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ОтклонитьЗадачу(Знач URL, Знач IDЗадачи, Знач Токен = "") Экспорт
|
|
|
|
Ответ = ОсновноеУправляющееДействие(URL, IDЗадачи, "tasks.task.disapprove", Токен, "taskId");
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Завершить задачу
|
|
// Завершает задачу по ID
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [tasks.task.complete](@dev.1c-bitrix.ru/rest_help/tasks/task/tasks/tasks_task_complete.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDЗадачи - Число,Строка - ID задачи - task
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ЗавершитьЗадачу(Знач URL, Знач IDЗадачи, Знач Токен = "") Экспорт
|
|
|
|
Ответ = ОсновноеУправляющееДействие(URL, IDЗадачи, "tasks.task.complete", Токен, "taskId");
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Возобновить задачу
|
|
// Возвращает в работу задачу по ID
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [tasks.task.renew](@dev.1c-bitrix.ru/rest_help/tasks/task/tasks/tasks_task_renew.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDЗадачи - Число,Строка - ID задачи - task
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ВозобновитьЗадачу(Знач URL, Знач IDЗадачи, Знач Токен = "") Экспорт
|
|
|
|
Ответ = ОсновноеУправляющееДействие(URL, IDЗадачи, "tasks.task.renew", Токен, "taskId");
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Отложить задачу
|
|
// Откладывает задачу по ID
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [tasks.task.defer](@dev.1c-bitrix.ru/rest_help/tasks/task/tasks/tasks_task_defer.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDЗадачи - Число,Строка - ID задачи - task
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ОтложитьЗадачу(Знач URL, Знач IDЗадачи, Знач Токен = "") Экспорт
|
|
|
|
Ответ = ОсновноеУправляющееДействие(URL, IDЗадачи, "tasks.task.defer", Токен, "taskId");
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Приостановить задачу
|
|
// Приостанавливает задачу по ID
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [tasks.task.pause](@dev.1c-bitrix.ru/rest_help/tasks/task/tasks/tasks_task_pause.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDЗадачи - Число,Строка - ID задачи - task
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ПриостановитьЗадачу(Знач URL, Знач IDЗадачи, Знач Токен = "") Экспорт
|
|
|
|
Ответ = ОсновноеУправляющееДействие(URL, IDЗадачи, "tasks.task.pause", Токен, "taskId");
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Начать выполнение задачи
|
|
// Начинает выполнение задачи по ID
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [tasks.task.start](@dev.1c-bitrix.ru/rest_help/tasks/task/tasks/tasks_task_start.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDЗадачи - Число,Строка - ID задачи - task
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция НачатьВыполнениеЗадачи(Знач URL, Знач IDЗадачи, Знач Токен = "") Экспорт
|
|
|
|
Ответ = ОсновноеУправляющееДействие(URL, IDЗадачи, "tasks.task.start", Токен, "taskId");
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Начать наблюдать за задачей
|
|
// Начинает наблюдение за задачей по ID
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [tasks.task.startwatch](@dev.1c-bitrix.ru/rest_help/tasks/task/tasks/tasks_task_startwatch.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDЗадачи - Число,Строка - ID задачи - task
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция НачатьНаблюдатьЗаЗадачей(Знач URL, Знач IDЗадачи, Знач Токен = "") Экспорт
|
|
|
|
Ответ = ОсновноеУправляющееДействие(URL, IDЗадачи, "tasks.task.startwatch", Токен, "taskId");
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Прекратить наблюдать за задачей
|
|
// Прекращает наблюдение за задчей по ID
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [tasks.task.stopwatch](@dev.1c-bitrix.ru/rest_help/tasks/task/tasks/tasks_task_stopwatch.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDЗадачи - Число,Строка - ID задачи - task
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ПрекратитьНаблюдатьЗаЗадачей(Знач URL, Знач IDЗадачи, Знач Токен = "") Экспорт
|
|
|
|
Ответ = ОсновноеУправляющееДействие(URL, IDЗадачи, "tasks.task.stopwatch", Токен, "taskId");
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Делегировать задачу
|
|
// Делегирует задачу на другого пользователя
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [tasks.task.delegate](@dev.1c-bitrix.ru/rest_help/tasks/task/tasks/tasks_task_delegate.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDЗадачи - Число,Строка - ID задачи - task
|
|
// IDПользователя - Число,Строка - ID пользователя исполнителя - user
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ДелегироватьЗадачу(Знач URL, Знач IDЗадачи, Знач IDПользователя, Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "tasks.task.delegate");
|
|
OPI_Инструменты.ДобавитьПоле("taskId", IDЗадачи , "Строка", Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("userId", IDПользователя, "Строка", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Добавить задачу в избранное
|
|
// Добавляет задачу в список избранного
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [tasks.task.favorite.add](@dev.1c-bitrix.ru/rest_help/tasks/task/tasks/tasks_task_favorite_add.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDЗадачи - Число,Строка - ID задачи - task
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ДобавитьЗадачуВИзбранное(Знач URL, Знач IDЗадачи, Знач Токен = "") Экспорт
|
|
|
|
Ответ = ОсновноеУправляющееДействие(URL, IDЗадачи, "tasks.task.favorite.add", Токен, "taskId");
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Убрать задачу из избранного
|
|
// Удаляет задачу из списка избранного
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [tasks.task.favorite.remove](@dev.1c-bitrix.ru/rest_help/tasks/task/tasks/tasks_task_favorite_remove.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDЗадачи - Число,Строка - ID задачи - task
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция УбратьЗадачуИзИзбранного(Знач URL, Знач IDЗадачи, Знач Токен = "") Экспорт
|
|
|
|
Ответ = ОсновноеУправляющееДействие(URL, IDЗадачи, "tasks.task.favorite.remove", Токен, "taskId");
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Получить историю задачи
|
|
// Получает историю изменений задачи
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [tasks.task.history.list](@dev.1c-bitrix.ru/rest_help/tasks/task/tasks/tasks_task_history_list.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDЗадачи - Число,Строка - ID задачи - task
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ПолучитьИсториюЗадачи(Знач URL, Знач IDЗадачи, Знач Токен = "") Экспорт
|
|
|
|
Ответ = ОсновноеУправляющееДействие(URL, IDЗадачи, "tasks.task.history.list", Токен, "taskId");
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Проверить доступ к задаче
|
|
// Проверяет доступность задачи для пользователей
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [tasks.task.getaccess](@dev.1c-bitrix.ru/rest_help/tasks/task/tasks/tasks_task_getaccess.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDЗадачи - Число,Строка - ID задачи - task
|
|
// Пользователи - Массив из Строка - ID пользователей для проверки доступа - users
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ПроверитьДоступКЗадаче(Знач URL, Знач IDЗадачи, Знач Пользователи = "", Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "tasks.task.getaccess");
|
|
OPI_Инструменты.ДобавитьПоле("taskId", IDЗадачи , "Строка" , Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("users" , Пользователи, "Массив" , Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Отключить звук задачи
|
|
// Устанавливает режим Без звука для задачи
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [tasks.task.mute](@dev.1c-bitrix.ru/rest_help/tasks/task/tasks/mute_unmute.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDЗадачи - Число,Строка - ID задачи - task
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ОтключитьЗвукЗадачи(Знач URL, Знач IDЗадачи, Знач Токен = "") Экспорт
|
|
|
|
Ответ = ОсновноеУправляющееДействие(URL, IDЗадачи, "tasks.task.mute", Токен, "taskId");
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Включить звук задачи
|
|
// Отключает режим Без звука для задачи
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [tasks.task.unmute](@dev.1c-bitrix.ru/rest_help/tasks/task/tasks/mute_unmute.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDЗадачи - Число,Строка - ID задачи - task
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ВключитьЗвукЗадачи(Знач URL, Знач IDЗадачи, Знач Токен = "") Экспорт
|
|
|
|
Ответ = ОсновноеУправляющееДействие(URL, IDЗадачи, "tasks.task.unmute", Токен, "taskId");
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Создать зависимость задач
|
|
// Создает зависимость одной задачи от другой
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [task.dependence.add](@dev.1c-bitrix.ru/rest_help/tasks/task/dependence/task_dependence_add.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDИсточника - Строка, Число - ID задачи источника связи - taskfrom
|
|
// IDПриемника - Строка, Число - ID задачи приемника связи - taskto
|
|
// ТипСвязи - Строка, Число - Тип связи: 0 старт>старт, 1 старт>финиш, 2 финиш>старт, 3 финиш>финиш - linktype
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция СоздатьЗависимостьЗадач(Знач URL, Знач IDИсточника, Знач IDПриемника, Знач ТипСвязи, Знач Токен = "") Экспорт
|
|
|
|
Строка_ = "Строка";
|
|
|
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(ТипСвязи);
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "task.dependence.add");
|
|
OPI_Инструменты.ДобавитьПоле("taskIdFrom", IDИсточника, Строка_, Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("taskIdTo" , IDПриемника, Строка_, Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("linkType" , ТипСвязи , Строка_, Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Удалить зависимость задач
|
|
// Удаляет зависимость одной задачи от другой
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [task.dependence.delete](@dev.1c-bitrix.ru/rest_help/tasks/task/dependence/task_dependence_delete.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDИсточника - Строка, Число - ID задачи источника связи - taskfrom
|
|
// IDПриемника - Строка, Число - ID задачи приемника связи - taskto
|
|
// ТипСвязи - Строка, Число - Тип связи: 0 старт>старт, 1 старт>финиш, 2 финиш>старт, 3 финиш>финиш - linktype
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция УдалитьЗависимостьЗадач(Знач URL, Знач IDИсточника, Знач IDПриемника, Знач ТипСвязи, Знач Токен = "") Экспорт
|
|
|
|
Строка_ = "Строка";
|
|
|
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(ТипСвязи);
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "task.dependence.delete");
|
|
OPI_Инструменты.ДобавитьПоле("taskIdFrom", IDИсточника, Строка_, Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("taskIdTo" , IDПриемника, Строка_, Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("linkType" , ТипСвязи , Строка_, Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Получить план задач на день
|
|
// Получает план задач на день текущего пользователя
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [task.planner.getlist](@dev.1c-bitrix.ru/rest_help/tasks/task/planner/getlist.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ПолучитьПланЗадачНаДень(Знач URL, Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "task.planner.getlist");
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Получить структуру задачи
|
|
// Получает структуру с описанем полей для создания задачи
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [tasks.task.getFields](@dev.1c-bitrix.ru/rest_help/tasks/task/tasks/tasks_task_getFields.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ПолучитьСтруктуруЗадачи(Знач URL, Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "tasks.task.getFields");
|
|
Ответ = OPI_ЗапросыHTTP.Get(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Получить структуру фильтра задач
|
|
// Возвращает структуру полей для фильтрации задач в методе ПолучитьСписокЗадач
|
|
//
|
|
// Примечание:
|
|
// Возврат полей в качестве соответствия позволяет указывать тип фильтрации перед названием фильтруемого поля
|
|
// Типы фильтрации: !, <, <=, >, >=. Например: !ID:3 (т.е. ID не равно 3)
|
|
//
|
|
// Параметры:
|
|
// Пустая - Булево - Истина > структура с пустыми значениями, Ложь > в значениях будут описания полей - empty
|
|
// КакСоответствие - Булево - Истина > возвращает поля фильтра как соответствие - map
|
|
//
|
|
// Возвращаемое значение:
|
|
// Структура Из КлючИЗначение - Структура полей
|
|
Функция ПолучитьСтруктуруФильтраЗадач(Знач Пустая = Ложь, Знач КакСоответствие = Ложь) Экспорт
|
|
|
|
// Подробнее
|
|
// https://dev.1c-bitrix.ru/rest_help/tasks/task/tasks/tasks_task_list.php
|
|
|
|
OPI_ПреобразованиеТипов.ПолучитьБулево(Пустая);
|
|
OPI_ПреобразованиеТипов.ПолучитьБулево(КакСоответствие);
|
|
|
|
Если КакСоответствие Тогда
|
|
СтруктураФильтра = Новый Соответствие;
|
|
Иначе
|
|
СтруктураФильтра = Новый Структура;
|
|
КонецЕсли;
|
|
|
|
СтруктураФильтра.Вставить("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, но имеет дополнительно три мета-статуса>");
|
|
|
|
Если Пустая Тогда
|
|
СтруктураФильтра = OPI_Инструменты.ОчиститьКоллекциюРекурсивно(СтруктураФильтра);
|
|
КонецЕсли;
|
|
|
|
//@skip-check constructor-function-return-section
|
|
Возврат СтруктураФильтра;
|
|
|
|
КонецФункции
|
|
|
|
#КонецОбласти
|
|
|
|
#Область РаботаСПользовательскимиПолямиЗадач
|
|
|
|
// Получить список пользовательских полей задачи
|
|
// Получает список пользовательских полей для задач
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [task.item.userfield.getlist](@dev.1c-bitrix.ru/rest_help/tasks/task/userfield/getlist.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ПолучитьСписокПользовательскихПолейЗадачи(Знач URL, Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "task.item.userfield.getlist");
|
|
|
|
Ответ = OPI_ЗапросыHTTP.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_ЗапросыHTTP.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_ЗапросыHTTP.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_ЗапросыHTTP.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_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
#КонецОбласти
|
|
|
|
#Область РаботаСЧеклистамиЗадач
|
|
|
|
// Добавить элемент чеклиста задачи
|
|
// Добавляет новый элемент чеклиста задачи
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [task.checklistitem.add](@dev.1c-bitrix.ru/rest_help/tasks/task/checklistitem/add.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDЗадачи - Число, Строка - ID задачи - task
|
|
// Текст - Строка - Текст (заголовок) пункта чек листа - text
|
|
// Выполнен - Булево - Отметить пункт как выполненный - complete
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ДобавитьЭлементЧеклистаЗадачи(Знач URL, Знач IDЗадачи, Знач Текст, Знач Выполнен = Ложь, Токен = "") Экспорт
|
|
|
|
Строка_ = "Строка";
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "task.checklistitem.add");
|
|
Поля = Новый Структура;
|
|
|
|
ПривестиБулево(Выполнен);
|
|
|
|
OPI_Инструменты.ДобавитьПоле("TITLE" , Текст , Строка_, Поля);
|
|
OPI_Инструменты.ДобавитьПоле("IS_COMPLETE", Выполнен, Строка_, Поля);
|
|
|
|
OPI_Инструменты.ДобавитьПоле("TASKID", IDЗадачи, Строка_ , Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("FIELDS", Поля , "Коллекция", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Изменить элемент чеклиста задачи
|
|
// Изменяет текст элемента чеклиста задачи
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [task.checklistitem.update](@dev.1c-bitrix.ru/rest_help/tasks/task/checklistitem/update.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDЗадачи - Число, Строка - ID задачи - task
|
|
// IDЭлемента - Число, Строка - ID элемента чеклиста - element
|
|
// Текст - Строка - Текст (заголовок) пункта чек листа - text
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ИзменитьЭлементЧеклистаЗадачи(Знач URL, Знач IDЗадачи, Знач IDЭлемента, Знач Текст, Знач Токен = "") Экспорт
|
|
|
|
Строка_ = "Строка";
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "task.checklistitem.update");
|
|
Поля = Новый Структура;
|
|
|
|
OPI_Инструменты.ДобавитьПоле("TITLE", Текст, Строка_, Поля);
|
|
|
|
OPI_Инструменты.ДобавитьПоле("TASKID", IDЗадачи , Строка_ , Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("ITEMID", IDЭлемента, Строка_ , Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("FIELDS", Поля , "Коллекция", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Удалить элемент чеклиста задачи
|
|
// Удаляет элемент из чеклиста задачи
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [task.checklistitem.delete](@dev.1c-bitrix.ru/rest_help/tasks/task/checklistitem/delete.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDЗадачи - Число, Строка - ID задачи - task
|
|
// IDЭлемента - Число, Строка - ID элемента для удаления - element
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция УдалитьЭлементЧеклистаЗадачи(Знач URL, Знач IDЗадачи, Знач IDЭлемента, Знач Токен = "") Экспорт
|
|
|
|
Ответ = УправлениеЭлементомЧеклиста(URL, IDЗадачи, IDЭлемента, "task.checklistitem.delete", Токен);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Получить чеклист задачи
|
|
// Получает список элементов чеклиста задачи
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [task.checklistitem.getlist](@dev.1c-bitrix.ru/rest_help/tasks/task/checklistitem/getlist.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDЗадачи - Число, Строка - ID задачи - task
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ПолучитьЧеклистЗадачи(Знач URL, Знач IDЗадачи, Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "task.checklistitem.getlist");
|
|
|
|
OPI_Инструменты.ДобавитьПоле("TASKID", IDЗадачи , "Строка", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Получить элемент чеклиста задачи
|
|
// Получить элемент чеклиста задачи по ID
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [task.checklistitem.get](@dev.1c-bitrix.ru/rest_help/tasks/task/checklistitem/get.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDЗадачи - Число, Строка - ID задачи - task
|
|
// IDЭлемента - Число, Строка - ID элемента для получения - element
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ПолучитьЭлементЧеклистаЗадачи(Знач URL, Знач IDЗадачи, Знач IDЭлемента, Знач Токен = "") Экспорт
|
|
|
|
Ответ = УправлениеЭлементомЧеклиста(URL, IDЗадачи, IDЭлемента, "task.checklistitem.get", Токен);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Выполнить элемент чеклиста задачи
|
|
// Помечает элемент чеклиста задачи как выполненный
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [task.checklistitem.complete](@dev.1c-bitrix.ru/rest_help/tasks/task/checklistitem/complete.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDЗадачи - Число, Строка - ID задачи - task
|
|
// IDЭлемента - Число, Строка - ID элемента - element
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ВыполнитьЭлементЧеклистаЗадачи(Знач URL, Знач IDЗадачи, Знач IDЭлемента, Знач Токен = "") Экспорт
|
|
|
|
Ответ = УправлениеЭлементомЧеклиста(URL, IDЗадачи, IDЭлемента, "task.checklistitem.complete", Токен);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Возобновить элемент чеклиста задачи
|
|
// Снимает пометку элемента как выполненного
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [task.checklistitem.renew](@dev.1c-bitrix.ru/rest_help/tasks/task/checklistitem/renew.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDЗадачи - Число, Строка - ID задачи - task
|
|
// IDЭлемента - Число, Строка - ID элемента - element
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ВозобновитьЭлементЧеклистаЗадачи(Знач URL, Знач IDЗадачи, Знач IDЭлемента, Знач Токен = "") Экспорт
|
|
|
|
Ответ = УправлениеЭлементомЧеклиста(URL, IDЗадачи, IDЭлемента, "task.checklistitem.renew", Токен);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
#КонецОбласти
|
|
|
|
#Область РаботаСКомментариямиИРезультатамиЗадач
|
|
|
|
// Получить список комментариев задачи
|
|
// Полчает список комментариев пользователей к задаче по ID
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [task.commentitem.getlist](@dev.1c-bitrix.ru/rest_help/tasks/task/commentitem/getlist.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDЗадачи - Число, Строка - ID задачи - task
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ПолучитьСписокКомментариевЗадачи(Знач URL, Знач IDЗадачи, Знач Токен = "") Экспорт
|
|
|
|
Ответ = ОсновноеУправляющееДействие(URL, IDЗадачи, "task.commentitem.getlist", Токен, "taskId");
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Получить комменатрий задачи
|
|
// Получает информацию о комментарии задачи по ID
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [task.commentitem.get](@dev.1c-bitrix.ru/rest_help/tasks/task/commentitem/get.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDЗадачи - Число, Строка - ID задачи - task
|
|
// IDКомментария - Число, Строка - ID комментария - comment
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ПолучитьКомменатрийЗадачи(Знач URL, Знач IDЗадачи, Знач IDКомментария, Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "task.commentitem.get");
|
|
OPI_Инструменты.ДобавитьПоле("TASKID", IDЗадачи , "Строка", Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("ITEMID", IDКомментария, "Строка", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Добавить комментарий задачи
|
|
// Создает комментарий к задаче
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [task.commentitem.add](@dev.1c-bitrix.ru/rest_help/tasks/task/commentitem/add.php)
|
|
//
|
|
// Параметры:
|
|
// 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_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Изменить комментарий задачи
|
|
// Изменяет текст комментария задачи
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [task.commentitem.update](@dev.1c-bitrix.ru/rest_help/tasks/task/commentitem/update.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDЗадачи - Число, Строка - ID задачи - task
|
|
// IDКомментария - Число, Строка - ID комментария - comment
|
|
// Текст - Строка - Текст комментария - text
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ИзменитьКомментарийЗадачи(Знач URL, Знач IDЗадачи, Знач IDКомментария, Знач Текст, Знач Токен = "") Экспорт
|
|
|
|
Строка_ = "Строка";
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "task.commentitem.update");
|
|
|
|
Комментарий = Новый Структура;
|
|
OPI_Инструменты.ДобавитьПоле("POST_MESSAGE", Текст, "Строка", Комментарий);
|
|
|
|
OPI_Инструменты.ДобавитьПоле("TASKID", IDЗадачи , Строка_ , Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("ITEMID", IDКомментария, Строка_ , Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("FIELDS", Комментарий , "Коллекция", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Удалить комментарий
|
|
// Удаляет существующий комментарий задачи
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [task.commentitem.delete](@dev.1c-bitrix.ru/rest_help/tasks/task/commentitem/delete.php)
|
|
//
|
|
// Параметры:
|
|
// 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_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Получить список результатов
|
|
// Получает список результатов задачи
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [tasks.task.result.list](@dev.1c-bitrix.ru/rest_help/tasks/task/tasks/tasks_task_result.list.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDЗадачи - Число,Строка - ID задачи - task
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ПолучитьСписокРезультатов(Знач URL, Знач IDЗадачи, Знач Токен = "") Экспорт
|
|
|
|
Ответ = ОсновноеУправляющееДействие(URL, IDЗадачи, "tasks.task.result.list", Токен, "taskId");
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Создать результат из комментария
|
|
// Создает результат задачи из комментария
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [tasks.task.result.addFromComment](@dev.1c-bitrix.ru/rest_help/tasks/task/tasks/tasks_task_result_addFromComment.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDКомментария - Число, Строка - ID комментария - comment
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция СоздатьРезультатИзКомментария(Знач URL, Знач IDКомментария, Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "tasks.task.result.addFromComment");
|
|
OPI_Инструменты.ДобавитьПоле("commentId", IDКомментария, "Строка", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Удалить результат из комментария
|
|
// Удаляет ранее созданный результат из комментария
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [tasks.task.result.deleteFromComment](@dev.1c-bitrix.ru/rest_help/tasks/task/tasks/tasks_task_result_deleteFromComment.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDКомментария - Число, Строка - ID комментария - comment
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция УдалитьРезультатИзКомментария(Знач URL, Знач IDКомментария, Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "tasks.task.result.deleteFromComment");
|
|
OPI_Инструменты.ДобавитьПоле("commentId", IDКомментария, "Строка", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.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
|
|
Возврат СтруктураПолей;
|
|
|
|
КонецФункции
|
|
|
|
#КонецОбласти
|
|
|
|
#Область Канбан
|
|
|
|
// Добавить стадию канбана
|
|
// Добавляет стабию канбана или Моего плана
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [task.stages.add](@dev.1c-bitrix.ru/rest_help/tasks/task/kanban/task_stages_add.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// Наименование - Строка - Наименование новой стадии - title
|
|
// Цвет - Строка - HEX цвета новой стадии - color
|
|
// IDПредыдущей - Строка, Число - ID стадии, после которой необходимо вставить новую (в начало по ум.) - prevstage
|
|
// IDСущности - Строка, Число - ID группы или пользователя владельца канбан. Свой по умолчанию - entityid
|
|
// КакАдминистратор - Булево - Позволяет добавлять стадии без проверки прав (для администраторов) - admin
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ДобавитьСтадиюКанбана(Знач URL
|
|
, Знач Наименование
|
|
, Знач Цвет = "FFD800"
|
|
, Знач IDПредыдущей = 0
|
|
, Знач IDСущности = 0
|
|
, Знач КакАдминистратор = Ложь
|
|
, Знач Токен = "") Экспорт
|
|
|
|
Строка_ = "Строка";
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "task.stages.add");
|
|
Поля = Новый Структура;
|
|
|
|
ПривестиБулево(КакАдминистратор);
|
|
|
|
OPI_Инструменты.ДобавитьПоле("TITLE" , Наименование , Строка_, Поля);
|
|
OPI_Инструменты.ДобавитьПоле("COLOR" , Цвет , Строка_, Поля);
|
|
OPI_Инструменты.ДобавитьПоле("AFTER_ID" , IDПредыдущей , Строка_, Поля);
|
|
OPI_Инструменты.ДобавитьПоле("ENTITY_ID", IDСущности , Строка_, Поля);
|
|
OPI_Инструменты.ДобавитьПоле("isAdmin" , КакАдминистратор, Строка_, Поля);
|
|
|
|
Параметры.Вставить("fields", Поля);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Изменить стадию канбана
|
|
// Изменяет свойства существующей стадии канбана или Моего плана
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [task.stages.update](@dev.1c-bitrix.ru/rest_help/tasks/task/kanban/task_stages_update.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// Наименование - Строка - Новое наименование стадии - title
|
|
// IDСтадии - Строка, Число - ID стадии для изменения - stage
|
|
// Цвет - Строка - HEX нового цвета стадии - color
|
|
// IDПредыдущей - Строка, Число - ID стадии, после которой необходимо вставить выбранную - prevstage
|
|
// КакАдминистратор - Булево - Позволяет добавлять стадии без проверки прав (для администраторов) - admin
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ИзменитьСтадиюКанбана(Знач URL
|
|
, Знач Наименование
|
|
, Знач IDСтадии
|
|
, Знач Цвет = ""
|
|
, Знач IDПредыдущей = 0
|
|
, Знач КакАдминистратор = Ложь
|
|
, Знач Токен = "") Экспорт
|
|
|
|
Строка_ = "Строка";
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "task.stages.update");
|
|
Поля = Новый Структура;
|
|
|
|
OPI_Инструменты.ДобавитьПоле("TITLE" , Наименование , Строка_ , Поля);
|
|
OPI_Инструменты.ДобавитьПоле("COLOR" , Цвет , Строка_ , Поля);
|
|
OPI_Инструменты.ДобавитьПоле("AFTER_ID" , IDПредыдущей , Строка_ , Поля);
|
|
OPI_Инструменты.ДобавитьПоле("isAdmin" , КакАдминистратор, "Булево", Поля);
|
|
|
|
OPI_Инструменты.ДобавитьПоле("id" , IDСтадии, Строка_ , Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("fields", Поля , "Коллекция", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Удалить стадию канбана
|
|
// Удаляет стадию канбана или Моего плана, при условии, что в ней нет задач
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [task.stages.delete](@dev.1c-bitrix.ru/rest_help/tasks/task/kanban/task_stages_delete.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDСтадии - Строка, Число - ID стадии для удаления - stage
|
|
// КакАдминистратор - Булево - Позволяет добавлять стадии без проверки прав (для администраторов) - admin
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция УдалитьСтадиюКанбана(Знач URL, Знач IDСтадии, Знач КакАдминистратор = Ложь, Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "task.stages.delete");
|
|
|
|
ПривестиБулево(КакАдминистратор);
|
|
|
|
OPI_Инструменты.ДобавитьПоле("id" , IDСтадии , "Строка", Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("isAdmin", КакАдминистратор, "Строка", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Получить стадии канбана
|
|
// Получает информацию о стадиях Канбана или Моего плана
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [task.stages.get](@dev.1c-bitrix.ru/rest_help/tasks/task/kanban/task_stages_get.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDСущности - Строка, Число - ID группы или пользователя владельца канбан. Свой по умолчанию - entityid
|
|
// КакАдминистратор - Булево - Позволяет получать стадии без проверки прав (для администраторов) - admin
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ПолучитьСтадииКанбана(Знач URL, Знач IDСущности = 0, Знач КакАдминистратор = Ложь, Знач Токен = "") Экспорт
|
|
|
|
IDСущности = OPI_Инструменты.ЧислоВСтроку(IDСущности);
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "task.stages.get");
|
|
|
|
ПривестиБулево(КакАдминистратор);
|
|
|
|
OPI_Инструменты.ДобавитьПоле("entityId", IDСущности , "Строка", Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("isAdmin" , КакАдминистратор, "Строка", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Перенести задачу в стадию канбана
|
|
// Переносит задачу в выбранную стадию канбана
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [task.stages.movetask](@dev.1c-bitrix.ru/rest_help/tasks/task/kanban/task_stages_movetask.php)
|
|
//
|
|
// Параметры:
|
|
// 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_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
#КонецОбласти
|
|
|
|
#Область УчетРабочегоВремени
|
|
|
|
// Добавить трудозатраты задачи
|
|
// Добавляет информацию о затраченном времени пользователя в задачу
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [task.elapseditem.add](@dev.1c-bitrix.ru/rest_help/tasks/task/elapseditem/add.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDЗадачи - Строка, Число - ID задачи для добавления затрат - task
|
|
// Время - Строка, Число - Затраченное время в секундах - amount
|
|
// IDПользователя - Строка, Число - ID пользователя, затратившего время - user
|
|
// Текст - Строка - Текст комментария трудозатраты - text
|
|
// ДатаУстановки - Строка - Дата установки трудозатрат - date
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ДобавитьТрудозатратыЗадачи(Знач URL
|
|
, Знач IDЗадачи
|
|
, Знач Время
|
|
, Знач IDПользователя = ""
|
|
, Знач Текст = ""
|
|
, Знач ДатаУстановки = ""
|
|
, Знач Токен = "") Экспорт
|
|
|
|
Строка_ = "Строка";
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "task.elapseditem.add");
|
|
Поля = Новый Структура;
|
|
|
|
OPI_Инструменты.ДобавитьПоле("SECONDS" , Время , Строка_ , Поля);
|
|
OPI_Инструменты.ДобавитьПоле("COMMENT_TEXT", Текст , Строка_ , Поля);
|
|
OPI_Инструменты.ДобавитьПоле("USER_ID" , IDПользователя, Строка_ , Поля);
|
|
OPI_Инструменты.ДобавитьПоле("CREATED_DATE", ДатаУстановки , "ДатаISO", Поля);
|
|
|
|
OPI_Инструменты.ДобавитьПоле("TASKID" , IDЗадачи, Строка_ , Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("ARFIELDS", Поля , "Коллекция", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Удалить трудозатраты задачи
|
|
// Удаляет запись о трудозатратах из задачи
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [task.elapseditem.delete](@dev.1c-bitrix.ru/rest_help/tasks/task/elapseditem/delete.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDЗадачи - Строка, Число - ID задачи для добавления затрат - task
|
|
// IDЗаписи - Строка, Число - ID записи о трудозатратах - record
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция УдалитьТрудозатратыЗадачи(Знач URL, Знач IDЗадачи, Знач IDЗаписи, Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "task.elapseditem.delete");
|
|
|
|
OPI_Инструменты.ДобавитьПоле("TASKID", IDЗадачи, "Строка", Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("ITEMID", IDЗаписи, "Строка", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Получить список трудозатрат задачи
|
|
// Получает список записей о трудозатратах задачи
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [task.elapseditem.getlist](@dev.1c-bitrix.ru/rest_help/tasks/task/elapseditem/getlist.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDЗадачи - Строка, Число - ID задачи - task
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ПолучитьСписокТрудозатратЗадачи(Знач URL, Знач IDЗадачи, Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "task.elapseditem.getlist");
|
|
|
|
OPI_Инструменты.ДобавитьПоле("TASKID", IDЗадачи, "Строка", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Получить трудозатраты задачи
|
|
// Получает информацию о записи трудозатрат задачи по ID
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [task.elapseditem.get](@dev.1c-bitrix.ru/rest_help/tasks/task/elapseditem/get.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDЗадачи - Строка, Число - ID задачи - task
|
|
// IDЗаписи - Строка, Число - ID записи о трудозатратах - record
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ПолучитьТрудозатратыЗадачи(Знач URL, Знач IDЗадачи, Знач IDЗаписи, Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "task.elapseditem.get");
|
|
|
|
OPI_Инструменты.ДобавитьПоле("TASKID", IDЗадачи, "Строка", Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("ITEMID", IDЗаписи, "Строка", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Изменить трудозатраты задачи
|
|
// Изменяет данные записи о трудозатратах задачи
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [task.elapseditem.update](@dev.1c-bitrix.ru/rest_help/tasks/task/elapseditem/update.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDЗадачи - Строка, Число - ID задачи - task
|
|
// IDЗаписи - Строка, Число - ID записи о трудозатратах - record
|
|
// Время - Строка, Число - Затраченное время в секундах - amount
|
|
// Текст - Строка - Текст комментария трудозатраты - text
|
|
// ДатаУстановки - Строка - Дата установки трудозатрат - date
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ИзменитьТрудозатратыЗадачи(Знач URL
|
|
, Знач IDЗадачи
|
|
, Знач IDЗаписи
|
|
, Знач Время
|
|
, Знач Текст = ""
|
|
, Знач ДатаУстановки = ""
|
|
, Знач Токен = "") Экспорт
|
|
|
|
Строка_ = "Строка";
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "task.elapseditem.update");
|
|
Поля = Новый Структура;
|
|
|
|
OPI_Инструменты.ДобавитьПоле("SECONDS" , Время , Строка_ , Поля);
|
|
OPI_Инструменты.ДобавитьПоле("COMMENT_TEXT", Текст , Строка_ , Поля);
|
|
OPI_Инструменты.ДобавитьПоле("CREATED_DATE", ДатаУстановки , "ДатаISO", Поля);
|
|
|
|
OPI_Инструменты.ДобавитьПоле("TASKID" , IDЗадачи, Строка_ , Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("ITEMID" , IDЗаписи, Строка_ , Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("ARFIELDS", Поля , "Коллекция", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Начать учет времени
|
|
// Начинает учет времени пользователя
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [timeman.open](@dev.1c-bitrix.ru/rest_help/timeman/base/timeman_open.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDПользователя - Строка, Число - ID пользователя для учета. Текущий по умолчанию - userid
|
|
// Время - Дата - Время начала учета. Дата должна совпадать с текущей. Текущее время по ум. - time
|
|
// Отчет - Строка - Причина изменения. Обязателен при указании Время и отключенном свободном графике - report
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция НачатьУчетВремени(Знач URL
|
|
, Знач IDПользователя = ""
|
|
, Знач Время = ""
|
|
, Знач Отчет = ""
|
|
, Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "timeman.open");
|
|
|
|
OPI_Инструменты.ДобавитьПоле("USER_ID", IDПользователя, "Строка" , Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("TIME" , Время , "ДатаISOZ", Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("REPORT" , Отчет , "Строка" , Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Завершить учет времени
|
|
// Завершает учет времени пользователя
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [timeman.close](@dev.1c-bitrix.ru/rest_help/timeman/base/timeman_close.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDПользователя - Строка, Число - ID пользователя для учета. Текущий по умолчанию - userid
|
|
// Время - Дата - Время заверш. учета. Дата должна совпадать с текущей. Текущее время по ум. - time
|
|
// Отчет - Строка - Причина изменения. Обязателен при указании Время и отключенном свободном графике - report
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ЗавершитьУчетВремени(Знач URL
|
|
, Знач IDПользователя = ""
|
|
, Знач Время = ""
|
|
, Знач Отчет = ""
|
|
, Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "timeman.close");
|
|
|
|
OPI_Инструменты.ДобавитьПоле("USER_ID", IDПользователя, "Строка" , Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("TIME" , Время , "ДатаISOZ", Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("REPORT" , Отчет , "Строка" , Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Приостановить учет времени
|
|
// Приостанавливает учет времени пользователя
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [timeman.pause](@dev.1c-bitrix.ru/rest_help/timeman/base/timeman_pause.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDПользователя - Строка, Число - ID пользователя для учета. Текущий по умолчанию - userid
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ПриостановитьУчетВремени(Знач URL, Знач IDПользователя = "", Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "timeman.pause");
|
|
|
|
OPI_Инструменты.ДобавитьПоле("USER_ID", IDПользователя, "Строка" , Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Получить статус учета времени
|
|
// Получает статус учета времени пользователя
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [timeman.status](@dev.1c-bitrix.ru/rest_help/timeman/base/timeman_status.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDПользователя - Строка, Число - ID пользователя для учета. Текущий по умолчанию - userid
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ПолучитьСтатусУчетаВремени(Знач URL, Знач IDПользователя = "", Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "timeman.status");
|
|
|
|
OPI_Инструменты.ДобавитьПоле("USER_ID", IDПользователя, "Строка" , Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Получить настройки учета времени
|
|
// Получает настройки учета времени пользователя
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [timeman.settings](@dev.1c-bitrix.ru/rest_help/timeman/base/timeman_settings.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDПользователя - Строка, Число - ID пользователя для учета. Текущий по умолчанию - userid
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ПолучитьНастройкиУчетаВремени(Знач URL, Знач IDПользователя = "", Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "timeman.settings");
|
|
|
|
OPI_Инструменты.ДобавитьПоле("USER_ID", IDПользователя, "Строка" , Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
#КонецОбласти
|
|
|
|
#Область РаботаСХранилищами
|
|
|
|
// Получить список хранилищ
|
|
// Получает список доступных хранилищ файлов
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [disk.storage.getlist](@dev.1c-bitrix.ru/rest_help/disk/storage/disk_storage_getlist.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ПолучитьСписокХранилищ(Знач URL, Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "disk.storage.getlist");
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Получить хранилище приложения
|
|
// Получает информацию о хранилище с которым может работать приложение для хранения своих данных
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [disk.storage.getforapp](@dev.1c-bitrix.ru/rest_help/disk/storage/disk_storage_getforapp.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ПолучитьХранилищеПриложения(Знач URL, Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "disk.storage.getforapp");
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Получить хранилище
|
|
// Получает информацию о хранилище по ID
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [disk.storage.get](@dev.1c-bitrix.ru/rest_help/disk/storage/disk_storage_get.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDХранилища - Строка, Число - Идентификатор хранилища - storageid
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ПолучитьХранилище(Знач URL, Знач IDХранилища, Знач Токен = "") Экспорт
|
|
|
|
Ответ = ОсновноеУправляющееДействие(URL, IDХранилища, "disk.storage.get", Токен);
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Переименовать хранилище
|
|
// Изменяет имя хранилища (только для хранилища приложения см. ПолучитьСписокХранилищПриложения)
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [disk.storage.rename](@dev.1c-bitrix.ru/rest_help/disk/storage/disk_storage_rename.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDХранилища - Строка, Число - Идентификатор хранилища - storageid
|
|
// Наименование - Строка - Новое наименование хранилища - title
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ПереименоватьХранилище(Знач URL, Знач IDХранилища, Знач Наименование, Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "disk.storage.rename");
|
|
|
|
OPI_Инструменты.ДобавитьПоле("id" , IDХранилища , "Строка", Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("newName", Наименование, "Строка", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Получить содержимое хранилища
|
|
// Получает список файлов и каталогов, находящихся в корне хранилища
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [disk.storage.getchildren](@dev.1c-bitrix.ru/rest_help/disk/storage/disk_storage_getchildren.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDХранилища - Строка, Число - Идентификатор хранилища - storageid
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ПолучитьСодержимоеХранилища(Знач URL, Знач IDХранилища, Знач Токен = "") Экспорт
|
|
|
|
Ответ = ОсновноеУправляющееДействие(URL, IDХранилища, "disk.storage.getchildren", Токен);
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Создать каталог в хранилище
|
|
// Создает пустой каталог в хранилище
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [disk.storage.addfolder](@dev.1c-bitrix.ru/rest_help/disk/storage/disk_storage_addfolder.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDХранилища - Строка - Идентификатор хранилища - storageid
|
|
// Наименование - Строка - Имя каталога - title
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция СоздатьКаталогВХранилище(Знач URL, Знач IDХранилища, Знач Наименование, Знач Токен = "") Экспорт
|
|
|
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(Наименование);
|
|
|
|
СтруктураПапки = Новый Структура("NAME", Наименование);
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "disk.storage.addfolder");
|
|
|
|
OPI_Инструменты.ДобавитьПоле("id" , IDХранилища , "Строка" , Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("data", СтруктураПапки, "Коллекция", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
#КонецОбласти
|
|
|
|
#Область РаботаСКаталогами
|
|
|
|
// Получить информацию о каталоге
|
|
// Получает информацию о каталоге
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [disk.folder.get](@dev.1c-bitrix.ru/rest_help/disk/folder/disk_folder_get.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDКаталога - Строка, Число - Идентификатор каталога - folderid
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ПолучитьИнформациюОКаталоге(Знач URL, Знач IDКаталога, Знач Токен = "") Экспорт
|
|
|
|
Ответ = ОсновноеУправляющееДействие(URL, IDКаталога, "disk.folder.get", Токен);
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Создать подкаталог
|
|
// Создает каталог внутри другого каталога
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [disk.folder.addsubfolder](@dev.1c-bitrix.ru/rest_help/disk/folder/disk_folder_addsubfolder.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDКаталога - Строка, Число - Идентификатор каталога родителя - folderid
|
|
// Наименование - Строка - Наименование нового каталога - title
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция СоздатьПодкаталог(Знач URL, Знач IDКаталога, Знач Наименование, Знач Токен = "") Экспорт
|
|
|
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(Наименование);
|
|
|
|
СтруктураПапки = Новый Структура("NAME", Наименование);
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "disk.folder.addsubfolder");
|
|
|
|
OPI_Инструменты.ДобавитьПоле("id" , IDКаталога , "Строка" , Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("data", СтруктураПапки, "Коллекция", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Скопировать каталог
|
|
// Копирует один каталог в другой
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [disk.folder.copyto](@dev.1c-bitrix.ru/rest_help/disk/folder/disk_folder_copyto.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDКаталога - Строка, Число - Идентификатор каталога - folderid
|
|
// IDПриемника - Строка, Число - ID каталога назначения - tagetid
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция СкопироватьКаталог(Знач URL, Знач IDКаталога, Знач IDПриемника, Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "disk.folder.copyto");
|
|
|
|
OPI_Инструменты.ДобавитьПоле("id" , IDКаталога , "Строка", Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("targetFolderId", IDПриемника, "Строка", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Переместить каталог
|
|
// Перемещает один каталог внутрь другого
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [disk.folder.moveto](@dev.1c-bitrix.ru/rest_help/disk/folder/disk_folder_moveto.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDКаталога - Строка, Число - Идентификатор каталога - folderid
|
|
// IDПриемника - Строка, Число - ID каталога назначения - tagetid
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ПереместитьКаталог(Знач URL, Знач IDКаталога, Знач IDПриемника, Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "disk.folder.moveto");
|
|
|
|
OPI_Инструменты.ДобавитьПоле("id" , IDКаталога , "Строка", Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("targetFolderId", IDПриемника, "Строка", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Удалить каталог
|
|
// Удаляет каталог с подкаталогами
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [disk.folder.deletetree](@dev.1c-bitrix.ru/rest_help/disk/folder/disk_folder_deletetree.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDКаталога - Строка, Число - Идентификатор удаляемого каталога - folderid
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция УдалитьКаталог(Знач URL, Знач IDКаталога, Знач Токен = "") Экспорт
|
|
|
|
Ответ = ОсновноеУправляющееДействие(URL, IDКаталога, "disk.folder.deletetree", Токен);
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Получить внешнюю ссылку каталога
|
|
// Получает внешнюю ссылку для доступа к каталогу
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [disk.folder.getExternalLink](@dev.1c-bitrix.ru/rest_help/disk/folder/disk_folder_getexternallink.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDКаталога - Строка, Число - Идентификатор каталога - folderid
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ПолучитьВнешнююСсылкуКаталога(Знач URL, Знач IDКаталога, Знач Токен = "") Экспорт
|
|
|
|
Ответ = ОсновноеУправляющееДействие(URL, IDКаталога, "disk.folder.getExternalLink", Токен);
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Получить дочерние элементы каталога
|
|
// Получает дочерние элементы каталога
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [disk.folder.getchildren](@dev.1c-bitrix.ru/rest_help/disk/folder/disk_folder_getchildren.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDКаталога - Строка, Число - Идентификатор каталога - folderid
|
|
// Фильтр - Структура из КлючИЗначение - Отбор элементов. См. ПолучитьСтруктуруФильтраКаталога - filter
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ПолучитьДочерниеЭлементыКаталога(Знач URL, Знач IDКаталога, Знач Фильтр = "", Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "disk.folder.getchildren");
|
|
OPI_Инструменты.ДобавитьПоле("id" , IDКаталога, "Строка" , Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("filter", Фильтр , "Коллекция", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Поместить каталог в корзину
|
|
// Перемещает каталог в корзину удаляемых файлов
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [disk.folder.markdeleted](@dev.1c-bitrix.ru/rest_help/disk/folder/disk_folder_markdeleted.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDКаталога - Строка, Число - Идентификатор каталога - folderid
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ПоместитьКаталогВКорзину(Знач URL, Знач IDКаталога, Знач Токен = "") Экспорт
|
|
|
|
Ответ = ОсновноеУправляющееДействие(URL, IDКаталога, "disk.folder.markdeleted", Токен);
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Восстановить каталог
|
|
// Восстанавливает каталог из корзины
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [disk.folder.restore](@dev.1c-bitrix.ru/rest_help/disk/folder/disk_folder_restore.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDКаталога - Строка, Число - Идентификатор каталога - folderid
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ВосстановитьКаталог(Знач URL, Знач IDКаталога, Знач Токен = "") Экспорт
|
|
|
|
Ответ = ОсновноеУправляющееДействие(URL, IDКаталога, "disk.folder.restore", Токен);
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Переименовать каталог
|
|
// Изменяет имя каталога
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [disk.folder.rename](@dev.1c-bitrix.ru/rest_help/disk/folder/disk_folder_rename.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDКаталога - Строка, Число - Идентификатор каталога - folderid
|
|
// Наименование - Строка - Новое наименование каталога - title
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ПереименоватьКаталог(Знач URL, Знач IDКаталога, Знач Наименование, Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "disk.folder.rename");
|
|
|
|
OPI_Инструменты.ДобавитьПоле("id" , IDКаталога , "Строка", Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("newName", Наименование, "Строка", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Получить структуру фильтра каталога
|
|
// Возвращает структуру полей для фильтрации дочерних элементов каталога
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [disk.folder.getfields](@dev.1c-bitrix.ru/rest_help/disk/folder/disk_folder_getfields.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// Пустая - Булево - Истина > структура с пустыми значениями, Ложь > в значениях будут описания типов полей - empty
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Структура Из КлючИЗначение - Структура полей
|
|
Функция ПолучитьСтруктуруФильтраКаталога(Знач URL, Знач Пустая = Ложь, Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "disk.folder.getfields");
|
|
Фильтр = Новый Структура;
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
Поля = Ответ["result"];
|
|
|
|
Для Каждого Поле Из Поля Цикл
|
|
|
|
Имя = Поле.Ключ;
|
|
Описание = Поле.Значение;
|
|
|
|
Если Описание["USE_IN_FILTER"] Тогда
|
|
|
|
ТипДанных = ?(Пустая, "", Описание["TYPE"]);
|
|
Фильтр.Вставить(Имя, ТипДанных);
|
|
|
|
КонецЕсли;
|
|
|
|
КонецЦикла;
|
|
|
|
Возврат Фильтр;
|
|
|
|
КонецФункции
|
|
|
|
#КонецОбласти
|
|
|
|
#Область РаботаСФайлами
|
|
|
|
// Загрузить файл в хранилище
|
|
// Загружает файл в выбранное хранилище
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [disk.storage.uploadfile](@dev.1c-bitrix.ru/rest_help/disk/storage/disk_storage_uploadfile.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// Наименование - Строка - Наименование файла с расширением для сохранения - title
|
|
// Файл - Строка, ДвоичныеДанные - Файл для загрузки - file
|
|
// IDХранилища - Строка - Идентификатор хранилища для загрузки - storageid
|
|
// Доступы - Строка - Массив доступов по задачам, если необходимо - rights
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ЗагрузитьФайлВХранилище(Знач URL
|
|
, Знач Наименование
|
|
, Знач Файл
|
|
, Знач IDХранилища
|
|
, Знач Доступы = ""
|
|
, Знач Токен = "") Экспорт
|
|
|
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDХранилища);
|
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(Наименование);
|
|
|
|
Метод = "disk.storage.uploadfile";
|
|
|
|
ДанныеФайла = Новый Структура("NAME", Наименование);
|
|
СодержимоеФайла = Новый Соответствие();
|
|
СодержимоеФайла.Вставить(Наименование, Файл);
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, Метод);
|
|
OPI_Инструменты.ДобавитьПоле("data" , ДанныеФайла, "Коллекция", Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("rights", Доступы , "Массив" , Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("id" , IDХранилища, "Строка" , Параметры);
|
|
|
|
МассивФайла = НормализоватьФайлы(СодержимоеФайла);
|
|
|
|
Если Не МассивФайла.Количество() = 0 Тогда
|
|
Параметры.Вставить("fileContent", МассивФайла[0]);
|
|
КонецЕсли;
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Загрузить файл в каталог
|
|
// Загружает переданный файл в каталог
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [disk.folder.uploadfile](@dev.1c-bitrix.ru/rest_help/disk/folder/disk_folder_uploadfile.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// Наименование - Строка - Наименование файла с расширением для сохранения - title
|
|
// Файл - Строка, ДвоичныеДанные - Файл для загрузки - file
|
|
// IDКаталога - Строка - Идентификатор каталога для загрузки - folderid
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ЗагрузитьФайлВКаталог(Знач URL, Знач Наименование, Знач Файл, Знач IDКаталога, Знач Токен = "") Экспорт
|
|
|
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(Наименование);
|
|
OPI_ПреобразованиеТипов.ПолучитьДвоичныеДанные(Файл);
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "disk.folder.uploadFile");
|
|
OPI_Инструменты.ДобавитьПоле("id", IDКаталога, "Строка", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.Get(URL, Параметры);
|
|
Результат = Ответ["result"];
|
|
|
|
Если ЗначениеЗаполнено(Результат) Тогда
|
|
|
|
ИмяПоля = Результат["field"];
|
|
URLЗагрузки = Результат["uploadUrl"];
|
|
|
|
Если ЗначениеЗаполнено(ИмяПоля) И ЗначениеЗаполнено(URLЗагрузки) Тогда
|
|
|
|
ИмяПоля = СокрЛП(ИмяПоля);
|
|
URLЗагрузки = СокрЛП(URLЗагрузки);
|
|
ИмяФайла = ИмяПоля + "|" + Наименование;
|
|
|
|
СоответствиеФайла = Новый Соответствие;
|
|
СоответствиеФайла.Вставить(ИмяФайла, Файл);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostMultipart(URLЗагрузки, , СоответствиеФайла, "");
|
|
|
|
КонецЕсли;
|
|
|
|
КонецЕсли;
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Получить информацию о файле
|
|
// Получает информацию о файле по ID
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [disk.file.get](@dev.1c-bitrix.ru/rest_help/disk/file/disk_file_get.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDФайла - Строка, Число - Идентификатор файла - fileid
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ПолучитьИнформациюОФайле(Знач URL, Знач IDФайла, Знач Токен = "") Экспорт
|
|
|
|
Ответ = ОсновноеУправляющееДействие(URL, IDФайла, "disk.file.get", Токен);
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Удалить файл
|
|
// Удаляет файл по ID
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [disk.file.delete](@dev.1c-bitrix.ru/rest_help/disk/file/disk_file_delete.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDФайла - Строка, Число - Идентификатор удаляемого файла - fileid
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция УдалитьФайл(Знач URL, Знач IDФайла, Знач Токен = "") Экспорт
|
|
|
|
Ответ = ОсновноеУправляющееДействие(URL, IDФайла, "disk.file.delete", Токен);
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Получить внешнюю ссылку файла
|
|
// Получает внешнюю ссылку для доступа к файлу
|
|
//
|
|
// Примечание:
|
|
// Метод внезавно исчез из API на облачном Bitrix24, где проводилось тестирование (09/24). Возможно, он все еще будет работать на других версиях, но это не гарантировано
|
|
// Метод в документации API: [disk.file.getExternalLink](@dev.1c-bitrix.ru/rest_help/disk/file/disk_file_getexternallink.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDФайла - Строка, Число - Идентификатор файла - fileid
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ПолучитьВнешнююСсылкуФайла(Знач URL, Знач IDФайла, Знач Токен = "") Экспорт
|
|
|
|
Ответ = ОсновноеУправляющееДействие(URL, IDФайла, "disk.file.getExternalLink", Токен);
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Поместить файл в корзину
|
|
// Перемещает файл в корзину удаляемых файлов
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [disk.file.markdeleted](@dev.1c-bitrix.ru/rest_help/disk/file/disk_file_markdeleted.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDФайла - Строка, Число - Идентификатор файла - fileid
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ПоместитьФайлВКорзину(Знач URL, Знач IDФайла, Знач Токен = "") Экспорт
|
|
|
|
Ответ = ОсновноеУправляющееДействие(URL, IDФайла, "disk.file.markdeleted", Токен);
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Восстановить файл
|
|
// Восстанавливает файл из корзины
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [disk.file.restore](@dev.1c-bitrix.ru/rest_help/disk/file/disk_file_restore.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDФайла - Строка, Число - Идентификатор файла - fileid
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ВосстановитьФайл(Знач URL, Знач IDФайла, Знач Токен = "") Экспорт
|
|
|
|
Ответ = ОсновноеУправляющееДействие(URL, IDФайла, "disk.file.restore", Токен);
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Скопировать файл
|
|
// Копирует файл из одного расположения в другое
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [disk.file.copyto](@dev.1c-bitrix.ru/rest_help/disk/file/disk_file_copyto.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDФайла - Строка, Число - ID файла для копирования - fileid
|
|
// IDКаталога - Строка, Число - ID каталога размещения копии - folderid
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция СкопироватьФайл(Знач URL, Знач IDФайла, Знач IDКаталога, Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "disk.file.copyto");
|
|
|
|
OPI_Инструменты.ДобавитьПоле("id" , IDФайла , "Строка", Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("targetFolderId", IDКаталога, "Строка", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Переместить файл
|
|
// Перемещает файл из одного расположения в другое
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [disk.file.moveto](@dev.1c-bitrix.ru/rest_help/disk/file/disk_file_moveto.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDФайла - Строка, Число - ID файла для перемещения - fileid
|
|
// IDКаталога - Строка, Число - ID каталога нового размещения - folderid
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ПереместитьФайлВКаталог(Знач URL, Знач IDФайла, Знач IDКаталога, Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "disk.file.moveto");
|
|
|
|
OPI_Инструменты.ДобавитьПоле("id" , IDФайла , "Строка", Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("targetFolderId", IDКаталога, "Строка", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Переименовать файл
|
|
// Изменяет имя существующего файла
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [disk.file.rename](@dev.1c-bitrix.ru/rest_help/disk/file/disk_file_rename.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDФайла - Строка, Число - Идентификатор файла - fileid
|
|
// Наименование - Строка - Новое наименование каталога - title
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ПереименоватьФайл(Знач URL, Знач IDФайла, Знач Наименование, Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "disk.file.rename");
|
|
|
|
OPI_Инструменты.ДобавитьПоле("id" , IDФайла , "Строка", Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("newName", Наименование, "Строка", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
#КонецОбласти
|
|
|
|
#Область РаботаСЧатамиИДиалогами
|
|
|
|
// Создать чат
|
|
// Создает новый чат на основе структуры полей
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [im.chat.add](@dev.1c-bitrix.ru/learning/course/?COURSE_ID=93&LESSON_ID=12093)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// СтруктураЧата - Структура Из КлючИЗначение - Структура полей чата. См. ПолучитьСтруктуруЧата - fields
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция СоздатьЧат(Знач URL, Знач СтруктураЧата, Знач Токен = "") Экспорт
|
|
|
|
OPI_ПреобразованиеТипов.ПолучитьКоллекцию(СтруктураЧата);
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "im.chat.add");
|
|
|
|
Для Каждого Элемент Из СтруктураЧата Цикл
|
|
Параметры.Вставить(Элемент.Ключ, Элемент.Значение);
|
|
КонецЦикла;
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Получить список пользователей чата
|
|
// Получает список пользователей чата по ID
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [im.chat.user.list](@dev.1c-bitrix.ru/learning/course/?COURSE_ID=93&LESSON_ID=12095)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDЧата - Строка, Число - ID чата - chat
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ПолучитьСписокПользователейЧата(Знач URL, Знач IDЧата, Знач Токен = "") Экспорт
|
|
|
|
Ответ = ОсновноеУправляющееДействие(URL, IDЧата, "im.chat.user.list", Токен, "CHAT_ID");
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Покинуть чат
|
|
// Исключает текущего пользователя из чата
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [im.chat.leave](@dev.1c-bitrix.ru/learning/course/?COURSE_ID=93&LESSON_ID=12101)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDЧата - Строка, Число - ID чата - chat
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ПокинутьЧат(Знач URL, Знач IDЧата, Знач Токен = "") Экспорт
|
|
|
|
Ответ = ОсновноеУправляющееДействие(URL, IDЧата, "im.chat.leave", Токен, "CHAT_ID");
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Получить пользователей
|
|
// Получает информацию о пользователях для диалога
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [im.user.list.get ](@dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=93&LESSON_ID=11493)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDПользователей - Массив Из Строка, Число - ID пользователя или нескольких пользователей - users
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ПолучитьПользователей(Знач URL, Знач IDПользователей, Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "im.user.list.get");
|
|
|
|
OPI_Инструменты.ДобавитьПоле("ID", IDПользователей, "Массив", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Добавить пользователей в чат
|
|
// Добавляет пользователей в чат по массиву ID
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [im.chat.user.add](@dev.1c-bitrix.ru/learning/course/?COURSE_ID=93&LESSON_ID=12097)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDЧата - Строка, Число - ID чата - chat
|
|
// IDПользователей - Массив из Строка, Число - ID пользователей для добавления - users
|
|
// СкрытьИсторию - Булево - Скрыть старые сообщения от новых пользователей - hide
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ДобавитьПользователейВЧат(Знач URL
|
|
, Знач IDЧата
|
|
, Знач IDПользователей
|
|
, Знач СкрытьИсторию = Ложь
|
|
, Знач Токен = "") Экспорт
|
|
|
|
ПривестиБулево(СкрытьИсторию);
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "im.chat.user.add");
|
|
|
|
OPI_Инструменты.ДобавитьПоле("CHAT_ID" , IDЧата , "Строка" , Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("USERS" , IDПользователей, "Коллекция", Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("HIDE_HISTORY", СкрытьИсторию , "Строка" , Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Исключить пользователя из чата
|
|
// Исключает выбранного пользователя из чата
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [im.chat.user.delete](@dev.1c-bitrix.ru/learning/course/?COURSE_ID=93&LESSON_ID=12099)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDЧата - Строка, Число - ID чата - chat
|
|
// IDПользователя - Строка, Число - ID пользователя - user
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ИсключитьПользователяИзЧата(Знач URL, Знач IDЧата, Знач IDПользователя, Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "im.chat.user.delete");
|
|
|
|
OPI_Инструменты.ДобавитьПоле("CHAT_ID", IDЧата , "Строка", Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("USER_ID", IDПользователя, "Строка", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Изменить заголовок чата
|
|
// Изменяет текст заголовка чата
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [im.chat.updateTitle](@dev.1c-bitrix.ru/learning/course/?COURSE_ID=93&LESSON_ID=12105)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDЧата - Строка, Число - ID чата - chat
|
|
// Заголовок - Строка - Новый текст заголовка - title
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ИзменитьЗаголовокЧата(Знач URL, Знач IDЧата, Знач Заголовок, Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "im.chat.updateTitle");
|
|
|
|
OPI_Инструменты.ДобавитьПоле("CHAT_ID", IDЧата , "Строка", Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("TITLE" , Заголовок, "Строка", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Изменить цвет чата
|
|
// Изменяет цвет чата для мобильного приложения
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [im.chat.updateTitle](@dev.1c-bitrix.ru/learning/course/?COURSE_ID=93&LESSON_ID=12105)
|
|
// Доступные цвета: RED, GREEN, MINT, LIGHT_BLUE, DARK_BLUE, PURPLE, AQUA, PINK, LIME, BROWN, AZURE, KHAKI, SAND, MARENGO, GRAY, GRAPHITE
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDЧата - Строка, Число - ID чата - chat
|
|
// Цвет - Строка - Новый цвет чата - color
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ИзменитьЦветЧата(Знач URL, Знач IDЧата, Знач Цвет, Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "im.chat.updateColor");
|
|
|
|
OPI_Инструменты.ДобавитьПоле("CHAT_ID", IDЧата, "Строка", Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("COLOR" , Цвет , "Строка", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Изменить картинку чата
|
|
// Устанавливает новую картинку чата
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [im.chat.updateAvatar](@dev.1c-bitrix.ru/learning/course/?COURSE_ID=93&LESSON_ID=12109)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDЧата - Строка, Число - ID чата - chat
|
|
// Картинка - Строка, ДвоичныеДанные - Данные файла картинки - picture
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ИзменитьКартинкуЧата(Знач URL, Знач IDЧата, Знач Картинка, Знач Токен = "") Экспорт
|
|
|
|
OPI_ПреобразованиеТипов.ПолучитьДвоичныеДанные(Картинка);
|
|
|
|
Картинка = Base64Строка(Картинка);
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "im.chat.updateAvatar");
|
|
|
|
OPI_Инструменты.ДобавитьПоле("CHAT_ID", IDЧата , "Строка", Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("AVATAR" , Картинка, "Строка", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Сменить владельца чата
|
|
// Изменяет пользователя владельца чата
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [im.chat.setOwner](@dev.1c-bitrix.ru/learning/course/?COURSE_ID=93&LESSON_ID=12111)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDЧата - Строка, Число - ID чата - chat
|
|
// IDПользователя - Строка, Число - ID пользователя - user
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция СменитьВладельцаЧата(Знач URL, Знач IDЧата, Знач IDПользователя, Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "im.chat.setOwner");
|
|
|
|
OPI_Инструменты.ДобавитьПоле("CHAT_ID", IDЧата , "Строка", Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("USER_ID", IDПользователя, "Строка", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Отключить уведомления чата
|
|
// Отключает уведомлений чата
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [im.chat.mute](@dev.1c-bitrix.ru/learning/course/?COURSE_ID=93&LESSON_ID=11473)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDЧата - Строка, Число - ID чата - chat
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ОтключитьУведомленияЧата(Знач URL, Знач IDЧата, Знач Токен = "") Экспорт
|
|
|
|
Ответ = УправлениеЗвукомЧата(URL, IDЧата, Истина, Токен);
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Включить уведомления чата
|
|
// Включает уведомления в чате
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [im.chat.mute](@dev.1c-bitrix.ru/learning/course/?COURSE_ID=93&LESSON_ID=11473)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDЧата - Строка, Число - ID чата - chat
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ВключитьУведомленияЧата(Знач URL, Знач IDЧата, Знач Токен = "") Экспорт
|
|
|
|
Ответ = УправлениеЗвукомЧата(URL, IDЧата, Ложь, Токен);
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Получить список сообщений чата
|
|
// Получает список из 20 сообщений чата или диалога, в зависимости от указания IDПервого и IDПоследнего
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [im.dialog.messages.get](@dev.1c-bitrix.ru/learning/course/?COURSE_ID=93&LESSON_ID=11479)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDЧата - Строка, Число - ID чата (chatXXX) или пользователя (XXX) для диалога - chat
|
|
// IDПоследнего - Строка, Число - ID последнего загруженного сообщения - last
|
|
// IDПервого - Строка, Число - ID первого загруженного сообщения - first
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ПолучитьСписокСообщенийЧата(Знач URL
|
|
, Знач IDЧата
|
|
, Знач IDПоследнего = ""
|
|
, Знач IDПервого = ""
|
|
, Знач Токен = "") Экспорт
|
|
|
|
Строка_ = "Строка";
|
|
|
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDПоследнего);
|
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDПервого);
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "im.dialog.messages.get");
|
|
|
|
OPI_Инструменты.ДобавитьПоле("DIALOG_ID", IDЧата , Строка_, Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("LAST_ID" , IDПоследнего, Строка_, Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("FIRST_ID" , IDПервого , Строка_, Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Получить диалог
|
|
// Получает информацию о диалоге по ID
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [im.dialog.get](@dev.1c-bitrix.ru/learning/course/?COURSE_ID=93&LESSON_ID=12886)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDЧата - Строка, Число - ID чата (chatXXX) или пользователя (XXX) для диалога - chat
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ПолучитьДиалог(Знач URL, Знач IDЧата, Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "im.dialog.get");
|
|
|
|
OPI_Инструменты.ДобавитьПоле("DIALOG_ID", IDЧата, "Строка", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Получить список пользователей диалога
|
|
// Получает список участников далога
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [im.dialog.users.list](@dev.1c-bitrix.ru/learning/course/?COURSE_ID=93&LESSON_ID=23800)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDЧата - Строка, Число - ID чата (chatXXX) или пользователя (XXX) для диалога - chat
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ПолучитьСписокПользователейДиалога(Знач URL, Знач IDЧата, Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "im.dialog.users.list");
|
|
|
|
OPI_Инструменты.ДобавитьПоле("DIALOG_ID", IDЧата, "Строка", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Отправить уведомление о вводе
|
|
// Отправляет в чат статус Вам пишут...
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [im.dialog.writing](@dev.1c-bitrix.ru/learning/course/?COURSE_ID=93&LESSON_ID=23802)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDЧата - Строка, Число - ID чата (chatXXX) или пользователя (XXX) для диалога - chat
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ОтправитьУведомлениеОВводе(Знач URL, Знач IDЧата, Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "im.dialog.writing");
|
|
|
|
OPI_Инструменты.ДобавитьПоле("DIALOG_ID", IDЧата, "Строка", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Получить статус пользователя
|
|
// Получает статус (онлайн) текущего пользователя
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [im.user.status.get](@dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=93&LESSON_ID=11497)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ПолучитьСтатусПользователя(Знач URL, Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "im.user.status.get");
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Установить статус пользователя
|
|
// Устанавливает статус (онлайн) текущего пользователя
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [im.user.status.set](@dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=93&LESSON_ID=11499)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// Статус - Строка, Число - Статус пользователя: online, dnd, away - status
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция УстановитьСтатусПользователя(Знач URL, Знач Статус, Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "im.user.status.set");
|
|
|
|
OPI_Инструменты.ДобавитьПоле("STATUS", Статус, "Строка", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Прочитать все
|
|
// Отмечает все сообщения во всех доступных чатах как прочитанные
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [im.dialog.read.all](@dev.1c-bitrix.ru/learning/course/?COURSE_ID=93&LESSON_ID=23804)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ПрочитатьВсе(Знач URL, Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "im.dialog.read.all");
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Получить каталог файлов чата
|
|
// Получает каталог для хранения фйлов чата
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [im.disk.folder.get](@dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=93&LESSON_ID=11483)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDЧата - Строка, Число - ID чата - chat
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ПолучитьКаталогФайловЧата(Знач URL, Знач IDЧата, Знач Токен = "") Экспорт
|
|
|
|
Ответ = ОсновноеУправляющееДействие(URL, IDЧата, "im.disk.folder.get", Токен, "CHAT_ID");
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Получить структуру чата
|
|
// Получает структуру полей чата
|
|
//
|
|
// Параметры:
|
|
// Пустая - Булево - Истина > структура с пустыми значениями, Ложь > в значениях будут описания типов полей - empty
|
|
//
|
|
// Возвращаемое значение:
|
|
// Структура Из КлючИЗначение - Структура полей
|
|
Функция ПолучитьСтруктуруЧата(Знач Пустая = Ложь) Экспорт
|
|
|
|
OPI_ПреобразованиеТипов.ПолучитьБулево(Пустая);
|
|
|
|
СтруктураЧата = Новый Структура;
|
|
СтруктураЧата.Вставить("TYPE" , "<Тип чата OPEN (публичный) | CHAT (по приглашениям)>");
|
|
СтруктураЧата.Вставить("TITLE" , "<Заголовок чата>");
|
|
СтруктураЧата.Вставить("DESCRIPTION", "<Описание чата>");
|
|
СтруктураЧата.Вставить("COLOR" , "<Цвет чата: RED, GREEN, MINT, LIGHT_BLUE, DARK_BLUE, PURPLE, AQUA, ...>");
|
|
СтруктураЧата.Вставить("MESSAGE" , "<Первое приветственное сообщение в чате>");
|
|
СтруктураЧата.Вставить("USERS" , "<Массив участников чата>");
|
|
СтруктураЧата.Вставить("AVATAR" , "<Аватар чата в base64 формате>");
|
|
СтруктураЧата.Вставить("OWNER_ID" , "<Идентификатор владельца чата. Текущий пользователь, если не указано>");
|
|
|
|
Если Пустая Тогда
|
|
Для Каждого Поле Из СтруктураЧата Цикл
|
|
СтруктураЧата.Вставить(Поле.Ключ, "");
|
|
КонецЦикла;
|
|
КонецЕсли;
|
|
|
|
//@skip-check constructor-function-return-section
|
|
Возврат СтруктураЧата;
|
|
|
|
КонецФункции
|
|
|
|
#КонецОбласти
|
|
|
|
#Область РаботаССообщениями
|
|
|
|
// Отправить сообщение
|
|
// Отправляет сообщение в диалог
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [im.message.add](@dev.1c-bitrix.ru/learning/course/?COURSE_ID=93&LESSON_ID=12115)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDЧата - Строка, Число - ID чата (chatXXX) или пользователя (XXX) для диалога - chat
|
|
// Текст - Строка - Текст сообщения - text
|
|
// Вложения - Массив из Структура - Массив блоков вложений - blocks
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ОтправитьСообщение(Знач URL, Знач IDЧата, Знач Текст, Знач Вложения = "", Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "im.message.add");
|
|
|
|
OPI_Инструменты.ДобавитьПоле("DIALOG_ID", IDЧата , "Строка", Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("MESSAGE" , Текст , "Строка", Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("ATTACH" , Вложения, "Массив", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Изменить сообщение
|
|
// Изменяет сообщение в диалоге
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [im.message.update](@dev.1c-bitrix.ru/learning/course/?COURSE_ID=93&LESSON_ID=12117)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDСообщения - Строка, Число - ID сообщения для изменения - message
|
|
// Текст - Строка - Новый текст сообщения - text
|
|
// Вложения - Массив из Структура - Новый массив блоков вложений - blocks
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ИзменитьСообщение(Знач URL, Знач IDСообщения, Знач Текст = "", Знач Вложения = "", Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "im.message.update");
|
|
|
|
OPI_Инструменты.ДобавитьПоле("MESSAGE_ID", IDСообщения, "Строка", Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("MESSAGE" , Текст , "Строка", Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("ATTACH" , Вложения , "Массив", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Установить реакцию на сообщение
|
|
// Устанавливает или снимает реакцию на сообщение
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [im.message.like](@dev.1c-bitrix.ru/learning/course/?COURSE_ID=93&LESSON_ID=12121)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDСообщения - Строка, Число - ID сообщения - message
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция УстановитьРеакциюНаСообщение(Знач URL, Знач IDСообщения, Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "im.message.like");
|
|
|
|
OPI_Инструменты.ДобавитьПоле("MESSAGE_ID", IDСообщения, "Строка", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Удалить сообщение
|
|
// Удаляет сообщение в диалоге
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [im.message.delete](@dev.1c-bitrix.ru/learning/course/?COURSE_ID=93&LESSON_ID=12119)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDСообщения - Строка, Число - ID сообщения для удаления - message
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция УдалитьСообщение(Знач URL, Знач IDСообщения, Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "im.message.delete");
|
|
|
|
OPI_Инструменты.ДобавитьПоле("MESSAGE_ID", IDСообщения , "Строка", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Отправить файл
|
|
// Отправляет файл диска в чат по ID
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [im.disk.file.commit](@dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=93&LESSON_ID=11485)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDЧата - Строка, Число - ID чата - chat
|
|
// IDФайла - Строка, Число - ID файла, загруженного при помощи ЗагрузитьФайлВКаталог - fileid
|
|
// Описание - Строка - Описание файла - description
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ОтправитьФайл(Знач URL, Знач IDЧата, Знач IDФайла, Знач Описание = "", Знач Токен = "") Экспорт
|
|
|
|
Строка_ = "Строка";
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "im.disk.file.commit");
|
|
|
|
OPI_Инструменты.ДобавитьПоле("CHAT_ID" , IDЧата , Строка_, Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("UPLOAD_ID", IDФайла , Строка_, Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("MESSAGE" , Описание, Строка_, Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Отметить сообщение как прочитанное
|
|
// Отмечает выбранное сообщение и все сообщения до него как прочитанные
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [im.dialog.read](@dev.1c-bitrix.ru/learning/course/?COURSE_ID=93&LESSON_ID=12053)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDЧата - Строка, Число - ID чата (chatXXX) или пользователя (XXX) для диалога - chat
|
|
// IDСообщения - Строка, Число - ID последнего прочитанного сообщения - message
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ОтметитьСообщениеКакПрочитанное(Знач URL, Знач IDЧата, Знач IDСообщения, Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "im.dialog.read");
|
|
|
|
OPI_Инструменты.ДобавитьПоле("DIALOG_ID" , IDЧата , "Строка", Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("MESSAGE_ID", IDСообщения, "Строка", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Отметить сообщение как непрочитанное
|
|
// Отмечает выбранное сообщение и все сообщения после него как непрочитанные
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [im.dialog.unread](@dev.1c-bitrix.ru/learning/course/?COURSE_ID=93&LESSON_ID=12055)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDЧата - Строка, Число - ID чата (chatXXX) или пользователя (XXX) для диалога - chat
|
|
// IDСообщения - Строка, Число - ID послднего непрочитанного сообщения - message
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ОтметитьСообщениеКакНепрочитанное(Знач URL, Знач IDЧата, Знач IDСообщения, Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "im.dialog.unread");
|
|
|
|
OPI_Инструменты.ДобавитьПоле("DIALOG_ID" , IDЧата , "Строка", Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("MESSAGE_ID", IDСообщения, "Строка", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Получить блок картинки
|
|
// Формирует картинку для отправки в функции ОтправитьСообщение
|
|
//
|
|
// Примечание:
|
|
// Блоки в документации API: [Ссылка](@dev.1c-bitrix.ru/learning/course/?COURSE_ID=93&CHAPTER_ID=07867)
|
|
//
|
|
// Параметры:
|
|
// Наименование - Строка - Наименование картинки - title
|
|
// URL - Строка - URL картинки для отправки - url
|
|
//
|
|
// Возвращаемое значение:
|
|
// Структура - Блок с картинкой
|
|
Функция ПолучитьБлокКартинки(Знач Наименование, Знач URL) Экспорт
|
|
|
|
СтруктураКартинки = Новый Структура;
|
|
OPI_Инструменты.ДобавитьПоле("NAME", Наименование, "Строка", СтруктураКартинки);
|
|
OPI_Инструменты.ДобавитьПоле("LINK", URL , "Строка", СтруктураКартинки);
|
|
|
|
//@skip-check constructor-function-return-section
|
|
Возврат Новый Структура("IMAGE", СтруктураКартинки);
|
|
|
|
КонецФункции
|
|
|
|
// Получить блок файла
|
|
// Формирует блок файла для отправки в функции ОтправитьСообщение
|
|
//
|
|
// Примечание:
|
|
// Блоки в документации API: [Ссылка](@dev.1c-bitrix.ru/learning/course/?COURSE_ID=93&CHAPTER_ID=07867)
|
|
//
|
|
// Параметры:
|
|
// Наименование - Строка - Наименование картинки - title
|
|
// URL - Строка - URL файла для отправки - url
|
|
//
|
|
// Возвращаемое значение:
|
|
// Структура - Блок с файлом
|
|
Функция ПолучитьБлокФайла(Знач Наименование, Знач URL) Экспорт
|
|
|
|
СтруктураКартинки = Новый Структура;
|
|
OPI_Инструменты.ДобавитьПоле("NAME", Наименование, "Строка", СтруктураКартинки);
|
|
OPI_Инструменты.ДобавитьПоле("LINK", URL , "Строка", СтруктураКартинки);
|
|
|
|
//@skip-check constructor-function-return-section
|
|
Возврат Новый Структура("FILE", СтруктураКартинки);
|
|
|
|
КонецФункции
|
|
|
|
#КонецОбласти
|
|
|
|
#Область РаботаСУведомлениями
|
|
|
|
// Создать персональное уведомление
|
|
// Создает персональное уведомление пользователю
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [im.notify.personal.add](@dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=93&LESSON_ID=12129)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDПользователя - Строка, Число - ID пользователя для отправки уведомления - user
|
|
// Текст - Строка - Текст уведомления - text
|
|
// Тег - Строка - Тег уникальности Если уже существет, то другие увед. будут удалены - tag
|
|
// Вложения - Массив из Структура - Массив блоков вложений - blocks
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция СоздатьПерсональноеУведомление(Знач URL
|
|
, Знач IDПользователя
|
|
, Знач Текст
|
|
, Знач Тег = ""
|
|
, Знач Вложения = ""
|
|
, Знач Токен = "") Экспорт
|
|
|
|
Строка_ = "Строка";
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "im.notify.personal.add");
|
|
|
|
OPI_Инструменты.ДобавитьПоле("USER_ID", IDПользователя, Строка_ , Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("MESSAGE", Текст , Строка_ , Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("TAG" , Тег , Строка_ , Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("ATTACH" , Вложения , "Массив", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Создать системное уведомление
|
|
// Создает системное уведомление пользователю
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [im.notify.system.add](@dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=93&LESSON_ID=12131)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDПользователя - Строка, Число - ID пользователя для отправки уведомления - user
|
|
// Текст - Строка - Текст уведомления - text
|
|
// Тег - Строка - Тег уникальности Если уже существет, то другие увед. будут удалены - tag
|
|
// Вложения - Массив из Структура - Массив блоков вложений - blocks
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция СоздатьСистемноеУведомление(Знач URL
|
|
, Знач IDПользователя
|
|
, Знач Текст
|
|
, Знач Тег = ""
|
|
, Знач Вложения = ""
|
|
, Знач Токен = "") Экспорт
|
|
|
|
Строка_ = "Строка";
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "im.notify.system.add");
|
|
|
|
OPI_Инструменты.ДобавитьПоле("USER_ID", IDПользователя, Строка_ , Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("MESSAGE", Текст , Строка_ , Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("TAG" , Тег , Строка_ , Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("ATTACH" , Вложения , "Массив", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Удалить уведомление
|
|
// Удаляет уведомление по ID
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [im.notify.delete](@dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=93&LESSON_ID=12133)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDУведомления - Строка, Число - ID уведомления для удаления - notif
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция УдалитьУведомление(Знач URL, Знач IDУведомления, Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "im.notify.delete");
|
|
|
|
OPI_Инструменты.ДобавитьПоле("ID", IDУведомления, "Строка", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
#КонецОбласти
|
|
|
|
#Область УправлениеПодразделениями
|
|
|
|
// Создать подразделение
|
|
// Создает новое подразделение
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [department.add](@dev.1c-bitrix.ru/rest_help/departments/department_add.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// Наименование - Строка - Наименование подразделения - title
|
|
// IDРодителя - Строка, Число - ID родительского подразделения - parentid
|
|
// IDРуководителя - Строка, Число - ID руководителя подразделения - headid
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция СоздатьПодразделение(Знач URL
|
|
, Знач Наименование
|
|
, Знач IDРодителя = ""
|
|
, Знач IDРуководителя = ""
|
|
, Знач Токен = "") Экспорт
|
|
|
|
Строка_ = "Строка";
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "department.add");
|
|
|
|
OPI_Инструменты.ДобавитьПоле("NAME" , Наименование , Строка_, Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("PARENT" , IDРодителя , Строка_, Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("UF_HEAD", IDРуководителя, Строка_, Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Изменить подразделение
|
|
// Изменяет существующее подразделение
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [department.update](@dev.1c-bitrix.ru/rest_help/departments/department_update.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDПодразделения - Строка, Число - ID подразделения - depid
|
|
// Наименование - Строка - Наименование подразделения - title
|
|
// IDРодителя - Строка, Число - ID родительского подразделения - parentid
|
|
// IDРуководителя - Строка, Число - ID руководителя подразделения - headid
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ИзменитьПодразделение(Знач URL
|
|
, Знач IDПодразделения
|
|
, Знач Наименование = ""
|
|
, Знач IDРодителя = ""
|
|
, Знач IDРуководителя = ""
|
|
, Знач Токен = "") Экспорт
|
|
|
|
Строка_ = "Строка";
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "department.update");
|
|
|
|
OPI_Инструменты.ДобавитьПоле("ID" , IDПодразделения, Строка_, Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("NAME" , Наименование , Строка_, Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("PARENT" , IDРодителя , Строка_, Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("UF_HEAD", IDРуководителя , Строка_, Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Получить подразделения
|
|
// Получает список подразделений по ID или фильтру
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [department.get](@dev.1c-bitrix.ru/rest_help/departments/department_get.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDПодразделения - Строка, Число - Выбор по ID подразделения - depid
|
|
// Наименование - Строка - Фильтр по наименованию - title
|
|
// IDРодителя - Строка, Число - Фильтр по родителю - parentid
|
|
// IDРуководителя - Строка, Число - Фильтр по руководителю - headid
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ПолучитьПодразделения(Знач URL
|
|
, Знач IDПодразделения = ""
|
|
, Знач Наименование = ""
|
|
, Знач IDРодителя = ""
|
|
, Знач IDРуководителя = ""
|
|
, Знач Токен = "") Экспорт
|
|
|
|
Строка_ = "Строка";
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "department.get");
|
|
|
|
OPI_Инструменты.ДобавитьПоле("ID" , IDПодразделения, Строка_, Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("NAME" , Наименование , Строка_, Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("PARENT" , IDРодителя , Строка_, Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("UF_HEAD", IDРуководителя , Строка_, Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Удалить подразделение
|
|
// Удаляет подразделение по ID
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [department.delete](@dev.1c-bitrix.ru/rest_help/departments/department_delete.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDПодразделения - Строка, Число - ID подразделения для удаления - depid
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция УдалитьПодразделение(Знач URL, Знач IDПодразделения, Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "department.delete");
|
|
|
|
OPI_Инструменты.ДобавитьПоле("ID", IDПодразделения, "Строка", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
#КонецОбласти
|
|
|
|
#Область УправлениеПользователями
|
|
|
|
// Получить текущего пользователя
|
|
// Получает информацию о текущем пользователе
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [user.current](@dev.1c-bitrix.ru/rest_help/users/user_current.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ПолучитьТекущегоПользователя(Знач URL, Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "user.current");
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Получить пользователя
|
|
// Получает информацию о пользователе по ID
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [user.get](@dev.1c-bitrix.ru/rest_help/users/user_get.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDПользователя - Строка, Число - ID пользователя для получения - userid
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ПолучитьПользователя(Знач URL, Знач IDПользователя, Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "user.get");
|
|
|
|
OPI_Инструменты.ДобавитьПоле("ID", IDПользователя, "Строка", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Создать пользователя
|
|
// Создает нового пользователя по структуре полей
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [user.add](@dev.1c-bitrix.ru/rest_help/users/user_add.php)
|
|
// Если нужно добавить пользователя экстранета, то в полях необходимо передать: EXTRANET: Y и SONET_GROUP_ID: [...]
|
|
// Если нужно добавить пользователя интранета, то обязательно передаётся: UF_DEPARTMENT: [...]
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// СтруктураПолей - Структура Из КлючИЗначение - Данные пользователя. См. ПолучитьСтурктуруПользователя - fields
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция СоздатьПользователя(Знач URL, Знач СтруктураПолей, Знач Токен = "") Экспорт
|
|
|
|
OPI_ПреобразованиеТипов.ПолучитьКоллекцию(СтруктураПолей);
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "user.add");
|
|
|
|
Для Каждого Поле Из СтруктураПолей Цикл
|
|
Параметры.Вставить(Поле.Ключ, Поле.Значение);
|
|
КонецЦикла;
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Изменить пользователя
|
|
// Изменяет данные пользователя
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [user.update](@dev.1c-bitrix.ru/rest_help/users/user_update.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDПользователя - Строка, Число - ID пользователя для изменения - userid
|
|
// СтруктураПолей - Структура Из КлючИЗначение - Данные пользователя. См. ПолучитьСтурктуруПользователя - fields
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ИзменитьПользователя(Знач URL, Знач IDПользователя, Знач СтруктураПолей, Знач Токен = "") Экспорт
|
|
|
|
OPI_ПреобразованиеТипов.ПолучитьКоллекцию(СтруктураПолей);
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "user.update");
|
|
|
|
Для Каждого Поле Из СтруктураПолей Цикл
|
|
Параметры.Вставить(Поле.Ключ, Поле.Значение);
|
|
КонецЦикла;
|
|
|
|
OPI_Инструменты.ДобавитьПоле("ID", IDПользователя, "Строка", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Изменить статус пользователя
|
|
// Активирует или деактивирует (увольняет) выбранного пользователя
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDПользователя - Строка, Число - ID пользователя для изменения - userid
|
|
// Уволить - Булево - Истина > Деактивация, Ложь > Активация - fire
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ИзменитьСтатусПользователя(Знач URL, Знач IDПользователя, Знач Уволить = Истина, Знач Токен = "") Экспорт
|
|
|
|
OPI_ПреобразованиеТипов.ПолучитьБулево(Уволить);
|
|
|
|
Активен = Не Уволить;
|
|
|
|
ПривестиБулево(Активен);
|
|
|
|
Параметры = Новый Структура("ACTIVE", Активен);
|
|
|
|
Ответ = ИзменитьПользователя(URL, IDПользователя, Параметры, Токен);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Найти пользователей
|
|
// Получает список пользователей по заданному фильтру
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [user.update](@dev.1c-bitrix.ru/rest_help/users/user_update.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// СтруктураФильтра - Структура Из КлючИЗначение - Фильтр. См. ПолучитьСтруктуруФильтраПользователей - filter
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция НайтиПользователей(Знач URL, Знач СтруктураФильтра, Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "user.search");
|
|
|
|
OPI_Инструменты.ДобавитьПоле("FILTER", СтруктураФильтра, "Коллекция", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Получить стурктуру пользователя
|
|
// Получает структурау полей для создания или изменения пользователя
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [user.fields](@dev.1c-bitrix.ru/rest_help/users/user_fields.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
|
Функция ПолучитьСтурктуруПользователя(Знач URL, Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "user.fields");
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Получить структуру фильтра пользователей
|
|
// Возвращает структуру полей для фильтрации пользователей в методе НайтиПользователей
|
|
//
|
|
// Параметры:
|
|
// Пустая - Булево - Истина > структура с пустыми значениями, Ложь > в значениях будут описания полей - empty
|
|
//
|
|
// Возвращаемое значение:
|
|
// Структура Из КлючИЗначение - Структура полей
|
|
Функция ПолучитьСтруктуруФильтраПользователей(Знач Пустая = Ложь) Экспорт
|
|
|
|
OPI_ПреобразованиеТипов.ПолучитьБулево(Пустая);
|
|
|
|
СтруктураФильтра = Новый Структура;
|
|
СтруктураФильтра.Вставить("NAME" , "<имя>");
|
|
СтруктураФильтра.Вставить("LAST_NAME" , "<фамилия>");
|
|
СтруктураФильтра.Вставить("WORK_POSITION" , "<должность>");
|
|
СтруктураФильтра.Вставить("UF_DEPARTMENT_NAME", "<название подразделения>");
|
|
СтруктураФильтра.Вставить("USER_TYPE" , "<тип: employee, extranet, email>");
|
|
|
|
Если Пустая Тогда
|
|
Для Каждого Поле Из СтруктураФильтра Цикл
|
|
СтруктураФильтра.Вставить(Поле.Ключ, "");
|
|
КонецЦикла;
|
|
КонецЕсли;
|
|
|
|
//@skip-check constructor-function-return-section
|
|
Возврат СтруктураФильтра;
|
|
|
|
КонецФункции
|
|
|
|
#КонецОбласти
|
|
|
|
#Область РаботаСЛидами
|
|
|
|
// Создать лид
|
|
// Создает новый лид по структуре полей
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [crm.lead.add](@dev.1c-bitrix.ru/rest_help/crm/leads/crm_lead_add.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// СтруктураПолей - Структура Из КлючИЗначение - Структура полей лида. См. ПолучитьСтруктуруЛида - fields
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrix24
|
|
Функция СоздатьЛид(Знач URL, Знач СтруктураПолей, Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "crm.lead.add");
|
|
|
|
OPI_Инструменты.ДобавитьПоле("fields", СтруктураПолей, "Коллекция", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Удалить лид
|
|
// Удаляет лид по ID
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [crm.lead.delete](@dev.1c-bitrix.ru/rest_help/crm/leads/crm_lead_delete.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDЛида - Число, Строка - ID лида - lead
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrix24
|
|
Функция УдалитьЛид(Знач URL, Знач IDЛида, Знач Токен = "") Экспорт
|
|
|
|
Ответ = ОсновноеУправляющееДействие(URL, IDЛида, "crm.lead.delete", Токен);
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Получить лид
|
|
// Получает лид по ID
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [crm.lead.get](@dev.1c-bitrix.ru/rest_help/crm/leads/crm_lead_get.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDЛида - Число,Строка - ID лида - lead
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrix24
|
|
Функция ПолучитьЛид(Знач URL, Знач IDЛида, Знач Токен = "") Экспорт
|
|
|
|
Ответ = ОсновноеУправляющееДействие(URL, IDЛида, "crm.lead.get", Токен);
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Получить список лидов
|
|
// Получает список лидов (50 шт. за запрос максимум) с фильтром или без
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [crm.lead.list](@dev.1c-bitrix.ru/rest_help/crm/leads/crm_lead_list.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// Фильтр - Структура из КлючИЗначение - Структура отбора лидов. См. ПолучитьСтруктуруФильтраЛидов - filter
|
|
// Отступ - Число, Строка - Отступ от начала списка для получения лидов > 50 шт. рекурсивно - offset
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrix24
|
|
Функция ПолучитьСписокЛидов(Знач URL, Знач Фильтр = "", Знач Отступ = 0, Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "crm.lead.list");
|
|
|
|
OPI_Инструменты.ДобавитьПоле("filter", Фильтр, "Коллекция", Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("start" , Отступ, "Строка" , Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Изменить лид
|
|
// Изменяет существующий лид
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [crm.lead.update](@dev.1c-bitrix.ru/rest_help/crm/leads/crm_lead_update.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDЛида - Число, Строка - ID лида - lead
|
|
// СтруктураПолей - Структура Из КлючИЗначение - Структура полей лида - fields
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrix24
|
|
Функция ИзменитьЛид(Знач URL, Знач IDЛида, Знач СтруктураПолей, Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "crm.lead.update");
|
|
|
|
OPI_Инструменты.ДобавитьПоле("fields", СтруктураПолей, "Коллекция", Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("id" , IDЛида , "Строка" , Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Получить структуру лида
|
|
// Получает структуру с описанием полей для создания лида
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [crm.lead.fields](@dev.1c-bitrix.ru/rest_help/crm/leads/crm_lead_fields.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrix24
|
|
Функция ПолучитьСтруктуруЛида(Знач URL, Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "crm.lead.fields");
|
|
Ответ = OPI_ЗапросыHTTP.Get(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Получить структуру фильтра лидов
|
|
// Возвращает структуру полей для фильтрации лидов в методе ПолучитьСписокЛидов
|
|
//
|
|
// Параметры:
|
|
// Пустая - Булево - Истина > структура с пустыми значениями, Ложь > в значениях будут описания полей - empty
|
|
//
|
|
// Возвращаемое значение:
|
|
// Структура Из КлючИЗначение - Структура полей
|
|
Функция ПолучитьСтруктуруФильтраЛидов(Знач Пустая = Ложь) Экспорт
|
|
|
|
// Подробнее
|
|
// https://dev.1c-bitrix.ru/rest_help/crm/leads/crm_lead_list.php
|
|
|
|
OPI_ПреобразованиеТипов.ПолучитьБулево(Пустая);
|
|
|
|
СтруктураФильтра = Новый Структура;
|
|
СтруктураФильтра.Вставить("ID" , "<идентификатор лида>");
|
|
СтруктураФильтра.Вставить("ASSIGNED_BY_ID" , "<идентификатор ответственного>");
|
|
СтруктураФильтра.Вставить("COMPANY_ID" , "<идентификатор компании>");
|
|
СтруктураФильтра.Вставить("COMPANY_TITLE" , "<наименование компании>");
|
|
СтруктураФильтра.Вставить("CONTACT_ID" , "<идентификатор контакта>");
|
|
СтруктураФильтра.Вставить("CREATED_BY_ID" , "<идентификатор автора>");
|
|
СтруктураФильтра.Вставить("CURRENCY_ID" , "<идентификатор валюты>");
|
|
СтруктураФильтра.Вставить("DATE_CLOSED" , "<дата закрытия>");
|
|
СтруктураФильтра.Вставить("DATE_CREATE" , "<дата создания>");
|
|
СтруктураФильтра.Вставить("DATE_MODIFY" , "<дата изменения>");
|
|
СтруктураФильтра.Вставить("EMAIL" , "<адрес электронной почты>");
|
|
СтруктураФильтра.Вставить("HAS_EMAIL" , "<электронная почта заполнена (Y|N)>");
|
|
СтруктураФильтра.Вставить("HAS_PHONE" , "<телефон заполнен (Y|N)>");
|
|
СтруктураФильтра.Вставить("IS_RETURN_CUSTOMER" , "<признак повторного лида (Y|N)>");
|
|
СтруктураФильтра.Вставить("MODIFY_BY_ID" , "<идентификатор автора последнего изменения>");
|
|
СтруктураФильтра.Вставить("MOVED_BY_ID" , "<идентификатор автора перемещения лида на текущую стадию>");
|
|
СтруктураФильтра.Вставить("MOVED_TIME" , "<дата перемещения лида на текущую стадию>");
|
|
СтруктураФильтра.Вставить("OPENED" , "<признак доступен для всех (Y|N)>");
|
|
СтруктураФильтра.Вставить("OPPORTUNITY" , "<предполагаемая сумма>");
|
|
СтруктураФильтра.Вставить("STATUS_ID" , "<идентификатор статуса>");
|
|
СтруктураФильтра.Вставить("TITLE" , "<название лида (можно искать по шаблону [%_])>");
|
|
|
|
Если Пустая Тогда
|
|
Для Каждого Поле Из СтруктураФильтра Цикл
|
|
СтруктураФильтра.Вставить(Поле.Ключ, "");
|
|
КонецЦикла;
|
|
КонецЕсли;
|
|
|
|
//@skip-check constructor-function-return-section
|
|
Возврат СтруктураФильтра;
|
|
|
|
КонецФункции
|
|
|
|
#КонецОбласти
|
|
|
|
#Область РаботаСоСделками
|
|
|
|
// Создать сделку
|
|
// Создает новую сделку по структуре полей
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [crm.deal.add](@dev.1c-bitrix.ru/rest_help/crm/cdeals/crm_deal_add.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// СтруктураПолей - Структура Из КлючИЗначение - Структура полей сделки. См. ПолучитьСтруктуруСделки - fields
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrix24
|
|
Функция СоздатьСделку(Знач URL, Знач СтруктураПолей, Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "crm.deal.add");
|
|
|
|
OPI_Инструменты.ДобавитьПоле("fields", СтруктураПолей, "Коллекция", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Удалить сделку
|
|
// Удаляет сделку по ID
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [crm.deal.delete](@dev.1c-bitrix.ru/rest_help/crm/cdeals/crm_deal_delete.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDСделки - Число, Строка - ID сделки - deal
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrix24
|
|
Функция УдалитьСделку(Знач URL, Знач IDСделки, Знач Токен = "") Экспорт
|
|
|
|
Ответ = ОсновноеУправляющееДействие(URL, IDСделки, "crm.deal.delete", Токен);
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Получить сделку
|
|
// Получает сделку по ID
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [crm.deal.get](@dev.1c-bitrix.ru/rest_help/crm/cdeals/crm_deal_get.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDСделки - Число,Строка - ID сделки - deal
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrix24
|
|
Функция ПолучитьСделку(Знач URL, Знач IDСделки, Знач Токен = "") Экспорт
|
|
|
|
Ответ = ОсновноеУправляющееДействие(URL, IDСделки, "crm.deal.get", Токен);
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Получить список сделок
|
|
// Получает список сделок (50 шт. за запрос максимум) с фильтром или без
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [crm.deal.list](@dev.1c-bitrix.ru/rest_help/crm/cdeals/crm_deal_list.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// Фильтр - Структура из КлючИЗначение - Структура отбора сделок. См. ПолучитьСтруктуруФильтраСделок - filter
|
|
// Отступ - Число, Строка - Отступ от начала списка для получения сделок > 50 шт. рекурсивно - offset
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrix24
|
|
Функция ПолучитьСписокСделок(Знач URL, Знач Фильтр = "", Знач Отступ = 0, Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "crm.deal.list");
|
|
|
|
OPI_Инструменты.ДобавитьПоле("filter", Фильтр, "Коллекция", Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("start" , Отступ, "Строка" , Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Изменить сделку
|
|
// Изменяет существующую сделку
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [crm.deal.update](@dev.1c-bitrix.ru/rest_help/crm/cdeals/crm_deal_update.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDСделки - Число, Строка - ID сделки - deal
|
|
// СтруктураПолей - Структура Из КлючИЗначение - Структура полей сделки - fields
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrix24
|
|
Функция ИзменитьСделку(Знач URL, Знач IDСделки, Знач СтруктураПолей, Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "crm.deal.update");
|
|
|
|
OPI_Инструменты.ДобавитьПоле("fields", СтруктураПолей, "Коллекция", Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("id" , IDСделки , "Строка" , Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Получить структуру сделки
|
|
// Получает структуру с описанием полей для создания сделки
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [crm.deal.fields](@dev.1c-bitrix.ru/rest_help/crm/cdeals/crm_deal_fields.php)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrix24
|
|
Функция ПолучитьСтруктуруСделки(Знач URL, Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "crm.deal.fields");
|
|
Ответ = OPI_ЗапросыHTTP.Get(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Получить структуру фильтра сделок
|
|
// Возвращает структуру полей для фильтрации сделок в методе ПолучитьСписокСделок
|
|
//
|
|
// Параметры:
|
|
// Пустая - Булево - Истина > структура с пустыми значениями, Ложь > в значениях будут описания полей - empty
|
|
//
|
|
// Возвращаемое значение:
|
|
// Структура Из КлючИЗначение - Структура полей
|
|
Функция ПолучитьСтруктуруФильтраСделок(Знач Пустая = Ложь) Экспорт
|
|
|
|
// Подробнее
|
|
// https://dev.1c-bitrix.ru/rest_help/crm/cdeals/crm_deal_list.php
|
|
|
|
OPI_ПреобразованиеТипов.ПолучитьБулево(Пустая);
|
|
|
|
СтруктураФильтра = Новый Структура;
|
|
СтруктураФильтра.Вставить("ID" , "<идентификатор сделки>");
|
|
СтруктураФильтра.Вставить("ASSIGNED_BY_ID" , "<идентификатор ответственного>");
|
|
СтруктураФильтра.Вставить("BEGINDATE" , "<дата начала>");
|
|
СтруктураФильтра.Вставить("CATEGORY_ID" , "<идентификатор направления>");
|
|
СтруктураФильтра.Вставить("CLOSEDATE" , "<дата завершения>");
|
|
СтруктураФильтра.Вставить("COMPANY_ID" , "<идентификатор компании>");
|
|
СтруктураФильтра.Вставить("CONTACT_ID" , "<идентификатор контакта>");
|
|
СтруктураФильтра.Вставить("CREATED_BY_ID" , "<идентификатор автора>");
|
|
СтруктураФильтра.Вставить("CURRENCY_ID" , "<идентификатор валюты>");
|
|
СтруктураФильтра.Вставить("DATE_CREATE" , "<дата создания>");
|
|
СтруктураФильтра.Вставить("DATE_MODIFY" , "<дата изменения>");
|
|
СтруктураФильтра.Вставить("IS_NEW" , "<признак новой сделки (Y|N)>");
|
|
СтруктураФильтра.Вставить("IS_RECURRING" , "<признак шаблона (Y|N)>");
|
|
СтруктураФильтра.Вставить("IS_RETURN_CUSTOMER" , "<признак повторного лида (Y|N)>");
|
|
СтруктураФильтра.Вставить("LEAD_ID" , "<идентификатор привязанного лида>");
|
|
СтруктураФильтра.Вставить("MODIFY_BY_ID" , "<идентификатор автора последнего изменения>");
|
|
СтруктураФильтра.Вставить("MOVED_BY_ID" , "<идентификатор автора перемещения сделки на текущую стадию>");
|
|
СтруктураФильтра.Вставить("MOVED_TIME" , "<дата перемещения сделки на текущую стадию>");
|
|
СтруктураФильтра.Вставить("OPENED" , "<признак доступен для всех (Y|N)>");
|
|
СтруктураФильтра.Вставить("OPPORTUNITY" , "<предполагаемая сумма>");
|
|
СтруктураФильтра.Вставить("PROBABILITY" , "<вероятность>");
|
|
СтруктураФильтра.Вставить("REQUISITE_ID" , "<идентификатор реквизита>");
|
|
СтруктураФильтра.Вставить("STAGE_ID" , "<идентификатор стадии>");
|
|
СтруктураФильтра.Вставить("TITLE" , "<название сделки (можно искать по шаблону [%_])>");
|
|
СтруктураФильтра.Вставить("TYPE_ID" , "<тип сделки>");
|
|
|
|
Если Пустая Тогда
|
|
Для Каждого Поле Из СтруктураФильтра Цикл
|
|
СтруктураФильтра.Вставить(Поле.Ключ, "");
|
|
КонецЦикла;
|
|
КонецЕсли;
|
|
|
|
//@skip-check constructor-function-return-section
|
|
Возврат СтруктураФильтра;
|
|
|
|
КонецФункции
|
|
|
|
#КонецОбласти
|
|
|
|
#Область РаботаСКалендарями
|
|
|
|
// Получить список календарей
|
|
// Получает список календарей указанного владельца
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [calendar.section.get](@apidocs.bitrix24.ru/api-reference/calendar/calendar-section-get.html)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDВладельца - Строка, Число - ID владельца календаря - owner
|
|
// Тип - Строка - Тип календаря: user, group, company_calendar, location и др. - type
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrix24
|
|
Функция ПолучитьСписокКалендарей(Знач URL, Знач IDВладельца, Знач Тип, Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "calendar.section.get");
|
|
|
|
OPI_Инструменты.ДобавитьПоле("type" , Тип , "Строка", Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("ownerId", IDВладельца, "Строка", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Создать календарь
|
|
// Создает новый календарь
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [calendar.section.add](@apidocs.bitrix24.ru/api-reference/calendar/calendar-section-add.html)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// СтруктураПолей - Структура Из КлючИЗначение - Структура полей календаря. См. ПолучитьСтруктуруКалендаря - fields
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrix24
|
|
Функция СоздатьКалендарь(Знач URL, Знач СтруктураПолей, Знач Токен = "") Экспорт
|
|
|
|
OPI_ПреобразованиеТипов.ПолучитьКоллекциюКлючИЗначение(СтруктураПолей);
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "calendar.section.add");
|
|
|
|
Для Каждого Поле Из СтруктураПолей Цикл
|
|
Параметры.Вставить(Поле.Ключ, Поле.Значение);
|
|
КонецЦикла;
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Изменить календарь
|
|
// Изменяет параметры календаря
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [calendar.section.update](@apidocs.bitrix24.ru/api-reference/calendar/calendar-section-update.html)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDКалендаря - Строка, Число - ID календаря - calendar
|
|
// СтруктураПолей - Структура Из КлючИЗначение - Структура полей сделки. См. ПолучитьСтруктуруСделки - fields
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrix24
|
|
Функция ИзменитьКалендарь(Знач URL, Знач IDКалендаря, Знач СтруктураПолей, Знач Токен = "") Экспорт
|
|
|
|
OPI_ПреобразованиеТипов.ПолучитьКоллекциюКлючИЗначение(СтруктураПолей);
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "calendar.section.update");
|
|
|
|
OPI_Инструменты.ДобавитьПоле("id", IDКалендаря, "Строка", Параметры);
|
|
|
|
Для Каждого Поле Из СтруктураПолей Цикл
|
|
Параметры.Вставить(Поле.Ключ, Поле.Значение);
|
|
КонецЦикла;
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Удалить календарь
|
|
// Удаляет существующий календарь
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [calendar.section.delete](@apidocs.bitrix24.ru/api-reference/calendar/calendar-section-delete.html)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDКалендаря - Строка, Число - ID календаря - calendar
|
|
// IDВладельца - Строка, Число - ID владельца календаря - owner
|
|
// Тип - Строка - Тип календаря: user, group - type
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrix24
|
|
Функция УдалитьКалендарь(Знач URL, Знач IDКалендаря, Знач IDВладельца, Знач Тип, Знач Токен = "") Экспорт
|
|
|
|
Строка_ = "Строка";
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "calendar.section.delete");
|
|
|
|
OPI_Инструменты.ДобавитьПоле("type" , Тип , Строка_, Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("ownerId", IDВладельца, Строка_, Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("id" , IDКалендаря, Строка_, Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Получить занятость пользователей
|
|
// Получает массив событий пользователей в заданном интервале
|
|
//
|
|
// Примечание:
|
|
// Метод в документации 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_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Получить пользовательские настройки календаря
|
|
// Получает пользовательские настройки календаря текущего пользователя
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [calendar.user.settings.get](@apidocs.bitrix24.ru/api-reference/calendar/calendar-user-settings-get.html)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrix24
|
|
Функция ПолучитьПользовательскиеНастройкиКалендаря(Знач URL, Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "calendar.user.settings.get");
|
|
Ответ = OPI_ЗапросыHTTP.Get(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Установить пользовательские настройки календаря
|
|
// Устанавливает новые пользовательские настройки календаря
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [calendar.user.settings.set](@apidocs.bitrix24.ru/api-reference/calendar/calendar-user-settings-set.html)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// СтруктураНастроек - Структура Из КлючИЗначение - Структура настроек. См. ПолучитьСтруктуруПользовательскихНастроекКаледнаря - settings
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrix24
|
|
Функция УстановитьПользовательскиеНастройкиКалендаря(Знач URL, Знач СтруктураНастроек, Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "calendar.user.settings.set");
|
|
|
|
OPI_Инструменты.ДобавитьПоле("settings", СтруктураНастроек, "Коллекция", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Получить структуру настроек календаря
|
|
// Получает структуру стандартных настроек календаря
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [calendar.settings.get](@apidocs.bitrix24.ru/api-reference/calendar/calendar-settings-get.html)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrix24
|
|
Функция ПолучитьСтруктуруНастроекКалендаря(Знач URL, Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "calendar.settings.get");
|
|
Ответ = OPI_ЗапросыHTTP.Get(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Получить структуру пользовательских настроек каледнаря
|
|
// Получает пустую структуру для установки пользовательских настроек календарей
|
|
//
|
|
// Параметры:
|
|
// Пустая - Булево - Истина > структура с пустыми значениями, Ложь > в значениях будут описания полей - empty
|
|
//
|
|
// Возвращаемое значение:
|
|
// Структура Из КлючИЗначение - Структура полей
|
|
Функция ПолучитьСтруктуруПользовательскихНастроекКаледнаря(Знач Пустая = Ложь) Экспорт
|
|
|
|
OPI_ПреобразованиеТипов.ПолучитьБулево(Пустая);
|
|
|
|
СтруктураНастроек = Новый Структура;
|
|
|
|
СтруктураНастроек.Вставить("view" , "<стандартное представление: day, week, month, list>");
|
|
СтруктураНастроек.Вставить("meetSection" , "<календарь для приглашений>");
|
|
СтруктураНастроек.Вставить("crmSection" , "<календарь для CRM>");
|
|
СтруктураНастроек.Вставить("showDeclined" , "<показывать отклоненные события>");
|
|
СтруктураНастроек.Вставить("denyBusyInvitation", "<запрещать приглашать в событие, если время занято>");
|
|
СтруктураНастроек.Вставить("collapseOffHours" , "<скрывать нерабочее время: Y,N>");
|
|
СтруктураНастроек.Вставить("showWeekNumbers" , "<показывать номер недель: Y,N>");
|
|
СтруктураНастроек.Вставить("showTasks" , "<отображать задачи: Y,N>");
|
|
СтруктураНастроек.Вставить("syncTasks" , "<синхронизировать календарь задач: Y,N>");
|
|
СтруктураНастроек.Вставить("showCompletedTasks", "<отображать завершенные задачи: Y,N>");
|
|
СтруктураНастроек.Вставить("lastUsedSection" , "<календарь событий по умолчанию>");
|
|
СтруктураНастроек.Вставить("sendFromEmail" , "<E-mail для отправки почтовых приглашений>");
|
|
СтруктураНастроек.Вставить("defaultSections" , "<настройки предустановленных календарей>");
|
|
СтруктураНастроек.Вставить("syncPeriodPast" , "<количество месяцев для синхронизации в прошлом периоде>");
|
|
СтруктураНастроек.Вставить("syncPeriodFuture" , "<количество месяцев для синхронизации в будущем периоде>");
|
|
|
|
СтруктураНапоминаний = Новый Структура;
|
|
|
|
МассивНастроекНапоминаний = Новый Массив;
|
|
НастройкаНапоминания = Новый Структура;
|
|
НастройкаНапоминания.Вставить("type" , "<временной тип напоминания: min, hour, day>");
|
|
НастройкаНапоминания.Вставить("count", "<числовое значение временного промежутка>");
|
|
МассивНастроекНапоминаний.Добавить(НастройкаНапоминания);
|
|
|
|
СтруктураНапоминаний.Вставить("fullDay" , МассивНастроекНапоминаний);
|
|
СтруктураНапоминаний.Вставить("withTime", МассивНастроекНапоминаний);
|
|
|
|
СтруктураНастроек.Вставить("defaultReminders", СтруктураНапоминаний);
|
|
|
|
Если Пустая Тогда
|
|
СтруктураНастроек = OPI_Инструменты.ОчиститьКоллекциюРекурсивно(СтруктураНастроек);
|
|
КонецЕсли;
|
|
|
|
//@skip-check constructor-function-return-section
|
|
Возврат СтруктураНастроек;
|
|
|
|
КонецФункции
|
|
|
|
// Получить структуру календаря
|
|
// Возвращает структуру полей описания календаря
|
|
//
|
|
// Параметры:
|
|
// Пустая - Булево - Истина > структура с пустыми значениями, Ложь > в значениях будут описания полей - empty
|
|
//
|
|
// Возвращаемое значение:
|
|
// Структура Из КлючИЗначение - Структура полей
|
|
Функция ПолучитьСтруктуруКалендаря(Знач Пустая = Ложь) Экспорт
|
|
|
|
OPI_ПреобразованиеТипов.ПолучитьБулево(Пустая);
|
|
|
|
СтруктураКалендаря = Новый Структура;
|
|
|
|
СтруктураКалендаря.Вставить("type" , "<тип календаря: user (пользователя), group (группы)>");
|
|
СтруктураКалендаря.Вставить("ownerId" , "<идентификатор владельца>");
|
|
СтруктураКалендаря.Вставить("name" , "<название календаря>");
|
|
СтруктураКалендаря.Вставить("description", "<описание календаря>");
|
|
СтруктураКалендаря.Вставить("color" , "<цвет календаря>");
|
|
СтруктураКалендаря.Вставить("text_color" , "<цвет текста календаря>");
|
|
|
|
СтруктураЭкспорта = Новый Структура;
|
|
СтруктураЭкспорта.Вставить("ALLOW", "<булево разрешения экспорта календаря>");
|
|
СтруктураЭкспорта.Вставить("SET" , "<период экспорта: all, 3_9 (пример: 3 месяца до и 9 после)>");
|
|
|
|
СтруктураКалендаря.Вставить("export", СтруктураЭкспорта);
|
|
|
|
Если Пустая Тогда
|
|
СтруктураКалендаря = OPI_Инструменты.ОчиститьКоллекциюРекурсивно(СтруктураКалендаря);
|
|
КонецЕсли;
|
|
|
|
//@skip-check constructor-function-return-section
|
|
Возврат СтруктураКалендаря;
|
|
|
|
КонецФункции
|
|
|
|
#КонецОбласти
|
|
|
|
#Область РаботаССобытиямиКалендарей
|
|
|
|
// Создать событие календаря
|
|
// Создает новое событие календаря
|
|
//
|
|
// Примечание:
|
|
// Метод в документации 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_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Изменить событие календаря
|
|
// Изменяет данные события календаря
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [calendar.event.update](@apidocs.bitrix24.ru/api-reference/calendar/calendar-event/calendar-event-update.html)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDСобытия - Число - ID события календаря - event
|
|
// ОписаниеСобытия - Структура Из КлючИЗначение - Описание события. См. ПолучитьСтруктуруСобытияКалендаря - fields
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrix24
|
|
Функция ИзменитьСобытиеКалендаря(Знач URL, Знач IDСобытия, Знач ОписаниеСобытия, Знач Токен = "") Экспорт
|
|
|
|
OPI_ПреобразованиеТипов.ПолучитьКоллекциюКлючИЗначение(ОписаниеСобытия);
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "calendar.event.update");
|
|
OPI_Инструменты.ДобавитьПоле("id", IDСобытия, "Строка", Параметры);
|
|
|
|
Для Каждого Поле Из ОписаниеСобытия Цикл
|
|
Параметры.Вставить(Поле.Ключ, Поле.Значение);
|
|
КонецЦикла;
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Получить событие календаря
|
|
// Получает событие календаря по ID
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [calendar.event.getbyid](@apidocs.bitrix24.ru/api-reference/calendar/calendar-event/calendar-event-get-by-id.html)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDСобытия - Число - ID события для получения - event
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrix24
|
|
Функция ПолучитьСобытиеКалендаря(Знач URL, Знач IDСобытия, Знач Токен = "") Экспорт
|
|
|
|
Ответ = ОсновноеУправляющееДействие(URL, IDСобытия, "calendar.event.getbyid", Токен);
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Получить события календарей
|
|
// Получает события календарей с фильтрами или без
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [calendar.event.get](@apidocs.bitrix24.ru/api-reference/calendar/calendar-event/calendar-event-get.html)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDВладельца - Строка, Число - ID владельца календаря - owner
|
|
// Тип - Строка - Тип календаря: user, group, company_calendar - type
|
|
// Фильтр - Структура Из КлючИЗначение - Фильтр событий. См. ПолучитьСтруктуруФильтраСобытийКалендарей - filter
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrix24
|
|
Функция ПолучитьСобытияКалендарей(Знач URL, Знач IDВладельца, Знач Тип, Знач Фильтр = "", Знач Токен = "") Экспорт
|
|
|
|
Строка_ = "Строка";
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "calendar.event.get");
|
|
|
|
OPI_Инструменты.ДобавитьПоле("type" , Тип , Строка_, Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("ownerId", IDВладельца, Строка_, Параметры);
|
|
|
|
Если ЗначениеЗаполнено(Фильтр) Тогда
|
|
|
|
OPI_ПреобразованиеТипов.ПолучитьКоллекциюКлючИЗначение(Фильтр);
|
|
|
|
Для Каждого Элемент Из Фильтр Цикл
|
|
|
|
ТекущийКлюч = Строка(Элемент.Ключ);
|
|
ТекущееЗначение = Элемент.Значение;
|
|
|
|
Если ТекущийКлюч = "section" Тогда
|
|
|
|
OPI_ПреобразованиеТипов.ПолучитьМассив(ТекущееЗначение);
|
|
|
|
ИначеЕсли ТекущийКлюч = "from" Или ТекущийКлюч = "to" Тогда
|
|
|
|
OPI_ПреобразованиеТипов.ПолучитьДату(ТекущееЗначение);
|
|
ТекущееЗначение = Формат(ТекущееЗначение, "ДФ=yyyy-MM-dd");
|
|
|
|
Иначе
|
|
Продолжить;
|
|
КонецЕсли;
|
|
|
|
Параметры.Вставить(ТекущийКлюч, ТекущееЗначение);
|
|
|
|
КонецЦикла;
|
|
|
|
КонецЕсли;
|
|
|
|
Ответ = OPI_ЗапросыHTTP.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, IDСобытия, "calendar.event.delete", Токен);
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Получить статус участия пользователя
|
|
// Получает статус участия в событии для текущего пользователя
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [calendar.meeting.status.get](@apidocs.bitrix24.ru/api-reference/calendar/calendar-event/calendar-meeting-status-get.html)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDСобытия - Число - ID события календаря - event
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrix24
|
|
Функция ПолучитьСтатусУчастияПользователя(Знач URL, Знач IDСобытия, Знач Токен = "") Экспорт
|
|
|
|
Ответ = ОсновноеУправляющееДействие(URL, IDСобытия, "calendar.meeting.status.get", Токен, "eventId");
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Установить статус участия пользователя
|
|
// Устанавливает статус участия в событии для текущего пользователя
|
|
//
|
|
// Примечание:
|
|
// Метод в документации API: [calendar.meeting.status.set](@apidocs.bitrix24.ru/api-reference/calendar/calendar-event/calendar-meeting-status-set.html)
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
|
// IDСобытия - Число - ID события календаря - event
|
|
// Статус - Строка - Статус участия: Y (согласен), N (отказался), Q (не ответил) - status
|
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrix24
|
|
Функция УстановитьСтатусУчастияПользователя(Знач URL, Знач IDСобытия, Знач Статус, Знач Токен = "") Экспорт
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "calendar.meeting.status.set");
|
|
|
|
OPI_Инструменты.ДобавитьПоле("eventId", IDСобытия, "Строка", Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("status" , Статус , "Строка", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
// Получить структуру события календаря
|
|
// Возвращает структуру полей события календаря
|
|
//
|
|
// Параметры:
|
|
// Пустая - Булево - Истина > структура с пустыми значениями, Ложь > в значениях будут описания полей - empty
|
|
//
|
|
// Возвращаемое значение:
|
|
// Структура Из КлючИЗначение - Структура полей
|
|
Функция ПолучитьСтруктуруСобытияКалендаря(Знач Пустая = Ложь) Экспорт
|
|
|
|
OPI_ПреобразованиеТипов.ПолучитьБулево(Пустая);
|
|
|
|
СтруктураСобытия = Новый Структура;
|
|
|
|
СтруктураСобытия.Вставить("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
|
|
Возврат СтруктураСобытия;
|
|
|
|
КонецФункции
|
|
|
|
// Получить структуру фильтра событий календарей
|
|
// Получает структуру фильтра для функции ПолучитьСобытияКалендарей
|
|
//
|
|
// Параметры:
|
|
// Пустая - Булево - Истина > структура с пустыми значениями, Ложь > в значениях будут описания полей - empty
|
|
//
|
|
// Возвращаемое значение:
|
|
// Структура Из КлючИЗначение - Структура полей
|
|
Функция ПолучитьСтруктуруФильтраСобытийКалендарей(Знач Пустая = Ложь) Экспорт
|
|
|
|
OPI_ПреобразованиеТипов.ПолучитьБулево(Пустая);
|
|
|
|
СтруктураФильтра = Новый Структура;
|
|
|
|
СтруктураФильтра.Вставить("from" , "<дата начала выборки. 3 месяца до текущепо умолчанию>");
|
|
СтруктураФильтра.Вставить("to" , "<дата окончания выборки. 3 месяца после текущей по умолчанию>");
|
|
СтруктураФильтра.Вставить("section", "<массив идентификаторов календарей>");
|
|
|
|
Если Пустая Тогда
|
|
СтруктураФильтра = OPI_Инструменты.ОчиститьКоллекциюРекурсивно(СтруктураФильтра);
|
|
КонецЕсли;
|
|
|
|
//@skip-check constructor-function-return-section
|
|
Возврат СтруктураФильтра;
|
|
|
|
КонецФункции
|
|
|
|
#КонецОбласти
|
|
|
|
#КонецОбласти
|
|
|
|
#Область СлужебныеПроцедурыИФункции
|
|
|
|
Процедура ПривестиБулево(Значение)
|
|
|
|
OPI_ПреобразованиеТипов.ПолучитьБулево(Значение);
|
|
Значение = ?(Значение, "Y", "N");
|
|
|
|
КонецПроцедуры
|
|
|
|
Функция НормализоватьАвторизацию(URL, Знач Токен, Знач Метод = "")
|
|
|
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(URL);
|
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(Токен);
|
|
|
|
Параметры = Новый Структура;
|
|
ЭтоАвторизацияТокеном = ЗначениеЗаполнено(Токен);
|
|
|
|
МассивЛишнихЭлементов = Новый Массив;
|
|
МассивЛишнихЭлементов.Добавить("https://");
|
|
МассивЛишнихЭлементов.Добавить("http://");
|
|
МассивЛишнихЭлементов.Добавить("www.");
|
|
|
|
Для Каждого УдаляемыйЭлемент Из МассивЛишнихЭлементов Цикл
|
|
URL = СтрЗаменить(URL, УдаляемыйЭлемент, "");
|
|
КонецЦикла;
|
|
|
|
URL = СокрЛП(URL);
|
|
|
|
Если Не СтрЗаканчиваетсяНа(URL, "/") Тогда
|
|
URL = URL + "/";
|
|
КонецЕсли;
|
|
|
|
Если ЭтоАвторизацияТокеном Тогда
|
|
|
|
Если Не СтрЗаканчиваетсяНа(URL, "rest/") Тогда
|
|
URL = URL + "rest/";
|
|
КонецЕсли;
|
|
|
|
Параметры.Вставить("auth", Токен);
|
|
|
|
КонецЕсли;
|
|
|
|
Если ЗначениеЗаполнено(Метод) Тогда
|
|
URL = URL + СокрЛП(Метод);
|
|
КонецЕсли;
|
|
|
|
Возврат Параметры;
|
|
|
|
КонецФункции
|
|
|
|
Функция НормализоватьФайлы(Знач Файлы)
|
|
|
|
НормализованныеФайлы = Новый Массив;
|
|
|
|
Если ТипЗнч(Файлы) = Тип("Соответствие") Тогда
|
|
|
|
Для Каждого Файл Из Файлы Цикл
|
|
|
|
ТекущийМассив = Новый Массив;
|
|
ТекущийФайл = Файл.Значение;
|
|
ТекущееИмя = Файл.Ключ;
|
|
|
|
OPI_ПреобразованиеТипов.ПолучитьДвоичныеДанные(ТекущийФайл);
|
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(ТекущееИмя);
|
|
|
|
ТекущийМассив.Добавить(ТекущееИмя);
|
|
ТекущийМассив.Добавить(Base64Строка(ТекущийФайл));
|
|
|
|
НормализованныеФайлы.Добавить(ТекущийМассив);
|
|
|
|
КонецЦикла;
|
|
|
|
КонецЕсли;
|
|
|
|
Возврат НормализованныеФайлы;
|
|
|
|
КонецФункции
|
|
|
|
Функция ОсновноеУправляющееДействие(Знач URL, Знач IDОбъекта, Знач Метод, Знач Токен = "", Знач ПолеID = "id")
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, Метод);
|
|
OPI_Инструменты.ДобавитьПоле(ПолеID, IDОбъекта, "Строка", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
Функция УправлениеЭлементомЧеклиста(Знач URL, Знач IDЗадачи, Знач IDЭлемента, Знач Метод, Знач Токен = "")
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, Метод);
|
|
|
|
OPI_Инструменты.ДобавитьПоле("TASKID", IDЗадачи , "Строка", Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("ITEMID", IDЭлемента, "Строка", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
Функция УправлениеЗвукомЧата(Знач URL, Знач IDЧата, Знач Выключить, Знач Токен = "")
|
|
|
|
ПривестиБулево(Выключить);
|
|
|
|
Параметры = НормализоватьАвторизацию(URL, Токен, "im.chat.mute");
|
|
|
|
OPI_Инструменты.ДобавитьПоле("CHAT_ID", IDЧата , "Строка", Параметры);
|
|
OPI_Инструменты.ДобавитьПоле("MUTE" , Выключить, "Строка", Параметры);
|
|
|
|
Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры);
|
|
|
|
Возврат Ответ;
|
|
|
|
КонецФункции
|
|
|
|
#КонецОбласти
|