Быстрая навигация по модулю: номер строки, ошибки, закладки и поиск в Конфигураторе
Содержание
Чтобы перейти к строке кода в Конфигураторе 1С 8.3, откройте модуль, нажмите Ctrl+G (или Правка → Перейти к строке), введите номер и нажмите Enter. Курсор встанет в начало указанной строки, а окно прокрутится так, чтобы она была видна.
Частая ошибка — искать номер строки, не открыв нужный модуль. Команда работает только в активном окне с текстом: если фокус стоит на дереве метаданных, переходить некуда. Поэтому сначала модуль, потом номер. Сам номер чаще всего берут из текста ошибки — и в нём же записано, какой модуль открывать.
С чего начать: открыть правильный модуль
У каждого объекта конфигурации свои модули, и номер строки имеет смысл только внутри конкретного из них. Строка 245 в модуле объекта и строка 245 в модуле формы того же документа — разные места.
Где лежат модули основных типов:
- 📁 Общий модуль — ветка
Общие → Общие модули, двойной щелчок по имени. - 📄 Модуль объекта документа или справочника — правой кнопкой по объекту в дереве →
Открыть модуль объекта. - 🗂️ Модуль менеджера — там же, команда
Открыть модуль менеджера. - 🖼️ Модуль формы — откройте форму в ветке «Формы» объекта и переключитесь на вкладку «Модуль» внизу редактора формы.
- ⚙️ Модуль приложения, сеанса, внешнего соединения — правой кнопкой по корню дерева конфигурации.
Если объект трудно найти глазами, встаньте в дерево метаданных и начните набирать имя: дерево само перейдёт к подходящему элементу. В 8.3 над деревом есть и строка поиска — она фильтрует ветки по части имени.
Модули типовой конфигурации на поддержке можно читать и без включения возможности изменения. Переход к строке, поиск и закладки работают в режиме «только чтение».
Переход к строке кода через меню и Ctrl+G
Сам переход занимает три действия:
- Щёлкните в любом месте текста модуля, чтобы окно стало активным.
- Нажмите
Ctrl+Gили выберите в главном менюПравка → Перейти к строке. - В окне ввода укажите номер строки и нажмите Enter или «ОК».
Нумерация начинается с единицы и учитывает всё: пустые строки, комментарии, директивы &НаКлиенте, строки #Область. Свёрнутые группировки тоже считаются — если нужная строка внутри свёрнутой процедуры, редактор раскроет её сам.
Текущее положение курсора показывает строка состояния внизу окна Конфигуратора: номер строки и колонки. По ней удобно проверить, что вы попали туда, куда хотели, и сообщить коллеге точное место: «модуль объекта, строка 1180».
Номера строк можно вывести и на поле слева от текста. Включается это в Сервис → Параметры, на вкладке «Модули»; точное название флажка может отличаться в зависимости от версии платформы. Если флажка нет, ориентируйтесь на строку состояния.
Горячие клавиши для навигации по коду в Конфигураторе
Мышью по модулю на 5 000 строк ходить долго. Вот сочетания, которые нужны каждый день:
| Сочетание | Что делает |
|---|---|
Ctrl+G | Перейти к строке по номеру |
Ctrl+Home / Ctrl+End | В начало / в конец модуля |
Ctrl+F | Поиск в текущем модуле |
F3 / Shift+F3 | Следующее / предыдущее вхождение |
Ctrl+H | Поиск с заменой |
Ctrl+Shift+F | Поиск во всех текстах конфигурации |
F12 | Перейти к определению процедуры или функции под курсором |
Ctrl+Alt+P | Список процедур и функций модуля |
Ctrl+F2 | Поставить или снять закладку |
F2 / Shift+F2 | Следующая / предыдущая закладка |
F9 | Поставить или снять точку останова |
Ctrl+Z / Ctrl+Y | Отменить / повторить правку |
Самое недооценённое из списка — F12. Встаньте курсором на имя вызываемой функции, например ОбщегоНазначения.ЗначениеРеквизитаОбъекта, нажмите F12 — и Конфигуратор откроет общий модуль ровно на её объявлении. Без поиска по дереву и без прокрутки.
Если сочетание не срабатывает, проверьте раскладку и фокус окна. Часть клавиш перехватывают сторонние программы: менеджеры буфера обмена, драйверы видеокарты, мессенджеры.
Переход к строке из текста ошибки и окна сообщений
На практике номер строки почти всегда приходит из ошибки. Пользователь присылает снимок окна, где написано примерно так:
{Документ.РеализацияТоваровУслуг.МодульОбъекта(512)}: Поле объекта не обнаружено (Сумма)
Эта строка — готовый адрес. Читается она слева направо:
Документ.РеализацияТоваровУслуг— объект в дереве метаданных: ветка «Документы», документ «РеализацияТоваровУслуг».МодульОбъекта— какой модуль открыть. Бывают ещёМодульМенеджера,Модуль(у общих модулей),Форма.ФормаДокумента.Форма(модуль формы).(512)— номер строки внутри этого модуля.
Дальше открываете модуль, жмёте Ctrl+G, вводите 512. На всё уходит полминуты.
Если ошибка возникла в Конфигураторе — при проверке синтаксиса, обновлении или в отладке — она попадает в окно служебных сообщений. Двойной щелчок по такому сообщению сам откроет модуль и поставит курсор на проблемную строку.
Номер в тексте ошибки относится к конфигурации базы данных, то есть к той, что сейчас работает у пользователей. Если вы уже правили основную конфигурацию и не обновили базу, строки могли сдвинуться. Откройте Конфигурация → Конфигурация базы данных → Открыть конфигурацию БД и переходите к строке там.
То же касается расширений: если ошибка в модуле расширения, его нужно открыть через Конфигурация → Расширения конфигурации, а не искать объект в основной конфигурации.
Отладка и точки останова: как отладчик сам приводит к строке
Иногда номер строки не нужен вовсе. Отладчик останавливается там, где вы попросили, и показывает текущую строку жёлтой стрелкой на поле слева.
Точка останова
- Поставьте курсор на строку и нажмите
F9— на поле появится красный кружок. - Запустите отладку:
Отладка → Начать отладку(F5), выбрав нужный клиент. - Выполните в 1С:Предприятии действие, которое вызывает этот код.
- Конфигуратор вынесет окно модуля вперёд и подсветит строку, на которой остановилось выполнение.
Дальше по коду идут клавишами: F10 — шаг с обходом вызова, F11 — шаг с заходом внутрь процедуры, Shift+F11 — выход из текущей процедуры. Значение выражения смотрят через Shift+F9.
Список всех расставленных точек открывается из меню «Отладка». Двойной щелчок по точке в списке переводит на её строку — так удобно возвращаться к местам, отмеченным вчера.
Остановка по ошибке
Если ошибка воспроизводится, но место неизвестно, включите Отладка → Остановка по ошибке. Отладчик остановится на строке, где возникло исключение, даже если оно потом перехватывается в Попытка…Исключение. Для разбора цепочки вызовов откройте стек вызовов в том же меню и щёлкайте по уровням — каждый уровень ведёт к своей строке.
Для отладки кода на сервере 1С:Предприятия служба агента должна быть запущена с параметром -debug. Добавление параметра требует перезапуска службы, а это оборвёт сеансы всех пользователей. Делайте это вне рабочего времени и только на тестовом или согласованном сервере.
Поиск по тексту и переход к найденному месту
Поиск — второй по частоте способ попасть в нужную строку после Ctrl+G.
В текущем модуле. Ctrl+F открывает окно поиска. Выделенный перед этим фрагмент подставится в поле автоматически. Дальше F3 ведёт к следующему вхождению, Shift+F3 — к предыдущему.
Во всей конфигурации. Ctrl+Shift+F — поиск во всех текстах. В окне можно ограничить область: только модули, только определённые объекты, с учётом регистра или целым словом. Результаты собираются в отдельное окно списком «объект — модуль — строка». Двойной щелчок по строке результата открывает модуль ровно на найденном месте.
Чем полезен глобальный поиск:
- 🔍 найти, откуда вызывается процедура, если F12 привёл к объявлению, а нужны места вызова;
- 🔍 найти текст сообщения, которое видит пользователь, и выйти на код, который его выводит;
- 🔍 найти все обращения к реквизиту перед тем, как его переименовать или удалить.
Ищите по фрагменту текста ошибки без переменных частей. Если пользователь видит «Не заполнено поле Склад в строке 3», ищите «Не заполнено поле» — номер строки и имя поля подставляются в текст при выполнении.
История изменений: где смотреть, что и когда поменялось в коде
Конфигуратор не ведёт локальной истории правок каждого модуля. Отмотать изменения можно тремя способами, и у каждого своя глубина.
| Способ | Когда помогает | Ограничение |
|---|---|---|
Ctrl+Z в открытом модуле | Только что напечатали лишнее | Работает в пределах текущего сеанса редактирования |
| Сравнение с конфигурацией БД | Нужно увидеть всё, что изменено, но ещё не применено к базе | Показывает разницу только с последним обновлением базы |
| История хранилища конфигурации | Нужно понять, кто и когда поменял строку | Только если разработка ведётся через хранилище |
Сравнение с базой. В меню «Конфигурация» есть команда сравнения конфигураций. Сравните основную конфигурацию с конфигурацией базы данных — получите дерево изменённых объектов. Для модуля откройте сравнение текстов: изменённые строки подсвечены, по различиям можно переходить подряд, не листая весь модуль.
Хранилище. Если база подключена к хранилищу, откройте его историю (раздел хранилища в меню «Конфигурация»). Каждая версия содержит автора, дату и комментарий. Версию можно сравнить с текущей или с соседней и сразу увидеть, в какой строке что поменялось.
Комментарий к помещению в хранилище — тоже навигация. «Исправлен расчёт скидки в МодульОбъекта, процедура РассчитатьСкидку» через полгода экономит поиск по сотне версий.
Работа с большими модулями: как не потеряться в тысячах строк
В типовых конфигурациях модули на 10–20 тысяч строк — обычное дело. Прокручивать их бессмысленно, нужна структура.
Области и группировки
Код типовых решений разбит директивами #Область ИмяОбласти … #КонецОбласти. Каждая область и каждая процедура сворачивается щелчком по значку «минус» на поле слева. Сверните всё — и модуль превратится в оглавление из 15–20 строк, по которому легко найти нужный блок.
Свернуть или развернуть группу под курсором можно клавишами Ctrl и «минус»/«плюс» на цифровом блоке клавиатуры, все группы сразу — с добавлением Shift.
Список процедур и функций
Ctrl+Alt+P открывает перечень всех процедур и функций модуля. Список можно отсортировать по алфавиту и начать набирать имя — выбор переводит курсор на объявление. Для модуля, где процедур больше сотни, это быстрее любого поиска.
Закладки
Когда разбираете ошибку, обычно прыгаете между тремя-четырьмя местами: вызов, объявление, обработчик формы. Отметьте каждое закладкой Ctrl+F2 и ходите по кругу клавишей F2. Закладки не меняют текст модуля и не попадают в конфигурацию.
Если редактор тормозит
На очень больших модулях замедлять ввод может контекстная подсказка, которая разбирает весь текст при каждом нажатии. Её поведение настраивается в Сервис → Параметры, на вкладке «Модули». Отключите автоматический вызов подсказки — вызвать её вручную можно по Ctrl+Space.
Для тех, кто пишет в 1С:EDT: там переход к строке работает по Ctrl+L, как во всех средах на базе Eclipse, а остальные приёмы похожи — переход к определению, поиск по проекту, закладки.