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

Обучение и Решения · 9 мин

Как закрепить строку в 1С: фиксация шапки таблиц и отчётов

Как закрепить строку в 1С: фиксация шапки в табличном документе, списках и отчётах, программная фиксация через ФиксацияСверху, типичные ошибки и FAQ.

Работа с длинными таблицами в 1С быстро превращается в неудобство: прокрутил вниз — и заголовки колонок исчезли. Чтобы шапка оставалась на месте, в платформе предусмотрена фиксация строк и колонок. Она работает в табличных документах, печатных формах, отчётах на СКД и в списках, но включается по-разному в зависимости от контекста.

Пользователю чаще всего нужно закрепить шапку в отчёте или печатной форме, а разработчику — зафиксировать область программно при формировании табличного документа. Ниже разобраны оба сценария: через интерфейс (без изменения конфигурации) и через встроенный язык со свойствами ФиксацияСверху и ФиксацияСлева.

Где в 1С вообще работает фиксация строк

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

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

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

Если перед вами открыт табличный документ — печатная форма, макет или отчёт — шапку можно закрепить прямо в режиме просмотра. Поставьте курсор на строку, ниже которой всё должно прокручиваться, затем откройте главное меню: Таблица → Вид → Фиксация таблицы (в ряде конфигураций пункт называется «Зафиксировать таблицу»). Всё, что выше и левее активной ячейки, будет закреплено.

Чтобы закрепить только шапку из одной строки, выделите ячейку во второй строке первой колонки и примените команду. Чтобы закрепить одновременно шапку и первую колонку (например, наименования товаров), выделите ячейку на пересечении: строка ниже шапки, колонка правее закрепляемой области.

Снять фиксацию можно той же командой повторно или через пункт «Отменить фиксацию таблицы» в том же меню. Учтите: в режиме «Только просмотр» команда может быть недоступна — тогда сначала отключите режим просмотра через меню «Таблица → Вид → Только просмотр».

Как закрепить шапку в табличном документе
  1. 1
    Откройте печатную форму или отчёт, выведенный в табличный документ
  2. 2
    Поставьте курсор в ячейку ниже и правее области, которую нужно закрепить
  3. 3
    Откройте меню Таблица → Вид → Фиксация таблицы
  4. 4
    Прокрутите документ вниз и вправо — закреплённая область должна остаться на месте
  5. 5
    При необходимости снимите фиксацию повторной командой

Как закрепить шапку в отчёте на СКД

Отчёты на системе компоновки данных (большинство типовых отчётов в «Бухгалтерии», «Управлении торговлей», ERP) формируются заново при каждом нажатии «Сформировать», поэтому ручная фиксация в результате сбросится. Правильный путь — задать фиксацию в настройках самого отчёта.

Откройте настройки отчёта (кнопка «Настройки» или «Ещё → Изменить вариант»), перейдите на вкладку «Дополнительные настройки» и найдите параметры «Фиксировать колонки» и «Фиксировать строки» (в некоторых конфигурациях — «ФиксацияСлева» и «ФиксацияСверху»). Укажите количество закрепляемых строк шапки и колонок, сохраните вариант отчёта — теперь фиксация будет применяться при каждом формировании.

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

Программная фиксация: ФиксацияСверху и ФиксацияСлева

Разработчику фиксация задаётся двум свойствами объекта ТабличныйДокумент. Свойство ФиксацияСверху принимает номер строки, до которой включительно область закреплена; ФиксацияСлева — номер колонки. Устанавливать их нужно после того, как документ сформирован, но до отображения пользователю.

ТабДок = Новый ТабличныйДокумент;

// ... вывод макета и данных ...

ТабДок.ФиксацияСверху = 2; // закрепить первые две строки (шапку)

ТабДок.ФиксацияСлева = 1; // закрепить первую колонку

Если шапка собирается из нескольких областей макета, проще запомнить номер последней строки шапки в переменной при выводе, чем считать вручную. Определить текущую высоту документа помогает свойство ВысотаТаблицы: зафиксируйте значение сразу после вывода шапки и используйте его в ФиксацияСверху.

