Процедура
ПриКомпоновкеРезультата(ДокументРезультат,
ДанныеРасшифровки, СтандартнаяОбработка)
Настройки = КомпоновщикНастроек.Настройки.Отбор;
//Перед установкой отборов удаляем ранее созданные
//с заданными идентификаторами
Для Каждого Отб
Из Настройки.Элементы Цикл
Если Отб.ИдентификаторПользовательскойНастройки = "КРКЦ" ИЛИ
Отб.ИдентификаторПользовательскойНастройки
= "НедоступныеГорода" Тогда
Настройки.Элементы.Удалить(Отб);
КонецЕсли;
КонецЦикла;
//Отбор для рядовых сотрудников,
//они видят только свои решения,
//ограничения по полю «Представитель истца»
Если НЕ РольДоступна("АдминистраторСистемы")
И
НЕ РольДоступна("F1_ЗаместительПоГороду")
Тогда
Отб1 =
Настройки.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
Отб1.ИдентификаторПользовательскойНастройки
= "КРКЦ";
Отб1.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ПредставительИстца");
Отб1.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
Отб1.ПравоеЗначение = Пользователи.ТекущийПользователь();
Отб1.Представление = Пользователи.ТекущийПользователь().Наименование;
Отб1.Использование = Истина;
Отб1.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный;
КонецЕсли;
//Отборы для руководителей подразделений,
//они видят в отчете только свои города,
//ограничения по полю «Город»
Если РольДоступна("F1_ЗаместительПоГороду") И
НЕ Пользователи.ТекущийПользователь().Наименование
= "Кузнецова Татьяна Сергеевна" Тогда
Отб2 =
Настройки.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
Отб2.ИдентификаторПользовательскойНастройки
= "НедоступныеГорода";
Отб2.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Город");
Отб2.ВидСравнения = ВидСравненияКомпоновкиДанных.НеВСписке;
//Список
запрещенных городов для просмотра в отчете
СЗГ = Новый СписокЗначений;
Если Пользователи.ТекущийПользователь().Наименование
= "Понасенкова Ольга Алексеевна" Тогда
СЗГ.Добавить(Справочники.F1_Города.НайтиПоНаименованию("Королев"));
СЗГ.Добавить(Справочники.F1_Города.НайтиПоНаименованию("Балашиха"));
СЗГ.Добавить(Справочники.F1_Города.НайтиПоНаименованию("Пуршево"));
СЗГ.Добавить(Справочники.F1_Города.НайтиПоНаименованию("Федурново"));
СЗГ.Добавить(Справочники.F1_Города.НайтиПоНаименованию("Новый
Милет"));
СЗГ.Добавить(Справочники.F1_Города.НайтиПоНаименованию("Черное"));
СЗГ.Добавить(Справочники.F1_Города.НайтиПоНаименованию("Рассказово"));
СЗГ.Добавить(Справочники.F1_Города.НайтиПоНаименованию("мкр Саввино"));
ИначеЕсли
Пользователи.ТекущийПользователь().Наименование =
"Корнаухова Елена Ивановна" или
Пользователи.ТекущийПользователь().Наименование
= "Романенко Ольга Владимировна"Тогда
СЗГ.Добавить(Справочники.F1_Города.НайтиПоНаименованию("Реутов"));
СЗГ.Добавить(Справочники.F1_Города.НайтиПоНаименованию("Балашиха"));
СЗГ.Добавить(Справочники.F1_Города.НайтиПоНаименованию("Пуршево"));
СЗГ.Добавить(Справочники.F1_Города.НайтиПоНаименованию("Федурново"));
СЗГ.Добавить(Справочники.F1_Города.НайтиПоНаименованию("Новый
Милет"));
СЗГ.Добавить(Справочники.F1_Города.НайтиПоНаименованию("Черное"));
СЗГ.Добавить(Справочники.F1_Города.НайтиПоНаименованию("Рассказово"));
СЗГ.Добавить(Справочники.F1_Города.НайтиПоНаименованию("мкр Саввино"));
ИначеЕсли
Пользователи.ТекущийПользователь().Наименование =
"Семенова Анастасия Михайловна" Тогда
СЗГ.Добавить(Справочники.F1_Города.НайтиПоНаименованию("Королев"));
СЗГ.Добавить(Справочники.F1_Города.НайтиПоНаименованию("Реутов"));
КонецЕсли;
Отб2.Использование = Истина;
Отб2.ПравоеЗначение = СЗГ;
Отб2.Представление = СЗГ;
Отб2.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный;
КонецЕсли;
КонецПроцедуры
|