Сообщить о закрытии окна, не мешая завершению приложения

Учебные задачи

ПриЗакрытии уже не может отменить закрытие; при выходе из приложения не делаем серверных вызовов и не открываем окон.

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

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

Подготовка

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

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

&НаКлиенте
Процедура ПриЗакрытии(ЗавершениеРаботы)
    Если Не ЗавершениеРаботы Тогда
        Сообщить("Учебная панель закрыта");
    КонецЕсли;
КонецПроцедуры

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

  1. Платформа передаёт признак завершения работы.

  2. При обычном закрытии показывается информационное сообщение.

  3. При выходе из приложения обработчик не выполняет дополнительных действий.

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

  1. Закройте только окно панели: показано сообщение Учебная панель закрыта.

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

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

Обычное закрытие отмечено без попытки его отменить.

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

  1. Для отказа от закрытия нужен ПередЗакрытием, а не ПриЗакрытии.

  2. Здесь нельзя гарантировать сохранение несохранённых бизнес-данных.

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

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

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

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

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