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