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

Быстрый старт · 9 мин

1С: как перейти к строке по номеру

Как в 1С перейти к строке по номеру: сочетание Ctrl+G, меню правки, поиск в табличной части и переход к строке в конфигураторе. Пошаговые инструкции и ответы.

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

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

Переход к строке в конфигураторе через Ctrl+G

Самая частая ситуация — нужно попасть на конкретную строку модуля в конфигураторе. Например, при обновлении конфигурации окно сравнения указывает номер строки, или сообщение об ошибке содержит ссылку вида «{ОбщийМодуль.Расчеты.Модуль(245)}». Цифра в скобках — это и есть номер строки в модуле.

Откройте нужный модуль, нажмите Ctrl+G — появится небольшое окно «Перейти к строке». Введите номер и подтвердите ввод клавишей Enter или кнопкой «Перейти». Курсор встанет в начало указанной строки, а редактор автоматически прокрутит текст до неё. Тот же пункт доступен через главное меню: Текст → Перейти… (в некоторых версиях платформы — «Правка → Перейти…»).

Переход к строке в модуле
  1. 1
    Откройте нужный модуль, текстовый документ или макет в конфигураторе
  2. 2
    Нажмите Ctrl+G (или меню Текст → Перейти)
  3. 3
    Введите номер строки в поле диалога
  4. 4
    Нажмите Enter или кнопку «Перейти»
  5. 5
    Убедитесь, что курсор стоит на нужной строке — её номер отображается в строке состояния

Обратите внимание на строку состояния внизу окна конфигуратора: там всегда отображается текущая позиция курсора в формате «Строка: X, Колонка: Y». Это удобный способ проверить, что переход выполнен правильно, особенно когда строки визуально похожи.

Переход к строке в текстовых документах и макетах

Сочетание Ctrl+G работает не только в модулях. Оно действует в любом текстовом редакторе платформы: в открытых текстовых файлах (.txt, .xml, .epf-скриптах обработок, если они открыты как текст), в полях многострочного текста и при редактировании запросов в консоли кода.

Это особенно полезно при анализе выгрузок и файлов обмена. Если программа-корреспондент сообщила об ошибке «в строке 12480 файла выгрузки», откройте файл в конфигураторе (Файл → Открыть) или во встроенном текстовом редакторе предприятия и перейдите к указанной строке напрямую, вместо долгой прокрутки.

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

Как попасть на нужную строку в табличной части документа

В режиме «Предприятие» табличные части документов (товары, услуги, начисления) не имеют встроенного диалога «перейти к строке номер N». Колонка с номером строки (значок «№») отображается, но клик по номеру или ввод цифры никуда не переносит — это частая причина путаницы у новых пользователей.

Практические способы добраться до нужной строки:

  • Поиск по содержимому (Ctrl+F). Если известен товар, контрагент или сумма в строке, откройте поиск по таблице и найдите значение — курсор встанет на нужную строку.
  • Прокрутка с клавиатуры. Клавиши Page Down / Page Up листают таблицу постранично, Ctrl+End переносит в конец, Ctrl+Home — в начало. Для таблиц в несколько сотен строк это быстрее колеса мыши.
  • Отбор и сортировка. В типовых формах списка и табличных частях доступны кнопки «Ещё → Найти…» и настройка списка: сузив выборку отбором, вы быстрее увидите нужную строку.

Если номер строки пришёл из сообщения об ошибке проведения (например, «Не заполнена колонка "Количество" в строке 37 списка "Товары"»), проще всего отсортировать табличную часть по номеру строки и прокрутить до нужного места — номера строк видны в первой колонке.

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

Программный переход к строке через встроенный язык

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

Типовой приём: найти строку в данных табличной части, взять её идентификатор через ПолучитьИдентификатор() и присвоить его свойству ТекущаяСтрока элемента формы. После этого форма сама прокрутит таблицу и выделит нужную строку. Дополнительно можно выдать сообщение с привязкой к полю, чтобы платформа сама подсветила ячейку.

Также полезен метод Активизировать() у поля ввода и механизм привязки сообщений пользователю к данным объекта: при двойном щелчке по сообщению об ошибке платформа открывает объект и позиционируется на связанном поле. Это стандартное поведение типовых проверок заполнения.

