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

События · BeforeLoadDataFromSettingsAtServer

Вызывается на сервере перед загрузкой данных из настроек: Перед открытием формы; При выполнении команды "Восстановить параметры...". В данный обработчик передается объект, из которого будут загружены настройки. Объект представляет из себя соответствие, в котором находятся значения реквизитов. В обработчике можно загрузить собственные свойства из соответствия. Например, загрузить из соответствия отбор.

Синтаксис

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

ФормаКлиентскогоПриложения.ПередЗагрузкойДанныхИзНастроекНаСервере (ClientApplicationForm.BeforeLoadDataFromSettingsAtServer)

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

ПередЗагрузкойДанныхИзНастроекНаСервере (BeforeLoadDataFromSettingsAtServer)

Доступен, начиная с версии 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С» и не аффилирован с ней.