Механизм настроек пользователей в 1Cv8

Материал из КинтВики
Перейти к: навигация, поиск

Содержание

Механизм настроек пользователей

Для сохранения информации о настройках пользователя, которая должна сохраняться между сеансами работы, в платформе реализованы хранилища настроек.

Существует два вида хранилищ настроек:

  1. Стандартное хранилище – хранилище, используемое системой по умолчанию и хранящее данные в системных таблицах информационной базы.
  2. Хранилища настроек – специальные объекты метаданных, которые описывают хранение данных в некотором объекте информационной базы.

Например, в этом объекте может быть описана работа с настройками, которые хранятся в справочнике.

Платформа использует пять хранилищ:

1. Системное хранилище – в данное хранилище система сохраняет все возможные настройки, которые нужны для работы платформы. К данным настройкам относятся настройки размеров форм, настройки печати табличного документа и т. п. Полный перечень настроек, сохраняемых в системном хранилище, перечислен в Приложении В. В качестве системного хранилища настроек всегда используется стандартное хранилище настроек. Т. е. данные системного хранилища всегда сохраняются в системной таблице информационной базы.

2. Хранилище общих настроек – данное хранилище предназначено для хранения различных настроек прикладного решения. Платформа самостоятельно не записывает в данное хранилище никаких настроек. Данное хранилище должен использовать разработчик из встроенного языка, для того чтобы выполнять сохранение/восстановление прикладных настроек пользователя.

3. Хранилище пользовательских настроек отчетов – в данное хранилище помещаются пользовательские настройки отчетов.

4. Хранилище вариантов отчетов – в данное хранилище помещаются варианты отчетов.

5. Хранилище настроек данных форм – в это хранилище сохраняются данные форм. Этим хранилищем можно пользоваться, например, для сохранения реквизитов обработок. При этом можно выбрать индивидуальное хранилище для каждого отчета и обработки.

При разработке конфигурации имеется возможность определить собственные хранилища настроек для всех хранилищ (кроме системного хранилища). Для этого необходимо создать объект хранилище настроек в соответствующей ветке дерева метаданных и затем указать его в нужном свойстве конфигурации. Свойства объекта Конфигурация имеют те же имена, что и вышеперечисленные хранилища.

Таким образом, данные хранилищ могут храниться как в системной таблице информационной базы, так и в некотором специальном объекте информационной базы, например, в справочнике или регистре сведений. Например, можно создать в конфигурации объект хранилище настроек и указать в свойстве конфигурации, что данное хранилище следует использовать для хранения настроек отчетов. Таким образом, настройки отчетов будут сохраняться не в системной таблице, а в некотором объекте, например, в справочнике, что дает возможность организовать работу с едиными настройками отчетов, реализовать систему прав, обмен настройками и т.п.


Для хранения настроек рекомендуется выбирать такие объекты, для которых системой поддерживается способ идентификации, при котором идентифицирующий реквизит можно преобразовать в строку и обратно без потери данных. В качестве примера можно привести справочник и стандартный реквизит Код, уникальный во всем справочнике.

Объект метаданных ХранилищеНастроек

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

В конфигурации может быть определено произвольное количество хранилищ настроек.

Методы и обработчики

У объекта ХранилищеНастроекМенеджер имеется ряд методов, которые вызывают соответствующие события. Таким образом, определением обработчиков событий описывается логика сохранения/загрузки настроек.

Если не реализовать тот или иной обработчик, то будет недоступно выполнение действия, которое обработчик реализует. Например, если не реализовать обработчик ОбработкаСохранения, будет недоступно сохранение настроек.

В методах хранилища и обработчиках используются следующие параметры:

  • КлючОбъекта – значение любого типа, которое используется в хранилище в качестве идентификатора объекта настройки. Например, для идентификации отчета платформа использует полное имя отчета.
  • КлючНастроек – значение любого типа, которое используется в хранилище в качестве идентификатора объекта хранилища, хранящего настройку. Этот ключ используется в тех случаях, когда хранится несколько настроек, из которых возможен выбор пользователем.

В процессе разработки хранилища, разработчик самостоятельно определяет, каким образом будет идентифицироваться объект хранилища, тем самым, определяя тип параметра.

