ФормаКлиентскогоПриложения.ПриСохраненииДанныхВНастройкахНаСервере

События · OnSaveDataInSettingsAtServer

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

Синтаксис

ПриСохраненииДанныхВНастройкахНаСервере(<Настройки>)
Полное описание, параметры и ограничения

ФормаКлиентскогоПриложения.ПриСохраненииДанныхВНастройкахНаСервере (ClientApplicationForm.OnSaveDataInSettingsAtServer)

ФормаКлиентскогоПриложения (ClientApplicationForm)

ПриСохраненииДанныхВНастройкахНаСервере (OnSaveDataInSettingsAtServer)

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

Синтаксис:
ПриСохраненииДанныхВНастройкахНаСервере(<Настройки>)
Параметры:

<Настройки>
Тип: Соответствие.
Настройки формы.
Описание:

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

Доступность:

Тонкий клиент, веб-клиент, толстый клиент.

Примечание:
Вызывается на сервере.
Использование в версии:

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

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

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

Сохранить и восстановить свою скидку в настройках формы

Платформа передаёт Соответствие настроек: дополняем его своим ключом и читаем ключ перед загрузкой.

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

Модуль управляемой формы, указанной в подготовке. Директивы &НаКлиенте и &НаСервере уже включены в код.

Подготовка

  1. В отдельной учебной конфигурации создайте обработку УчебнаяПанель и управляемую форму Панель. Код обработчика вставляйте на уровне модуля формы.

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

  3. Для этого опыта создайте отдельную форму Параметры у УчебнаяПанель. Реквизиты Количество (Число 10.0, Сохраняемые данные Да) и Скидка (Число 5.2, Сохраняемые данные Нет); выведите оба поля.

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

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

&НаСервере
Процедура ПриСохраненииДанныхВНастройкахНаСервере(Настройки)
    Настройки.Вставить("УчебнаяСкидка", Скидка);
КонецПроцедуры

&НаСервере
Процедура ПередЗагрузкойДанныхИзНастроекНаСервере(Настройки)
    ЗначениеСкидки = Настройки.Получить("УчебнаяСкидка");
    Если ЗначениеСкидки = Неопределено Тогда
        Скидка = 0;
    Иначе
        Скидка = ЗначениеСкидки;
    КонецЕсли;
КонецПроцедуры

&НаСервере
Процедура ПриЗагрузкеДанныхИзНастроекНаСервере(Настройки)
    Сообщить("Скидка после загрузки: " + Строка(Скидка));
КонецПроцедуры

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

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

  2. Перед загрузкой восстанавливаем свой ключ; при первом открытии без настроек скидка становится нулём.

  3. После загрузки показываем фактически установленную скидку, не записывая её в документ.

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

  1. Введите Количество 3 и Скидка 7, выполните Сохранить параметры; затем поменяйте на 1 и 0 и выполните Восстановить параметры: получатся 3 и 7.

  2. Закройте и откройте эту же форму под тем же пользователем: ранее сохранённая скидка восстанавливается.

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

Собственный ключ прошёл настоящий цикл пользовательских настроек формы.

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

  1. Ключ УчебнаяСкидка принадлежит только этому уроку; не перезаписывайте стандартные ключи платформы.

  2. Настройки зависят от пользователя и формы. Последнее сохранение другого экземпляра может заменить предыдущие параметры.

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

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

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

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

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