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