1С: Программная установка пользовательских настроек при открытии отчёта СКД
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | &НаСервере Процедура УстановитьПараметраКомпоновки(ИмяПараметра, Значение) Экспорт 	ПараметрКД = Новый ПараметрКомпоновкиДанных(ИмяПараметра); 	ОтборКД = Новый ПолеКомпоновкиДанных(ИмяПараметра); 	НастройкиКомпановщика = Отчет.КомпоновщикНастроек.ПолучитьНастройки(); 	Для Каждого Поле Из НастройкиКомпановщика.ПараметрыДанных.Элементы Цикл 		Если Поле.Параметр = ПараметрКД Тогда 			Поле.Значение = Значение; 		КонецЕсли; 	КонецЦикла; 	Для Каждого Отбор Из НастройкиКомпановщика.Отбор.Элементы Цикл 		Если Отбор.ЛевоеЗначение = ОтборКД Тогда 			Отбор.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке; 			Отбор.Использование = Истина; 			Отбор.ПравоеЗначение = Значение; 		КонецЕсли; 	КонецЦикла; 	Отчет.КомпоновщикНастроек.ЗагрузитьНастройки(НастройкиКомпановщика); 	ЭтаФорма.СоздатьЭлементыФормыПользовательскихНастроек(,РежимОтображенияНастроекКомпоновкиДанных.БыстрыйДоступ);	 КонецПроцедуры &НаСервере Процедура ЗаполнитьЕМКНаСервере()   СписТочек = Новый СписокЗначений;   рез=СтрРазделить(отчет.ЕМК,символы.ПС);   для каждого стр из рез цикл 	  стр=стрзаменить(стр,";",""); 	  СписТочек.Добавить(сокрЛП(стр));   конеццикла;	     УстановитьПараметраКомпоновки("ЕдиныйМежсистемныйКод",СписТочек); КонецПроцедуры &НаКлиенте Процедура ЗаполнитьЕМК(Команда)	 	ЗаполнитьЕМКНаСервере(); КонецПроцедуры |