Быстрый старт · 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Откройте документ, справочник или журнал, где нужно выделить строки
- 2Кликните по любой строке таблицы, чтобы передать ей фокус
- 3Нажмите Ctrl+A — все строки подсветятся
- 4Выполните нужное действие: Del для удаления, Ctrl+C для копирования или команду из меню «Ещё»
- 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;
КонецЦикла;
Для удаления всех строк табличной части цикл не нужен — достаточно метода Объект.Товары.Очистить(). В таблице значений на форме аналогично используется метод Очистить(), а для обхода — цикл «Для Каждого». Помните, что удаление строк внутри цикла по коллекции требует обратного обхода (с конца к началу) или метода очистки, иначе часть строк будет пропущена.
Групповые операции как альтернатива
Когда нужно не просто выделить, а массово изменить данные, удобнее штатная обработка «Групповое изменение реквизитов» (в типовых конфигурациях — раздел «Администрирование»). Она позволяет отобрать объекты по условиям и изменить реквизиты, пометить на удаление или провести документы без ручного выделения строк.
Для табличных частей отдельного документа альтернативой служат кнопки «Подбор» и «Заполнить» — они заменяют ручное копирование и удаление строк. Если операция повторяется регулярно, имеет смысл попросить разработчика добавить команду заполнения, а не выполнять выделение и удаление вручную каждый раз.
Что важно запомнить
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. В коде: метод Очистить() у табличной части, например Объект.Товары.Очистить() — это быстрее и надёжнее цикла удаления.