Установить стандартные настройки формы программно УФ

Управляемые интерфейс (УФ) тот еще зверь.. Пользователь может самостоятельно так настроить форму, что половина данных у него теперь не видна совсем, а колонки имеют совсем другие названия, не такие как указал программист при разработке формы. Сбросить форму к первоначальному виду "под пользователем" можно так:

1. В форме нажать "Еще - Изменить форму.."

2. В открывшемся окне: "Еще - Установить стандартные настройки".

 

Но программно это сделать не так просто. Хранилище известно и даже можно вычистить оттуда настройки, если повезет... и после перезахода в форму, настройки станут стандартными. Сделать это можно примерно так:

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

Как узнать под каким идентификатором (КлючОбъекта) сохранена в этом хранилище именно ваша форма? Угадывайте коллеги.. или можно воспользоваться самописной обработкой чтения настроек и вычислить вашу форму:

Отбор = Новый Структура("Пользователь", ПользователиИнформационнойБазы.ТекущийПользователь().Имя);
Выборка = ХранилищеСистемныхНастроек.Выбрать(Отбор);

Пока Выборка.Следующий() Цикл
	
	ТекстСообщения = "КлючНастроек " + Выборка.КлючНастроек
	+ "; КлючОбъекта " + Выборка.КлючОбъекта
	+ "; Пользователь " + Выборка.Пользователь
	+ "; Представление" + Выборка.Представление;
	
	Сообщить(ТекстСообщения);
	
КонецЦикла;
Комментарии  
0 #1 Татьяна 23.11.2019 10:38
Спасибо, внесло определенную ясность.
Цитировать
Добавить комментарий