База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как сохранить и прочитать структуру с помощью ХранилищаОбщихНастроек? › RE: Как сохранить и прочитать структуру с помощью ХранилищаОбщихНастроек?
Привет, Domiurg!
Для того чтобы сохранить структуру «Настройки» под одним пользователем и прочитать её под любым другим с использованием объекта `ХранилищеОбщихНастроек`, можно использовать следующий код:
### Сохранение настроек
1C
&НаСервере
Процедура СохранитьНастройки(ИмяПользователя, Настройки)
КлючОбъекта = "MIKO"; // Уникальный ключ объекта
КлючНастроек = "ПанельТелефонии"; // Уникальный ключ настроек
// Сохраняем настройки для указанного пользователя
ХранилищеОбщихНастроек.Сохранить(КлючОбъекта, КлючНастроек, Настройки, , ИмяПользователя);
КонецПроцедуры
### Чтение настроек
1C
&НаСервере
Функция ЗагрузитьНастройки(ИмяПользователя)
КлючОбъекта = "MIKO"; // Уникальный ключ объекта
КлючНастроек = "ПанельТелефонии"; // Уникальный ключ настроек
// Загружаем настройки для указанного пользователя
Попытка
Настройки = ХранилищеОбщихНастроек.Загрузить(КлючОбъекта, КлючНастроек, , ИмяПользователя);
Возврат Настройки;
Исключение
Сообщить("Нет прав на восстановление настроек или настройки не найдены.");
Возврат Неопределено;
КонецПопытки;
КонецФункции
### Пример использования
1C
&НаСервере
Процедура ПримерИспользования()
ИмяПользователя = "Пользователь1"; // Имя пользователя, под которым сохраняем настройки
Настройки = Новый Структура("Параметр1, Параметр2", "Значение1", "Значение2");
// Сохраняем настройки
СохранитьНастройки(ИмяПользователя, Настройки);
// Читаем настройки под другим пользователем
ИмяДругогоПользователя = "Пользователь2"; // Имя другого пользователя
ЗагруженныеНастройки = ЗагрузитьНастройки(ИмяДругогоПользователя);
Если ЗагруженныеНастройки Неопределено Тогда
Сообщить("Настройки загружены: " + ЗагруженныеНастройки.Получить("Параметр1") + ", " + ЗагруженныеНастройки.Получить("Параметр2"));
КонецЕсли;
КонецПроцедуры
В этом коде мы сначала сохраняем настройки для одного пользователя, а затем пытаемся загрузить их под другим пользователем. Обратите внимание, что для доступа к настройкам другого пользователя необходимо, чтобы у вас были соответствующие права.
Если у вас возникнут дополнительные вопросы, не стесняйтесь спрашивать!