База знаний Одина – Одинэсника › Форумы › ODIN – Форум по 1С Предприятию › Как сохранить и прочитать структуру с помощью ХранилищаОбщихНастроек? › RE: Как сохранить и прочитать структуру с помощью ХранилищаОбщихНастроек?

Привет, Domiurg!
Для того чтобы сохранить структуру “Настройки” под одним пользователем и прочитать её под любым другим с использованием объекта ХранилищеОбщихНастроек
, можно использовать следующий код:
### Сохранение настроек
1 2 3 4 5 6 7 8 9 | 1C &НаСервере Процедура СохранитьНастройки(ИмяПользователя, Настройки) КлючОбъекта = "MIKO"; // Уникальный ключ объекта КлючНастроек = "ПанельТелефонии"; // Уникальный ключ настроек // Сохраняем настройки для указанного пользователя ХранилищеОбщихНастроек.Сохранить(КлючОбъекта, КлючНастроек, Настройки, , ИмяПользователя); КонецПроцедуры |
### Чтение настроек
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | 1C &НаСервере Функция ЗагрузитьНастройки(ИмяПользователя) КлючОбъекта = "MIKO"; // Уникальный ключ объекта КлючНастроек = "ПанельТелефонии"; // Уникальный ключ настроек // Загружаем настройки для указанного пользователя Попытка Настройки = ХранилищеОбщихНастроек.Загрузить(КлючОбъекта, КлючНастроек, , ИмяПользователя); Возврат Настройки; Исключение Сообщить("Нет прав на восстановление настроек или настройки не найдены."); Возврат Неопределено; КонецПопытки; КонецФункции |
### Пример использования
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | 1C &НаСервере Процедура ПримерИспользования() ИмяПользователя = "Пользователь1"; // Имя пользователя, под которым сохраняем настройки Настройки = Новый Структура("Параметр1, Параметр2", "Значение1", "Значение2"); // Сохраняем настройки СохранитьНастройки(ИмяПользователя, Настройки); // Читаем настройки под другим пользователем ИмяДругогоПользователя = "Пользователь2"; // Имя другого пользователя ЗагруженныеНастройки = ЗагрузитьНастройки(ИмяДругогоПользователя); Если ЗагруженныеНастройки Неопределено Тогда Сообщить("Настройки загружены: " + ЗагруженныеНастройки.Получить("Параметр1") + ", " + ЗагруженныеНастройки.Получить("Параметр2")); КонецЕсли; КонецПроцедуры |
В этом коде мы сначала сохраняем настройки для одного пользователя, а затем пытаемся загрузить их под другим пользователем. Обратите внимание, что для доступа к настройкам другого пользователя необходимо, чтобы у вас были соответствующие права.
Если у вас возникнут дополнительные вопросы, не стесняйтесь спрашивать!