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

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

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

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

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

Открыть этот модуль можно только в режиме «Конфигуратор» — в пользовательском режиме «1С:Предприятие» доступа к коду нет. Понадобятся права на конфигурирование: если информационная база работает в клиент-серверном варианте, у пользователя должна быть роль с правом «Конфигурирование» или «Администрирование», а конфигурация не должна быть заблокирована другим разработчиком.

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

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

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

Типичные задачи, для которых открывают этот модуль: добавление обработчика запуска (например, открыть рабочий стол или проверить версию), объявление глобальных переменных и функций, обработка внешних событий от оборудования, настройка глобальных команд интерфейса. Весь код внутри модуля исполняется в контекстах «&НаКлиенте», поэтому серверные вызовы из него делаются только через явные серверные процедуры общих модулей.

Как открыть модуль через дерево конфигурации

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

После входа откройте саму конфигурацию: меню «Конфигурация» → «Открыть конфигурацию». Если конфигурация уже открыта, пункт будет называться «Закрыть конфигурацию» — значит, дерево объектов уже доступно. В левой части окна появится иерархическое дерево, корневой элемент которого — имя конфигурации (например, «УправлениеТорговлей»).

Порядок действий
  1. 1
    Запустите 1С и выберите нужную базу в окне запуска
  2. 2
    Нажмите кнопку «Конфигуратор» и войдите под пользователем с правами разработчика
  3. 3
    Откройте конфигурацию: меню «Конфигурация» → «Открыть конфигурацию»
  4. 4
    Щёлкните правой кнопкой по корневому узлу дерева (имя конфигурации)
  5. 5
    Выберите пункт «Открыть модуль управляемого приложения»
  6. 6
    Внесите изменения и сохраните конфигурацию (Ctrl+S или F7 для обновления)

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

Альтернативные способы открыть модуль

Тот же результат даёт палитра свойств корневого узла. Выделите корень дерева конфигурации, откройте палитру свойств (правый клик → «Свойства» или Alt+Enter) и найдите внизу гиперссылку «Модуль управляемого приложения». Один клик по ссылке открывает редактор кода.

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

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

Открытие модуля внешней обработкой или через расширение

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

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

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

ПараметрМодуль управляемого приложенияМодуль обычного приложения
Где выполняетсяТонкий клиент, веб-клиент, толстый клиент (управляемый режим)Толстый клиент (обычный режим)
Как открытьПравый клик по корню дерева → «Открыть модуль управляемого приложения»Правый клик по корню дерева → «Открыть модуль обычного приложения»
Директивы компиляцииКонтекст «&НаКлиенте»Клиентский контекст обычного приложения
Типичное применениеСовременные конфигурации на управляемых формахУстаревшие конфигурации на платформе 8.2 и ранних 8.3

Если в конфигураторе активен только пункт «Открыть модуль обычного приложения», проверьте свойство конфигурации «Основной режим запуска» и «Режим использования модальности». Конфигурация, рассчитанная только на обычное приложение, может вообще не содержать логики управляемого модуля — но сам модуль при этом открывается, просто он пуст.

Какой модуль открывать

Модуль управляемого приложения

Подходит для всех современных конфигураций на управляемых формах; выполняется в тонком и веб-клиенте

Модуль обычного приложения

Нужен только если пользователи работают в режиме обычного приложения на толстом клиенте

Модуль расширения

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

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

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

Вторая причина — недостаточно прав. Если вы вошли под пользователем без права «Конфигурирование», конфигуратор может либо не запуститься, либо открыть конфигурацию в режиме просмотра без возможности редактирования. Проверьте роли пользователя через «Администрирование» → «Пользователи».

Третья ситуация — конфигуратор уже запущен вторым сеансом или конфигурация заблокирована другим разработчиком. В клиент-серверных базах и при работе через хранилище конфигурации объект может быть захвачен коллегой: тогда модуль откроется только на чтение. Проверьте захват объектов через «Конфигурация» → «Хранилище конфигурации».

Типичные ошибки
01
Попытка найти модуль в режиме «1С:Предприятие» — код доступен только в конфигураторе
02
Редактирование модуля обычного приложения вместо управляемого — изменения не сработают в тонком клиенте
03
Забытое обновление конфигурации базы данных (F7) — новый код не применяется к запущенной базе
04
Размещение серверного кода в модуле приложения — вызов серверных объектов напрямую вызывает ошибку компиляции

Как проверить, что изменения в модуле работают

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

Затем запустите отладку: «Отладка» → «Начать отладку» (F5). Конфигуратор запустит клиентское приложение, и код модуля выполнится при старте сеанса. Поставьте точку останова в обработчике «ПриНачалеРаботыСистемы», чтобы убедиться, что исполнение доходит до нужной строки.

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

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

Компиляция модуля
Норма

При сохранении нет сообщений об ошибках в окне служебных сообщений

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

Ошибки вида «Процедура или функция не обнаружена» при сохранении

Запуск клиента
Норма

Клиент стартует без сообщений об ошибках, обработчик выполняется

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

При старте появляется окно ошибки или код не срабатывает

Отладка
Норма

Точка останова в модуле срабатывает при запуске

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

Отладчик проходит мимо — возможно, не обновлена конфигурация базы данных

Полезная проверка — временно добавить в обработчик команду Сообщить("Модуль запущен"); и перезапустить клиент. Если сообщение появилось в панели сообщений, модуль открыт правильный и изменения применились. После проверки удалите тестовый код.

Меры предосторожности при редактировании

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

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

Частые вопросы

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

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

Можно ли открыть модуль без прав администратора?

Для просмотра достаточно права на запуск конфигуратора и чтение конфигурации, но для сохранения изменений нужно право «Конфигурирование» и, при необходимости, включённая возможность изменения объектов на поддержке. Без этих прав модуль откроется только на чтение или не откроется вовсе.

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

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

Изменения в модуле не применяются — что делать?

Убедитесь, что после сохранения выполнено обновление конфигурации базы данных (F7). Затем полностью перезапустите клиентское приложение: модуль приложения компилируется при старте сеанса, поэтому в уже запущенном сеансе новый код не появится.

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

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

Можно ли открыть модуль управляемого приложения в расширении конфигурации?

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

Итог

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

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