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