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