HelpF.pro

Реквизит ~ Как сохранить, восстановить значения всех элементов формы?

Как сохранить Значения элементов при закрытии формы и восстановить их при открытии формы?

Это можно сделать через СохранитьЗначения(), ВосстановитьЗначение():
Код 1C v 8.х
 СохранитьЗначение("СрокИсполненияЗаказа", СрокИсполнения);
СохранитьЗначение("СкладПоУмолчанию", МестоХранения);

СрокИсполнения = ВосстановитьЗначение("СрокИсполненияЗаказа"));


Но у этого способа, одно НО - Сохраненые значения будут доступны только на там компьютере, на котором их сохранили!

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

Процедура ПриОткрытии()
//Заполним значения на форме из структуры полученной из хранилища значений
Попытка
ЭлСтрХранЗнач=Константы.MES_ДопСоглашения.Получить();
ЭлСтр=ЭлСтрХранЗнач.Получить();
Для Каждого Элем из ЭлСтр Цикл
ЭлементыФормы[Элем.Ключ] = Элем.Значение;
КонецЦикла;
Исключение КонецПопытки;
КонецПроцедуры



Как сохранять и восстанавливать значения реквизитов на форме?
Опубликовано на сайте: https://HelpF.pro
Прямая ссылка: https://HelpF.pro/faq/view/716.html