Выделение всех колонок в табличном документе 1С

· 8 мин

Содержание

Выделить сразу все столбцы в табличном документе 1С быстрее всего сочетанием Ctrl+A — весь лист попадёт в выделение одним нажатием. Если нужны именно колонки, а не отдельные ячейки, кликните по серой угловой кнопке в левом верхнем углу таблицы (на пересечении нумерации строк и колонок) — она выделяет всю область целиком.

Выбор между клавишами, мышью и выделением заголовков зависит от задачи: скопировать отчёт в Excel, задать одинаковую ширину всем колонкам или обработать таблицу из кода. Ниже — все рабочие приёмы для платформы 8.3 с интерфейсом «Такси»: и для сформированных отчётов, и для макетов в Конфигураторе.

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

Горячие клавиши для выделения столбцов

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

  • ⌨️ Ctrl+A — выделить весь лист (все строки и все колонки сразу).
  • ⌨️ Shift+→ / Shift+← — расширить выделение на соседнюю колонку.
  • ⌨️ Ctrl+Shift+→ — выделить от текущей ячейки до последней заполненной колонки в строке.
  • ⌨️ Shift+Пробел — выделить всю строку, где стоит курсор.
  • ⌨️ Ctrl+Пробел — выделить весь столбец, где стоит курсор.

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

Сочетание Ctrl+A, нажатое второй раз подряд, в некоторых версиях расширяет выделение с заполненной области до всего листа. Если с первого раза выделилась только таблица с данными, нажмите ещё раз.

Клавиши удобно комбинировать. Частый сценарий: поставить курсор в заголовок первой колонки, нажать Ctrl+Пробел (выделить столбец), затем Ctrl+Shift+→ — выделение расширится на все колонки справа до конца данных. Так за два нажатия выделяются все столбцы начиная с текущего, не трогая левую служебную часть отчёта.

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

Выделение колонок мышью: заголовки и угловая кнопка

Мышь удобнее, когда колонки идут не подряд или нужно захватить произвольный диапазон.

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

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

Столбцы вразбивку. Выделите первую колонку, затем с зажатым Ctrl кликайте по заголовкам остальных. Так в выделение попадают несмежные столбцы — например, 1-й, 3-й и 6-й.

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

Угловая кнопка и Ctrl+A дают одинаковый результат, но угловая кнопка выделяет именно весь физический лист, включая пустые области справа и снизу. Для последующей выгрузки в Excel это как раз удобно — не обрежутся крайние пустые колонки, которые нужны для вёрстки.

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

Где это работает: отчёты, печатные формы и макеты

Механика выделения одинакова везде, где в 1С встречается табличный документ — это единый объект платформы. Отличается только то, откуда он открывается.

Где встречаетсяЧто этоМожно ли выделять колонки
Сформированный отчётРезультат любого отчёта в разделеДа, Ctrl+A, заголовки, угловая кнопка
Печатная форма документаСчёт, накладная, акт при печатиДа, если форма не защищена от правки
Результат консоли запросовВывод Выполнить в табличный документДа
Макет в КонфигуратореШаблон печатной формы на этапе разработкиДа, плюс правка структуры

В режиме «Предприятие» вы работаете с уже готовым табличным документом: выделяете, копируете, выгружаете. Менять структуру колонок (добавлять, удалять) здесь, как правило, нельзя — форма открыта только для просмотра и копирования.

В Конфигураторе тот же табличный документ открыт как макет на редактирование. Здесь выделение колонок нужно, чтобы задать им имя, объединить ячейки , выставить формат или границы. Приёмы те же — заголовки, Ctrl+Пробел, угловая кнопка, — но дополнительно доступно меню Таблица в верхней строке Конфигуратора с командами объединения и фиксации.

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

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

Копирование и выгрузка выделенных столбцов в Excel

После того как нужные колонки выделены, с ними делают три вещи.

  1. Копируют в буфер. Ctrl+C — и выделенные столбцы вставляются в Excel, Google Таблицы или Word с сохранением структуры колонок через Ctrl+V.
  2. Сохраняют весь документ в файл. В командной панели сформированного отчёта нажмите Сохранить (значок дискеты) или Ещё → Сохранить как. В диалоге выберите тип файла — Лист Excel 2007 (.xlsx), Лист Excel (.xls) или родной формат Табличный документ (.mxl).
  3. Печатают только выделенное. В диалоге печати есть переключатель области — можно отправить на принтер лишь выделенные столбцы, а не весь лист.

