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