Например, если настройки сохраняются в справочнике, то в качестве ключа настройки можно использовать поле Код или значение Ссылка (элемента справочника).

  • Настройка – объект, содержащий настройки. Значение любого типа, которое необходимо сохранить как настройку. Например, при сохранении настроек отчета будет использоваться объект ПользовательскиеНастройкиКомпоновкиДанных, а при сохранении данных формы – объект Соответствие.
  • ОписаниеНастроек – значение типа ОписаниеНастроек. Специальный объект, содержащий информацию о настройке. Содержит ключ объекта, ключ настройки и представление настройки.
  • Пользователь – имя пользователя. Если имеет значение Неопределено, то следует использовать имя текущего пользователя. В других случаях содержит имя пользователя, для которого нужно получить или сохранить настройки. По умолчанию имеет значение Неопределено.

Объект ХранилищеНастроек предоставляет следующие методы:

  • Сохранить() – используется для сохранения настройки.

Вызывает событие ОбработкаСохранения. Если обработчик события не реализован или пустой, то действие не будет выполнено.

  • Загрузить() – используется для получения настройки.

Вызывает событие ОбработкаЗагрузки. Если обработчик события не реализован или пустой, то действие не будет выполнено.

  • ПолучитьОписание() – используется для получения описания настройки.

Вызывает событие ОбработкаПолученияОписания. Если обработчик события не реализован или пустой, то действие не будет выполнено.

  • УстановитьОписание() – используется для установки описания настройки.

Вызывает событие ОбработкаУстановкиОписания. Если обработчик события не реализован или пустой, то действие не будет выполнено.

Подробнее про параметры методов можно посмотреть во встроенной справке.

В модуле менеджера объекта должны находится обработчики следующих событий:

  • ОбработкаСохранения – содержит реализацию метода Сохранить(). В данном обработчике необходимо выполнить сохранение настройки в некоторый объект. Например, в элемент справочника.
  • ОбработкаЗагрузки – содержит реализацию метода Загрузить(). В данном обработчике необходимо получить настройки из некоторого объекта. Например, из элемента справочника.
  • ОбработкаПолученияОписания – содержит реализацию метода ПолучитьОписание(). В данном обработчике необходимо заполнить описание настройки на основании свойств сохраненной настройки. Например, из элемента справочника.
  • ОбработкаУстановкиОписания – содержит реализацию метода УстановитьОписание(). В данном обработчике необходимо заполнить описание сохраненной настройки из переданного объекта ОписаниеНастроек. Например, в элементе справочника.

Подробнее про параметры обработчиков можно посмотреть во встроенной справке.

Формы

Кроме описания обработчиков в хранилище настроек необходимо определить формы, которые будут использоваться при сохранении и выборе настроек пользователем.

Реализация форм сохранения и восстановления настроек является обязательной для выполнения интерактивных операций. Программное сохранение и восстановление настроек возможно и без реализации этих форм.

Когда пользователь применяет команды сохранения или загрузки настроек, система получает соответствующую форму объекта хранилища настроек, и отображает ее на экране.

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

  • КлючОбъекта – идентификатор объекта, для которого нужно отображать список настроек. Например, для отчета это будет полным именем отчета.
  • КлючТекущихНастроек – идентификатор настройки, которая была текущей там, откуда вызывается форма сохранения или восстановления настроек. Например, это может быть идентификатором текущей настройки отчета.
  • СтандартныеНастройки – список значений, содержащий стандартные настройки. Например, для выбора варианта отчета данный список содержит список стандартных вариантов, настроек, описанных в схеме компоновки данных отчета. Данный параметр передается только в форму загрузки.

При создании формы с помощью конструктора, вышеописанные параметры будут автоматически добавлены в список параметров формы.

В формах следует использовать переданные параметры и соответствующим образом фильтровать список настроек. Так, следует отображать только настройки для указанного в параметре КлючОбъекта объекта настройки (например, отчета).

Если пользователь выбрал настройку, то результатом работы формы должно быть значение типа ВыборНастроек. В этом значении, в свойстве КлючНастроек, должен находиться ключ выбранной настройки (например, код элемента справочника или другой, идентифицирующий настройку параметр), а в свойстве ДополнительныеСвойства – дополнительная информация, которую пользователь мог указать в форме.

Закрыть(Новый ВыборНастроек(КлючСохраняемойНастройки));

Стандартное хранилище настроек

Стандартное хранилище настроек представляется во встроенном языке объектом СтандартноеХранилищеНастроекМенеджер. Данный объект реализует тот же набор методов, что и объект ХранилищеНастроекМенеджер, и дополнительно реализует методы:

  • ПолучитьСписок() – метод получения списка настроек для выбранного объекта настройки,
  • Удалить() – удаление определенной настройки выбранного объекта настройки.

Стандартное хранилище сохраняет настройки в системных таблицах информационной базы.