Для отчёта на СКД программная фиксация делается через параметры вывода компоновщика настроек: параметры «ФиксацияСверху» и «ФиксацияСлева» доступны в коллекции параметров вывода, и их значения устанавливаются как «Использование — Истина» плюс нужное число.

bsl
ТабДок.ФиксацияСверху = 3; // шапка из трёх строк не прокручивается

Как закрепить колонки в списках и табличных частях

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

В пользовательском режиме это делается через меню «Ещё» таблицы: пункт «Зафиксировать колонки» или перетаскивание разделителя фиксации, если конфигурация его показывает. Программно у элемента формы «Таблица» есть свойство ФиксацияСлева, а в управляемых формах поведение дополнительно зависит от свойств группировки колонок.

Если команда фиксации в списке неактивна, проверьте, не включён ли режим иерархического просмотра или группировки: в некоторых режимах отображения фиксация колонок недоступна. Также фиксация может сбрасываться при изменении настроек списка через «Изменить форму».

Где какой способ применять

Табличный документ (печатная форма)

Меню Таблица → Вид → Фиксация таблицы или свойства ФиксацияСверху/ФиксацияСлева. Полный контроль над строками и колонками.

Отчёт на СКД

Настройки варианта отчёта, дополнительные настройки. Ручная фиксация сбрасывается при пересчёте.

Список или табличная часть

Только колонки слева, через меню «Ещё» таблицы. Строки сверху не фиксируются.

Проверка результата и типичные ошибки

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

Самая частая ошибка разработчика — установить ФиксацияСверху до вывода данных в документ с автоотступами или последующей вставкой областей: номера строк сдвигаются, и закрепляется не та область. Устанавливайте свойство в самом конце формирования. Вторая типичная ошибка — попытка зафиксировать строки в табличном поле формы, где эта возможность не поддерживается.

Типичные ошибки
01
Установка ФиксацияСверху до вывода всех областей — после вставки строк фиксируется не та область
02
Ручная фиксация в результате отчёта СКД — сбрасывается при следующем формировании
03
Попытка закрепить строки в списке документов — там доступны только колонки слева
04
Фиксация при включённом режиме «Только просмотр» — команда недоступна
05
Указание номера строки больше высоты таблицы — свойство игнорируется или ведёт себя неочевидно
Контрольные точки

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

Прокрутка вниз
Норма

Шапка остаётся наверху, данные прокручиваются под ней

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

Шапка уходит вверх вместе с данными — фиксация не применилась

Прокрутка вправо
Норма

Закреплённые колонки видны слева

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

Первые колонки скрываются — проверьте ФиксацияСлева

Повторное формирование отчёта
Норма

Фиксация сохраняется — задана в настройках варианта

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

Фиксация пропала — была установлена только вручную

FAQ: частые вопросы о фиксации строк в 1С

Можно ли закрепить строку в 1С, как в Excel, одной кнопкой?

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

Почему пункт «Фиксация таблицы» неактивен?

Чаще всего включён режим «Только просмотр» для табличного документа — снимите его через «Таблица → Вид». Также команда недоступна, если активна не таблица, а другой элемент окна, либо документ пуст.

Как закрепить несколько строк шапки, а не одну?

Поставьте курсор в строку, следующую сразу за последней строкой шапки, и примените фиксацию — закрепятся все строки выше курсора. Программно укажите в свойстве ФиксацияСверху номер последней строки шапки, например 3 для трёх строк.

Как зафиксировать шапку в отчёте, чтобы она не сбрасывалась?

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

Можно ли закрепить строку в середине таблицы, а не сверху?

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

Сохраняется ли фиксация при выгрузке в Excel?

Нет, свойства ФиксацияСверху и ФиксацияСлева относятся только к отображению в 1С. При сохранении табличного документа в Excel закрепление областей нужно настраивать уже в самом Excel через «Вид → Закрепить области».

Итог

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

В табличном документе строки закрепляются через «Таблица → Вид → Фиксация таблицы» или свойства ФиксацияСверху и ФиксацияСлева. В отчётах СКД фиксацию нужно задавать в настройках варианта, иначе она сбросится. В списках доступна фиксация только колонок слева.