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

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

Как перейти к строке в 1С: все рабочие способы

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

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

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

Где в 1С вообще есть понятие «номер строки»

Понятие строки в 1С зависит от контекста. В табличном документе (печатная форма, макет, отчёт в виде таблицы) строки имеют абсолютную нумерацию, которая отображается в левой серой области листа. В табличной части документа или справочника номер строки виден в первой колонке и соответствует порядку записей в данных объекта. В журнале документов нумерации как таковой нет — там работает позиционирование по конкретной записи.

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

Переход к строке в табличном документе

Откройте табличный документ — например, сформируйте печатную форму или отчёт в табличном виде. Нажмите Ctrl+G либо выберите в главном меню пункт «Таблица — Вид — Перейти» (в разных версиях платформы пункт может называться «Перейти к ячейке»). Появится диалог, где нужно указать номер строки и, при необходимости, номер колонки — например, R100C5 означает строка 100, колонка 5.

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

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

Как перейти к строке в табличном документе
  1. 1
    Откройте табличный документ и кликните в его область, чтобы он был активен
  2. 2
    Нажмите Ctrl+G или выберите «Таблица — Перейти»
  3. 3
    Введите адрес ячейки, например R150C1 для строки 150
  4. 4
    Нажмите Enter и проверьте, что нужная строка подсвечена в левой области

Переход к строке в журнале документов и списках

В динамических списках — журналах документов, списках справочников — абсолютный номер строки не используется, потому что состав списка меняется с отборами и сортировкой. Здесь переход выполняется иначе: через поиск по значению или позиционирование на конкретном объекте.

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

Переход к строке в табличной части документа

В табличной части документа или справочника номер строки отображается в первой колонке. Чтобы попасть на нужную строку, можно прокрутить список мышью или клавишами, но при большом объёме удобнее использовать поиск: встаньте в колонку, по которой ищете, и нажмите Ctrl+F. Платформа найдёт и выделит первую подходящую строку, повторное нажатие F3 переведёт к следующей.

Если табличная часть длинная, а нужно проверить строку с конкретным номером (например, по протоколу загрузки данных), помогает сортировка по номеру строки — кликните по заголовку колонки с номером. После этого строки выстроятся по порядку, и нужная позиция находится быстро. Не забудьте, что в режиме редактирования изменение порядка строк влияет на данные документа, а простое позиционирование — нет.

Переход к строке кода в конфигураторе

Разработчику переход к строке нужен чаще всего после сообщения об ошибке вида «{ОбщийМодуль.Имя.Модуль(1234)}: Ошибка при выполнении...». Число в скобках — номер строки модуля. Откройте указанный модуль и нажмите Ctrl+G: появится диалог перехода, введите номер строки и подтвердите. Курсор встанет в начало нужной строки, она будет подсвечена.

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

Полезно помнить, что номер строки в сообщении об ошибке относится к текущей версии модуля. Если после ошибки код редактировался, строка могла «уехать» — сверяйте текст вокруг целевой строки с логикой, описанной в сообщении.

1c
// В коде тоже можно перейти к строке табличного документа программно:
ТабДок = Новый ТабличныйДокумент;
ОбластьЯчейки = ТабДок.Область("R100C1"); // строка 100, колонка 1
// Для табличной части — обращение по индексу (нумерация с нуля):
СтрокаТаб = Документ.Товары[99]; // сотая строка

Программный переход и позиционирование

Если вы дорабатываете конфигурацию, позиционирование на строке можно выполнить программно. Для табличного документа используется обращение к области по адресу вида R100C1. Для таблицы значений и табличной части — обращение по индексу, который начинается с нуля: строка с номером 100 имеет индекс 99. Эта разница — частый источник ошибок «индекс за границами».

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

Типичные ошибки
01
Путать номер строки (начинается с 1) и индекс в коде (начинается с 0) — смещение на одну позицию приводит к обращению не к той записи
02
Искать строку по номеру в журнале после изменения отбора или сортировки — состав списка уже другой, и номер ничего не значит
03
Пытаться использовать Ctrl+G в форме списка — там это сочетание не работает, нужен поиск Ctrl+F
04
Игнорировать скрытые строки в табличном документе — абсолютный номер учитывает их, и видимая позиция не совпадает с номером

Частые ошибки и ограничения

Главное ограничение: единого «перехода к строке» для всех окон 1С не существует. Клавиша Ctrl+G работает в табличном документе и редакторе кода, но не в динамических списках. Там её роль выполняет поиск и позиционирование по объекту. Если сочетание «не срабатывает», проверьте, какое окно активно — возможно, фокус стоит не в таблице, а в панели навигации.

Вторая частая проблема — несовпадение номеров из-за версий. Номер строки модуля из старого протокола ошибок может не соответствовать текущему коду после обновления конфигурации. Всегда ориентируйтесь на текст сообщения об ошибке, а не только на номер.

Итог

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

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

FAQ

Ctrl+G не работает в журнале документов, почему?

Динамические списки не поддерживают переход по абсолютному номеру строки, потому что их состав зависит от отборов и сортировки. Используйте поиск по значению (Ctrl+F) или стандартный отбор по номеру и дате документа.

Как перейти к строке, указанной в сообщении об ошибке модуля?

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

Можно ли перейти к строке табличного документа по значению, а не по номеру?

Да, используйте поиск: Ctrl+F в табличном документе ищет по содержимому ячеек с переходом к найденному. Направление поиска (вперёд/назад) переключается в диалоге поиска.

Почему номер строки в табличном документе не совпадает с тем, что вижу на экране?

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

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

Обратитесь к коллекции по индексу: индекс равен номеру строки минус один, например Документ.Товары[НомерСтроки - 1]. Перед обращением проверяйте, что индекс не выходит за границы коллекции.

Есть ли переход к строке в мобильном клиенте 1С?

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