Имя: Пароль:
1C
1С v8
СКД - сохранение параметров при использовании нескольких схем
0 wladimir90
 
30.11.11
12:53
Всем привет! В скд реализовал использование 3х схем компоновки. Возникает проблема - при переключении схем параметры подставляются под схему на которую переключились, и введенные параметры для схемы которая была теряются - как их сохранять для дальнейшего использования?
Может сумбурно написал - нужно хранить заданные пользователем параметры для каждой из 3х схем. Как сделать не пойму. Использовать Сохранить\ВосстановитьЗначение? Тогда какой параметр в него передавать? КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы толи не сохраняется толи не восстанавливается. Непонятно.
1 wladimir90
 
30.11.11
13:15
АП
2 wladimir90
 
30.11.11
13:45
UP
3 Kreont
 
30.11.11
13:52
В файл XML и читать через СериализаторXDTO
4 PVV65
 
30.11.11
14:03
Запись настроек ("Отбор" - это реквизит (измерение, свойство) чего то куда пишем)

   ЗаписьXML = Новый ЗаписьXML;
   ЗаписьXML.УстановитьСтроку();     СериализаторXDTO.ЗаписатьXML(ЗаписьXML,ЭатаФорма.КомпоновщикНастроек.Настройки,"Filter","http://v8.1c.ru/8.1/data-composition-system/settings");
   
   Отбор = Новый ХранилищеЗначения(ЗаписьXML.Закрыть());

Чтение

           ЧтениеXML = Новый ЧтениеXML;
           ЧтениеXML.УстановитьСтроку(Отбор.Получить());
           ЭтаФорма.КомпоновщикНастроек.ЗагрузитьНастройки(СериализаторXDTO.ПрочитатьXML(ЧтениеXML, Тип("НастройкиКомпоновкиДанных")));
5 wladimir90
 
30.11.11
15:16
(4) Спасибо! Может кому пригодится, сохранение в разрезе выбранной схемы и пользователя:

Перед сменой схемы:


ЗаписьXML = Новый ЗаписьXML;
ЗаписьXML.УстановитьСтроку();    
СериализаторXDTO.ЗаписатьXML(ЗаписьXML,КомпоновщикНастроек.Настройки);

СохранитьЗначение("Баланс_"+ПараметрыСеанса.ТекущийПользователь.Наименование+"_"+ИмяСхемы,Новый ХранилищеЗначения(ЗаписьXML.Закрыть()));

============================================================

ПриИзменении Схемы:

Хран = ВосстановитьЗначение("Баланс_"+ПараметрыСеанса.ТекущийПользователь.Наименование+"_"+ИмяСхемы);

Попытка
   ЧтениеXML = Новый ЧтениеXML;
   ЧтениеXML.УстановитьСтроку(Хран.Получить());
   ЭтаФорма.КомпоновщикНастроек.ЗагрузитьНастройки(СериализаторXDTO.ПрочитатьXML(ЧтениеXML, Тип("НастройкиКомпоновкиДанных")));    
Исключение
КонецПопытки;
Независимо от того, куда вы едете — это в гору и против ветра!