Какой формат выбрать при сохранении:

  • 📄 .xlsx — для передачи данных коллеге или дальнейших расчётов в Excel. Теряются некоторые элементы оформления 1С, но таблица редактируется.
  • 📄 .mxl — родной формат табличного документа 1С. Сохраняет всё: объединения, фиксацию, именованные области. Открывается только в 1С.
  • 📄 .pdf — когда важно, чтобы вид не «поехал» и файл нельзя было случайно переправить.

Если нужно выгрузить в Excel только часть колонок, выделите именно их и копируйте через Ctrl+C. Команда Сохранить как сохраняет лист целиком, без учёта выделения.

}}

Формат ячеек (числа, даты, выравнивание) при копировании переносится не всегда корректно. Если суммы в Excel «съезжают» в текст, причина обычно в разделителе разрядов — очистите формат в исходной колонке 1С перед копированием.

Доступ к колонкам табличного документа из кода

Для разработчика «выделить все столбцы» чаще означает программно обойти колонки и что-то с ними сделать — задать ширину, скрыть, прочитать значения. Выделения на экране здесь нет, работают с областями.

Число колонок и строк отдаёт свойства ШиринаТаблицы и ВысотаТаблицы. Одну колонку адресует метод Область, где пустые аргументы строк означают «весь столбец»:

// Обойти все колонки табличного документа и задать им одинаковую ширину
Для НомерКолонки = 1 По ТабДок.ШиринаТаблицы Цикл
    Колонка = ТабДок.Область(, НомерКолонки, , НомерКолонки);
    Колонка.ШиринаКолонки = 15;
КонецЦикла;

Параметры метода Область(ВерхняяСтрока, ЛеваяКолонка, НижняяСтрока, ПраваяКолонка). Чтобы получить сразу диапазон столбцов с 2-го по 5-й, оставьте границы строк пустыми:

Диапазон = ТабДок.Область(, 2, , 5);
Диапазон.Видимость = Ложь; // скрыть столбцы со 2-го по 5-й

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

Если имена колонок заданы в макете, адресовать область можно и по имени: ТабДок.Область("Сумма"). Это надёжнее номеров — при вставке колонки в макет номера сдвигаются, а имя остаётся.

Для табличной части формы (не путать с табличным документом) перебор колонок другой: коллекция Колонки у реквизита типа «Таблица значений» или динамического списка.

Почему столбцы не выделяются и что делать

Выделение в 1С работает почти всегда, но пара ситуаций сбивает с толку.

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

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

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

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

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

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

Чем выделить столбец отличается от выделить ячейки в нём?
Выделение столбца через заголовок или Ctrl+Пробел захватывает колонку целиком, включая пустые ячейки ниже данных. Это важно при копировании в Excel — переносится вся колонка, а не только заполненный диапазон.
Как выделить все столбцы, кроме одного?
Напрямую — никак. Выделите весь лист угловой кнопкой или Ctrl+A, скопируйте в Excel и удалите лишнюю колонку там. Либо выделите нужные столбцы вразбивку с зажатым Ctrl, пропустив ненужный.
Работают ли эти сочетания в тонком и в веб-клиенте?
Ctrl+A, Ctrl+Пробел и выделение заголовков мышью работают в тонком клиенте одинаково. В веб-клиенте часть сочетаний перехватывает браузер — там надёжнее мышь и угловая кнопка.
Можно ли выделить столбцы в табличной части документа?
В табличной части (строки товаров, начислений) выделяют строки, а не колонки: Ctrl+A отмечает все строки. Набор видимых колонок там меняют через Ещё → Изменить форму, а не выделением.
Как задать всем колонкам одинаковую ширину сразу?
Выделите все столбцы угловой кнопкой, затем перетащите границу любого заголовка — ширина применится ко всем выделенным. В коде это цикл по ШиринаТаблицы со свойством ШиринаКолонки.