bsl
СтрокаТаблицы = Объект.Товары[НомерСтроки - 1];
Элементы.Товары.ТекущаяСтрока = СтрокаТаблицы.ПолучитьИдентификатор();

Переход к строке в отчётах и протоколах ошибок

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

В окне сообщений предприятия двойной щелчок по тексту ошибки часто открывает связанный объект или позиционирует курсор на проблемном месте. В конфигураторе окно сравнения и объединения конфигураций позволяет перейти к отличающейся строке двойным щелчком по элементу дерева различий. В окне синтаксической проверки модулей двойной клик по ошибке переносит курсор точно на строку с проблемой — это быстрее, чем запоминать номер и нажимать Ctrl+G.

Маршрут решения

Как выбрать способ перехода

Нужна строка в модуле или текстовом файлеИспользуйте Ctrl+G и введите номер строки
Нужна строка в табличной части документаИспользуйте поиск Ctrl+F по содержимому или прокрутку с ориентиром на колонку №
Номер строки пришёл из сообщения об ошибкеСначала попробуйте двойной щелчок по сообщению — платформа часто позиционируется сама
Нужно показать строку пользователю из кодаУстановите ТекущаяСтрока элемента формы через ПолучитьИдентификатор()

Проверка результата и ограничения

После перехода убедитесь, что попали именно туда, куда нужно. В конфигураторе сверьте номер в строке состояния с требуемым. В табличной части документа сверьте содержимое строки (номенклатуру, сумму, дату) с тем, что указано в исходном сообщении об ошибке, — номер строки мог сместиться, если документ редактировался после появления ошибки.

Учтите ограничения: диалог Ctrl+G не работает в табличных полях форм и в табличных документах предприятия; в управляемых формах поиск Ctrl+F ищет только по видимым колонкам таблицы; при отборе строк номера остаются исходными, поэтому «строка 37» после отбора может не отображаться вовсе — снимите отбор перед поиском.

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

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

Номер строки в строке состояния конфигуратора
Норма

Совпадает с введённым в диалоге Ctrl+G

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

Номер другой — переход не выполнен, повторите ввод

Содержимое найденной строки в документе
Норма

Данные совпадают с описанием в сообщении об ошибке

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

Содержимое не совпадает — документ редактировался, ищите по содержимому через Ctrl+F

Видимость строки после программного позиционирования
Норма

Строка выделена и видна на экране

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

Строка не выделена — проверьте, что использован идентификатор именно этой строки данных

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

Не работает Ctrl+G в форме документа — почему?

Сочетание Ctrl+G действует только в текстовых редакторах платформы: модулях, текстовых файлах, полях многострочного текста. В табличных частях и табличных документах оно не предусмотрено — там используйте поиск Ctrl+F или прокрутку с ориентиром на колонку номера строки.

Как узнать номер текущей строки в табличной части?

Номер отображается в первой колонке таблицы (значок «№»). Если колонка скрыта, включите её через «Ещё → Изменить форму» и отметьте поле «НомерСтроки». Программно номер доступен через свойство НомерСтроки строки табличной части.

Сообщение об ошибке указывает строку, но там нормальный код — в чём дело?

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

Можно ли перейти к строке по номеру в динамическом списке?

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

Как перейти к строке в файле выгрузки большого размера?

Откройте файл в конфигураторе (Файл → Открыть) или в любом текстовом редакторе, поддерживающем переход к строке, и используйте Ctrl+G. Очень большие файлы (сотни мегабайт) конфигуратор может открывать медленно — в таком случае подойдёт внешний редактор с функцией перехода по номеру строки.

Как программно подсветить пользователю ошибочную строку документа?

Найдите нужную строку табличной части, получите её идентификатор методом ПолучитьИдентификатор() и присвойте его свойству ТекущаяСтрока элемента таблицы формы. Дополнительно выдайте сообщение с привязкой к данным объекта — платформа подсветит поле автоматически.

Итог

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

В модулях и текстовых файлах переход к строке по номеру выполняется через Ctrl+G, а контроль — по строке состояния. В табличных частях документов прямого перехода нет: используйте поиск Ctrl+F, колонку номера строки и двойной щелчок по сообщениям об ошибках. Программно строку показывают через ТекущаяСтрока элемента формы.