Имя: Пароль:
1C
1С v8
Запретить пользователю менять отбор в отчете СКД
0 Araxis
 
21.10.24
10:54
Добрый день. Имеется отчет на СКД с отбором Структурная единица (СЕ). Если у пользователя в справочнике заполнен реквизит СЕ, то необходимо сделать отбор только по данной СЕ и запретить его менять.
СЕ заполняю в процедуре ПриЗагрузкеПользовательскихНастроекНаСервере:

СЕПользователя = ПолучитьСЕПользователя();
	
	Если ЗначениеЗаполнено(СЕПользователя) Тогда
			  
		НастройкиКД = Отчет.КомпоновщикНастроек.ПолучитьНастройки();
		ПолеСЕ = Отчет.КомпоновщикНастроек.Настройки.Отбор.ДоступныеПоляОтбора.Элементы.Найти("СтруктурнаяЕдиница"); 
	  
		НовыйОтбор = НастройкиКД.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
		НовыйОтбор.ЛевоеЗначение = ПолеСЕ.Поле;
		НовыйОтбор.ПравоеЗначение = СЕПользователя;
		НовыйОтбор.Использование = Истина;	 
		  
		Настройки.Элементы[1].РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный;	 	
				
	КонецЕсли


В Настройки.Элементы[1].РежимОтображения убираю отбор из быстрого доступа, но его все равно можно поменять в настройках.

Подскажите, можно ли пользователю как-то ограничить доступ к смене отбора?
1 Araxis
 
21.10.24
10:53
Пробовал еще в процедуре ПриКомпоновкеРезультата в модуле объекта заполнять принудительно отбор:
ЭтотОбъект.КомпоновщикНастроек.Настройки.Отбор.Элементы[0].ЛевоеЗначение = ПолеСЕ.Поле;
        ЭтотОбъект.КомпоновщикНастроек.Настройки.Отбор.Элементы[0].ПравоеЗначение = СписокСЕ;

Но не срабатывает
2 Галахад
 
21.10.24
10:59
РежимОтображенияЭлементаНастройкиКомпоновкиДанных
3 toypaul
 
21.10.24
11:01
Добавь в фиксированные настройки - их нельзя поменять
4 Araxis
 
21.10.24
11:16
(3) Добавил, сработало, спасибо большое
Но если ставить отбор вручную, то при попытке сформировать отчет возникает ошибка: "Невозможно применить фиксированные настройки. Пересекаются элементы отбора." и 1С приходится закрывать. Возможно как-то исключить эту ситуацию?
5 RVN
 
21.10.24
12:09
(4) ПриКомпоновкеРезультата проверяй пользовательские настройки и убирай лишние.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший