mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-06-02 23:27:50 +02:00
B24: Работа с пользователями
This commit is contained in:
parent
e370666aa4
commit
65d34afe7f
File diff suppressed because it is too large
Load Diff
@ -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, Параметры);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
@ -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>
|
||||
|
@ -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
|
||||
|
@ -233,6 +233,7 @@
|
||||
НовыйТест(ТаблицаТестов, "Б24_РаботаСУведомлениями" , "Работа с уведомлениями" , Битрикс);
|
||||
НовыйТест(ТаблицаТестов, "Б24_РаботаСПолямиЗадач" , "Работа с польз. полями задач" , Битрикс);
|
||||
НовыйТест(ТаблицаТестов, "Б24_УправлениеПодразделениями" , "Управление подразделениями" , Битрикс);
|
||||
НовыйТест(ТаблицаТестов, "Б24_УправлениеПользователями" , "Управление пользователями" , Битрикс);
|
||||
|
||||
Возврат ТаблицаТестов;
|
||||
|
||||
@ -425,9 +426,9 @@
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьОбщийМодуль(Знач Имя)
|
||||
|
||||
|
||||
Модуль = Вычислить(Имя);
|
||||
|
||||
|
||||
Возврат Модуль;
|
||||
КонецФункции
|
||||
|
||||
|
@ -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, Параметры);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
@ -233,6 +233,7 @@
|
||||
НовыйТест(ТаблицаТестов, "Б24_РаботаСУведомлениями" , "Работа с уведомлениями" , Битрикс);
|
||||
НовыйТест(ТаблицаТестов, "Б24_РаботаСПолямиЗадач" , "Работа с польз. полями задач" , Битрикс);
|
||||
НовыйТест(ТаблицаТестов, "Б24_УправлениеПодразделениями" , "Управление подразделениями" , Битрикс);
|
||||
НовыйТест(ТаблицаТестов, "Б24_УправлениеПользователями" , "Управление пользователями" , Битрикс);
|
||||
|
||||
Возврат ТаблицаТестов;
|
||||
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user