Перед выходом устанавливаем настоящий Отказ и текст штатного предупреждения по собственному явно заданному параметру запуска.
Где и как запускать
Конкретный собственный модуль приложения / сеанса / внешнего соединения, указанный в подготовке. Платформенные события вручную не вызываются.
Подготовка
Используйте отдельную свою учебную конфигурацию. Основной блок помещается в модуль приложения, указанный ниже, не в модуль формы и не в общий серверный модуль.
Обработчик вызывает платформа при настоящем событии сеанса. Не вызывайте процедуру вручную и не добавляйте второй обработчик того же имени в модуль.
Модуль обычного приложения. Запустите свою базу с /CУчебнаяПроверкаВыхода и выполните обычное закрытие приложения.
В обработчике нет серверного вызова, открытия формы или асинхронного диалога. ТекстПредупреждения передаётся штатному механизму завершения.
Процедура ПередЗавершениемРаботыСистемы(Отказ, ТекстПредупреждения)
Если ПараметрЗапуска = "УчебнаяПроверкаВыхода" Тогда
Отказ = Истина;
ТекстПредупреждения = "Собственная учебная проверка завершения сеанса";
КонецЕсли;
КонецПроцедурыРазбор по шагам
Выбранный модуль и настоящий тип сеанса определяют, когда платформа вызывает обработчик.
Используется явно подготовленный собственный параметр / кэш / команда, а не неизвестный входной объект.
Соблюдаем ограничения этапа: до окна и после его закрытия не показываем интерфейс, в фоне не выполняем долгую работу.
Как проверить результат
При проверочном параметре штатный механизм предупреждает о завершении; пользователь выбирает дальнейшее действие.
Без параметра обработчик не препятствует выходу. Поведение текста зависит от клиента / браузера.
Ожидаемый результат
Событие / раздел модулей показаны с собственным источником и реальными ограничениями его этапа.
На что обратить внимание
Не смешивайте модули управляемого приложения, обычного приложения, внешнего соединения и сеанса.
Обзорный пример относится только к указанному событию и не наследует отметку готовности всем дочерним страницам.
При сборке HTML сеансы 1С, внешние соединения, системный буфер и BSL не запускались.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.