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

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

Как в 1С выделить все ячейки табличного документа

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

Табличный документ — основной формат представления данных в 1С: в нём отображаются отчёты, печатные формы, макеты и результаты обработок. Задача выделить все ячейки возникает при копировании данных в Excel, изменении форматирования всего листа, очистке содержимого или программной обработке документа.

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

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

Выделение всех ячеек сочетанием клавиш Ctrl+A

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

Если фокус стоит не на табличном документе, а, например, в поле ввода формы, Ctrl+A выделит текст внутри этого поля, а не ячейки. Поэтому перед нажатием кликните по любой ячейке табличного документа, чтобы передать ему фокус.

Выделение через Ctrl+A
  1. 1
    Кликните по любой ячейке табличного документа, чтобы оно получило фокус.
  2. 2
    Нажмите сочетание клавиш Ctrl+A.
  3. 3
    Убедитесь, что вся область документа подсвечена — значит, выделение выполнено.
  4. 4
    Далее скопируйте данные (Ctrl+C) или примените нужное форматирование.

Выделение щелчком по угловой области

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

Если заголовки строк и колонок скрыты настройками документа (свойства «ОтображатьЗаголовкиСтрок» и «ОтображатьЗаголовкиКолонок»), угловая область не отображается. В этом случае остаются клавиатурные способы или программное выделение.

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

Выделение области ячеек через меню и клавиатуру

Для выделения произвольного диапазона без мыши используются клавиши перемещения с зажатым Shift: стрелки расширяют выделение на одну ячейку, Ctrl+Shift+End выделяет всё от текущей ячейки до конца используемой области, Ctrl+Shift+Home — до начала документа.

Через диалог «Именованные области» (если в документе заданы имена областей) можно быстро перейти к нужному блоку и выделить его целиком. Это удобно в больших макетах, где прокрутка занимает время.

Способы выделения всех ячеек

Ctrl+A

Самый быстрый способ; требует, чтобы фокус был на табличном документе.

Щелчок по угловой области

Наглядно и удобно мышью; не работает, если заголовки строк и колонок скрыты.

Ctrl+Shift+End от первой ячейки

Подходит, когда нужно выделить от текущей позиции до конца документа, а не весь лист.

Программно (ПолучитьОбласть)

Единственный вариант для автоматической обработки; требует прав на изменение и знания встроенного языка.

Программное выделение всех ячеек

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

bsl
ТабДок = Новый ТабличныйДокумент;
// ... заполнение документа ...
ВсяОбласть = ТабДок.ПолучитьОбласть();
ВсяОбласть.Шрифт = Новый Шрифт(, , 10);
ВсяОбласть.ЦветФона = WebЦвета.Белый;

Если нужно очистить документ полностью, проще использовать метод Очистить() самого табличного документа — он не требует предварительного выделения. Для обхода всех ячеек по одной применяют вложенные циклы по ВысотаТаблицы и ШиринаТаблицы с обращением к Область(НомерСтроки, НомерКолонки).

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

Выделение в отчётах и печатных формах

Сформированный отчёт (например, оборотно-сальдовая ведомость) открывается как табличный документ, и к нему применимы те же приёмы: Ctrl+A или щелчок по углу. После выделения данные копируются в буфер обмена и вставляются в Excel с сохранением структуры ячеек.

Если отчёт построен на СКД и выведен в режиме без редактирования, выделение всё равно доступно — ограничен только ввод данных. Однако в некоторых формах результат выводится в поле HTML или диаграмму: там механизм выделения ячеек отсутствует, и данные нужно сначала выгрузить штатной кнопкой сохранения.

Типичные ошибки и ограничения

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

Вторая ошибка — попытка выделить «все ячейки» в динамическом списке (журнале документов). Списки не являются табличными документами: там выделяются строки через Ctrl+A, но это выделение записей списка, а не ячеек, и копирование работает иначе — через «Вывести список» в меню «Ещё».

Типичные ошибки
01
Ctrl+A без фокуса на табличном документе — выделяется содержимое активного поля ввода, а не ячейки.
02
Попытка выделить ячейки в динамическом списке — там выделяются строки записей, для печати используйте «Ещё — Вывести список».
03
Копирование огромного отчёта через буфер обмена — зависание клиента; сохраняйте в файл.
04
Программный обход ячеек без проверки ВысотаТаблицы и ШиринаТаблицы — обращение к несуществующим областям.

Проверка результата

Признак успешного выделения — вся видимая область документа подсвечена, а в статусной строке или при копировании переносится ожидаемый объём данных. После вставки в Excel сверьте число строк и колонок с исходным документом.

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

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

Внешний вид документа
Норма

Вся область ячеек подсвечена цветом выделения

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

Подсвечена одна ячейка или часть строк — фокус был не на документе

Вставка в Excel
Норма

Количество строк и колонок совпадает с исходным отчётом

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

Данные обрезаны или слиплись в одну колонку

Программная обработка
Норма

ПолучитьОбласть() вернула объект без ошибки, обход по циклам покрывает все строки

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

Ошибка обращения к области — проверьте ВысотаТаблицы и ШиринаТаблицы

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

Как выделить все ячейки, если заголовки строк и колонок скрыты?

Используйте Ctrl+A после клика по любой ячейке — этот способ не зависит от видимости заголовков. Либо выделите диапазон клавишами Ctrl+Shift+End от первой ячейки.

Можно ли выделить все ячейки в макете в конфигураторе?

Да. Откройте макет табличного документа, кликните по ячейке и нажмите Ctrl+A или щелкните по угловой области. Это удобно для смены шрифта или границ всего макета сразу.

Почему после Ctrl+A копируется не весь отчёт?

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

Как выделить все строки в журнале документов?

Это динамический список, а не табличный документ: Ctrl+A выделяет записи списка. Для выгрузки в табличный вид используйте «Ещё — Вывести список», а затем работайте с полученным табличным документом.

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

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

Работает ли Ctrl+A в тонком и веб-клиенте?

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

Итог

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

Все ячейки табличного документа выделяются через Ctrl+A (при фокусе на документе) или щелчком по угловой области заголовков. Программно используйте ПолучитьОбласть() без параметров. Динамические списки — не табличные документы, для их выгрузки применяйте «Вывести список». Большие отчёты сохраняйте в файл, а не копируйте через буфер обмена.