Модуль приложения в 1С 8.3

Mar 27, 2022 21:26

Модуль приложения

В модуле приложения находятся обработчики событий, которые выполняются при запуске конфигурации и при завершении работы. Другое название данного модуля - модуль управляемого приложения. Также есть модуль обычного приложения, который используется в конфигурациях с основным режимом запуска Обычное приложение (конфигурации на обычных формах).

Модуль приложения выполняется на клиенте и недоступен на сервере. Если запустить приложение в режиме обычного приложения, то данный модуль не будет выполнен. Если в процессе его выполнения возникнет необработанное исключение, то это приведет к аварийному завершению работы системы.

В модуле приложения можно объявлять переменные с использованием ключевого слова Перем. Если добавить ключевое слово Экспорт, то переменная будет доступна в других клиентских модулях (глобальная переменная). Процедуры и функции с ключевым словом Экспорт будут доступны в любых клиентских модулях (общие неглобальные модули, модули формы, модули команды).


Перем ПеременнаяМодуляПриложения; //обычная переменная модуля
Перем ГлобПеременная Экспорт; //а это глобальная переменная

//данная функция будет доступна в любых клиентских модулях
Функция Экспортная() Экспорт
Возврат Истина;
КонецФункции

Из модуля приложения можно вызывать процедуры и функции клиентских общих модулей и серверных неглобальных общих модулей с флагом ВызовСервера.

Для открытия модуля приложения нужно щелкнуть правой кнопкой по корню конфигурации и выбрать Открыть модуль приложения:

Основные события модуля приложения

ПередНачаломРаботыСистемы

Выполняется при запуске конфигурации, до открытия основного окна. Есть параметр Отказ, если установить Отказ = Истина, то программа не запустится. Основное предназначение данного события - это выполнить различные проверки (например прав доступа) и при необходимости запретить запуск программы. Также в данном событии можно инициализировать какие-нибудь глобальные переменные.

ПриНачалеРаботыСистемы

Выполняется после открытия основного окна конфигурации. Здесь уже нельзя отказаться от запуска программы. В основном его используют для открытия каких-нибудь форм при запуске конфигурации.

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

Выполняется перед завершением работы конфигурации, до закрытия основного окна. Есть 2 параметра: Отказ и ТекстПредупреждения. Если установить Отказ = Истина, то до закрытия основного окна будет выдано предупреждение «Работа в данном окне не завершена» и предложено 2 варианта: завершить работу, продолжить работу.

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

Если выбрать Завершить работу, то программа будет закрыта. Если выбрать Продолжить работу, то нет.

Если заполнить параметр ТекстПредупреждения, то вместо «Работа в данном окне не завершена» будет выведен текст из данного параметра:

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

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

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

Серверные вызовы и открытие окон при завершении работы

В событиях ПередЗавершениемРаботыСистемы и ПриЗавершенииРаботыСистемы нельзя использовать серверные вызовы, иначе будет ошибка «Серверные вызовы при завершении работы запрещены». Также нельзя использовать открытие окон, иначе будет ошибка «Открытие окон при завершении работы запрещено».

Смотрите также:
Электронный учебник по по программированию в 1С
Рекомендации по изучению программирования 1С с нуля
Программное решение для сдачи и подготовки к экзаменам
Программирование в 1С 8.3 с нуля - краткий самоучитель
Комплексная подготовка программистов 1С:Предприятие 8.2
Сайты с уроками программирования и со справочниками
Youtube-каналы с уроками программирования
Сайты для обучения программированию
Лекции и уроки

программирование

Previous post Next post
Up