Модуль приложения
В модуле приложения находятся обработчики событий, которые выполняются при запуске конфигурации и при завершении работы. Другое название данного модуля - модуль управляемого приложения. Также есть модуль обычного приложения, который используется в конфигурациях с основным режимом запуска Обычное приложение (конфигурации на обычных формах).
Модуль приложения выполняется на клиенте и недоступен на сервере. Если запустить приложение в режиме обычного приложения, то данный модуль не будет выполнен. Если в процессе его выполнения возникнет необработанное исключение, то это приведет к аварийному завершению работы системы.
В модуле приложения можно объявлять переменные с использованием ключевого слова Перем. Если добавить ключевое слово Экспорт, то переменная будет доступна в других клиентских модулях (глобальная переменная). Процедуры и функции с ключевым словом Экспорт будут доступны в любых клиентских модулях (общие неглобальные модули, модули формы, модули команды).
Перем ПеременнаяМодуляПриложения; //обычная переменная модуля
Перем ГлобПеременная Экспорт; //а это глобальная переменная
//данная функция будет доступна в любых клиентских модулях
Функция Экспортная() Экспорт
Возврат Истина;
КонецФункции
Из модуля приложения можно вызывать процедуры и функции клиентских общих модулей и серверных неглобальных общих модулей с флагом ВызовСервера.
Для открытия модуля приложения нужно щелкнуть правой кнопкой по корню конфигурации и выбрать Открыть модуль приложения:
Основные события модуля приложения
ПередНачаломРаботыСистемы
Выполняется при запуске конфигурации, до открытия основного окна. Есть параметр Отказ, если установить Отказ = Истина, то программа не запустится. Основное предназначение данного события - это выполнить различные проверки (например прав доступа) и при необходимости запретить запуск программы. Также в данном событии можно инициализировать какие-нибудь глобальные переменные.
ПриНачалеРаботыСистемы
Выполняется после открытия основного окна конфигурации. Здесь уже нельзя отказаться от запуска программы. В основном его используют для открытия каких-нибудь форм при запуске конфигурации.
ПередЗавершениемРаботыСистемы
Выполняется перед завершением работы конфигурации, до закрытия основного окна. Есть 2 параметра: Отказ и ТекстПредупреждения. Если установить Отказ = Истина, то до закрытия основного окна будет выдано предупреждение «Работа в данном окне не завершена» и предложено 2 варианта: завершить работу, продолжить работу.
Процедура ПередЗавершениемРаботыСистемы(Отказ, ТекстПредупреждения)
Отказ = Истина;
КонецПроцедуры
Если выбрать Завершить работу, то программа будет закрыта. Если выбрать Продолжить работу, то нет.
Если заполнить параметр ТекстПредупреждения, то вместо «Работа в данном окне не завершена» будет выведен текст из данного параметра:
Процедура ПередЗавершениемРаботыСистемы(Отказ, ТекстПредупреждения)
ТекстПредупреждения = "Закрыть программу?";
Отказ = Истина;
КонецПроцедуры
ПриЗавершенииРаботыСистемы
Выполняется при завершении работы конфигурации, после закрытия основного окна приложения. В данном событии нельзя использовать сообщения и открытие форм. В основном используется для выполнения каких-либо действий при выходе из программы.
Серверные вызовы и открытие окон при завершении работы
В событиях ПередЗавершениемРаботыСистемы и ПриЗавершенииРаботыСистемы нельзя использовать серверные вызовы, иначе будет ошибка «Серверные вызовы при завершении работы запрещены». Также нельзя использовать открытие окон, иначе будет ошибка «Открытие окон при завершении работы запрещено».
Смотрите также:
Электронный учебник по по программированию в 1С Рекомендации по изучению программирования 1С с нуля Программное решение для сдачи и подготовки к экзаменам Программирование в 1С 8.3 с нуля - краткий самоучитель Комплексная подготовка программистов 1С:Предприятие 8.2 Сайты с уроками программирования и со справочниками Youtube-каналы с уроками программирования Сайты для обучения программированию Лекции и уроки