Каталог решений - Методы сохранения / восстановления настроек

Методы сохранения / восстановления настроек

Методы сохранения / восстановления настроек

В наличии

Задача: Необходим механизм, позволяющий сохранять произвольные пользовательские данные (настройки). Настройки относятся к внешней обработке, вариант с изменением конфигурации не рассматривается. План видов характеристик трогать тоже нет желания.
В рамках заметки предложено два вариант работы с настройками пользователя.

Категория:

Описание


Ваиант 1

Сохранение настроек:

    ИмяНастройки = «ТЕСТ»;
   
ЗначениеНастройки = Новый Структура(«Это настройки произвольного типа, к примеру структура», «»);
   
СохранитьЗначение(ИмяНастройки, ЗначениеНастройки) ;

  • ИмяНастройки — ключ настроек, тип “строка”.
  • значение — значение произвольного типа, возможность заманчивая, но не стоит слишком увлекаться и сохранять все подряд.

Восстановление настроек:

    ИмяНастройки = «ТЕСТ»;
   
ЗначениеНастройки = ВосстановитьЗначение(ИмяНастройки);
    Если
ЗначениеНастройки = Неопределено Тогда
       
Сообщить(«Нет настройки с ключем ТЕСТ!»);
    КонецЕсли;

  • ИмяНастройки — ключ настройки, тип “строка”
  • возвращает значение произвольного типа, сохраненное ранее.Если восстановить не удалось, возвращает “Неопределено”
Плюсы
  • прост в использовании
  • возможно сохранить настройки произвольного типа текущего пользователя в текущей информационной базе
Минусы
  • Только толстый клиент

  • Возможно работать ТОЛЬКО с настройками текущего пользователя

Вариант 2

Использование объекта ХранилищеОбщихНастроекСчитаю этот вариант наиболее удобным и гибким.

Объект доступен в глобальном контексте. Содержит следующие методы:

Сохранение настроек: 

    // ключи могут быть произвольными строками
   
КлючОбъекта  = «MIKO«;
   
КлючНастроек = «ПанельТелефонии»;
   
// настройки могут быть произвольного типа
   
Настройки    = Новый Структура(«Это настройки произвольного типа, к примеру структура», «»);
   
ИмяПользователя = ИмяПользователя();

    // имя пользователя — пользователь владелец настроек, если параметр не указать,
    // то настройки будут сохранены для ТЕКУЩЕГО пользователя
   
ИмяПользователя = ИмяПользователя();
   
ХранилищеОбщихНастроек.Cохранить(КлючОбъектаКлючНастроек, Настройки, , ИмяПользователя);

has been added to your cart:
Оформление заказа