HelpF.pro

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

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

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

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


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

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

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



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