Как сохранить/восстановить настройки схемы и вариант схемы СКД?

Платформа 8.2, обычное приложение. В отчете есть несколько схем СКД, на форме отчета в списке выбора пользователь сам выбирает нужную схему, помогите разобраться как сохранять/воостанавливать настройки схемы вместе с вариантом отчета.

Настройки сохраняю в РС.СохраненныеНастройки. Проблема в том что я не понимаю как сохранить настройки СКД и значения реквизитов отчета вместе, получается только либо  первое либо второе.
Код такой:

//Заполнение вариантов отчета
Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
 
	Варианты 	= Новый СписокЗначений;
	Макеты 		= ЭтотОбъект.Метаданные().Макеты;
	Для Каждого Схема ИЗ Макеты Цикл
		Варианты.Добавить(Схема.Имя,Схема.Синоним);
	КонецЦикла;
	ЭлементыФормы.СписокВариантов.СписокВыбора = Варианты;
 
КонецПроцедуры
 
//выбор варианта отчета
Процедура СписокВариантовПриИзменении(Элемент)
 
	СхемаКомпоновкиДанных 	= ЭтотОбъект.ПолучитьМакет(Элемент.Значение);
	КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
	Настройки 				= СхемаКомпоновкиДанных.НастройкиПоУмолчанию;
	КомпоновщикНастроек.ЗагрузитьНастройки(Настройки);
 
КонецПроцедуры 
 
Процедура ПриОткрытии()
 
	СтруктураНастройки = Новый Структура;
	СтруктураНастройки.Вставить("Пользователь", глЗначениеПеременной("глТекущийПользователь"));
	СтруктураНастройки.Вставить("ИмяОбъекта", 	Строка(ЭтотОбъект));
 
	Если УниверсальныеМеханизмы.ПолучитьНастройкуИспользоватьПриОткрытии(СтруктураНастройки) Тогда
		мТекущаяНастройка = СтруктураНастройки;
		КомпоновщикНастроек.ЗагрузитьНастройки(мТекущаяНастройка.СохраненнаяНастройка.Получить());
	КонецЕсли;
 
КонецПроцедуры
 
//переопределение стандартных кнопке Сохранить/Восстановить значения
Процедура СохранитьНастройки() Экспорт
 
	Перем СохраненнаяНастройка;
 
	Если мТекущаяНастройка<>Неопределено Тогда
		СтруктураНастройки = мТекущаяНастройка;
	Иначе
		СтруктураНастройки = Новый Структура;
		СтруктураНастройки.Вставить("ИмяОбъекта", 				Строка(ЭтотОбъект));
		СтруктураНастройки.Вставить("НаименованиеНастройки", 	Неопределено);
		СтруктураНастройки.Вставить("ИспользоватьПриОткрытии", 	Ложь);
		СтруктураНастройки.Вставить("СохранятьАвтоматически", 	Ложь);
	КонецЕсли;
	СтруктураНастройки.Вставить("Пользователь", глЗначениеПеременной("глТекущийПользователь"));
	СохраненнаяНастройка = Новый ХранилищеЗначения(КомпоновщикНастроек.ПолучитьНастройки());
	СтруктураНастройки.Вставить("СохраненнаяНастройка", СохраненнаяНастройка);
 
	ВозвращаемаяСтруктура = УниверсальныеМеханизмы.СохранениеНастроек(СтруктураНастройки);
 
	Если ВозвращаемаяСтруктура <> Неопределено Тогда
		мТекущаяНастройка = ВозвращаемаяСтруктура;
	Иначе
		мТекущаяНастройка = СтруктураНастройки;
	КонецЕсли;
 
КонецПроцедуры
 
Процедура ВосстановитьНастройки() Экспорт 
 
	СтруктураНастройки = Новый Структура;
	СтруктураНастройки.Вставить("Пользователь", 			глЗначениеПеременной("глТекущийПользователь"));
	СтруктураНастройки.Вставить("ИмяОбъекта", 				Строка(ЭтотОбъект));
	СтруктураНастройки.Вставить("НаименованиеНастройки", 	?(мТекущаяНастройка = Неопределено, Неопределено, мТекущаяНастройка.НаименованиеНастройки));
 
	ВозвращаемаяСтруктура = УниверсальныеМеханизмы.ВосстановлениеНастроек(СтруктураНастройки);
 
	Если ВозвращаемаяСтруктура <> Неопределено Тогда
		мТекущаяНастройка = ВозвращаемаяСтруктура;
		КомпоновщикНастроек.ЗагрузитьНастройки(мТекущаяНастройка.СохраненнаяНастройка.Получить());
	КонецЕсли;
 
КонецПроцедуры
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии