Выделение всех колонок в табличном документе 1С
Содержание
Выделить сразу все столбцы в табличном документе 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
После того как нужные колонки выделены, с ними делают три вещи.
- Копируют в буфер.
Ctrl+C— и выделенные столбцы вставляются в Excel, Google Таблицы или Word с сохранением структуры колонок черезCtrl+V. - Сохраняют весь документ в файл. В командной панели сформированного отчёта нажмите
Сохранить(значок дискеты) илиЕщё → Сохранить как. В диалоге выберите тип файла —Лист Excel 2007 (.xlsx),Лист Excel (.xls)или родной форматТабличный документ (.mxl). - Печатают только выделенное. В диалоге печати есть переключатель области — можно отправить на принтер лишь выделенные столбцы, а не весь лист.
Какой формат выбрать при сохранении:
- 📄
.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 отмечает все строки. Набор видимых колонок там меняют через Ещё → Изменить форму, а не выделением.Как задать всем колонкам одинаковую ширину сразу?
ШиринаТаблицы со свойством ШиринаКолонки.