Разработка и Конфигурация · 11 мин
Как открыть модуль в 1С в конфигураторе
Как открыть модуль в конфигураторе 1С: общие модули, модули объектов, форм и команд. Способы через дерево конфигурации, поиск и горячие клавиши, типичные ошибки.
Модуль в 1С — это текст программного кода на встроенном языке, привязанный к объекту конфигурации: форме, документу, справочнику, обработке или общему модулю. Открыть модуль можно несколькими способами, и выбор зависит от того, где именно находится нужный код: в дереве конфигурации, в форме объекта или в общем модуле.
Чаще всего разработчику требуется открыть модуль объекта (например, документа «Реализация товаров»), модуль формы (например, формы списка справочника) или общий модуль, где собраны переиспользуемые процедуры и функции. Каждый из этих случаев имеет свой путь в конфигураторе, и знание всех вариантов заметно ускоряет работу.
Перед началом работы убедитесь, что у вас есть права на изменение конфигурации и что конфигурация не находится на полной поддержке без возможности изменения — иначе модуль откроется только на просмотр. Также полезно знать горячие клавиши поиска: они позволяют найти нужный модуль за секунды даже в большой конфигурации.
Где в конфигурации находятся модули
В 1С код распределён по разным типам модулей, и важно понимать, какой именно нужен. Модуль объекта содержит обработчики событий самого объекта (например, «ОбработкаПроведения» у документа). Модуль менеджера хранит процедуры, относящиеся к менеджеру объекта. Модуль формы содержит логику конкретной формы, а общие модули — код, доступный из любой точки конфигурации.
Дополнительно существуют модуль приложения (или модуль обычного приложения), модуль сеанса, модуль внешнего соединения и модули команд. Они находятся в корневом узле конфигурации и открываются через контекстное меню корня дерева. В типовых конфигурациях основная бизнес-логика обычно вынесена в общие модули, поэтому начинать поиск стоит именно с них, если вы ищете какую-то прикладную функцию.
Как открыть модуль объекта через дерево конфигурации
Основной способ — через дерево конфигурации. Откройте конфигуратор, выполните команду «Конфигурация → Открыть конфигурацию» (если дерево ещё не открыто), найдите нужный объект, например «Документы → РеализацияТоваровУслуг». Кликните по объекту правой кнопкой мыши и в контекстном меню выберите «Открыть модуль объекта».
Рядом в том же меню доступны пункты «Открыть модуль менеджера» и «Открыть модуль команды» (для команд объекта). После выбора пункта откроется окно редактора кода с текстом модуля. Если модуль пустой, вы увидите пустое окно редактора — это нормально для объектов, где код ещё не писали.
- 1Откройте конфигуратор и загрузите нужную информационную базу
- 2Выполните «Конфигурация → Открыть конфигурацию» и дождитесь построения дерева
- 3Найдите объект (документ, справочник, обработку) в дереве конфигурации
- 4Кликните правой кнопкой и выберите «Открыть модуль объекта»
- 5Проверьте, что окно редактора кода открылось и доступно для редактирования
Как открыть модуль формы
Модуль формы открывается не напрямую из дерева, а через конструктор формы. В дереве конфигурации разверните объект, перейдите в ветку «Формы» и дважды кликните по нужной форме (или выберите «Открыть форму» в контекстном меню). Откроется конструктор формы с визуальным редактором.
В окне конструктора формы есть вкладки внизу: «Форма», «Модуль», «Реквизиты» и другие. Переключитесь на вкладку «Модуль» — откроется код формы. Альтернативный путь: в контекстном меню формы объекта выбрать «Открыть модуль» — конфигуратор сразу покажет код без визуального редактора.
Учтите, что в управляемых формах код в модуле формы имеет директивы компиляции: &НаКлиенте, &НаСервере, &НаСервереБезКонтекста. Если вы ищете процедуру и не находите её поиском по всей конфигурации, проверьте — возможно, она находится в модуле формы и видна только в контексте этой формы.
Как открыть общий модуль
Общие модули находятся в ветке дерева конфигурации «Общие → Общие модули». Разверните её, найдите нужный модуль по имени (например, «ОбщегоНазначения» или «РаботаСДокументами») и дважды кликните по нему либо выберите «Открыть модуль» в контекстном меню.
В типовых конфигурациях общих модулей могут быть сотни, поэтому листать дерево неудобно. Используйте поле поиска вверху окна конфигурации: начните вводить имя модуля — дерево отфильтруется. Также работает глобальный поиск по конфигурации (Ctrl+Shift+F): введите имя процедуры, и в результатах будут показаны все модули, где она встречается.
Если вы попали в отладчике внутрь общего модуля, не нужно искать его вручную в дереве: окно модуля уже открыто. Чтобы вернуться к нему позже, используйте меню «Окна» конфигуратора — там перечислены все открытые окна модулей, и их можно быстро открыть повторно.
Быстрые способы: поиск, отладка и переход по коду
Самый быстрый способ попасть в нужный модуль — глобальный поиск по конфигурации (Ctrl+Shift+F). Введите имя процедуры, функции или фрагмент кода, запустите поиск, и в окне результатов дважды кликните по строке — конфигуратор откроет модуль и установит курсор на найденное место.
Второй способ — переход по вызову. Если в открытом модуле есть вызов процедуры из другого модуля, установите курсор на имя процедуры и нажмите F12 (или выберите «Перейти к определению» в контекстном меню). Конфигуратор откроет модуль, где эта процедура объявлена. Это особенно удобно при чтении чужого кода.
Третий способ — через отладку. Поставьте точку останова в известном месте, запустите отладку (F5), и при остановке конфигуратор сам откроет нужный модуль на текущей строке исполнения. Стек вызовов (окно «Стек вызовов» в режиме отладки) покажет цепочку модулей, через которые пришло выполнение, — по двойному клику открывается любой из них.
Какой способ выбрать
Почему модуль не открывается или открыт только для чтения
Частая ситуация: модуль открывается, но редактировать его нельзя. Основная причина — объект находится на поддержке с запретом изменений. Проверьте это через «Конфигурация → Поддержка → Настройка поддержки»: у объекта будет стоять правило «Объект поставщика не редактируется». Для изменения нужно включить возможность изменения, понимая, что это усложнит будущие обновления.
Вторая причина — недостаток прав. Пользователь, под которым вы вошли в конфигуратор, должен иметь право «Администрирование» и право на изменение конфигурации. Третья причина — конфигурация базы данных заблокирована другим сеансом конфигуратора или выполняется обновление. В этом случае изменения временно недоступны.
Если пункт «Открыть модуль объекта» в контекстном меню неактивен (серый), убедитесь, что конфигурация вообще открыта: дерево показывает только заголовок «Конфигурация» без содержимого — значит, нужно выполнить «Конфигурация → Открыть конфигурацию».
Типичные ошибки при работе с модулями
Начинающие разработчики часто путают модуль объекта и модуль формы: добавляют обработчик проведения в модуль формы, и он не срабатывает, потому что событие «ОбработкаПроведения» существует только в модуле объекта. Проверяйте контекст: события записи и проведения — в модуле объекта, события открытия и элементов формы — в модуле формы.
Ещё одна ошибка — поиск кода только в общих модулях, когда нужная логика находится в модуле менеджера или в подсистеме с похожим названием. Если поиск по имени не даёт результата, ищите по фрагменту текста сообщения об ошибке или по уникальной строке, которую видите в режиме предприятия.
Проверка результата после изменений
После того как модуль открыт и изменён, сохраните конфигурацию (Ctrl+S) и обновите конфигурацию базы данных (F7 или «Конфигурация → Обновить конфигурацию базы данных»). Без этого шага код в режиме предприятия останется старым — это самая частая причина фразы «я поменял, но ничего не изменилось».
Затем проверьте синтаксис: «Конфигурация → Проверка конфигурации» с включённой проверкой модулей. Ошибки компиляции будут показаны в окне сообщений с указанием модуля и строки. Финальная проверка — запуск в режиме предприятия и воспроизведение сценария, который задействует изменённый код.
Как проверить результат
Окно редактора показывает код, доступен ввод текста
Окно открыто в режиме только чтения или пункт меню неактивен
После F7 обновление конфигурации БД завершилось без ошибок
Появились сообщения о несохранённых изменениях или блокировке
Проверка конфигурации не выдаёт ошибок по модулю
В окне сообщений ошибки компиляции с указанием строки
Частые вопросы
Как открыть модуль, если конфигурация закрыта на поддержку?
Через «Конфигурация → Поддержка → Настройка поддержки» включите возможность изменения для нужного объекта. Модуль станет доступен для редактирования, но объект будет снят с полной поддержки, что усложнит автообновление. Альтернатива без снятия с поддержки — расширение конфигурации, где можно переопределить обработчики.
Чем отличается модуль объекта от модуля менеджера?
Модуль объекта выполняется в контексте конкретного экземпляра объекта (записываемого документа, элемента справочника) и содержит обработчики его событий. Модуль менеджера относится к менеджеру всего типа объектов и обычно содержит процедуры печати, заполнения и получения данных без привязки к конкретному экземпляру.
Как быстро найти, в каком модуле находится процедура?
Нажмите Ctrl+Shift+F, введите имя процедуры и запустите поиск по всей конфигурации. В результатах будут показаны все модули, где встречается это имя. Двойной клик по строке результата открывает модуль на нужной строке. Если процедура вызывается в уже открытом коде, установите курсор на её имя и нажмите F12.
Почему изменения в модуле не работают в режиме предприятия?
Наиболее вероятная причина — конфигурация базы данных не обновлена. Конфигуратор хранит рабочую конфигурацию отдельно от конфигурации БД; нажмите F7 для обновления. Также проверьте, что вы редактируете ту же базу, которую запускаете, и что код находится в правильном модуле (объекта, а не формы).
Можно ли открыть модуль внешней обработки?
Да. Откройте файл обработки через «Файл → Открыть», затем в дереве обработки найдите её формы и откройте модуль формы через конструктор, либо используйте контекстное меню корня обработки для модуля объекта. Структура модулей внешней обработки аналогична объектам конфигурации.
Что важно запомнить
Модуль открывается через контекстное меню объекта в дереве конфигурации, модуль формы — через конструктор формы, общий модуль — из ветки «Общие модули». Для быстрого поиска используйте Ctrl+Shift+F и переход по F12. После правок всегда обновляйте конфигурацию базы данных (F7) и проверяйте синтаксис, а перед снятием объектов с поддержки делайте резервную копию.