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