Обучение и Решения · 9 мин
Как закрепить строку в 1С: фиксация шапки таблиц и отчётов
Как закрепить строку в 1С: фиксация шапки в табличном документе, списках и отчётах, программная фиксация через ФиксацияСверху, типичные ошибки и FAQ.
Работа с длинными таблицами в 1С быстро превращается в неудобство: прокрутил вниз — и заголовки колонок исчезли. Чтобы шапка оставалась на месте, в платформе предусмотрена фиксация строк и колонок. Она работает в табличных документах, печатных формах, отчётах на СКД и в списках, но включается по-разному в зависимости от контекста.
Пользователю чаще всего нужно закрепить шапку в отчёте или печатной форме, а разработчику — зафиксировать область программно при формировании табличного документа. Ниже разобраны оба сценария: через интерфейс (без изменения конфигурации) и через встроенный язык со свойствами ФиксацияСверху и ФиксацияСлева.
Где в 1С вообще работает фиксация строк
Фиксация применяется не ко всем таблицам одинаково, и это первая причина путаницы. В платформе есть три разных ситуации: табличный документ (печатная форма, макет, отчёт, выведенный в табличный документ), табличное поле формы (список документов, табличная часть) и отчёт на системе компоновки данных.
В табличном документе фиксация работает в полном объёме: можно закрепить и строки сверху, и колонки слева одновременно. В табличных полях форм (списках) фиксируются только колонки слева — закрепить строку сверху там нельзя, потому что шапка списка и так не прокручивается. В отчётах СКД фиксация задаётся в настройках отчёта и применяется к результату.
Как закрепить строку через интерфейс без программирования
Если перед вами открыт табличный документ — печатная форма, макет или отчёт — шапку можно закрепить прямо в режиме просмотра. Поставьте курсор на строку, ниже которой всё должно прокручиваться, затем откройте главное меню: Таблица → Вид → Фиксация таблицы (в ряде конфигураций пункт называется «Зафиксировать таблицу»). Всё, что выше и левее активной ячейки, будет закреплено.
Чтобы закрепить только шапку из одной строки, выделите ячейку во второй строке первой колонки и примените команду. Чтобы закрепить одновременно шапку и первую колонку (например, наименования товаров), выделите ячейку на пересечении: строка ниже шапки, колонка правее закрепляемой области.
Снять фиксацию можно той же командой повторно или через пункт «Отменить фиксацию таблицы» в том же меню. Учтите: в режиме «Только просмотр» команда может быть недоступна — тогда сначала отключите режим просмотра через меню «Таблица → Вид → Только просмотр».
- 1Откройте печатную форму или отчёт, выведенный в табличный документ
- 2Поставьте курсор в ячейку ниже и правее области, которую нужно закрепить
- 3Откройте меню Таблица → Вид → Фиксация таблицы
- 4Прокрутите документ вниз и вправо — закреплённая область должна остаться на месте
- 5При необходимости снимите фиксацию повторной командой
Как закрепить шапку в отчёте на СКД
Отчёты на системе компоновки данных (большинство типовых отчётов в «Бухгалтерии», «Управлении торговлей», ERP) формируются заново при каждом нажатии «Сформировать», поэтому ручная фиксация в результате сбросится. Правильный путь — задать фиксацию в настройках самого отчёта.
Откройте настройки отчёта (кнопка «Настройки» или «Ещё → Изменить вариант»), перейдите на вкладку «Дополнительные настройки» и найдите параметры «Фиксировать колонки» и «Фиксировать строки» (в некоторых конфигурациях — «ФиксацияСлева» и «ФиксацияСверху»). Укажите количество закрепляемых строк шапки и колонок, сохраните вариант отчёта — теперь фиксация будет применяться при каждом формировании.
Если таких параметров в настройках нет, значит разработчик отчёта не вывел их для пользователя. В этом случае фиксацию можно добавить только доработкой отчёта в конфигураторе — через параметры вывода СКД или программно после формирования результата.
Программная фиксация: ФиксацияСверху и ФиксацияСлева
Разработчику фиксация задаётся двум свойствами объекта ТабличныйДокумент. Свойство ФиксацияСверху принимает номер строки, до которой включительно область закреплена; ФиксацияСлева — номер колонки. Устанавливать их нужно после того, как документ сформирован, но до отображения пользователю.
ТабДок = Новый ТабличныйДокумент;
// ... вывод макета и данных ...
ТабДок.ФиксацияСверху = 2; // закрепить первые две строки (шапку)
ТабДок.ФиксацияСлева = 1; // закрепить первую колонку
Если шапка собирается из нескольких областей макета, проще запомнить номер последней строки шапки в переменной при выводе, чем считать вручную. Определить текущую высоту документа помогает свойство ВысотаТаблицы: зафиксируйте значение сразу после вывода шапки и используйте его в ФиксацияСверху.
Для отчёта на СКД программная фиксация делается через параметры вывода компоновщика настроек: параметры «ФиксацияСверху» и «ФиксацияСлева» доступны в коллекции параметров вывода, и их значения устанавливаются как «Использование — Истина» плюс нужное число.
ТабДок.ФиксацияСверху = 3; // шапка из трёх строк не прокручиваетсяКак закрепить колонки в списках и табличных частях
В динамических списках и табличных частях документов строка сверху фиксироваться не может — шапка там и так статична. Зато можно закрепить левые колонки, чтобы при горизонтальной прокрутке, например, наименование номенклатуры всегда оставалось видимым.
В пользовательском режиме это делается через меню «Ещё» таблицы: пункт «Зафиксировать колонки» или перетаскивание разделителя фиксации, если конфигурация его показывает. Программно у элемента формы «Таблица» есть свойство ФиксацияСлева, а в управляемых формах поведение дополнительно зависит от свойств группировки колонок.
Если команда фиксации в списке неактивна, проверьте, не включён ли режим иерархического просмотра или группировки: в некоторых режимах отображения фиксация колонок недоступна. Также фиксация может сбрасываться при изменении настроек списка через «Изменить форму».
Где какой способ применять
Меню Таблица → Вид → Фиксация таблицы или свойства ФиксацияСверху/ФиксацияСлева. Полный контроль над строками и колонками.
Настройки варианта отчёта, дополнительные настройки. Ручная фиксация сбрасывается при пересчёте.
Только колонки слева, через меню «Ещё» таблицы. Строки сверху не фиксируются.
Проверка результата и типичные ошибки
Проверить фиксацию просто: прокрутите документ вертикально и горизонтально. Закреплённые строки должны оставаться вверху, колонки — слева, а на границе фиксированной области обычно отображается визуальный разделитель. Если шапка «уехала» вместе с данными — фиксация не применилась или была снята.
Самая частая ошибка разработчика — установить ФиксацияСверху до вывода данных в документ с автоотступами или последующей вставкой областей: номера строк сдвигаются, и закрепляется не та область. Устанавливайте свойство в самом конце формирования. Вторая типичная ошибка — попытка зафиксировать строки в табличном поле формы, где эта возможность не поддерживается.
Как проверить результат
Шапка остаётся наверху, данные прокручиваются под ней
Шапка уходит вверх вместе с данными — фиксация не применилась
Закреплённые колонки видны слева
Первые колонки скрываются — проверьте ФиксацияСлева
Фиксация сохраняется — задана в настройках варианта
Фиксация пропала — была установлена только вручную
FAQ: частые вопросы о фиксации строк в 1С
Можно ли закрепить строку в 1С, как в Excel, одной кнопкой?
Да, в табличном документе логика похожа: курсор ставится ниже и правее закрепляемой области, затем применяется команда «Фиксация таблицы» в меню «Таблица → Вид». Отличие от Excel в том, что в отчётах СКД ручная фиксация не сохраняется между формированиями — её нужно задавать в настройках варианта отчёта.
Почему пункт «Фиксация таблицы» неактивен?
Чаще всего включён режим «Только просмотр» для табличного документа — снимите его через «Таблица → Вид». Также команда недоступна, если активна не таблица, а другой элемент окна, либо документ пуст.
Как закрепить несколько строк шапки, а не одну?
Поставьте курсор в строку, следующую сразу за последней строкой шапки, и примените фиксацию — закрепятся все строки выше курсора. Программно укажите в свойстве ФиксацияСверху номер последней строки шапки, например 3 для трёх строк.
Как зафиксировать шапку в отчёте, чтобы она не сбрасывалась?
Откройте настройки варианта отчёта, найдите на вкладке дополнительных настроек параметры фиксации строк и колонок, задайте нужные значения и сохраните вариант. Если параметров нет — потребуется доработка отчёта в конфигураторе.
Можно ли закрепить строку в середине таблицы, а не сверху?
Нет. Фиксация в 1С работает только от краёв: строки закрепляются строго сверху начиная с первой, колонки — слева начиная с первой. Закрепить произвольную строку в середине документа нельзя.
Сохраняется ли фиксация при выгрузке в Excel?
Нет, свойства ФиксацияСверху и ФиксацияСлева относятся только к отображению в 1С. При сохранении табличного документа в Excel закрепление областей нужно настраивать уже в самом Excel через «Вид → Закрепить области».
Что важно запомнить
В табличном документе строки закрепляются через «Таблица → Вид → Фиксация таблицы» или свойства ФиксацияСверху и ФиксацияСлева. В отчётах СКД фиксацию нужно задавать в настройках варианта, иначе она сбросится. В списках доступна фиксация только колонок слева.