Быстрый старт · 9 мин
1С: как перейти к строке по номеру
Как в 1С перейти к строке по номеру: сочетание Ctrl+G, меню правки, поиск в табличной части и переход к строке в конфигураторе. Пошаговые инструкции и ответы.
Задача перейти к строке с известным номером возникает в 1С постоянно: при поиске ошибки обмена, когда протокол указывает «ошибка в строке 1543», при проверке длинной табличной части документа или при анализе кода, где отладчик остановился на конкретной строке модуля. Прокручивать сотни строк вручную — долго и неудобно, а встроенные средства платформы позволяют попасть в нужное место за пару секунд.
Способ перехода зависит от того, где вы работаете: в редакторе кода конфигуратора, в обычной форме документа, в текстовом документе или в макете табличного документа. В каждом случае есть свой инструмент — от универсального сочетания Ctrl+G до программного позиционирования через встроенный язык. Ниже разобраны все основные сценарии.
Переход к строке в конфигураторе через Ctrl+G
Самая частая ситуация — нужно попасть на конкретную строку модуля в конфигураторе. Например, при обновлении конфигурации окно сравнения указывает номер строки, или сообщение об ошибке содержит ссылку вида «{ОбщийМодуль.Расчеты.Модуль(245)}». Цифра в скобках — это и есть номер строки в модуле.
Откройте нужный модуль, нажмите Ctrl+G — появится небольшое окно «Перейти к строке». Введите номер и подтвердите ввод клавишей Enter или кнопкой «Перейти». Курсор встанет в начало указанной строки, а редактор автоматически прокрутит текст до неё. Тот же пункт доступен через главное меню: Текст → Перейти… (в некоторых версиях платформы — «Правка → Перейти…»).
- 1Откройте нужный модуль, текстовый документ или макет в конфигураторе
- 2Нажмите Ctrl+G (или меню Текст → Перейти)
- 3Введите номер строки в поле диалога
- 4Нажмите Enter или кнопку «Перейти»
- 5Убедитесь, что курсор стоит на нужной строке — её номер отображается в строке состояния
Обратите внимание на строку состояния внизу окна конфигуратора: там всегда отображается текущая позиция курсора в формате «Строка: X, Колонка: Y». Это удобный способ проверить, что переход выполнен правильно, особенно когда строки визуально похожи.
Переход к строке в текстовых документах и макетах
Сочетание Ctrl+G работает не только в модулях. Оно действует в любом текстовом редакторе платформы: в открытых текстовых файлах (.txt, .xml, .epf-скриптах обработок, если они открыты как текст), в полях многострочного текста и при редактировании запросов в консоли кода.
Это особенно полезно при анализе выгрузок и файлов обмена. Если программа-корреспондент сообщила об ошибке «в строке 12480 файла выгрузки», откройте файл в конфигураторе (Файл → Открыть) или во встроенном текстовом редакторе предприятия и перейдите к указанной строке напрямую, вместо долгой прокрутки.
В макетах табличных документов прямого диалога перехода по номеру строки нет, но там работает стандартный поиск по имени области: через Ctrl+F можно найти область или ячейку по её имени, что фактически заменяет переход к нужной позиции.
Как попасть на нужную строку в табличной части документа
В режиме «Предприятие» табличные части документов (товары, услуги, начисления) не имеют встроенного диалога «перейти к строке номер N». Колонка с номером строки (значок «№») отображается, но клик по номеру или ввод цифры никуда не переносит — это частая причина путаницы у новых пользователей.
Практические способы добраться до нужной строки:
- Поиск по содержимому (Ctrl+F). Если известен товар, контрагент или сумма в строке, откройте поиск по таблице и найдите значение — курсор встанет на нужную строку.
- Прокрутка с клавиатуры. Клавиши Page Down / Page Up листают таблицу постранично, Ctrl+End переносит в конец, Ctrl+Home — в начало. Для таблиц в несколько сотен строк это быстрее колеса мыши.
- Отбор и сортировка. В типовых формах списка и табличных частях доступны кнопки «Ещё → Найти…» и настройка списка: сузив выборку отбором, вы быстрее увидите нужную строку.
Если номер строки пришёл из сообщения об ошибке проведения (например, «Не заполнена колонка "Количество" в строке 37 списка "Товары"»), проще всего отсортировать табличную часть по номеру строки и прокрутить до нужного места — номера строк видны в первой колонке.
Программный переход к строке через встроенный язык
Разработчику иногда нужно позиционировать курсор на строке табличной части программно — например, после проверки заполнения показать пользователю проблемную строку. Для этого используется свойство формы ТекущаяСтрока у элемента таблицы.
Типовой приём: найти строку в данных табличной части, взять её идентификатор через ПолучитьИдентификатор() и присвоить его свойству ТекущаяСтрока элемента формы. После этого форма сама прокрутит таблицу и выделит нужную строку. Дополнительно можно выдать сообщение с привязкой к полю, чтобы платформа сама подсветила ячейку.
Также полезен метод Активизировать() у поля ввода и механизм привязки сообщений пользователю к данным объекта: при двойном щелчке по сообщению об ошибке платформа открывает объект и позиционируется на связанном поле. Это стандартное поведение типовых проверок заполнения.
СтрокаТаблицы = Объект.Товары[НомерСтроки - 1];
Элементы.Товары.ТекущаяСтрока = СтрокаТаблицы.ПолучитьИдентификатор();Переход к строке в отчётах и протоколах ошибок
Отдельный сценарий — работа с результатами обменов, загрузок и проверок. Протоколы загрузки данных, окна сравнения конфигураций и сообщения об ошибках почти всегда содержат номер строки. Правильная тактика — не искать строку вручную, а использовать контекст сообщения.
В окне сообщений предприятия двойной щелчок по тексту ошибки часто открывает связанный объект или позиционирует курсор на проблемном месте. В конфигураторе окно сравнения и объединения конфигураций позволяет перейти к отличающейся строке двойным щелчком по элементу дерева различий. В окне синтаксической проверки модулей двойной клик по ошибке переносит курсор точно на строку с проблемой — это быстрее, чем запоминать номер и нажимать Ctrl+G.
Как выбрать способ перехода
Проверка результата и ограничения
После перехода убедитесь, что попали именно туда, куда нужно. В конфигураторе сверьте номер в строке состояния с требуемым. В табличной части документа сверьте содержимое строки (номенклатуру, сумму, дату) с тем, что указано в исходном сообщении об ошибке, — номер строки мог сместиться, если документ редактировался после появления ошибки.
Учтите ограничения: диалог Ctrl+G не работает в табличных полях форм и в табличных документах предприятия; в управляемых формах поиск Ctrl+F ищет только по видимым колонкам таблицы; при отборе строк номера остаются исходными, поэтому «строка 37» после отбора может не отображаться вовсе — снимите отбор перед поиском.
Как проверить результат
Совпадает с введённым в диалоге Ctrl+G
Номер другой — переход не выполнен, повторите ввод
Данные совпадают с описанием в сообщении об ошибке
Содержимое не совпадает — документ редактировался, ищите по содержимому через Ctrl+F
Строка выделена и видна на экране
Строка не выделена — проверьте, что использован идентификатор именно этой строки данных
Частые вопросы
Не работает Ctrl+G в форме документа — почему?
Сочетание Ctrl+G действует только в текстовых редакторах платформы: модулях, текстовых файлах, полях многострочного текста. В табличных частях и табличных документах оно не предусмотрено — там используйте поиск Ctrl+F или прокрутку с ориентиром на колонку номера строки.
Как узнать номер текущей строки в табличной части?
Номер отображается в первой колонке таблицы (значок «№»). Если колонка скрыта, включите её через «Ещё → Изменить форму» и отметьте поле «НомерСтроки». Программно номер доступен через свойство НомерСтроки строки табличной части.
Сообщение об ошибке указывает строку, но там нормальный код — в чём дело?
Скорее всего, модуль редактировался после возникновения ошибки, и строки сместились. Посмотрите несколько строк выше и ниже указанной. Если ошибка из базы-корреспондента, убедитесь, что вы смотрите ту же версию конфигурации.
Можно ли перейти к строке по номеру в динамическом списке?
Напрямую нет: динамический список подгружает данные порциями, и понятия абсолютного номера строки у него нет. Используйте поиск, отбор или сортировку, чтобы быстро оказаться рядом с нужной записью.
Как перейти к строке в файле выгрузки большого размера?
Откройте файл в конфигураторе (Файл → Открыть) или в любом текстовом редакторе, поддерживающем переход к строке, и используйте Ctrl+G. Очень большие файлы (сотни мегабайт) конфигуратор может открывать медленно — в таком случае подойдёт внешний редактор с функцией перехода по номеру строки.
Как программно подсветить пользователю ошибочную строку документа?
Найдите нужную строку табличной части, получите её идентификатор методом ПолучитьИдентификатор() и присвойте его свойству ТекущаяСтрока элемента таблицы формы. Дополнительно выдайте сообщение с привязкой к данным объекта — платформа подсветит поле автоматически.
Что важно запомнить
В модулях и текстовых файлах переход к строке по номеру выполняется через Ctrl+G, а контроль — по строке состояния. В табличных частях документов прямого перехода нет: используйте поиск Ctrl+F, колонку номера строки и двойной щелчок по сообщениям об ошибках. Программно строку показывают через ТекущаяСтрока элемента формы.