В качестве ключа объекта настройки и в качестве ключа настройки системное хранилище настроек принимает строку.

В качестве настроек системное хранилище принимает любое значение, которое может быть помещено в хранилище значений.

Сохранение настроек форм

Разработчик может управлять сохранением данных управляемых форм в настройках. Для этого при разработке формы ему необходимо воспользоваться следующими свойствами формы:

  • СохранениеДанныхВНастройках – при помощи данного свойства разработчик формы может включить возможность сохранения данных формы (с возможностью выбора настройки, в которую будут сохраняться данные). Если у формы включена необходимость сохранения, то форма предоставляет команды сохранения / загрузки настроек.
  • АвтоматическоеСохранениеДанныхВНастройках – указывает необходимость автоматического сохранения настроек при закрытии формы и восстановлении при открытии формы. При этом не важно, используется или нет список настроек.
  • ХранилищеНастроек – ссылка на хранилище настроек, в котором предполагается сохранение настроек. Если не указано, то используется хранилище сохранения настроек данных формы, указанное в конфигурации. А если и в конфигурации не указано хранилище, то настройки сохраняются в стандартное хранилище настроек.

Если для формы установлена возможность сохранения данных, то необходимо указать, какие реквизиты формы должны сохраняться (колонка Сохранение на закладке Реквизиты редактора формы).

При сохранении настроек в качестве ключа объекта используется полное имя формы. В настройках сохраняется объект типа Соответствие, в котором в качестве ключей находятся пути к сохраняемым реквизитам, а в качестве значений – их (реквизитов) значения.

Для дополнительной обработки сохранения и загрузки в форме имеются следующие обработчики:

  • ПриСохраненииДанныхВНастройкахНаСервере – в данный обработчик передается объект (типа Соответствие), в который будут сохраняться настройки. В объекте уже заполнены значения реквизитов, которые требовалось сохранять. В этом обработчике можно программно добавить в объект настроек дополнительную информацию. Например, поместить в реквизит настроек отбор.
  • ПриЗагрузкеДанныхИзНастроекНаСервере – в данный обработчик передается объект, из которого уже загружены настройки. Это соответствие, в котором находятся значения реквизитов. В этом обработчике можно будет загрузить собственные свойства из соответствия. Например, восстановить параметры отбора.

Сохранение настроек отчетов

У объектов отчет и внешний отчет имеется свойства метаданных ХранилищеВариантов и ХранилищеНастроек. В данных свойствах указывается, в какие хранилища нужно сохранять варианты и настройки отчета соответственно. Если хранилища не указаны, то используются хранилища, указанные в свойствах конфигурации.

Форма отчета предоставляет команды сохранения и загрузки вариантов и настроек отчетов.

Для дополнительной обработки сохранения и загрузки настроек и вариантов отчета в расширении формы отчета имеются следующие обработчики:

  • ПриСохраненииВариантаНаСервере – в данный обработчик передаются настройки компоновки данных, которые будут сохраняться. В этом обработчике можно программно добавить в объект настроек дополнительную информацию.
  • ПриЗагрузкеВариантаНаСервере – в данный обработчик передается объект настроек, из которого уже загружен вариант отчета. В этом обработчике можно прочитать из объекта настроек дополнительную информацию.
  • ПриСохраненииПользовательскихНастроекНаСервере – в данный обработчик передаются пользовательские настройки отчета, которые будут сохраняться. В этом обработчике можно добавить в настройки дополнительную информацию.
  • ПриЗагрузкеПользовательскихНастроекНаСервере – в данный обработчик передается объект настроек, которые содержит уже загруженные пользовательские настройки. В этом обработчике можно прочитать из объекта настроек дополнительную информацию.

При необходимости сохранять в настройках компоновки данных или пользовательских настройках компоновки данных некоторую дополнительную информацию можно воспользоваться свойствами ДополнительныеСвойства объектов НастройкиКомпоновкиДанных и ПользовательскиеНастройкиКомпоновкиДанных. Свойство ДополнительныеСвойства представляет собой объект типа Структура.

Порядок разработки хранилища настроек

Далее приводится рекомендованный порядок разработки хранилищ настроек в управляемом приложении:

1. Определяется, какое хранилище (см. начало главы) будет использоваться. Например, будем реализовывать хранилище настроек данных форм конфигурации.

2. Определяется перечень объектов метаданных, которые будут использовать это хранилище, и определяется перечень хранимой информации, ее структура и типы. Эта информация поможет нам правильно выбрать объект метаданных, в данных которого будут храниться наши настройки.

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

4. Создается объект типа ХранилищеНастроек и для него выполняется реализация форм сохранения и загрузки. Тем самым мы обеспечиваем интерактивность при сохранении и восстановлении настроек.

5. Для созданного объекта ХранилищеНастроек выполняется реализация обработчиков событий, связанных с сохранением и восстановлением настроек. Если не выполнить эту операцию, то не будут происходить собственно операции чтения/записи настроек. Для решения этой задачи нужно реализовать обработчики событий ОбработкаСохранения и ОбработкаЗагрузки в модуле созданного объекта типа ХранилищеНастроек.

6. В объектах, выделенных в п. 2 (или в свойствах конфигурации), заполняются соответствующие свойства, тем самым указывая объектам, в каких хранилищах будут храниться настройки. В нашем примере необходимо заполнить свойство конфигурации Хранилище настроек данных форм ссылкой на объект, созданный на шаге 4.

7. При необходимости выполняется реализация обработчиков событий, связанных с сохранением и восстановлением настроек в тех прикладных объектах, где это необходимо.

Приложение В. Настройки, сохраняемые платформой в хранилищах настроек

Приложение описывает настройки, которые автоматически сохраняются платформой в системном хранилище.

Хранилище: вариантов отчета

  • Настройка: варианты отчета.
    • Ключ объекта – полное имя отчета. Например: Отчет.Продажи.
    • Ключ настройки – текстовый идентификатор варианта. Например: ПродажиПоРегионам.
    • Тип сохраняемого значения – НастройкиКомпоновкиДанных.

Хранилище: настроек отчета

  • Настройка: настройки отчета.
    • Ключ объекта – текстовая строка, составленная из полного имени отчета, символа «/» и ключа варианта. Например: Отчет.Продажи/ПродажиПоРегионам.
    • Ключ настройки – текстовый идентификатор настройки. Пример: МоиКлиенты.
    • Тип сохраняемого значения – ПользовательскиеНастройкиКомпоновкиДанны.

Хранилище данных форм

  • Настройка: значения полей формы.
    • Ключ объекта – полное имя формы. Например: Обработка.ВыгрузкаДанных.Форма.ОсновнаяФорма.
    • Ключ настройки – текстовый идентификатор сохраняемых значений. Пример: ВыгрузкаВСбербанк.
    • Тип сохраняемого значения – Соответствие. Ключом соответствия выступает текстовый путь к сохраняемому реквизиту данных, а значением является значение реквизита.

Системное хранилище

  • Настройка: ключ текущего варианта отчета.
    • Ключ объекта – текстовая строка, составленная из полного имени отчета и строки «/КлючТекущегоВарианта» («/CurrentVariantKey»).
      • Например: Отчет.Продажи/КлючТекущегоВарианта.
    • Ключ настройки – пустая строка.
    • Тип сохраняемого значения – произвольное значение, содержащее ключ текущего варианта.
  • Настройка: ключ текущей настройки отчета.
    • Ключ объекта – является строковым значением, состоящим из полного имени отчета, ключа варианта отчета (в виде строки) и текста «КлючТекущихПользовательскихНастроек» (CurrentUserSettingsKey), разделенными символами «/».
      • Например: Отчет.Продажи/ПродажиПоРегионам/ КлючТекущихПользовательскихНастроек.
    • Ключ настройки – пустая строка.
    • Тип сохраняемого значения – произвольное значение, содержащее ключ текущего варианта.
  • Настройка: настройки варианта отчета при закрытии отчета или смене варианта.
    • Ключ объекта – является строковым значением, состоящим из полного имени отчета, ключа варианта отчета (в виде строки) и текста «ТекущиеПользовательскиеНастройки» («CurrentUserSettings»), разделенными символами «/».
      • Например: Отчет.Продажи/ПродажиПоРегионам/ ТекущиеПользовательскиеНастройки.
    • Ключ настройки – пустая строка.
    • Тип сохраняемого значения – ПользовательскиеНастройкиКомпоновкиДанных
  • Настройка: ключ текущей настройки полей формы.
    • Ключ объекта – является строковым значением, состоящим из полного имени формы и текста «КлючТекущихНастроекДанных» («CurrentDataSettingsKey»), разделенными символом «/».
      • Например: Обработка.ВыгрузкаДанных.Формы.ОсновнаяФорма/КлючТекущихНастроекДанных
    • Ключ настройки – пустая строка.
    • Тип сохраняемого значения – произвольное значение, содержащее ключ текущей настройки.
  • Настройка: значения полей формы при закрытии.
    • Ключ объекта – является строковым значением, состоящим из полного имени формы и текста «ТекущиеДанные» («CurrentData»), разделенными символом «/».
      • Например: Обработка.ВыгрузкаДанных.Формы.ОсновнаяФорма/ТекущиеДанные.
    • Ключ настройки – пустая строка.
    • Тип сохраняемого значения – Соответствие. Ключом соответствия выступает текстовый путь к сохраняемому реквизиту данных, а значением является значение реквизита.
  • Настройка: настройка отображения формы.
    • Ключ объекта – является строковым значением, состоящим из полного имени формы и текста «НастройкиФормы» («FormSettings»), разделенными символом «/».
      • Например: Обработка.ВыгрузкаДанных.Формы.ОсновнаяФорма/НастройкиФормы.
    • Ключ настройки – пустая строка.
    • Тип сохраняемого значения – НастройкиФормы. Объект без свойств и методов.
  • Настройка: размеры формы и элементов управления.
    • Ключ объекта – является строковым значением, состоящим из полного имени формы и текста «НастройкиОкна» («WindowSettings»), разделенными символом «/».
      • Например: Обработка.ВыгрузкаДанных.Формы.ОсновнаяФорма/ НастройкиОкна.
    • Ключ настройки – пустая строка.
    • Тип сохраняемого значения – НастройкиОкна. Объект без свойств и методов.
  • Настройка: избранное.
    • Ключ объекта – «Общее/ИзбранноеРаботыПользователя» («Common/UserWorkFavorites»).
    • Ключ настройки – пустая строка.
    • Тип сохраняемого значения – ИзбранноеРаботыПользователя. Подробнее смотри раздел «Избранные ссылки пользователя» главы «Сервисные возможности навигации».
  • Настройка: настройки глобального командного интерфейса.
    • Ключ объекта – строковое значение, один из вариантов:
      • полное имя фрагмента командного интерфейса и «/ПанельДействий» («/ActionsPanel»);
      • полное имени фрагмента командного интерфейса и «/ПанельНавигации/НастройкиКомандногоИнтерфейса» («/NavigationPanel/CommandInterfaceSettings»);
      • «Общее/ПанельРазделов/НастройкиКоманд-ногоИнтерфейса» («Common/PartitionPanel/CommandInterfaceSettings»).
      • Например: Подсистема.Продажи/ПанельНавигации/Нас-тройкиКомандногоИнтерфейса.
    • Ключ настройки – пустая строка.
    • Тип сохраняемого значения – НастройкиКомандногоИнтерфейса. Объект без свойств и методов.
  • Настройка: настройки рабочего стола.
    • Ключ объекта – «Общее/НастройкиРабочегоСтола» («Common/DesktopSettings»).
    • Ключ настройки – пустая строка.
    • Тип сохраняемого значения – НастройкиРабочегоСтола. Объект без свойств и методов.
  • Настройка: настройки печати табличного документа.
    • Ключ объекта – строковое значение, состоящее из «Общее/НастройкиПечатиТабличногоДокумента/» («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)

Описание:

Форма, используемая для загрузки настроек.

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

Доступность: клиент.

Особенности использования механизма настроек

Насколько можно понять из описания, можно выделить две части механизма:

  • Использование прикладных объектов хранилища настройки для сохранения/восстановления настроек
  • Замена встроенных объектов на определённые в конфигурации (паттерн плагин)

Не очень понятно зачем нужен механизм переопределения стандартных хранилищ, но, наверное, можно что-то придумать... Типа контекстной чувствительности настроек.

В глобальном контексте всегда существует набор объектов-менеджеров хранилищ различного рода настроек, которые и используются системой и/или разработчиками.

  • ХранилищеВариантовОтчетов
  • ХранилищеНастроекДанныхФорм
  • ХранилищеОбщихНастроек
  • ХранилищеПользовательскихНастроекОтчетов
  • ХранилищеСистемныхНастроек

Сохранение/восстановление пользовательских настроек

Методы СохранитьЗначение и ВосстановитьЗначение не работают на тонком клиенте, поэтому их можно заменить на аналоги, которые исполняются на сервере (значение хранится индивидуально для пользователя).

Вместо СохранитьЗначение:

ХранилищеСистемныхНастроек.Сохранить("РабочаяФирма",, ПараметрыСеанса.РабочаяФирма);

Вместо ВосстановитьЗначение:

РабочаяФирма = ХранилищеСистемныхНастроек.Загрузить("РабочаяФирма");