Element_Test_V2/Koncept/Testovoe/Основное/КлючДоступаМенеджера.xbsl
Vladislav_k0ncept f16c003f46 Initial commit
2025-02-20 15:05:58 +00:00

40 lines
2.4 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

импорт Общие
@Обработчик
метод ПроверитьНаличиеКлючейДоступа(Ключи: ЧитаемыйМассив<КлючДоступаМенеджера.Объект>, Пользователи: ЧитаемыйМассив<Пользователи.Объект>): ЧитаемоеСоответствие<КлючДоступаМенеджера.Объект, ЧитаемаяКоллекция<Пользователи.Объект|Пользователи.Ссылка>>
знч Регионы = Ключи.Преобразовать(Ключ -> Ключ.Владелец)
знч ПользователиСсылки = Пользователи.Преобразовать(Пользователь -> Пользователь.Ссылка)
знч Запрос = Запрос{
ВЫБРАТЬ
Пользователь,
Регион
ИЗ
Сотрудники
ГДЕ
Регион В (%Регионы)
И Пользователь В (%ПользователиСсылки)
И Роль == РольСотрудника.Менеджер
}
знч МенеджерыРегионов = <Регионы.Ссылка, Массив<Пользователи.Ссылка>>{:}
исп РезультатЗапроса = Запрос.Выполнить()
для СтрокаРезультата из РезультатЗапроса
МенеджерыРегионов.ВставитьЕслиОтсутствует(СтрокаРезультата.Регион, <Пользователи.Ссылка>[])
МенеджерыРегионов.Получить(СтрокаРезультата.Регион).Добавить(СтрокаРезультата.Пользователь)
;
знч Результат = <КлючДоступаМенеджера.Объект, Массив<Пользователи.Ссылка>>{:}
для Ключ из Ключи
знч МенеджерыРегиона = МенеджерыРегионов.ПолучитьИлиУмолчание(Ключ.Владелец)
если МенеджерыРегиона != Неопределено
Результат.Вставить(Ключ, МенеджерыРегиона)
;
;
возврат Результат
;