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