Глобальный контекст.ПередЗавершениемРаботыСистемы

События · BeforeExit

Возникает перед завершением работы в режиме ОбычноеПриложение до закрытия главного окна. В процедуре-обработчике могут быть выполнены необходимые проверки и, при необходимости, может быть установлен параметр отказа от выхода из программы.

Синтаксис

ПередЗавершениемРаботыСистемы(<Отказ>, <ТекстПредупреждения>)
Полное описание, параметры и ограничения

Глобальный контекст.ПередЗавершениемРаботыСистемы (Global context.BeforeExit)

Глобальный контекст (Global context)

ПередЗавершениемРаботыСистемы (BeforeExit)

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

Синтаксис:
ПередЗавершениемРаботыСистемы(<Отказ>, <ТекстПредупреждения>)
Параметры:

<Отказ>
Тип: Булево.
Признак отказа от выхода из программы. Если в теле процедуры-обработчика установить данному параметру значение Истина, то работа с программой не будет завершена.
Значение по умолчанию: Ложь.

<ТекстПредупреждения>
Тип: Строка.
Если параметру <Отказ> установлено значение Истина и <ТекстПредупреждения> содержит непустую строку, то окно сообщения с этой строкой будет выведено на экран и пользователю будет предложено на выбор - остаться или покинуть окно без сохранения данных.
Если параметру <Отказ> установлено значение Истина и <ТекстПредупреждения> содержит пустую строку, то пользователю будет отображено окно сообщения с общим текстом "Работа в данном окне не завершена" и предложено - остаться или покинуть окно без сохранения данных.
Если параметру <Отказ> установлено значение Ложь, то значение параметра <ТекстПредупреждения> будет проигнорировано, и процесс завершения работы приложения будет продолжен.
Примечание: В браузере Mozilla Firefox окно сообщения не будет содержать текста предупреждения.
Описание:

Возникает перед завершением работы в режиме ОбычноеПриложение до закрытия главного окна. В процедуре-обработчике могут быть выполнены необходимые проверки и, при необходимости, может быть установлен параметр отказа от выхода из программы.

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

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

См. также:
Глобальный контекст, событие ПриЗавершенииРаботыСистемы

Использование в версии:

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

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

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

ПередЗавершениемРаботыСистемы: собственный модуль ordinary

Перед выходом устанавливаем настоящий Отказ и текст штатного предупреждения по собственному явно заданному параметру запуска.

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

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

Подготовка

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

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

  3. Модуль обычного приложения. Запустите свою базу с /CУчебнаяПроверкаВыхода и выполните обычное закрытие приложения.

  4. В обработчике нет серверного вызова, открытия формы или асинхронного диалога. ТекстПредупреждения передаётся штатному механизму завершения.

Процедура ПередЗавершениемРаботыСистемы(Отказ, ТекстПредупреждения)
    Если ПараметрЗапуска = "УчебнаяПроверкаВыхода" Тогда
        Отказ = Истина;
        ТекстПредупреждения = "Собственная учебная проверка завершения сеанса";
    КонецЕсли;
КонецПроцедуры

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

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

  2. Используется явно подготовленный собственный параметр / кэш / команда, а не неизвестный входной объект.

  3. Соблюдаем ограничения этапа: до окна и после его закрытия не показываем интерфейс, в фоне не выполняем долгую работу.

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

  1. При проверочном параметре штатный механизм предупреждает о завершении; пользователь выбирает дальнейшее действие.

  2. Без параметра обработчик не препятствует выходу. Поведение текста зависит от клиента / браузера.

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

Событие / раздел модулей показаны с собственным источником и реальными ограничениями его этапа.

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

  1. Не смешивайте модули управляемого приложения, обычного приложения, внешнего соединения и сеанса.

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

  3. При сборке HTML сеансы 1С, внешние соединения, системный буфер и BSL не запускались.

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

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

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

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

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