|
Сохранение СКД в хранилище значений. |
☑ |
0
0xFFFFFF
05.09.13
✎
10:04
|
Есть справочник. В нем реквизит СхемаКомпоновки (тип ХранилищеЗначения). В модуле формы есть реквизит ТекущаяСхема (тип СхемаКомпоновкиДанных), который принимает в себя объект из реквизита СхемаКомпоновки. Далее с текущей схемой работаем через КонструкторСхемыКомпоновкиДанных в форме. При записи снова конвертим в хранилище (в реквизит справочника).
Так вот - куда то исчезают Настройки по умолчанию. Простейший код
Сообщить("До сохранения "+ТекущаяСхема.НастройкиПоУмолчанию.ПараметрыДанных.Элементы.Количество());
СхемаКомпоновки = Новый ХранилищеЗначения(ТекущаяСхема);
ТекущаяСхема = СхемаКомпоновки.Получить();
Сообщить("После сохранения "+ТекущаяСхема.НастройкиПоУмолчанию.ПараметрыДанных.Элементы.Количество());
Выдает
До сохранения 4
После сохранения 0
Хотя самое парадоксальное, что если после этого открыть ТекущаяСхема в конструкторе - настройки по умолчанию заполнены! Это почему так?
|
|
1
Crush
05.09.13
✎
10:28
|
Пробовал через двоичные данные?
|
|
2
0xFFFFFF
05.09.13
✎
10:40
|
Неа. Это в промежуточный файл сохранять чтоли?
Еще непонятный мне эффект.
После открытия и выполнения
ТекущаяСхема = СхемаКомпоновки.Получить();
Смотрим - ТекущаяСхема.НастройкиПоУмолчанию - пустые
А если сделать
КонструкторСхемы = Новый КонструкторСхемыКомпоновкиДанных;
КонструкторСхемы.УстановитьСхему(ТекущаяСхема);
КонструкторСхемы.Редактировать(ЭтаФорма);
то тут же
КонструкторСхемы.ПолучитьСхему().НастройкиПоУмолчанию
уже не пустые! (и это видно в самом конструкторе). Откуда он их тогда берет, если не из ТекущейСхемы?
|
|
3
Crush
05.09.13
✎
10:48
|
Побегай в отладчике по скд. Может конструктор знает какой то укромный уголок, от куда загружает настройки по умолчанию
|
|
4
0xFFFFFF
05.09.13
✎
10:54
|
Все, вопрос снят. Тупанул. В настройках по умолчанию в окне параметры не стояли галки :) Получается, что в настройки по умолчанию сохраняются только "взведенные" параметры.
А при открытии конструктора это окно заполняется доступными (в том числе и отключенными) параметрами, которые прописаны в самой схеме, а не только в настройках по умолчанию.
|
|