1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2025-06-02 23:27:50 +02:00

B24: Работа с пользователями

This commit is contained in:
Anton 2024-07-28 17:58:18 +03:00
parent e370666aa4
commit 65d34afe7f
8 changed files with 5298 additions and 4551 deletions

File diff suppressed because it is too large Load Diff

View File

@ -3720,6 +3720,163 @@
#КонецОбласти
#Область УправлениеПользователями
// Получить текущего пользователя
// Получает информацию о текущем пользователе
//
// Примечание:
// Метод в документации 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_Инструменты.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_Инструменты.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, Знач СтруктураПолей, Знач Токен = "") Экспорт
Параметры = НормализоватьАвторизацию(URL, Токен, "user.add");
Для Каждого Поле Из СтруктураПолей Цикл
Параметры.Вставить(Поле.Ключ, Поле.Значение);
КонецЦикла;
Ответ = OPI_Инструменты.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Пользователя, Знач СтруктураПолей, Знач Токен = "") Экспорт
Параметры = НормализоватьАвторизацию(URL, Токен, "user.update");
Для Каждого Поле Из СтруктураПолей Цикл
Параметры.Вставить(Поле.Ключ, Поле.Значение);
КонецЦикла;
OPI_Инструменты.ДобавитьПоле("ID", IDПользователя, "Строка", Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры);
Возврат Ответ;
КонецФункции
// Изменить статус пользователя
// Активирует или деактивирует (увольняет) выбранного пользователя
//
// Параметры:
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
// IDПользователя - Строка, Число - ID пользователя для изменения - userid
// Уволить - Булево - Истина > Деактивация, Ложь > Активация - fire
// Токен - Строка - Токен авторизации, если используется не вебхук - token
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
Функция ИзменитьСтатусПользователя(Знач URL, Знач IDПользователя, Знач Уволить = Истина, Знач Токен = "") Экспорт
Активен = Не Уволить;
ПривестиБулево(Активен);
Параметры = Новый Структура("ACTIVE", Активен);
Ответ = ИзменитьПользователя(URL, IDПользователя, Параметры, Токен);
Возврат Ответ;
КонецФункции
// Получить стурктуру пользователя
// Получает структурау полей для создания или изменения пользователя
//
// Примечание:
// Метод в документации 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_Инструменты.Post(URL, Параметры);
Возврат Ответ;
КонецФункции
#КонецОбласти
#КонецОбласти
#Область СлужебныеПроцедурыИФункции

View File

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

View File

