хранилищеобщихнастроек

Сегодня встретил ‘самописную’ конфигурацию, где разработчик хранил настройки пользователей в регистре сведений. Не понятно зачем было так извращаться, при наличии стандартного хранилища настроек – ‘ХранилищеОбщихНастроек’. Почему-то многие даже не знают о таком механизме, который позволяет легко и просто записывать и извлекать общие настройки каждого пользователя для любого объекта системы.

‘ХранилищеОбщихНастроек’ – представляет собой объект глобального контекста, с помощью которого осуществляется управление общими настройками для отдельного взятого пользователя.

Попробуем реализовать простой пример общих настроек конфигурации ‘Футбольные клубы’. Допустим у нас есть 3 настройки:

  • Любимый клуб;
  • Обновлять статистику автоматически при загрузке системы;
  • Отображать панель отчетов.

Добавляем общую форму настроек и отображаем эти реквизиты на форме:

Настройки пользователя.
Настройки пользователя.

Теперь с помощью метода ‘хранилищеобщихнастроек.сохранить‘ реализуем их запись в конфигурацию:

Параметры метода ‘Сохранить’:


* <КлючОбъекта> (обязательный) / Тип: Произвольный / Ключ объекта настройки. Здесь мы можем указать значение любого типа, характеризующий наш объект. В нашем случае это общие настройки конфигурации – ‘Конфигурация’. Если это были бы настройки документа, то можно было бы указать к примеру ‘”Документ.БонусыИгрокам’ и т.д.
* <КлючОбъекта> (обязательный) / Тип: Произвольный / Ключ объекта настройки. Здесь мы можем указать значение любого типа, характеризующий наш объект. В нашем случае это общие настройки конфигурации – ‘Конфигурация’. Если это были бы настройки документа, то можно было бы указать к примеру ‘”Документ.БонусыИгрокам’ и т.д.
* <КлючНастроек> (необязательный) / Тип: Строка.  / Ключ сохраняемых настроек. У одного ключа объекта, может быть много настроек с разными ключами: ‘ОбщиНастройкиПользователя’, ‘НастройкиУсловногоОформления’, ‘НастройкиИнтерфейса’ и т.д.
* <Настройки> (обязательный) / Тип: Произвольный.  / Содержит настройки, которые нужно сохранить в хранилище. Собственно это и есть наши с вами настройки. В данном примере я буду хранить настройки в универсальной коллекции ‘Структура’.
* <ОписаниеНастроек> (необязательный) / Тип: ОписаниеНастроек. / Описание настроек.
* <ИмяПользователя> (необязательный) / Тип: Строка.  / Имя пользователя, настройки которого сохраняются. Если не указан, то сохраняются настройки текущего пользователя.


Важно заметить что в качестве параметра ‘ИмяПользователя‘ у нас ничего не передается, соответственно мы работаем с настройками текущего пользователя.

Далее с помощью метода ‘ хранилищеобщихнастроек.загрузить‘ реализуем получение наших настроек:

Здесь параметры аналогичные методу “Сохранить” – все понятно и просто. Если что F1!

С помощью данного метода ‘Загрузить’ мы можем использовать эти настройки в любых алгоритмах нашей конфигурации.

Настройки пользователя.
Настройки пользователя.

Так же стоит обратить внимание на еще два интересных метода:

  • ХранилищеОбщихНастроек.ПолучитьСписок – получаем список всех настроек пользователя по параметру ‘<КлючОбъекта>’;
  • ХранилищеОбщихНастроек.Удалить – удаляем настройки по параметрам ‘<КлючОбъекта>’ и ‘<КлючНастроек>’ пользователя.

В общем ‘ХранилищеОбщихНастроек‘ -это очень полезная штука для хранения информации о настройках пользователей. Пользуемся!

0

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *