Механизм настроек пользователей в 1Cv8
Содержание
- 1 Механизм настроек пользователей
- 2 Объект метаданных ХранилищеНастроек
- 3 Стандартное хранилище настроек
- 4 Сохранение настроек форм
- 5 Сохранение настроек отчетов
- 6 Порядок разработки хранилища настроек
- 7 Приложение В. Настройки, сохраняемые платформой в хранилищах настроек
- 8 Объекты конфигуратора для работы с настройками
- 8.1 Глобальный контекст
- 8.2 Хранилища настроек
- 8.2.1 СтандартноеХранилищеНастроекМенеджер (StandardSettingsStorageManager)
- 8.2.2 ХранилищаНастроекМенеджер (SettingsStoragesManager)
- 8.2.3 ХранилищеНастроекМенеджер.<Имя хранилища> (SettingsStorageManager.<Имя хранилища>)
- 8.2.4 ВыборНастроек (SettingsChoice)
- 8.2.5 ОписаниеНастроек (SettingsDescription)
- 8.2.6 Использование форм сохранения и загрузки
- 9 Особенности использования механизма настроек
- 10 Сохранение/восстановление пользовательских настроек
Механизм настроек пользователей
Для сохранения информации о настройках пользователя, которая должна сохраняться между сеансами работы, в платформе реализованы хранилища настроек.
Существует два вида хранилищ настроек:
- Стандартное хранилище – хранилище, используемое системой по умолчанию и хранящее данные в системных таблицах информационной базы.
- Хранилища настроек – специальные объекты метаданных, которые описывают хранение данных в некотором объекте информационной базы.
Например, в этом объекте может быть описана работа с настройками, которые хранятся в справочнике.
Платформа использует пять хранилищ:
1. Системное хранилище – в данное хранилище система сохраняет все возможные настройки, которые нужны для работы платформы. К данным настройкам относятся настройки размеров форм, настройки печати табличного документа и т. п. Полный перечень настроек, сохраняемых в системном хранилище, перечислен в Приложении В. В качестве системного хранилища настроек всегда используется стандартное хранилище настроек. Т. е. данные системного хранилища всегда сохраняются в системной таблице информационной базы.
2. Хранилище общих настроек – данное хранилище предназначено для хранения различных настроек прикладного решения. Платформа самостоятельно не записывает в данное хранилище никаких настроек. Данное хранилище должен использовать разработчик из встроенного языка, для того чтобы выполнять сохранение/восстановление прикладных настроек пользователя.
3. Хранилище пользовательских настроек отчетов – в данное хранилище помещаются пользовательские настройки отчетов.
4. Хранилище вариантов отчетов – в данное хранилище помещаются варианты отчетов.
5. Хранилище настроек данных форм – в это хранилище сохраняются данные форм. Этим хранилищем можно пользоваться, например, для сохранения реквизитов обработок. При этом можно выбрать индивидуальное хранилище для каждого отчета и обработки.
При разработке конфигурации имеется возможность определить собственные хранилища настроек для всех хранилищ (кроме системного хранилища). Для этого необходимо создать объект хранилище настроек в соответствующей ветке дерева метаданных и затем указать его в нужном свойстве конфигурации. Свойства объекта Конфигурация имеют те же имена, что и вышеперечисленные хранилища.
Таким образом, данные хранилищ могут храниться как в системной таблице информационной базы, так и в некотором специальном объекте информационной базы, например, в справочнике или регистре сведений. Например, можно создать в конфигурации объект хранилище настроек и указать в свойстве конфигурации, что данное хранилище следует использовать для хранения настроек отчетов. Таким образом, настройки отчетов будут сохраняться не в системной таблице, а в некотором объекте, например, в справочнике, что дает возможность организовать работу с едиными настройками отчетов, реализовать систему прав, обмен настройками и т.п.
Для хранения настроек рекомендуется выбирать такие объекты, для которых системой поддерживается способ идентификации, при котором идентифицирующий реквизит можно преобразовать в строку и обратно без потери данных. В качестве примера можно привести справочник и стандартный реквизит Код, уникальный во всем справочнике. |
Объект метаданных ХранилищеНастроек
Объект метаданных ХранилищеНастроек предназначен для обеспечения хранения прикладных настроек конфигурации. За счет реализации обработчиков событий и создания формы объекта выполняется модификация механизма работы с настройками таким образом, что изменяется место хранения настроек (вместо системных таблиц используются специальные объекты конфигурации, которые создал разработчик) и визуальные механизмы работы с настройками.
В конфигурации может быть определено произвольное количество хранилищ настроек.
Методы и обработчики
У объекта ХранилищеНастроекМенеджер имеется ряд методов, которые вызывают соответствующие события. Таким образом, определением обработчиков событий описывается логика сохранения/загрузки настроек.
Если не реализовать тот или иной обработчик, то будет недоступно выполнение действия, которое обработчик реализует. Например, если не реализовать обработчик ОбработкаСохранения, будет недоступно сохранение настроек. |
В методах хранилища и обработчиках используются следующие параметры:
- КлючОбъекта – значение любого типа, которое используется в хранилище в качестве идентификатора объекта настройки. Например, для идентификации отчета платформа использует полное имя отчета.
- КлючНастроек – значение любого типа, которое используется в хранилище в качестве идентификатора объекта хранилища, хранящего настройку. Этот ключ используется в тех случаях, когда хранится несколько настроек, из которых возможен выбор пользователем.
В процессе разработки хранилища, разработчик самостоятельно определяет, каким образом будет идентифицироваться объект хранилища, тем самым, определяя тип параметра.
Например, если настройки сохраняются в справочнике, то в качестве ключа настройки можно использовать поле Код или значение Ссылка (элемента справочника).
- Настройка – объект, содержащий настройки. Значение любого типа, которое необходимо сохранить как настройку. Например, при сохранении настроек отчета будет использоваться объект ПользовательскиеНастройкиКомпоновкиДанных, а при сохранении данных формы – объект Соответствие.
- ОписаниеНастроек – значение типа ОписаниеНастроек. Специальный объект, содержащий информацию о настройке. Содержит ключ объекта, ключ настройки и представление настройки.
- Пользователь – имя пользователя. Если имеет значение Неопределено, то следует использовать имя текущего пользователя. В других случаях содержит имя пользователя, для которого нужно получить или сохранить настройки. По умолчанию имеет значение Неопределено.
Объект ХранилищеНастроек предоставляет следующие методы:
- Сохранить() – используется для сохранения настройки.
Вызывает событие ОбработкаСохранения. Если обработчик события не реализован или пустой, то действие не будет выполнено.
- Загрузить() – используется для получения настройки.
Вызывает событие ОбработкаЗагрузки. Если обработчик события не реализован или пустой, то действие не будет выполнено.
- ПолучитьОписание() – используется для получения описания настройки.
Вызывает событие ОбработкаПолученияОписания. Если обработчик события не реализован или пустой, то действие не будет выполнено.
- УстановитьОписание() – используется для установки описания настройки.
Вызывает событие ОбработкаУстановкиОписания. Если обработчик события не реализован или пустой, то действие не будет выполнено.
Подробнее про параметры методов можно посмотреть во встроенной справке.
В модуле менеджера объекта должны находится обработчики следующих событий:
- ОбработкаСохранения – содержит реализацию метода Сохранить(). В данном обработчике необходимо выполнить сохранение настройки в некоторый объект. Например, в элемент справочника.
- ОбработкаЗагрузки – содержит реализацию метода Загрузить(). В данном обработчике необходимо получить настройки из некоторого объекта. Например, из элемента справочника.
- ОбработкаПолученияОписания – содержит реализацию метода ПолучитьОписание(). В данном обработчике необходимо заполнить описание настройки на основании свойств сохраненной настройки. Например, из элемента справочника.
- ОбработкаУстановкиОписания – содержит реализацию метода УстановитьОписание(). В данном обработчике необходимо заполнить описание сохраненной настройки из переданного объекта ОписаниеНастроек. Например, в элементе справочника.
Подробнее про параметры обработчиков можно посмотреть во встроенной справке.
Формы
Кроме описания обработчиков в хранилище настроек необходимо определить формы, которые будут использоваться при сохранении и выборе настроек пользователем.
Реализация форм сохранения и восстановления настроек является обязательной для выполнения интерактивных операций. Программное сохранение и восстановление настроек возможно и без реализации этих форм. |
Когда пользователь применяет команды сохранения или загрузки настроек, система получает соответствующую форму объекта хранилища настроек, и отображает ее на экране.
Например, при сохранении настроек отчета система будет использовать форму сохранения того объекта метаданных, который указан в качестве хранилища настроек отчетов (непосредственно у самого отчета или у всей конфигурации). При этом форме будут переданы следующие параметры:
- КлючОбъекта – идентификатор объекта, для которого нужно отображать список настроек. Например, для отчета это будет полным именем отчета.
- КлючТекущихНастроек – идентификатор настройки, которая была текущей там, откуда вызывается форма сохранения или восстановления настроек. Например, это может быть идентификатором текущей настройки отчета.
- СтандартныеНастройки – список значений, содержащий стандартные настройки. Например, для выбора варианта отчета данный список содержит список стандартных вариантов, настроек, описанных в схеме компоновки данных отчета. Данный параметр передается только в форму загрузки.
При создании формы с помощью конструктора, вышеописанные параметры будут автоматически добавлены в список параметров формы.
В формах следует использовать переданные параметры и соответствующим образом фильтровать список настроек. Так, следует отображать только настройки для указанного в параметре КлючОбъекта объекта настройки (например, отчета).
Если пользователь выбрал настройку, то результатом работы формы должно быть значение типа ВыборНастроек. В этом значении, в свойстве КлючНастроек, должен находиться ключ выбранной настройки (например, код элемента справочника или другой, идентифицирующий настройку параметр), а в свойстве ДополнительныеСвойства – дополнительная информация, которую пользователь мог указать в форме.
Закрыть(Новый ВыборНастроек(КлючСохраняемойНастройки));
Стандартное хранилище настроек
Стандартное хранилище настроек представляется во встроенном языке объектом СтандартноеХранилищеНастроекМенеджер. Данный объект реализует тот же набор методов, что и объект ХранилищеНастроекМенеджер, и дополнительно реализует методы:
- ПолучитьСписок() – метод получения списка настроек для выбранного объекта настройки,
- Удалить() – удаление определенной настройки выбранного объекта настройки.
Стандартное хранилище сохраняет настройки в системных таблицах информационной базы.
В качестве ключа объекта настройки и в качестве ключа настройки системное хранилище настроек принимает строку.
В качестве настроек системное хранилище принимает любое значение, которое может быть помещено в хранилище значений.
Сохранение настроек форм
Разработчик может управлять сохранением данных управляемых форм в настройках. Для этого при разработке формы ему необходимо воспользоваться следующими свойствами формы:
- СохранениеДанныхВНастройках – при помощи данного свойства разработчик формы может включить возможность сохранения данных формы (с возможностью выбора настройки, в которую будут сохраняться данные). Если у формы включена необходимость сохранения, то форма предоставляет команды сохранения / загрузки настроек.
- АвтоматическоеСохранениеДанныхВНастройках – указывает необходимость автоматического сохранения настроек при закрытии формы и восстановлении при открытии формы. При этом не важно, используется или нет список настроек.
- ХранилищеНастроек – ссылка на хранилище настроек, в котором предполагается сохранение настроек. Если не указано, то используется хранилище сохранения настроек данных формы, указанное в конфигурации. А если и в конфигурации не указано хранилище, то настройки сохраняются в стандартное хранилище настроек.
Если для формы установлена возможность сохранения данных, то необходимо указать, какие реквизиты формы должны сохраняться (колонка Сохранение на закладке Реквизиты редактора формы).
При сохранении настроек в качестве ключа объекта используется полное имя формы. В настройках сохраняется объект типа Соответствие, в котором в качестве ключей находятся пути к сохраняемым реквизитам, а в качестве значений – их (реквизитов) значения.
Для дополнительной обработки сохранения и загрузки в форме имеются следующие обработчики:
- ПриСохраненииДанныхВНастройкахНаСервере – в данный обработчик передается объект (типа Соответствие), в который будут сохраняться настройки. В объекте уже заполнены значения реквизитов, которые требовалось сохранять. В этом обработчике можно программно добавить в объект настроек дополнительную информацию. Например, поместить в реквизит настроек отбор.
- ПриЗагрузкеДанныхИзНастроекНаСервере – в данный обработчик передается объект, из которого уже загружены настройки. Это соответствие, в котором находятся значения реквизитов. В этом обработчике можно будет загрузить собственные свойства из соответствия. Например, восстановить параметры отбора.
Сохранение настроек отчетов
У объектов отчет и внешний отчет имеется свойства метаданных ХранилищеВариантов и ХранилищеНастроек. В данных свойствах указывается, в какие хранилища нужно сохранять варианты и настройки отчета соответственно. Если хранилища не указаны, то используются хранилища, указанные в свойствах конфигурации.
Форма отчета предоставляет команды сохранения и загрузки вариантов и настроек отчетов.
Для дополнительной обработки сохранения и загрузки настроек и вариантов отчета в расширении формы отчета имеются следующие обработчики:
- ПриСохраненииВариантаНаСервере – в данный обработчик передаются настройки компоновки данных, которые будут сохраняться. В этом обработчике можно программно добавить в объект настроек дополнительную информацию.
- ПриЗагрузкеВариантаНаСервере – в данный обработчик передается объект настроек, из которого уже загружен вариант отчета. В этом обработчике можно прочитать из объекта настроек дополнительную информацию.
- ПриСохраненииПользовательскихНастроекНаСервере – в данный обработчик передаются пользовательские настройки отчета, которые будут сохраняться. В этом обработчике можно добавить в настройки дополнительную информацию.
- ПриЗагрузкеПользовательскихНастроекНаСервере – в данный обработчик передается объект настроек, которые содержит уже загруженные пользовательские настройки. В этом обработчике можно прочитать из объекта настроек дополнительную информацию.
При необходимости сохранять в настройках компоновки данных или пользовательских настройках компоновки данных некоторую дополнительную информацию можно воспользоваться свойствами ДополнительныеСвойства объектов НастройкиКомпоновкиДанных и ПользовательскиеНастройкиКомпоновкиДанных. Свойство ДополнительныеСвойства представляет собой объект типа Структура.
Порядок разработки хранилища настроек
Далее приводится рекомендованный порядок разработки хранилищ настроек в управляемом приложении:
1. Определяется, какое хранилище (см. начало главы) будет использоваться. Например, будем реализовывать хранилище настроек данных форм конфигурации.
2. Определяется перечень объектов метаданных, которые будут использовать это хранилище, и определяется перечень хранимой информации, ее структура и типы. Эта информация поможет нам правильно выбрать объект метаданных, в данных которого будут храниться наши настройки.
3. На основании информации из п. 2 создается объект (и его структура), который будет хранить настройки. Пусть наши настройки хранятся в элементах справочника. Т. к. в нашем случае структура сохраняемых данных крайне разнородна, то нет смысла реализовывать отдельный набор реквизитов для хранения настроек каждой формы, поэтому настройки будут храниться в реквизите справочника типа ХранилищеЗначения.
4. Создается объект типа ХранилищеНастроек и для него выполняется реализация форм сохранения и загрузки. Тем самым мы обеспечиваем интерактивность при сохранении и восстановлении настроек.
5. Для созданного объекта ХранилищеНастроек выполняется реализация обработчиков событий, связанных с сохранением и восстановлением настроек. Если не выполнить эту операцию, то не будут происходить собственно операции чтения/записи настроек. Для решения этой задачи нужно реализовать обработчики событий ОбработкаСохранения и ОбработкаЗагрузки в модуле созданного объекта типа ХранилищеНастроек.
6. В объектах, выделенных в п. 2 (или в свойствах конфигурации), заполняются соответствующие свойства, тем самым указывая объектам, в каких хранилищах будут храниться настройки. В нашем примере необходимо заполнить свойство конфигурации Хранилище настроек данных форм ссылкой на объект, созданный на шаге 4.
7. При необходимости выполняется реализация обработчиков событий, связанных с сохранением и восстановлением настроек в тех прикладных объектах, где это необходимо.
Приложение В. Настройки, сохраняемые платформой в хранилищах настроек
Приложение описывает настройки, которые автоматически сохраняются платформой в системном хранилище.
Хранилище: вариантов отчета
- Настройка: варианты отчета.
- Ключ объекта – полное имя отчета. Например: Отчет.Продажи.
- Ключ настройки – текстовый идентификатор варианта. Например: ПродажиПоРегионам.
- Тип сохраняемого значения – НастройкиКомпоновкиДанных.
Хранилище: настроек отчета
- Настройка: настройки отчета.
- Ключ объекта – текстовая строка, составленная из полного имени отчета, символа «/» и ключа варианта. Например: Отчет.Продажи/ПродажиПоРегионам.
- Ключ настройки – текстовый идентификатор настройки. Пример: МоиКлиенты.
- Тип сохраняемого значения – ПользовательскиеНастройкиКомпоновкиДанны.
Хранилище данных форм
- Настройка: значения полей формы.
- Ключ объекта – полное имя формы. Например: Обработка.ВыгрузкаДанных.Форма.ОсновнаяФорма.
- Ключ настройки – текстовый идентификатор сохраняемых значений. Пример: ВыгрузкаВСбербанк.
- Тип сохраняемого значения – Соответствие. Ключом соответствия выступает текстовый путь к сохраняемому реквизиту данных, а значением является значение реквизита.
Системное хранилище
- Настройка: ключ текущего варианта отчета.
- Ключ объекта – текстовая строка, составленная из полного имени отчета и строки «/КлючТекущегоВарианта» («/CurrentVariantKey»).
- Например: Отчет.Продажи/КлючТекущегоВарианта.
- Ключ настройки – пустая строка.
- Тип сохраняемого значения – произвольное значение, содержащее ключ текущего варианта.
- Ключ объекта – текстовая строка, составленная из полного имени отчета и строки «/КлючТекущегоВарианта» («/CurrentVariantKey»).
- Настройка: ключ текущей настройки отчета.
- Ключ объекта – является строковым значением, состоящим из полного имени отчета, ключа варианта отчета (в виде строки) и текста «КлючТекущихПользовательскихНастроек» (CurrentUserSettingsKey), разделенными символами «/».
- Например: Отчет.Продажи/ПродажиПоРегионам/ КлючТекущихПользовательскихНастроек.
- Ключ настройки – пустая строка.
- Тип сохраняемого значения – произвольное значение, содержащее ключ текущего варианта.
- Ключ объекта – является строковым значением, состоящим из полного имени отчета, ключа варианта отчета (в виде строки) и текста «КлючТекущихПользовательскихНастроек» (CurrentUserSettingsKey), разделенными символами «/».
- Настройка: настройки варианта отчета при закрытии отчета или смене варианта.
- Ключ объекта – является строковым значением, состоящим из полного имени отчета, ключа варианта отчета (в виде строки) и текста «ТекущиеПользовательскиеНастройки» («CurrentUserSettings»), разделенными символами «/».
- Например: Отчет.Продажи/ПродажиПоРегионам/ ТекущиеПользовательскиеНастройки.
- Ключ настройки – пустая строка.
- Тип сохраняемого значения – ПользовательскиеНастройкиКомпоновкиДанных
- Ключ объекта – является строковым значением, состоящим из полного имени отчета, ключа варианта отчета (в виде строки) и текста «ТекущиеПользовательскиеНастройки» («CurrentUserSettings»), разделенными символами «/».
- Настройка: ключ текущей настройки полей формы.
- Ключ объекта – является строковым значением, состоящим из полного имени формы и текста «КлючТекущихНастроекДанных» («CurrentDataSettingsKey»), разделенными символом «/».
- Например: Обработка.ВыгрузкаДанных.Формы.ОсновнаяФорма/КлючТекущихНастроекДанных
- Ключ настройки – пустая строка.
- Тип сохраняемого значения – произвольное значение, содержащее ключ текущей настройки.
- Ключ объекта – является строковым значением, состоящим из полного имени формы и текста «КлючТекущихНастроекДанных» («CurrentDataSettingsKey»), разделенными символом «/».
- Настройка: значения полей формы при закрытии.
- Ключ объекта – является строковым значением, состоящим из полного имени формы и текста «ТекущиеДанные» («CurrentData»), разделенными символом «/».
- Например: Обработка.ВыгрузкаДанных.Формы.ОсновнаяФорма/ТекущиеДанные.
- Ключ настройки – пустая строка.
- Тип сохраняемого значения – Соответствие. Ключом соответствия выступает текстовый путь к сохраняемому реквизиту данных, а значением является значение реквизита.
- Ключ объекта – является строковым значением, состоящим из полного имени формы и текста «ТекущиеДанные» («CurrentData»), разделенными символом «/».
- Настройка: настройка отображения формы.
- Ключ объекта – является строковым значением, состоящим из полного имени формы и текста «НастройкиФормы» («FormSettings»), разделенными символом «/».
- Например: Обработка.ВыгрузкаДанных.Формы.ОсновнаяФорма/НастройкиФормы.
- Ключ настройки – пустая строка.
- Тип сохраняемого значения – НастройкиФормы. Объект без свойств и методов.
- Ключ объекта – является строковым значением, состоящим из полного имени формы и текста «НастройкиФормы» («FormSettings»), разделенными символом «/».
- Настройка: размеры формы и элементов управления.
- Ключ объекта – является строковым значением, состоящим из полного имени формы и текста «НастройкиОкна» («WindowSettings»), разделенными символом «/».
- Например: Обработка.ВыгрузкаДанных.Формы.ОсновнаяФорма/ НастройкиОкна.
- Ключ настройки – пустая строка.
- Тип сохраняемого значения – НастройкиОкна. Объект без свойств и методов.
- Ключ объекта – является строковым значением, состоящим из полного имени формы и текста «НастройкиОкна» («WindowSettings»), разделенными символом «/».
- Настройка: избранное.
- Ключ объекта – «Общее/ИзбранноеРаботыПользователя» («Common/UserWorkFavorites»).
- Ключ настройки – пустая строка.
- Тип сохраняемого значения – ИзбранноеРаботыПользователя. Подробнее смотри раздел «Избранные ссылки пользователя» главы «Сервисные возможности навигации».
- Настройка: настройки глобального командного интерфейса.
- Ключ объекта – строковое значение, один из вариантов:
- полное имя фрагмента командного интерфейса и «/ПанельДействий» («/ActionsPanel»);
- полное имени фрагмента командного интерфейса и «/ПанельНавигации/НастройкиКомандногоИнтерфейса» («/NavigationPanel/CommandInterfaceSettings»);
- «Общее/ПанельРазделов/НастройкиКоманд-ногоИнтерфейса» («Common/PartitionPanel/CommandInterfaceSettings»).
- Например: Подсистема.Продажи/ПанельНавигации/Нас-тройкиКомандногоИнтерфейса.
- Ключ настройки – пустая строка.
- Тип сохраняемого значения – НастройкиКомандногоИнтерфейса. Объект без свойств и методов.
- Ключ объекта – строковое значение, один из вариантов:
- Настройка: настройки рабочего стола.
- Ключ объекта – «Общее/НастройкиРабочегоСтола» («Common/DesktopSettings»).
- Ключ настройки – пустая строка.
- Тип сохраняемого значения – НастройкиРабочегоСтола. Объект без свойств и методов.
- Настройка: настройки печати табличного документа.
- Ключ объекта – строковое значение, состоящее из «Общее/НастройкиПечатиТабличногоДокумента/» («Common/SpreadsheetDocumentPrintSettings/») и имени параметров печати. Например:
- Общее/НастройкиПечатиТабличногоДокумента/РасходнаяНакладная.
- Ключ настройки – пустая строка.
- Тип сохраняемого значения – НастройкиПечатиТабличногоДокумента. Объект без свойств и методов.
- Ключ объекта – строковое значение, состоящее из «Общее/НастройкиПечатиТабличногоДокумента/» («Common/SpreadsheetDocumentPrintSettings/») и имени параметров печати. Например:
Объекты конфигуратора для работы с настройками
меню Справка/Содержание справки/1С предприятие/Встроенный язык/Глобальный контекст/Свойства/Хранилища настроек
меню Справка/Содержание справки/1С предприятие/Встроенный язык/Прикладные объекты/Хранилища настроек
Глобальный контекст
Глобальный контекст содержит ряд свойств (глобальных объектов), используемых для работы с настройками.
Использование: Только чтение.
Тип: СтандартноеХранилищеНастроекМенеджер; ХранилищеНастроекМенеджер.
Доступность: клиент, сервер, внешнее соединение.
Свойства глобального контекста:
- ХранилищаНастроек. Предназначено для доступа к хранилищам настроек.
- ХранилищеВариантовОтчетов. Содержит хранилище для хранения вариантов отчета.
- ХранилищеНастроекДанныхФорм. Содержит хранилище для хранения настроек данных форм.
- ХранилищеОбщихНастроек. Содержит хранилище, используемое для сохранения общих настроек.
- ХранилищеПользовательскихНастроекОтчетов. Содержит хранилище для хранения настроек отчетов.
- ХранилищеСистемныхНастроек. Содержит хранилище, в котором сохраняются системные настройки.
Хранилища настроек
В разделе описываются прикладные объекты, используемые для работы с хранилищем настроек.
СтандартноеХранилищеНастроекМенеджер (StandardSettingsStorageManager)
Методы:
- Загрузить (Load)
- ПолучитьОписание (GetDescription)
- ПолучитьСписок (GetList)
- Сохранить (Save)
- Удалить (Delete)
- УстановитьОписание (SetDescription)
Описание: Хранилище настроек, хранящее настройки в системных таблицах.
Доступность: клиент, сервер, внешнее соединение.
См. также: Глобальный контекст, свойство ХранилищеСистемныхНастроек
ХранилищаНастроекМенеджер (SettingsStoragesManager)
Элементы коллекции: ХранилищеНастроекМенеджер
Для объекта доступен обход коллекции посредством оператора Для каждого … Из … Цикл. При обходе выбираются хранилища настроек.
Возможно обращение к хранилищу настроек посредством оператора [...]. В качестве аргумента передается имя хранилища, как оно задано в конфигурации.
Свойства:
- <Имя хранилища> (<Имя хранилища>)
Описание: Коллекция хранилищ настроек, определенных в конфигурации.
Доступность: клиент, сервер, внешнее соединение.
См. также: Глобальный контекст, свойство ХранилищаНастроек
ХранилищеНастроекМенеджер.<Имя хранилища> (SettingsStorageManager.<Имя хранилища>)
Методы:
- Загрузить (Load)
- ПолучитьМакет (GetTemplate)
- ПолучитьОписание (GetDescription)
- ПолучитьФорму (GetForm)
- ПолучитьФормуЗагрузки (GetLoadForm)
- ПолучитьФормуСохранения (GetSaveForm)
- Сохранить (Save)
- УстановитьОписание (SetDescription)
События:
- ОбработкаЗагрузки (LoadProcessing)
- ОбработкаПолученияОписания (GetDescriptionProcessing)
- ОбработкаСохранения (SaveProcessing)
- ОбработкаУстановкиОписания (SetDescriptionProcessing)
Описание: Объект, предоставляющий доступ к хранилищу настроек определенного типа.
Доступность: клиент, сервер, внешнее соединение.
См. также: ХранилищаНастроекМенеджер, свойство <Имя хранилища>
ВыборНастроек (SettingsChoice)
Свойства:
- ДополнительныеСвойства (AdditionalProperties)
- КлючНастроек (SettingsKey)
Конструкторы:
- На основании ключа
Описание: Содержит информацию о выбранной пользователем настройке.
Доступность: клиент, сервер, внешнее соединение, тонкий клиент, веб-клиент.
ОписаниеНастроек (SettingsDescription)
Свойства:
- ДополнительныеСвойства (AdditionalProperties)
- КлючНастроек (SettingsKey)
- КлючОбъекта (ObjectKey)
- Пользователь (User)
- Представление (Presentation)
Описание: Содержит информацию об описании настройки.
Доступность: клиент, сервер, внешнее соединение.
См. также:
- ХранилищеНастроекМенеджер, метод ПолучитьОписание
- ХранилищеНастроекМенеджер, метод УстановитьОписание
- ХранилищеНастроекМенеджер, событие ОбработкаПолученияОписания
- ХранилищеНастроекМенеджер, событие ОбработкаУстановкиОписания
- СтандартноеХранилищеНастроекМенеджер, метод ПолучитьОписание
- СтандартноеХранилищеНастроекМенеджер, метод Сохранить
- СтандартноеХранилищеНастроекМенеджер, метод УстановитьОписание
- ХранилищеНастроекМенеджер, метод Сохранить
- ХранилищеНастроекМенеджер, событие ОбработкаСохранения
Использование форм сохранения и загрузки
В разделе описываются механизмы использования форм сохранения и загрузки.
Форма сохранения
Параметры формы:
- КлючОбъекта (ObjectKey)
- КлючТекущихНастроек (CurrentSettingsKey)
Описание: Форма, используемая для сохранения настроек. Результатом работы формы должно быть значение типа ВыборНастроек или значение Неопределено в случае, если пользователь отказался от сохранения настройки.
Доступность: клиент.
Форма загрузки
Параметры формы:
- КлючОбъекта (ObjectKey)
- КлючТекущихНастроек (CurrentSettingsKey)
- СтандартныеНастройки (StandardSettings)
Описание:
Форма, используемая для загрузки настроек.
Результатом работы формы (значение, передаваемое в метод Закрыть()) должно быть значение типа ВыборНастроек или значение Неопределено в случае, если пользователь отказался от загрузки настройки.
Доступность: клиент.
Особенности использования механизма настроек
Насколько можно понять из описания, можно выделить две части механизма:
- Использование прикладных объектов хранилища настройки для сохранения/восстановления настроек
- Замена встроенных объектов на определённые в конфигурации (паттерн плагин)
Не очень понятно зачем нужен механизм переопределения стандартных хранилищ, но, наверное, можно что-то придумать... Типа контекстной чувствительности настроек.
В глобальном контексте всегда существует набор объектов-менеджеров хранилищ различного рода настроек, которые и используются системой и/или разработчиками.
- ХранилищеВариантовОтчетов
- ХранилищеНастроекДанныхФорм
- ХранилищеОбщихНастроек
- ХранилищеПользовательскихНастроекОтчетов
- ХранилищеСистемныхНастроек
Сохранение/восстановление пользовательских настроек
Методы СохранитьЗначение и ВосстановитьЗначение не работают на тонком клиенте, поэтому их можно заменить на аналоги, которые исполняются на сервере (значение хранится индивидуально для пользователя).
Вместо СохранитьЗначение:
ХранилищеСистемныхНастроек.Сохранить("",, ПараметрыСеанса.РабочаяФирма);
Вместо ВосстановитьЗначение:
РабочаяФирма = ХранилищеСистемныхНастроек.Загрузить("РабочаяФирма");