С появлением режима управляемого приложения все больше настроек находится в хранилищах настроек, и управлять ими все труднее. Представленная обработка помогает решить проблему администрирования и удаления мусора в настройках.
Обычный пользователь увидит только свои настройки. Полноправный пользователь увидит все настройки.
Для удобства все настройки отображаются в виде дерева. Ключи объектов и ключи настроек, содержащие символы "." "/" "-" раскладываются на составные части. Например 2 разных ключа "Общее.НастройкиКлиентскогоПриложения" и "Общее.ИсторияГлобальногоПоиска" будут отображены как "НастройкиКлиентскогоПриложения" и "ИсторияГлобальногоПоиска" под родительским элементом "Общее".
Для реализации такого поведения используется специальный объект "Дерево" (не то которое ДеревоЗначений от платформы 1С). Весь функционал дерева находится в модуле объекта и может быть использован отдельно от этой обработки для других прикладных целей.
Поскольку в реальных базах количество пользователей хранимых настроек очень велико, считывание и отображение информации происходит порциями. Сначала все сохраненные имена пользователей, включая пустую строку и "*". При раскрытии ветки конкретного пользователя просматриваются все стандартные хранилища настроек в поисках сохраненного для этого пользователя. Далее при раскрытии конкретного хранилища считываются все настройки конкретного пользователя из конкретного хранилища. На реальных больших базах задержки при раскрытии составляли до 90 сек.
Содержимое настроек простых типов редактируется как обычное значение, булево просто переключается на противоположное. Коллекции (массив, список значений, структура, соответствие) сначала представляются в виде таблицы и далее редактируются отдельные элементы (строки). Таблица значений представляется как массив структур. Особым образом отрабатываются специальные типы: НастройкиКлиентскогоПриложения, НастройкиКомандногоИнтерфейса, ИзбранноеРаботыПользователя.
Особый интерес может представлять элемент "ВариантМасштабаФормКлиентскогоПриложения" у ключа объекта "Общее.НастройкиКлиентскогоПриложения" в "ХранилищеСистемныхНастроек" для каждого пользователя. В нем можно установить "Компактный" вариант и всё станет маленьким как в старом интерфейсе 8.2.
Обработка может быть использована как отдельно (через "Главное меню" - "Файл" - "Открыть"), так и подключена через механизм дополнительных отчетов и обработок БСП (присутствует во всех типовых конфигурациях). Обработка универсальна и не зависит от конкретной конфигурации. Работает на всех актуальных платформах начиная с 8.3.3.
Код полностью открыт. Обработка будет далее развиваться, так что замечания и хотелки приветствуются.
История версий:
1.4.3 Первая публичная на Инфостарте
1.5.1 Добавлена отработка специфики новой платформы 8.5.1
Вступайте в нашу телеграмм-группу Инфостарт