refactor(bitra-patch): email через РегистрСведений.КонтактнаяИнформация БСП (1 запрос, без ПолучитьОбъект)
This commit is contained in:
@@ -129,44 +129,6 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Извлекает email из ТЧ КонтактнаяИнформация пользователя.
|
||||
//
|
||||
Функция ИзвлечьEmail(Знач Пользователь) Экспорт
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(Пользователь) Тогда
|
||||
Возврат "";
|
||||
КонецЕсли;
|
||||
|
||||
Попытка
|
||||
Объект = Пользователь.ПолучитьОбъект();
|
||||
Исключение
|
||||
Возврат "";
|
||||
КонецПопытки;
|
||||
|
||||
Если Объект = Неопределено Тогда
|
||||
Возврат "";
|
||||
КонецЕсли;
|
||||
|
||||
Попытка
|
||||
Для Каждого Стр Из Объект.КонтактнаяИнформация Цикл
|
||||
ВидНаименование = "";
|
||||
Если ЗначениеЗаполнено(Стр.Вид) Тогда
|
||||
ВидНаименование = Строка(Стр.Вид);
|
||||
КонецЕсли;
|
||||
Если СтрНайти(НРег(ВидНаименование), "email") > 0 ИЛИ СтрНайти(НРег(ВидНаименование), "почта") > 0 Тогда
|
||||
Если ЗначениеЗаполнено(Стр.Представление) Тогда
|
||||
Возврат Стр.Представление;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
Исключение
|
||||
Возврат "";
|
||||
КонецПопытки;
|
||||
|
||||
Возврат "";
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Лимит выборки из query-параметра.
|
||||
//
|
||||
Функция ПарсЛимит(Знач Запрос, Знач MaxDefault = 1000, Знач MaxAllowed = 10000) Экспорт
|
||||
|
||||
@@ -25,10 +25,14 @@
|
||||
|
||||
// GET /v1/employees
|
||||
//
|
||||
// Email берётся одним запросом через РегистрСведений.КонтактнаяИнформация БСП
|
||||
// (подзапрос с ПЕРВЫЕ 1 — если у пользователя несколько email-адресов, берём первый).
|
||||
//
|
||||
Функция EmployeesGet(Запрос) Экспорт
|
||||
|
||||
Попытка
|
||||
Запрос1С = Новый Запрос;
|
||||
Запрос1С.УстановитьПараметр("ТипEmail", Перечисления.ТипыКонтактнойИнформации.АдресЭлектроннойПочты);
|
||||
Запрос1С.Текст =
|
||||
"ВЫБРАТЬ
|
||||
| Пользователи.Ссылка КАК Ссылка,
|
||||
@@ -38,7 +42,14 @@
|
||||
| Пользователи.Подразделение КАК Подразделение,
|
||||
| Пользователи.Ставка КАК Ставка,
|
||||
| Пользователи.Недействителен КАК Недействителен,
|
||||
| Пользователи.ДолженЗаполнятьОтчет КАК ДолженЗаполнятьОтчет
|
||||
| Пользователи.ДолженЗаполнятьОтчет КАК ДолженЗаполнятьОтчет,
|
||||
| (ВЫБРАТЬ ПЕРВЫЕ 1
|
||||
| КИ.Представление
|
||||
| ИЗ
|
||||
| РегистрСведений.КонтактнаяИнформация КАК КИ
|
||||
| ГДЕ
|
||||
| КИ.Объект = Пользователи.Ссылка
|
||||
| И КИ.Тип = &ТипEmail) КАК Email
|
||||
|ИЗ
|
||||
| Справочник.Пользователи КАК Пользователи
|
||||
|ГДЕ
|
||||
@@ -53,7 +64,7 @@
|
||||
Запись = Новый Структура;
|
||||
Запись.Вставить("id", bfd_IntegrationAPIHelpers.UUID(Выборка.Ссылка));
|
||||
Запись.Вставить("full_name", Выборка.ФИО);
|
||||
Запись.Вставить("email", НРег(bfd_IntegrationAPIHelpers.ИзвлечьEmail(Выборка.Ссылка)));
|
||||
Запись.Вставить("email", НРег(?(Выборка.Email = Null, "", Строка(Выборка.Email))));
|
||||
Запись.Вставить("eva_id", Выборка.EvaID);
|
||||
Запись.Вставить("office", Строка(Выборка.Офис));
|
||||
Запись.Вставить("department", Строка(Выборка.Подразделение));
|
||||
|
||||
Reference in New Issue
Block a user