Форма сохранения.КлючТекущихНастроек

Темы платформы · CurrentSettingsKey

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

Полное описание, параметры и ограничения

Форма сохранения.КлючТекущихНастроек (Save form.CurrentSettingsKey)

Форма сохранения (Save form)

КлючТекущихНастроек (CurrentSettingsKey)

Доступен, начиная с версии 8.2.

Описание:
Идентификатор текущей настройки. Данный объект может быть использован для позиционирования в списке настроек на текущую настройку.
Использование в версии:

Доступен, начиная с версии 8.2.

Методическая информация

Практические примеры

КлючТекущихНастроек: своя форма сохранения настроек страниц

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

Где и как запускать

Толстый клиент управляемого приложения; своя вызывающая форма и назначенные формы собственного хранилища.

Подготовка

  1. Только собственная учебная конфигурация, ТОЛСТЫЙ клиент в управляемом приложении. Создайте ХранилищеНастроек УчебныеНастройкиКниг. У него создайте две управляемые формы ЗагрузкаКниг и СохранениеКниг и назначьте основными формами загрузки / сохранения соответствующих назначений.

  2. В редакторе формы ЗагрузкаКниг задайте входные параметры документированного контракта: КлючОбъекта Строка, КлючТекущихНастроек Строка, СтандартныеНастройки СписокЗначений. Реквизит Варианты СписокЗначений, связанная таблица Варианты и команда ВыбратьСвоюНастройку. ПриСозданииНаСервере и команда — соответствующие дополнительные блоки.

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

  4. Отдельная вызывающая общая управляемая форма содержит основной обработчик, подготовку, ПослеСвоейФормыНастроек и ОбработатьСвоюНастройкуНаСервере. Добавьте на неё числовой реквизит СтрокНаСтранице. Открытие использует СТАНДАРТНОЕ имя ФормаЗагрузки / ФормаСохранения, которое направляет в назначенные формы.

  5. Собственные формы реализуют контракт выбора ключа и закрываются с ВыборНастроек. Здесь они являются интерфейсом к ХранилищеОбщихНастроек; менеджер метаданного хранилища не выдаётся за автоматически реализованное хранение. Фактическое чтение / запись явно показаны в коде вызывающей формы.

  6. Ручная подготовка сохраняет только текущему пользователю две собственные настройки под НОВЫМ ключом guide.books/UUID: Подробно = 20 строк, Кратко = 5. Имя другого пользователя не передаётся; чужие настройки не заменяются. Нужны права сохранения данных пользователя.

  7. В форме сохранения исходно предложено имя Подробно. Оставьте его или введите своё новое имя и подтвердите. Обработчик владельца сохраняет собственное значение 8 и повторно читает его. Закрытие крестиком ничего не сохраняет.

&НаКлиенте
Процедура ОткрытьСвоиНастройкиСтраницы(Команда)
    КлючОбъекта = ПодготовитьСвоиНастройкиСтраницы();
    Параметры = Новый Структура("КлючОбъекта,КлючТекущихНастроек", КлючОбъекта, "Подробно");
    Контекст = Новый Структура("КлючОбъекта,Сохранение", КлючОбъекта, Истина);
    Оповещение = Новый ОписаниеОповещения("ПослеСвоейФормыНастроек", ЭтотОбъект, Контекст);
    ОткрытьФорму("ХранилищеНастроек.УчебныеНастройкиКниг.ФормаСохранения", Параметры,
        ЭтаФорма, Истина, , , Оповещение);
КонецПроцедуры
Вызывающая форма: новый ключ и два своих настоящих значения
&НаСервереБезКонтекста
Функция ПодготовитьСвоиНастройкиСтраницы()
    Ключ = "guide.books/" + Строка(Новый УникальныйИдентификатор);
    Подробно = Новый Структура("СтрокНаСтранице", 20);
    Кратко = Новый Структура("СтрокНаСтранице", 5);
    ХранилищеОбщихНастроек.Сохранить(Ключ, "Подробно", Подробно);
    ХранилищеОбщихНастроек.Сохранить(Ключ, "Кратко", Кратко);
    Возврат Ключ;
КонецФункции
Назначенная форма: ПриСозданииНаСервере
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Заголовок = "Сохранение своих настроек: " + Параметры.КлючОбъекта;
    КлючСохраняемойНастройки = Параметры.КлючТекущихНастроек;
    Существующие = ХранилищеОбщихНастроек.ПолучитьСписок(Параметры.КлючОбъекта);
    Сообщить("Собственных вариантов: " + Строка(Существующие.Количество()));
КонецПроцедуры
Назначенная форма: вернуть выбранный ключ или закрыться без результата при отмене
&НаКлиенте
Процедура ПодтвердитьСвоюНастройку(Команда)
    Если ПустаяСтрока(КлючСохраняемойНастройки) Тогда
        ВызватьИсключение "Введите имя своей настройки";
    КонецЕсли;
    Закрыть(Новый ВыборНастроек(КлючСохраняемойНастройки));
КонецПроцедуры
Вызывающая форма: получить результат закрытия
&НаКлиенте
Процедура ПослеСвоейФормыНастроек(Выбор, Контекст) Экспорт
    Если Выбор = Неопределено Тогда
        Возврат;
    КонецЕсли;
    СтрокНаСтранице = ОбработатьСвоюНастройкуНаСервере(
        Контекст.КлючОбъекта, Выбор.КлючНастроек, Контекст.Сохранение);
    Сообщить("Применена собственная настройка: " + Выбор.КлючНастроек);
    Сообщить("Строк на странице: " + Строка(СтрокНаСтранице));
КонецПроцедуры
Вызывающая форма: применить собственную настройку с явным чтением / сохранением
&НаСервереБезКонтекста
Функция ОбработатьСвоюНастройкуНаСервере(КлючОбъекта, КлючНастроек, Сохранение)
    Если СтрНайти(КлючОбъекта, "guide.books/") <> 1 Тогда
        ВызватьИсключение "Нужен собственный учебный ключ";
    КонецЕсли;
    Если Сохранение Тогда
        ХранилищеОбщихНастроек.Сохранить(КлючОбъекта, КлючНастроек,
            Новый Структура("СтрокНаСтранице", 8));
    КонецЕсли;
    Настройка = ХранилищеОбщихНастроек.Загрузить(КлючОбъекта, КлючНастроек);
    Возврат Настройка.СтрокНаСтранице;
КонецФункции

Разбор по шагам

  1. Создайте собственные формы и объявите входные параметры их документированного контракта.

  2. Откройте назначенную форму через стандартное имя, используя свои ключи.

  3. Подтвердите ключ и проверьте применённое числовое значение; сравните с отменой.

Как проверить результат

  1. КлючОбъекта определяет пространство собственных настроек; КлючТекущихНастроек — выбранный / предлагаемый вариант внутри него. Это разные ключи: UUID объекта не подменяется строкой Подробно.

  2. СтандартныеНастройки передаётся только загрузке; представления нужны интерфейсу, а значения элементов являются настоящими ключами выбора. Форма сохранения возвращает ВыборНастроек, не выдуманный обязательный ОписаниеНастроек.

  3. Форма сама не объявляется выполнившей всю загрузку / запись: результат обрабатывает показанный владелец. BSL, запись пользовательских настроек и формы при сборке HTML не исполнялись.

Ожидаемый результат

Есть новые собственные сохранённые данные, принимающий интерфейс и фактическое применение его результата.

На что обратить внимание

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

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.