Объект 1С «Хранилище настроек»
Объект 1С «Хранилище настроек» — это общий объект конфигурации 1С, который позволяет разработчику создавать собственные механизмы хранения настроек в тех случаях, когда возможности стандартного механизма хранения настроек недостаточны.
Хранилища настроек позволяют разработчику хранить пользовательские настройки не в системных таблицах информационной базы, а в объектах конфигурации (например, в специальных справочниках или в регистрах сведений). Благодаря этому разработчик может реализовать собственный формат хранения этих настроек и собственные алгоритмы работы с этими настройками в случаях:
- когда требуется особенная структура хранения настроек;
- когда необходимо обеспечить передачу настроек в пределах распределенной информационной базы;
- когда существуют особенные требования к администрированию настроек и т.д.
Создание своих настроек может понадобиться в том случае, если:
- необходима миграция настроек между базами данных;
- необходим ссылочный контроль настроек.
В свойствах конфигурации, отчетов, обработок или форм можно переопределить сохранение настроек в хранилище, добавленное разработчиком. А в формах загрузки и сохранения настроек описать алгоритмы, в соответствии с которыми настройки будут сохраняться/восстанавливаться.
Использование стандартных хранилищ настроек 1С
Стандартное хранилище настроек 1С используется платформой по умолчанию в тонком клиенте для сохранения настроек 1С пользователя в следующих механизмах платформы:
- командный управляемый интерфейс; ;
- настройки и варианты отчетов.
По умолчанию в конфигурации имеются следующие хранилища настроек:
- ХранилищеВариантовОтчетов — для доступа к настройкам вариантов отчетов.
- ХранилищеПользовательскихНастроекОтчетов — для доступа к пользовательским настройкам отчетов.
- ХранилищеНастроекДанныхФорм — для доступа к пользовательским настройкам данных форм.
- ХранилищеОбщихНастроек — для доступа к общим настройкам.
- ХранилищеСистемныхНастроек — для доступа к системным настройкам.
- ХранилищеПользовательскихНастроекДинамическихСписков — для доступа к пользовательским настройкам динамических списков.
К каждому из этих хранилищ можно обратиться как к свойству глобального контекста.
Стандартные хранилище разработчик может использовать для своих нужд, сохраняя различные настройки в разрезе пользователя, объекта и самой настройки.
Хранилище настроек
Хранилища настроек — это общие объекты конфигурации. Они позволяют разработчику создавать собственные механизмы хранения настроек, в тех случаях, когда возможности стандартного механизма хранения настроек недостаточны.
В процессе работы пользователь выполняет различные настройки в системе: создает варианты отчетов, сохраняет настройки отчетов, вводит какие-то данные в формы и т. д. Кроме этого в конкретном прикладном решении могут существовать собственные настройки, определяемые логикой работы этого решения, которые делают работу пользователя более удобной. Эти настройки сохраняются платформой в системных таблицах информационной базы.
Однако не во всех случаях системные механизмы сохранения настроек могут на 100% удовлетворить потребности разработчика. Хранилища настроек как раз позволяют разработчику хранить пользовательские настройки не в системных таблицах, а в объектах конфигурации (например, в специальных справочниках, в регистрах сведений). Благодаря этому разработчик может реализовать собственный формат хранения этих настроек и собственные алгоритмы работы с этими настройками. Например, когда требуется особенная структура хранения настроек, когда необходимо обеспечить передачу настроек в пределах распределенной информационной базы, когда существуют особенные требования к администрированию настроек и т. д.
В свойствах конфигурации, отчетов, обработок или форм можно переопределить сохранение настроек в хранилище, добавленное разработчиком. А в формах загрузки и сохранения настроек описать алгоритмы, в соответствии с которыми настройки будут сохраняться/восстанавливаться.
Стандартное(системное) хранилище настроек в 1С
При работе с прикладными решениями у пользователей есть возможность сохранять настройки отчетов, вариантов отчетов, заполнения форм, и другие. Данные настройки хранятся в специальных таблицах информационной базы. При программировании есть возможность получать и записывать данные этих таблиц.
Сохранить значение и восстановить значение (только обычное приложение)
Для сохранения и получения каких либо значений в 1С Предприятии существуют специальные функции встроенного языка программирования. Данный метод работает только в обычном приложении.
Системные хранилища настроек (обычное и управляемое приложение)
Данный метод универсален и работает в обычном и управляемом приложениях. Во встроенном языке 1С есть специальные объекты предназначенные для работы с системными хранилищами. Используя методы объектов можно записать и получить данные из таблиц настроек. Для каждого системного хранилища предназначен свой объект.
- ХранилищеОбщихНастроек — Хранилище общих настроек
- ХранилищеПользовательскихНастроекОтчетов — Хранилище пользовательских настроек отчетов
- ХранилищеВариантовОтчетов — Хранилище вариантов отчетов
- ХранилищеНастроекДанныхФорм — Хранилище настроек данных форм
- ХранилищеПользовательскихНастроекДинамическихСписков — Хранилище пользовательских настроек динамических списков
Не всегда стандартный механизм сохранения настроек устраивает разработчиков. В 1С Предприятии есть возможность переопределить хранилище настроек. Для этого необходимо создать объект данных с типом ХранилищеНастроек и подключить его в свойствах конфигурации.
Собственное ХранилищеНастроек обязано реализовать собственные алгоритмы сохранения и восстановления данных в событиях "ОбработкаСохранения", "ОбработкаЗагрузки". Сохранять настройки можно в справочниках, регистрах сведений, файлах и т.д.
Комментарии (0)
Для того чтобы добавить сообщение, необходимо Войти или Зарегистрироваться
1c8 УФ Как программно получить сохраненные настойки формы.
СтандартноеХранилищеНастроекМенеджер.ПолучитьСписок (StandardSettingsStorageManager.GetList)
СтандартноеХранилищеНастроекМенеджер (StandardSettingsStorageManager)
ПолучитьСписок (GetList)
Синтаксис:
ПолучитьСписок(<КлючОбъекта>, <ИмяПользователя>)
Параметры:
Тип: Строка.
Ключ объекта настройки.
Подробнее см. в Настройки, автоматически сохраняемые в системном хранилище.
<ИмяПользователя> (необязательный)
Тип: Строка.
Имя пользователя, настройки которого получаются.
Если не указан, то получаются настройки текущего пользователя.
Если указан пользователь, не являющийся текущим пользователем, т.е. делается попытка обратиться к настройкам, не принадлежащим текущему пользователю, то требуется наличие у текущего пользователя права АдминистрированиеДанных .
Возвращаемое значение:
Получает список настроек из хранилища.
Значениями элементов списка являются ключи настроек.
Читал, видимо плохо.
Обратил внимание:
Значения полей формы
Пример:
Обработка.ВыгрузкаДанных.Форма.Форма1
ХранилищеСистемныхНастроек.ПолучитьСписок("Обработка.ПомощникПродаж.Форма.Форма")возвращает пустой список.
Да есть реквизит Склад, стоит галочка Сохранение данных в настройках.
После открытия/закрытия формы этот реквизит (поле) заполняется.
(11) Спасибо.
Вот что получилось.
Работает:
Отбор.Вставить("Пользователь", ПользователиИнформационнойБазы.ТекущийПользователь());
Отбор.Вставить("КлючОбъекта", "Обработка.ПомощникПродаж.Форма.Форма/ТекущиеДанные");
Выборка = ХранилищеСистемныхНастроек.Выбрать(Отбор);
Пока Выборка.Следующий() Цикл
Сообщить(Выборка.Настройки["Объект.Склад"]);
КонецЦикла;
Не работает:
ХранилищеСистемныхНастроек.ПолучитьСписок("Обработка.ПомощникПродаж.Форма.Форма/ТекущиеДанные")