К статье
Практический материал

Разработка и Конфигурация · 9 мин

Как открыть модуль приложения в 1С

Как открыть модуль приложения в конфигураторе 1С: через дерево конфигурации, поиск и горячие клавиши. Настройка прав, типичные ошибки и проверка результата.

Модуль приложения в 1С — это программный модуль, в котором размещается код, выполняемый при старте и завершении сеанса работы пользователя: обработчики событий ПередНачаломРаботыСистемы, ПриНачалеРаботыСистемы и другие. Открыть его можно только в конфигураторе, и у пользователя должны быть соответствующие права на изменение конфигурации.

Способ открытия зависит от режима работы конфигурации: в обычном приложении используется «Модуль обычного приложения», а в управляемом — «Модуль управляемого приложения». В современных конфигурациях чаще встречается второй вариант, но оба открываются схожим образом через дерево объектов конфигурации.

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

Что такое модуль приложения и когда он нужен

Модуль приложения хранит код на встроенном языке 1С, который платформа выполняет на уровне всего сеанса. Типичное содержимое — обработчики событий старта и завершения системы, а также экспортируемые процедуры и функции, доступные из других модулей конфигурации.

Открывать модуль приложения приходится при отладке ошибок запуска, добавлении проверок при входе пользователя, настройке начальной страницы, подключении внешних компонентов при старте. Прежде чем править этот модуль, убедитесь, что ошибка действительно находится в нём: часто проблемы запуска связаны с кодом общих модулей, которые вызываются из обработчика ПриНачалеРаботыСистемы.

Подготовка: права и режим конфигуратора

Для открытия модуля запустите конфигуратор: в стартовом окне 1С выберите информационную базу и нажмите «Конфигуратор». Затем выполните команду меню «Конфигурация → Открыть конфигурацию». Если конфигурация уже открыта, пункт меню будет неактивен.

Учётная запись должна иметь права на администрирование и изменение конфигурации. Если база работает в режиме поддержки с запретом изменений, модуль откроется только на просмотр — сохранить правки не получится до снятия конфигурации с поддержки или включения возможности изменений через «Конфигурация → Поддержка → Настройка поддержки».

Способ 1: через дерево конфигурации

Это основной и самый надёжный способ. После открытия конфигурации появится окно дерева объектов. Корневой узел дерева называется так же, как сама конфигурация, и именно к нему привязан модуль приложения.

Порядок действий
  1. 1
    Откройте конфигуратор и выполните «Конфигурация → Открыть конфигурацию».
  2. 2
    В дереве объектов выделите корневой узел с именем конфигурации.
  3. 3
    Щёлкните правой кнопкой мыши и выберите «Открыть модуль управляемого приложения» (в обычном режиме — «Модуль обычного приложения»).
  4. 4
    Проверьте, что редактор кода открылся в отдельном окне и в нём видны обработчики событий.

Если в контекстном меню присутствуют оба пункта, выбирайте тот, который соответствует режиму запуска вашей базы. Режим указан в свойствах конфигурации в поле «Основной режим запуска». В типовых современных конфигурациях это «Управляемое приложение».

Открытый модуль сохраняется вместе с конфигурацией базы данных: после правок выполните «Конфигурация → Обновить конфигурацию базы данных» (клавиша F7 в ряде версий платформы), иначе изменения не применятся в пользовательском режиме.

Способ 2: через палитру свойств

Палитра свойств корня конфигурации содержит ссылки на все основные модули приложения. Выделите корневой узел дерева, откройте палитру свойств (правый клик → «Свойства») и найдите строки «Модуль управляемого приложения», «Модуль обычного приложения», «Модуль сеанса», «Модуль внешнего соединения».

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

Способ 3: глобальный поиск и навигация по коду

Если вы не знаете, где находится нужный код, используйте глобальный поиск: меню «Правка → Глобальный поиск» или сочетание Ctrl+Shift+F. Введите фрагмент текста, например имя процедуры, и в настройках поиска отметьте область «Модули». В результатах строки из модуля приложения будут помечены соответствующим типом объекта.

Двойной клик по строке результата открывает модуль на нужной позиции. Также работает переход к определению: если в другом модуле вызывается процедура из модуля приложения, установите курсор на её имя и нажмите F12 — платформа откроет модуль, где процедура объявлена.

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

Почему модуль не открывается: разбор проблем

Самая частая причина — конфигурация закрыта. Без команды «Открыть конфигурацию» дерево объектов недоступно, и пункты меню модуля не появятся. Вторая причина — отсутствие прав: пользователь без административных прав увидит конфигуратор, но не сможет работать с конфигурацией.

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

Типичные ошибки
01
Правка модуля без обновления конфигурации базы данных — изменения сохранены в конфигураторе, но в пользовательском режиме не работают.
02
Поиск обработчиков запуска только в модуле приложения — часть логики находится в модуле сеанса и общих модулях.
03
Редактирование типовой конфигурации напрямую вместо расширения — при обновлении правки будут потеряны.
04
Путаница между модулем обычного и управляемого приложения — код добавлен не в тот модуль и не выполняется при запуске.

Проверка результата после правок

После изменения модуля выполните синтаксическую проверку: кнопка с изображением галочки на панели инструментов редактора модуля или «Конфигурация → Проверка конфигурации» для полной проверки. Ошибки отобразятся в окне сообщений с указанием строки.

Затем обновите конфигурацию базы данных и запустите режим отладки (F5). Установите точку останова в обработчике ПриНачалеРаботыСистемы — если выполнение остановилось на ней при запуске, модуль подключён корректно и код исполняется.

Контрольные точки

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

Открытие модуля
Норма

Редактор кода открылся, видны обработчики событий

Тревожный признак

Пункт меню неактивен или модуль пуст и недоступен для ввода

Сохранение правок
Норма

Обновление конфигурации базы данных прошло без ошибок

Тревожный признак

Окно сообщений содержит ошибки реструктуризации или синтаксиса

Выполнение кода
Норма

В отладке срабатывает точка останова при старте

Тревожный признак

Отладчик не останавливается — код в другом модуле или режиме

FAQ

Чем модуль приложения отличается от общего модуля?

Модуль приложения привязан к жизненному циклу сеанса и содержит обработчики событий запуска и завершения. Общий модуль — библиотека процедур и функций, вызываемых из любых объектов конфигурации; он не имеет предопределённых событий запуска.

Можно ли открыть модуль приложения в режиме «1С:Предприятие»?

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

Почему в контекстном меню нет пункта «Открыть модуль управляемого приложения»?

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

Безопасно ли править модуль приложения в типовой конфигурации?

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

Как найти, какой код выполняется при запуске базы?

Последовательно проверьте модуль сеанса, затем обработчик ПередНачаломРаботыСистемы и ПриНачалеРаботыСистемы в модуле приложения, а также все общие модули, вызываемые из этих обработчиков. Глобальный поиск по имени подозрительной процедуры покажет все места её вызова.

Что делать, если после правки модуля база перестала запускаться?

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

Итог

Что важно запомнить

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