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