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