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