Закрепление колонок и шапки в отчётах и таблицах 1С
Содержание
Большой отчёт не помещается на экран. Вы прокручиваете вправо, и наименования строк уходят за край: цифры есть, а к чему они относятся, непонятно. Типичная реакция — уменьшить масштаб или открыть выгрузку в Excel. Оба пути лишние: в табличном документе 1С колонки и строки закрепляются штатно, как и в Excel.
Закрепить колонки в 1С можно в любом результате отчёта и в печатной форме, которая открыта в окне табличного документа. Закрепляют область слева и сверху от выбранной ячейки. Ниже — как это сделать, где механизм не работает и чем заменить его в списках и справочниках.
Что именно можно закрепить в 1С
Закрепление работает в табличном документе. Это тот самый «лист» с ячейками, в котором 1С показывает результат отчёта, оборотно-сальдовую ведомость, карточку счёта, печатную форму перед выводом на принтер.
А вот обычные списки (документы, справочники, журналы) устроены иначе. Это динамические списки с колонками и сортировкой, и закрепить в них колонку командой «как в Excel» нельзя. Для них есть свои приёмы, они описаны ниже.
Коротко, что где:
| Объект | Закрепить области | Чем заменить |
|---|---|---|
| Отчёт (ОСВ, карточка счёта, анализ) | да | — |
| Печатная форма в окне табличного документа | да | — |
| Список документов или справочник | нет | порядок и ширина колонок, скрытие лишних |
| Табличная часть документа | нет | порядок колонок, выбор видимых |
| Выгрузка в Excel | да, средствами Excel | — |
Закрепление шапки и первых колонок в отчёте
Правило одно: закрепляется всё, что находится выше и левее выделенной ячейки. Сама выделенная ячейка и всё правее и ниже остаётся прокручиваемым.
Пошагово:
- Сформируйте отчёт, чтобы данные появились на экране.
- Прокрутите отчёт в начало (вверх и влево), иначе закрепится не то, что вы хотите.
- Выделите ячейку на пересечении: первая строка данных и первая колонка с цифрами. Например, если шапка занимает строки 1–5, а наименование статьи — колонку A, выделите ячейку B6.
- Найдите команду закрепления областей. Она есть в контекстном меню по правой кнопке мыши и в меню «Ещё» командной панели отчёта. Если на вашей форме такой команды не видно, её можно найти по слову «Закрепить» в поиске команд формы.
- Выберите «Закрепить области». Появится тонкая линия, показывающая границу.
Теперь прокрутка вправо оставляет слева наименования, а прокрутка вниз оставляет сверху шапку таблицы.
Нужно закрепить только шапку? Выделите первую ячейку первой колонки под шапкой (A6). Только колонку — первую строку правее закрепляемой колонки (B1).
Что получится в разных случаях
- Выделена ячейка B6 — закреплены строки 1–5 и колонка A.
- Выделена ячейка A6 — закреплены только строки 1–5.
- Выделена ячейка B1 — закреплена только колонка A.
- Выделена ячейка A1 — закреплять нечего.
Как снять закрепление
Вызовите то же меню: на месте «Закрепить области» будет команда снятия. После неё отчёт снова прокручивается целиком. Если закрепили лишнего, снимите и повторите, предварительно выделив нужную ячейку: «подвинуть» границу нельзя.
Горячие клавиши и быстрые приёмы
Отдельного сочетания клавиш для закрепления в стандартной поставке нет, поэтому рассчитывайте на мышь и контекстное меню. Зато с навигацией по табличному документу клавиатура помогает:
Ctrl+Home— в начало таблицы, удобно перед закреплением;Ctrl+End— к последней заполненной ячейке;- стрелки и
Page Up/Page Down— перемещение выделения; Ctrl+колесо мыши— масштаб отображения.
Масштаб полезен вместе с закреплением. Если закреплено четыре колонки по 15 см каждая, на экране остаётся мало места под данные. Уменьшите масштаб до 80–90% или сузьте закреплённые колонки.
Закрепляйте только то, что нужно для ориентации: наименование и код. Закреплённые колонки шириной в половину экрана делают прокрутку бессмысленной.
Конфигуратор и СКД: что происходит с закреплением
В Конфигураторе закрепление относится к макету, а не к результату. Если вы разрабатываете печатную форму или макет отчёта, откройте макет (табличный документ), выделите нужную ячейку и найдите в меню «Таблица» пункт про закрепление. Область будет сохранена вместе с макетом.
У отчётов на системе компоновки данных (СКД) другая картина. Результат отчёта собирается заново при каждом формировании. Поэтому:
- после нажатия «Сформировать» закрепление может сброситься, и его придётся ставить снова;
- пользовательская настройка варианта отчёта хранит отборы, группировки и поля, но не обязана хранить положение закрепления;
- закрепление делают в уже сформированном результате, а не заранее.
Если вам нужно, чтобы шапка была закреплена всегда, это решается программно (см. раздел ниже) — разработчик задаёт фиксацию при выводе результата.
Сохранение настроек: что запоминается, а что нет
Частая жалоба: «Закрепил колонки, закрыл отчёт, открыл — всё сбросилось». Это ожидаемо. Закрепление — свойство конкретного открытого результата, а не настройки варианта.
Что действительно сохраняется между сеансами:
- 📌 выбранный вариант отчёта и его поля;
- 📌 отборы и параметры периода;
- 📌 порядок и видимость полей, которые вы настроили в «Настройках»;
- 📌 ширина колонок в списках — настройки формы пользователя.
Чтобы каждый раз не тратить время, делайте отчёт «под себя»: уберите ненужные колонки через настройки, тогда закреплять и прокручивать почти нечего.
Сохранить итоговый вид вместе с закреплением можно, если результат вывести в табличный документ и сохранить как файл. Формат Excel (.xlsx) запоминает закрепление, потому что его хранит сам Excel.
Программное закрепление в табличном документе
Разработчику не нужно имитировать закрепление: у табличного документа есть два свойства — ФиксацияСверху и ФиксацияСлева. В них записывают число закрепляемых строк и колонок.
// Закрепить первые 5 строк и 1 колонку
ТабличныйДокумент.ФиксацияСверху = 5;
ТабличныйДокумент.ФиксацияСлева = 1;
Чтобы снять закрепление, обнулите оба свойства:
ТабличныйДокумент.ФиксацияСверху = 0;
ТабличныйДокумент.ФиксацияСлева = 0;
Значения задаются после того, как таблица заполнена. Если вывести области, а затем присвоить свойства, закрепление применится к полученному результату. В отчёте на СКД это делают в обработчике после компоновки результата, на табличном документе формы.
Число строк для ФиксацияСверху лучше считать, а не вписывать «пятёркой»: если шапка отчёта меняется (добавили строку с периодом), закрепление «поедет». Берите высоту шапки из количества выведенных строк.
Большие объёмы данных: как не потеряться в таблице
Когда в отчёте тысячи строк, одного закрепления мало. Пригодится набор приёмов:
- Сворачивайте группировки. В иерархических отчётах (оборотно-сальдовая ведомость, анализ счёта) есть значки «+» и «–» возле уровней. Свёрнутая таблица читается быстрее и закреплять в ней проще.
- Фильтруйте отчёт. Отбор по контрагенту, договору, периоду уменьшает таблицу до размера, с которым можно работать.
- Уберите ненужные колонки. В настройках отчёта отключите поля, которые вы не используете. Меньше колонок — меньше горизонтальной прокрутки.
- Выгружайте в Excel. Если нужно сравнивать колонки, которые далеко друг от друга, сводите их в Excel.
Закрепление после выгрузки в Excel
Когда отчёт сохранён в .xlsx и открыт в Excel, закрепление работает так, как привыкли пользователи таблиц: вкладка «Вид» → «Закрепить области». Выделяется ячейка справа и ниже закрепляемой зоны, затем выбирается нужный вариант: закрепить области, верхнюю строку или первый столбец.
Плюс Excel в том, что закрепление остаётся в файле. Минус — данные больше не обновляются из 1С.
Примеры: что закрепить в типовых отчётах
Общего рецепта «закрепи третью колонку» нет, всё зависит от того, где в отчёте заканчивается шапка. Три ходовых случая.
Оборотно-сальдовая ведомость
Шапка занимает несколько строк: название отчёта, организация, период, затем заголовки колонок («Сальдо на начало», «Обороты», «Сальдо на конец») и подзаголовки «Дебет» и «Кредит». Закрепляйте всё до первой строки со счётом. Слева — колонку со счётом или наименованием.
Практический ориентир: в такой ведомости шапка обычно умещается в 6–8 строк. Если закрепить 8 строк по 0,6 см высотой, это около 5 см экрана. На ноутбуке с небольшим экраном остаётся мало места под данные, поэтому не закрепляйте строки с названием организации и периодом, если можно прокрутить ниже.
Карточка счёта и анализ счёта
Здесь главное — подпись колонок «Дебет», «Кредит», «Сальдо» и контрагент или документ слева. Закрепляйте строку заголовков и первую-вторую колонки. Если колонок с аналитикой много, лишние отключите в настройках: закрепление не заменит порядок в отчёте.
Широкий отчёт по сотрудникам или номенклатуре
Отчёты по складу или зарплате часто растягиваются на 15–20 колонок (по месяцам, складам, видам начислений). Тут закрепление нужно в первую очередь по горизонтали: ФИО или наименование должны оставаться на экране при прокрутке до декабря.
Когда закреплять не стоит
- Отчёт короче одного экрана — прокручивать нечего, закрепление только отнимет место.
- Нужно сравнить колонки A и Z, а между ними двадцать других. Закрепление A не поможет читать Z рядом с ним, скройте всё лишнее в настройках или выгрузите нужные колонки отдельно.
- Вы собираетесь печатать. Закрепление никак не влияет на печать, а повторение шапки на страницах задаётся в параметрах страницы.
- Отчёт пересобирается при каждом изменении отбора. Закрепление придётся ставить заново, и проще один раз настроить так, чтобы лишнего не было.
Быстрая проверка перед закреплением
Как обойтись без закрепления в списках
В списках документов и справочников закрепить колонку нельзя, но читаемость можно поднять другими способами:
- Переставьте колонки. Самое важное (номер, дата, контрагент) пусть стоит первым. Порядок меняется перетаскиванием заголовка колонки мышью.
- Подберите ширину. Узкие колонки с датами и номерами экономят место для наименований.
- Скройте лишнее. Через меню «Ещё» списка откройте настройку формы и отключите колонки, которыми не пользуетесь. Точное название пункта зависит от формы, ищите команду с настройкой списка.
- Расширьте окно. Развернуть форму на весь экран и свернуть панель разделов иногда достаточно, чтобы горизонтальная прокрутка исчезла.
Эти настройки хранятся для пользователя, поэтому при следующем входе список откроется в том же виде.
Если закрепление не работает
Проверьте по порядку: