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

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

Как выделить все строки в 1С

Как выделить все строки в 1С: Ctrl+A в табличной части и списке, Shift и Ctrl для диапазонов, выделение в запросе и коде. Разбор ограничений и типичных ошибок.

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

В платформе 1С:Предприятие 8 действуют стандартные для Windows сочетания: Ctrl+A выделяет все строки текущей таблицы, Shift расширяет выделение на диапазон, а Ctrl позволяет собрать произвольный набор строк. Однако есть нюансы: в поле ввода текста Ctrl+A выделяет текст, а не строки таблицы, а в некоторых формах множественное выделение заблокировано настройками.

Быстрый способ: Ctrl+A

Основной приём — сочетание клавиш Ctrl+A. Кликните мышью по любой строке табличной части документа, списка справочника или журнала документов, чтобы фокус оказался именно в таблице, и нажмите Ctrl+A. Все видимые строки будут выделены — обычно они подсвечиваются цветом.

После выделения доступны типовые действия: удаление клавишей Del (в редактируемой табличной части), копирование через Ctrl+C, пометка на удаление, проведение или отмена проведения группы документов через меню «Ещё». Набор доступных команд зависит от конфигурации и прав пользователя.

Порядок действий
  1. 1
    Откройте документ, справочник или журнал, где нужно выделить строки
  2. 2
    Кликните по любой строке таблицы, чтобы передать ей фокус
  3. 3
    Нажмите Ctrl+A — все строки подсветятся
  4. 4
    Выполните нужное действие: Del для удаления, Ctrl+C для копирования или команду из меню «Ещё»
  5. 5
    Проверьте результат: количество строк в таблице или статус документов изменился

Выделение диапазона и произвольных строк

Если нужны не все строки, а их часть, используйте клавишу Shift. Кликните по первой строке диапазона, затем, удерживая Shift, кликните по последней — выделятся все строки между ними включительно. Альтернатива без мыши: установите курсор на начальную строку и нажимайте Shift+стрелка вниз, расширяя выделение построчно, или Shift+Page Down для постраничного захвата.

Для произвольного набора строк, не идущих подряд, зажмите Ctrl и кликайте по нужным строкам. Повторный Ctrl+клик по уже выделенной строке снимает выделение с неё. Этот способ удобен, когда из большого списка нужно отобрать несколько разрозненных позиций.

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

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

Практичнее сначала сузить список: установите отбор по дате, контрагенту или организации через кнопку «Настроить список» или панель быстрого отбора, а уже потом нажимайте Ctrl+A. Так вы уменьшите объём обрабатываемых данных и снизите риск случайно затронуть лишние объекты.

Почему Ctrl+A иногда не работает

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

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

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

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

Подсветка строк
Норма

Все строки таблицы выделены цветом

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

Выделена только одна строка или текст в поле

Доступность команд
Норма

Кнопки «Удалить», «Провести» в меню «Ещё» активны

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

Команды неактивны — нет прав или форма не поддерживает операцию

Счётчик после операции
Норма

Количество строк уменьшилось на число выделенных

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

Число строк не изменилось — операция не выполнилась

Выделение в обычных формах и таксометре

В старых конфигурациях на обычных формах (например, 1С:Управление торговлей 10.3, 1С:Бухгалтерия 1.6/2.0) логика та же: Ctrl+A работает в табличных полях, Shift и Ctrl — для диапазонов и произвольного выбора. Отличие в том, что обычные формы чаще поддерживают выделение строк прямо в табличном поле документа без перехода в режим редактирования.

В обычных формах также доступно выделение «крестиком» мыши: нажмите левую кнопку на сером поле слева от строки и протяните вниз — выделится вертикальный диапазон. Этот приём удобен при работе с печатными формами и табличными документами.

Выделение всех строк программно

Разработчику выделить или обработать все строки табличной части из кода помогает цикл по коллекции. Для табличной части документа это выглядит так:

Для Каждого СтрокаТЧ Из Объект.Товары Цикл

СтрокаТЧ.Цена = 0;

КонецЦикла;

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

Типичные ошибки
01
Ctrl+A при курсоре в поле поиска — выделяется текст, а не строки таблицы
02
Массовое удаление без отбора — затрагиваются лишние документы
03
Удаление строк в прямом цикле «Для Каждого» — половина строк пропускается
04
Ожидание множественного выделения в форме, где оно отключено разработчиком

Групповые операции как альтернатива

Когда нужно не просто выделить, а массово изменить данные, удобнее штатная обработка «Групповое изменение реквизитов» (в типовых конфигурациях — раздел «Администрирование»). Она позволяет отобрать объекты по условиям и изменить реквизиты, пометить на удаление или провести документы без ручного выделения строк.

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

Итог

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

Ctrl+A выделяет все строки таблицы, если фокус стоит именно в ней. Shift выделяет диапазон, Ctrl — произвольные строки. Перед массовыми операциями настраивайте отбор и проверяйте результат, а для регулярных задач используйте групповые обработки.

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

Почему Ctrl+A выделяет текст, а не строки таблицы?

Фокус находится в поле ввода или ячейке в режиме редактирования. Нажмите Esc, чтобы выйти из редактирования, кликните по области строки вне поля ввода и повторите Ctrl+A.

Можно ли выделить все строки табличной части и скопировать их в Excel?

Да. Выделите строки через Ctrl+A, скопируйте Ctrl+C и вставьте в Excel через Ctrl+V. Альтернатива — команда «Вывести список» из меню «Ещё», которая формирует табличный документ для сохранения в файл.

Как выделить строки, если множественное выделение отключено в форме?

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

Как снять выделение со всех строк?

Кликните по любой одной строке без зажатых Ctrl и Shift — выделение сбросится до текущей строки. Также помогает нажатие клавиши со стрелкой.

Выделяются ли скрытые отбором строки при Ctrl+A в списке?

Нет. Выделяются только строки, отображаемые списком с учётом текущего отбора. Это удобно: сначала настройте отбор, затем Ctrl+A — и операция затронет только нужные объекты.

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

В интерфейсе: выделите строки через Ctrl+A и нажмите Del. В коде: метод Очистить() у табличной части, например Объект.Товары.Очистить() — это быстрее и надёжнее цикла удаления.