@ -3203,6 +3203,22 @@
КонецПроцедуры
Процедура Б24_УправлениеПользователями() Экспорт
ПараметрыТеста = Новый Структура;
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_URL" , ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_Domain", ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_Token" , ПараметрыТеста);
Bitrix24_ПолучитьТекущегоПользователя(ПараметрыТеста);
Bitrix24_ПолучитьСтурктуруПользователя(ПараметрыТеста);
Bitrix24_СоздатьПользователя(ПараметрыТеста);
Bitrix24_ИзменитьПользователя(ПараметрыТеста);
Bitrix24_ПолучитьПользователя(ПараметрыТеста);
Bitrix24_ИзменитьСтатусПользователя(ПараметрыТеста);
КонецПроцедуры
#КонецОбласти
#КонецОбласти
@ -9805,6 +9821,186 @@
КонецПроцедуры
Процедура Bitrix24_ПолучитьТекущегоПользователя(ПараметрыФункции)
URL = ПараметрыФункции["Bitrix24_URL"];
Результат = OPI_Bitrix24.ПолучитьТекущегоПользователя(URL);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьТекущегоПользователя (хук)", "Bitrix24");
Проверка_БитриксОбъект(Результат); // SKIP
URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
Результат = OPI_Bitrix24.ПолучитьТекущегоПользователя(URL, Токен);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьТекущегоПользователя", "Bitrix24");
Проверка_БитриксОбъект(Результат);
КонецПроцедуры
Процедура Bitrix24_ПолучитьСтурктуруПользователя(ПараметрыФункции)
URL = ПараметрыФункции["Bitrix24_URL"];
Результат = OPI_Bitrix24.ПолучитьСтурктуруПользователя(URL);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтурктуруПользователя (хук)", "Bitrix24");
Проверка_БитриксОбъект(Результат); // SKIP
URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
Результат = OPI_Bitrix24.ПолучитьСтурктуруПользователя(URL, Токен);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтурктуруПользователя", "Bitrix24");
Проверка_БитриксОбъект(Результат);
КонецПроцедуры
Процедура Bitrix24_СоздатьПользователя(ПараметрыФункции)
URL = ПараметрыФункции["Bitrix24_URL"];
Почта = Строка(Новый УникальныйИдентификатор) + "@exepmple.org";
// Полную структуру можно получить функцией ПолучитьСтурктуруПользователя
СтруктураПользователя = Новый Структура;
СтруктураПользователя.Вставить("EMAIL" , Почта);
СтруктураПользователя.Вставить("UF_DEPARTMENT", 7);
Результат = OPI_Bitrix24.СоздатьПользователя(URL, СтруктураПользователя);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьПользователя (хук)", "Bitrix24");
Проверка_БитриксЧисло(Результат); // SKIP
IDПользователя = Результат["result"]; // SKIP
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_HookUserID", IDПользователя); // SKIP
ПараметрыФункции.Вставить("Bitrix24_HookUserID", IDПользователя); // SKIP
URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
Почта = Строка(Новый УникальныйИдентификатор) + "@exepmple.org";
СтруктураПользователя = Новый Структура;
СтруктураПользователя.Вставить("EMAIL" , Почта);
СтруктураПользователя.Вставить("NAME" , "Виталий");
СтруктураПользователя.Вставить("LAST_NAME" , "Альпака");
СтруктураПользователя.Вставить("PERSONAL_MOBILE", "88003553535");
СтруктураПользователя.Вставить("UF_DEPARTMENT" , 1);
Результат = OPI_Bitrix24.СоздатьПользователя(URL, СтруктураПользователя, Токен);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьПользователя", "Bitrix24");
Проверка_БитриксЧисло(Результат);
IDПользователя = Результат["result"];
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_UserID", IDПользователя);
ПараметрыФункции.Вставить("Bitrix24_UserID", IDПользователя);
КонецПроцедуры
Процедура Bitrix24_ИзменитьПользователя(ПараметрыФункции)
URL = ПараметрыФункции["Bitrix24_URL"];
IDПользователя = ПараметрыФункции["Bitrix24_HookUserID"];
Почта = Строка(Новый УникальныйИдентификатор) + "@exepmple.org";
// Полную структуру можно получить функцией ПолучитьСтурктуруПользователя
СтруктураПользователя = Новый Структура;
СтруктураПользователя.Вставить("EMAIL" , Почта);
СтруктураПользователя.Вставить("UF_DEPARTMENT", 1);
Результат = OPI_Bitrix24.ИзменитьПользователя(URL, IDПользователя, СтруктураПользователя);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьПользователя (хук)", "Bitrix24");
Проверка_БитриксИстина(Результат); // SKIP
URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
IDПользователя = ПараметрыФункции["Bitrix24_UserID"];
Почта = Строка(Новый УникальныйИдентификатор) + "@exepmple.org";
СтруктураПользователя = Новый Структура;
СтруктураПользователя.Вставить("EMAIL" , Почта);
СтруктураПользователя.Вставить("NAME" , "Олег");
СтруктураПользователя.Вставить("LAST_NAME" , "Лама");
СтруктураПользователя.Вставить("UF_DEPARTMENT" , 7);
Результат = OPI_Bitrix24.ИзменитьПользователя(URL, IDПользователя, СтруктураПользователя, Токен);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьПользователя", "Bitrix24");
Проверка_БитриксИстина(Результат);
КонецПроцедуры
Процедура Bitrix24_ИзменитьСтатусПользователя(ПараметрыФункции)
URL = ПараметрыФункции["Bitrix24_URL"];
IDПользователя = ПараметрыФункции["Bitrix24_HookUserID"];
Результат = OPI_Bitrix24.ИзменитьСтатусПользователя(URL, IDПользователя, Истина);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьСтатусПользователя (хук)", "Bitrix24");
Проверка_БитриксИстина(Результат); // SKIP
URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
IDПользователя = ПараметрыФункции["Bitrix24_UserID"];
Результат = OPI_Bitrix24.ИзменитьСтатусПользователя(URL, IDПользователя, Истина, Токен);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьСтатусПользователя", "Bitrix24");
Проверка_БитриксИстина(Результат);
КонецПроцедуры
Процедура Bitrix24_ПолучитьПользователя(ПараметрыФункции)
URL = ПараметрыФункции["Bitrix24_URL"];
IDПользователя = ПараметрыФункции["Bitrix24_HookUserID"];
Результат = OPI_Bitrix24.ПолучитьПользователя(URL, IDПользователя);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьПользователя (хук)", "Bitrix24");
Проверка_БитриксМассив(Результат); // SKIP
URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
IDПользователя = ПараметрыФункции["Bitrix24_UserID"];
Результат = OPI_Bitrix24.ПолучитьПользователя(URL, IDПользователя, Токен);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьПользователя", "Bitrix24");
Проверка_БитриксМассив(Результат);
КонецПроцедуры
#КонецОбласти
#Область YandexDisk

View File

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

View File

