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






Нет комментариев
Трекбеки/Пинги