1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2024-12-27 02:43:54 +02:00

B24: Поиск пользователей

This commit is contained in:
Anton 2024-07-29 20:21:13 +03:00
parent 723651195a
commit 905e4d7871
7 changed files with 4751 additions and 4559 deletions

File diff suppressed because it is too large Load Diff

View File

@ -3853,6 +3853,31 @@
КонецФункции
// Найти пользователей
// Получает список пользователей по заданному фильтру
//
// Примечание:
// Метод в документации 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_Инструменты.Post(URL, Параметры);
Возврат Ответ;
КонецФункции
// Получить стурктуру пользователя
// Получает структурау полей для создания или изменения пользователя
//
@ -3875,6 +3900,36 @@
КонецФункции
// Получить структуру фильтра пользователей
// Возвращает структуру полей для фильтрации пользователей в методе НайтиПользователей
//
// Параметры:
// Пустая - Булево - Истина > структура с пустыми значениями, Ложь > в значениях будут описания полей - empty
//
// Возвращаемое значение:
// Структура Из КлючИЗначение - Структура полей
Функция ПолучитьСтруктуруФильтраПользователей(Знач Пустая = Ложь) Экспорт
OPI_ПреобразованиеТипов.ПолучитьБулево(Пустая);
СтруктураФильтра = Новый Структура;
СтруктураФильтра.Вставить("NAME" , "<имя>");
СтруктураФильтра.Вставить("LAST_NAME" , "<фамилия>");
СтруктураФильтра.Вставить("WORK_POSITION" , "<должность>");
СтруктураФильтра.Вставить("UF_DEPARTMENT_NAME", "<название подразделения>");
СтруктураФильтра.Вставить("USER_TYPE" , "<тип: employee, extranet, email>");
Если Пустая Тогда
Для Каждого Фильтр Из СтруктураФильтра Цикл
Фильтр.Значение = "";
КонецЦикла;
КонецЕсли;
//@skip-check constructor-function-return-section
Возврат СтруктураФильтра;
КонецФункции
#КонецОбласти
#КонецОбласти

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

@ -3213,6 +3213,7 @@
Bitrix24_ПолучитьТекущегоПользователя(ПараметрыТеста);
Bitrix24_ПолучитьСтурктуруПользователя(ПараметрыТеста);
Bitrix24_СоздатьПользователя(ПараметрыТеста);
Bitrix24_НайтиПользователей(ПараметрыТеста);
Bitrix24_ИзменитьПользователя(ПараметрыТеста);
Bitrix24_ПолучитьПользователя(ПараметрыТеста);
Bitrix24_ИзменитьСтатусПользователя(ПараметрыТеста);
@ -10001,6 +10002,39 @@
КонецПроцедуры
Процедура Bitrix24_НайтиПользователей(ПараметрыФункции)
URL = ПараметрыФункции["Bitrix24_URL"];
СтруктураФильтра = Новый Структура;
СтруктураФильтра.Вставить("NAME" , "Виталий");
СтруктураФильтра.Вставить("LAST_NAME" , "Альпака");
СтруктураФильтра.Вставить("WORK_POSITION" , "DevOps инженер");
СтруктураФильтра.Вставить("UF_DEPARTMENT_NAME", "Отдел маркетинга");
СтруктураФильтра.Вставить("USER_TYPE" , "employee");
Результат = OPI_Bitrix24.НайтиПользователей(URL, СтруктураФильтра);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "НайтиПользователей (хук)", "Bitrix24");
Проверка_БитриксМассив(Результат); // SKIP
URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
СтруктураФильтра = Новый Структура;
СтруктураФильтра.Вставить("UF_DEPARTMENT_NAME", "Битрикс");
Результат = OPI_Bitrix24.НайтиПользователей(URL, СтруктураФильтра, Токен);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "НайтиПользователей", "Bitrix24");
Проверка_БитриксМассив(Результат);
КонецПроцедуры
#КонецОбласти
#Область YandexDisk

View File

@ -3853,6 +3853,31 @@
КонецФункции
// Найти пользователей
// Получает список пользователей по заданному фильтру
//
// Примечание:
// Метод в документации 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_Инструменты.Post(URL, Параметры);
Возврат Ответ;
КонецФункции
// Получить стурктуру пользователя
// Получает структурау полей для создания или изменения пользователя
//
@ -3875,6 +3900,36 @@
КонецФункции
// Получить структуру фильтра пользователей
// Возвращает структуру полей для фильтрации пользователей в методе НайтиПользователей
//
// Параметры:
// Пустая - Булево - Истина > структура с пустыми значениями, Ложь > в значениях будут описания полей - empty
//
// Возвращаемое значение:
// Структура Из КлючИЗначение - Структура полей
Функция ПолучитьСтруктуруФильтраПользователей(Знач Пустая = Ложь) Экспорт
OPI_ПреобразованиеТипов.ПолучитьБулево(Пустая);
СтруктураФильтра = Новый Структура;
СтруктураФильтра.Вставить("NAME" , "<имя>");
СтруктураФильтра.Вставить("LAST_NAME" , "<фамилия>");
СтруктураФильтра.Вставить("WORK_POSITION" , "<должность>");
СтруктураФильтра.Вставить("UF_DEPARTMENT_NAME", "<название подразделения>");
СтруктураФильтра.Вставить("USER_TYPE" , "<тип: employee, extranet, email>");
Если Пустая Тогда
Для Каждого Фильтр Из СтруктураФильтра Цикл
Фильтр.Значение = "";
КонецЦикла;
КонецЕсли;
//@skip-check constructor-function-return-section
Возврат СтруктураФильтра;
КонецФункции
#КонецОбласти
#КонецОбласти

View File

@ -3213,6 +3213,7 @@
Bitrix24_ПолучитьТекущегоПользователя(ПараметрыТеста);
Bitrix24_ПолучитьСтурктуруПользователя(ПараметрыТеста);
Bitrix24_СоздатьПользователя(ПараметрыТеста);
Bitrix24_НайтиПользователей(ПараметрыТеста);
Bitrix24_ИзменитьПользователя(ПараметрыТеста);
Bitrix24_ПолучитьПользователя(ПараметрыТеста);
Bitrix24_ИзменитьСтатусПользователя(ПараметрыТеста);
@ -10001,6 +10002,39 @@
КонецПроцедуры
Процедура Bitrix24_НайтиПользователей(ПараметрыФункции)
URL = ПараметрыФункции["Bitrix24_URL"];
СтруктураФильтра = Новый Структура;
СтруктураФильтра.Вставить("NAME" , "Виталий");
СтруктураФильтра.Вставить("LAST_NAME" , "Альпака");
СтруктураФильтра.Вставить("WORK_POSITION" , "DevOps инженер");
СтруктураФильтра.Вставить("UF_DEPARTMENT_NAME", "Отдел маркетинга");
СтруктураФильтра.Вставить("USER_TYPE" , "employee");
Результат = OPI_Bitrix24.НайтиПользователей(URL, СтруктураФильтра);
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "НайтиПользователей (хук)", "Bitrix24");
Проверка_БитриксМассив(Результат); // SKIP
URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
СтруктураФильтра = Новый Структура;
СтруктураФильтра.Вставить("UF_DEPARTMENT_NAME", "Битрикс");
Результат = OPI_Bitrix24.НайтиПользователей(URL, СтруктураФильтра, Токен);
// END
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "НайтиПользователей", "Bitrix24");
Проверка_БитриксМассив(Результат);
КонецПроцедуры
#КонецОбласти
#Область YandexDisk