@ -1,4 +1,4 @@
// OneScript: ./OInt/core/Modules/OPI_Bitrix24.os
// OneScript: ./OInt/core/Modules/OPI_Bitrix24.os
// Lib: Bitrix24
// CLI: bitrix24
@ -3720,6 +3720,163 @@
#КонецОбласти
#Область УправлениеПользователями
// Получить текущего пользователя
// Получает информацию о текущем пользователе
//
// Примечание:
// Метод в документации 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_Инструменты.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_Инструменты.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, Знач СтруктураПолей, Знач Токен = "") Экспорт
Параметры = НормализоватьАвторизацию(URL, Токен, "user.add");
Для Каждого Поле Из СтруктураПолей Цикл
Параметры.Вставить(Поле.Ключ, Поле.Значение);
КонецЦикла;
Ответ = OPI_Инструменты.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Пользователя, Знач СтруктураПолей, Знач Токен = "") Экспорт
Параметры = НормализоватьАвторизацию(URL, Токен, "user.update");
Для Каждого Поле Из СтруктураПолей Цикл
Параметры.Вставить(Поле.Ключ, Поле.Значение);
КонецЦикла;
OPI_Инструменты.ДобавитьПоле("ID", IDПользователя, "Строка", Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры);
Возврат Ответ;
КонецФункции
// Изменить статус пользователя
// Активирует или деактивирует (увольняет) выбранного пользователя
//
// Параметры:
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
// IDПользователя - Строка, Число - ID пользователя для изменения - userid
// Уволить - Булево - Истина > Деактивация, Ложь > Активация - fire
// Токен - Строка - Токен авторизации, если используется не вебхук - token
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
Функция ИзменитьСтатусПользователя(Знач URL, Знач IDПользователя, Знач Уволить = Истина, Знач Токен = "") Экспорт
Активен = Не Уволить;
ПривестиБулево(Активен);
Параметры = Новый Структура("ACTIVE", Активен);
Ответ = ИзменитьПользователя(URL, IDПользователя, Параметры, Токен);
Возврат Ответ;
КонецФункции
// Получить стурктуру пользователя
// Получает структурау полей для создания или изменения пользователя
//
// Примечание:
// Метод в документации 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_Инструменты.Post(URL, Параметры);
Возврат Ответ;
КонецФункции
#КонецОбласти
#КонецОбласти
#Область СлужебныеПроцедурыИФункции

View File

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

View File

@ -1,4 +1,4 @@
// OneScript: ./OInt/tests/Modules/internal/OPI_Тесты.os
// OneScript: ./OInt/tests/Modules/internal/OPI_Тесты.os
// MIT License
@ -3203,6 +3203,22 @@
КонецПроцедуры
Процедура Б24_УправлениеПользователями() Экспорт
ПараметрыТеста = Новый Структура;
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_URL" , ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_Domain", ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_Token" , ПараметрыТеста);
Bitrix24_ПолучитьТекущегоПользователя(ПараметрыТеста);
Bitrix24_ПолучитьСтурктуруПользователя(ПараметрыТеста);
Bitrix24_СоздатьПользователя(ПараметрыТеста);
Bitrix24_ИзменитьПользователя(ПараметрыТеста);
Bitrix24_ПолучитьПользователя(ПараметрыТеста);
Bitrix24_ИзменитьСтатусПользователя(ПараметрыТеста);
КонецПроцедуры
#КонецОбласти
#КонецОбласти
@ -9805,6 +9821,186 @@
КонецПроцедуры
Процедура Bitrix24_ПолучитьТекущегоПользователя(ПараметрыФункции)
URL = ПараметрыФункции["Bitrix24_URL"];
Результат = OPI_Bitrix24.ПолучитьТекущегоПользователя(URL);
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьТекущегоПользователя (хук)", "Bitrix24");
Проверка_БитриксОбъект(Результат); // SKIP
URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
Результат = OPI_Bitrix24.ПолучитьТекущегоПользователя(URL, Токен);
// END
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьТекущегоПользователя", "Bitrix24");
Проверка_БитриксОбъект(Результат);
КонецПроцедуры
Процедура Bitrix24_ПолучитьСтурктуруПользователя(ПараметрыФункции)
URL = ПараметрыФункции["Bitrix24_URL"];
Результат = OPI_Bitrix24.ПолучитьСтурктуруПользователя(URL);
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтурктуруПользователя (хук)", "Bitrix24");
Проверка_БитриксОбъект(Результат); // SKIP
URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
Результат = OPI_Bitrix24.ПолучитьСтурктуруПользователя(URL, Токен);
// END
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтурктуруПользователя", "Bitrix24");
Проверка_БитриксОбъект(Результат);
КонецПроцедуры
Процедура Bitrix24_СоздатьПользователя(ПараметрыФункции)
URL = ПараметрыФункции["Bitrix24_URL"];
Почта = Строка(Новый УникальныйИдентификатор) + "@exepmple.org";
// Полную структуру можно получить функцией ПолучитьСтурктуруПользователя
СтруктураПользователя = Новый Структура;
СтруктураПользователя.Вставить("EMAIL" , Почта);
СтруктураПользователя.Вставить("UF_DEPARTMENT", 7);
Результат = OPI_Bitrix24.СоздатьПользователя(URL, СтруктураПользователя);
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьПользователя (хук)", "Bitrix24");
Проверка_БитриксЧисло(Результат); // SKIP
IDПользователя = Результат["result"]; // SKIP
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_HookUserID", IDПользователя); // SKIP
ПараметрыФункции.Вставить("Bitrix24_HookUserID", IDПользователя); // SKIP
URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
Почта = Строка(Новый УникальныйИдентификатор) + "@exepmple.org";
СтруктураПользователя = Новый Структура;
СтруктураПользователя.Вставить("EMAIL" , Почта);
СтруктураПользователя.Вставить("NAME" , "Виталий");
СтруктураПользователя.Вставить("LAST_NAME" , "Альпака");
СтруктураПользователя.Вставить("PERSONAL_MOBILE", "88003553535");
СтруктураПользователя.Вставить("UF_DEPARTMENT" , 1);
Результат = OPI_Bitrix24.СоздатьПользователя(URL, СтруктураПользователя, Токен);
// END
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьПользователя", "Bitrix24");
Проверка_БитриксЧисло(Результат);
IDПользователя = Результат["result"];
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_UserID", IDПользователя);
ПараметрыФункции.Вставить("Bitrix24_UserID", IDПользователя);
КонецПроцедуры
Процедура Bitrix24_ИзменитьПользователя(ПараметрыФункции)
URL = ПараметрыФункции["Bitrix24_URL"];
IDПользователя = ПараметрыФункции["Bitrix24_HookUserID"];
Почта = Строка(Новый УникальныйИдентификатор) + "@exepmple.org";
// Полную структуру можно получить функцией ПолучитьСтурктуруПользователя
СтруктураПользователя = Новый Структура;
СтруктураПользователя.Вставить("EMAIL" , Почта);
СтруктураПользователя.Вставить("UF_DEPARTMENT", 1);
Результат = OPI_Bitrix24.ИзменитьПользователя(URL, IDПользователя, СтруктураПользователя);
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьПользователя (хук)", "Bitrix24");
Проверка_БитриксИстина(Результат); // SKIP
URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
IDПользователя = ПараметрыФункции["Bitrix24_UserID"];
Почта = Строка(Новый УникальныйИдентификатор) + "@exepmple.org";
СтруктураПользователя = Новый Структура;
СтруктураПользователя.Вставить("EMAIL" , Почта);
СтруктураПользователя.Вставить("NAME" , "Олег");
СтруктураПользователя.Вставить("LAST_NAME" , "Лама");
СтруктураПользователя.Вставить("UF_DEPARTMENT" , 7);
Результат = OPI_Bitrix24.ИзменитьПользователя(URL, IDПользователя, СтруктураПользователя, Токен);
// END
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьПользователя", "Bitrix24");
Проверка_БитриксИстина(Результат);
КонецПроцедуры
Процедура Bitrix24_ИзменитьСтатусПользователя(ПараметрыФункции)
URL = ПараметрыФункции["Bitrix24_URL"];
IDПользователя = ПараметрыФункции["Bitrix24_HookUserID"];
Результат = OPI_Bitrix24.ИзменитьСтатусПользователя(URL, IDПользователя, Истина);
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьСтатусПользователя (хук)", "Bitrix24");
Проверка_БитриксИстина(Результат); // SKIP
URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
IDПользователя = ПараметрыФункции["Bitrix24_UserID"];
Результат = OPI_Bitrix24.ИзменитьСтатусПользователя(URL, IDПользователя, Истина, Токен);
// END
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьСтатусПользователя", "Bitrix24");
Проверка_БитриксИстина(Результат);
КонецПроцедуры
Процедура Bitrix24_ПолучитьПользователя(ПараметрыФункции)
URL = ПараметрыФункции["Bitrix24_URL"];
IDПользователя = ПараметрыФункции["Bitrix24_HookUserID"];
Результат = OPI_Bitrix24.ПолучитьПользователя(URL, IDПользователя);
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьПользователя (хук)", "Bitrix24");
Проверка_БитриксМассив(Результат); // SKIP
URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
IDПользователя = ПараметрыФункции["Bitrix24_UserID"];
Результат = OPI_Bitrix24.ПолучитьПользователя(URL, IDПользователя, Токен);
// END
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьПользователя", "Bitrix24");
Проверка_БитриксМассив(Результат);
КонецПроцедуры
#КонецОбласти
#Область YandexDisk