Рано или поздно разработчики сталкиваются с проблемой управления настройками форм, отчетов, хранящимся в стандартных хранилищах. К сожалению, платформа не содержит пользовательских механизмов для работы с такими настройками. Кое-что, конечно, реализовано в БСП, но, как правило, этого далеко не достаточно. Предлагаемая обработка позволяет отчасти решить эту проблему.
Поддерживаются стандартные хранилища настроек:
- ХранилищеНастроекДанныхФорм
- ХранилищеВариантовОтчетов
- ХранилищеОбщихНастроек
- ХранилищеПользовательскихНастроекДинамическихСписков
- ХранилищеПользовательскихНастроекОтчетов
- ХранилищеСистемныхНастроек
Основная форма обработки разделена на две части: в левой отображается полный список настроек по выбранному хранилищу, в правой - настройки, отобранные по пользователю. В левой части также доступен отбор. Список настроек отображается в виде дерева, что упрощает навигацию.
При позиционировании на строке списка в левой части, система пытается найти похожий объект в правой и позиционироваться на нем - в ряде случаев это можно использовать для сравнения. Под каждым списком находится поле для значения настройки.
Реализовано множественное копирование: несколько выбранных настроек можно скопировать нескольким выбранным пользователям. Для этого надо переключить режим правой части формы.
Возможно копирование "групп" настроек.
Настройки можно редактировать, добавлять, удалять.
Редактирование значений простых типов и ссылочных типов доступно напрямую, в поле формы:
Редактирование коллекций значений, и значений других сериализуемых типов доступно с помощью XML-сериализации:
На этом все.
Как обычно, приветствуются замечания, предложения, вопросы.
Upd 27.03.2018
Добавлен новый функционал: экспорт выделенных настроек в файл и импорт настроек из файла. Экспорт возможен только сериализуемых настроек. Если выбрано имя пользователя, то при импорте все настройки из файла принудительно записываются для этого пользователя, если имя пользователя не выбрано - то используются имена пользователей из файла.