V8: Сохранение настроек интерфейса управляемой фо
Итак, путем "мозге хох залупирт", потратив кучу времени, я все-таки допер, каким образом работает сей механизм. Итак, проведем экспериментос. 1. Создаем управляемую форму. (я делал это именно внутри конфигуратора, а не внутри внешней обработки. 2. В форме создаем элементы, которые будем двигать/изменять. 3. В форме создаем 3 кнопки. Тексты их обработчиков ниже:
&НаКлиенте
Процедура УправлениеНастройкамиФормы_ЗагрузитьНастройкиФормы(Команда)
СписокНастроек = ХранилищеСистемныхНастроек.ПолучитьСписок(ЭтаФорма.ИмяФормы+"/НастройкиФормы");
ИмяНастройки = СписокНастроек.ВыбратьЭлемент();
Если Не ИмяНастройки = Неопределено Тогда
НастройкиФормы = ХранилищеСистемныхНастроек.Загрузить(ЭтаФорма.ИмяФормы+"/НастройкиФормы",ИмяНастройки);
ХранилищеСистемныхНастроек.Сохранить(ЭтаФорма.ИмяФормы+"/НастройкиФормы","",НастройкиФормы );
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура УправлениеНастройкамиФормы_СохранитьНастройкиФормы(Команда)
ИмяНастройки = "";
Подсказка = "Введите название настройки";
Если ВвестиСтроку(ИмяНастройки, Подсказка, 0, Истина) Тогда
НастройкиФормы = ХранилищеСистемныхНастроек.Загрузить(ЭтаФорма.ИмяФормы+"/НастройкиФормы","");
ХранилищеСистемныхНастроек.Сохранить(ЭтаФорма.ИмяФормы+"/НастройкиФормы",ИмяНастройки,НастройкиФормы);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура УправлениеНастройкамиФормы_УдалитьНастройкуФормы(Команда)
СписокНастроек = ХранилищеСистемныхНастроек.ПолучитьСписок(ЭтаФорма.ИмяФормы+"/НастройкиФормы");
ИмяНастройки = СписокНастроек.ВыбратьЭлемент();
Если Не ИмяНастройки = Неопределено Тогда
ХранилищеСистемныхНастроек.Удалить(ЭтаФорма.ИмяФормы+"/НастройкиФормы", ИмяНастройки, глЗначениеПеременной("глТекущийПользователь").Наименование)
КонецЕсли;
КонецПроцедуры
В этом коде глЗначениеПеременной("глТекущийПользователь") замените на имя пользователя. 4. Тестируем то, что у нас получилось. Открываем нашу форму. Хреновертим с ее видом и нажимаем кнопку сохранения настройки. Вводим красивое имя "Один". Настройка сохранилась. 5. Теперь хреновертим еще и снова нажимаем кнопку сохранения настройки. Вводим красивое имя "Два". 6. Перезапускаем 1С для верности. 7. Открываем нашу форму, кнопаем пимпу загрузки настроек и выбираем настройку с красивым названием "Один". 8. Перезапускаем один эс и снова открываем форму. Что же мы видим?... Ничего не изменилось. Настроечка с красивым названием "Один" не применилась! 9. Перезапускаем 1С для верности. 10. Открываем нашу форму, кнопаем пимпу загрузки настроек и выбираем настройку с красивым названием "Один". 11. Закрываем один эс. 12. Открываем конфигуратор, открываем любой модуль, встаем в любое незначимое место и добавляем туда символ пробела, например. То есть суть модуля не изменится, но изменится конфигурация. 13. Обновляем конфигурацию. 14. Запускаем один эс и открываем нашу красивую формы. 15. Вуаля! Настроечка с красивым названием "Один" применилась!
Выводы: хотя механизм и работает, но фунциклирует но почему-то исключительно с помощью обновления конфиги, хотя настройки действительно можно сохранять. Непонятно, почему же все-таки он работает правильно, если делать все это платформенными методами. PS: Уж не знаю, баг ли это, или нет, но в 1С по этому поводу не писал.
|
|