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

Отчеты и Аналитика · 10 мин

Как закрепить колонку в отчете 1С

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

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

В 1С фиксация колонок реализована на уровне табличного документа — того самого формата, в котором выводится большинство отчетов. Закрепить область можно двумя способами: вручную в уже сформированном отчете или настройкой в конфигурации, чтобы фиксация применялась автоматически при каждом формировании. Первый способ доступен любому пользователю без прав разработчика, второй требует доступа к конфигуратору или изменения настроек СКД.

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

Где в 1С находится функция фиксации колонок

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

Закрепить можно не только колонки слева, но и строки сверху — это удобно для шапки отчета с наименованиями колонок. Платформа хранит два отдельных параметра: фиксация слева (колонки) и фиксация сверху (строки). Их можно использовать одновременно.

Как закрепить колонку в уже сформированном отчете

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

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

После этого прокрутите отчет вправо: закрепленная колонка должна остаться на месте, а между фиксированной и прокручиваемой областью появится визуальный разделитель. Если колонка не закрепилась, проверьте, что курсор стоял в области табличного документа, а команда применялась именно к активному окну отчета.

Порядок действий в пользовательском режиме
  1. 1
    Сформируйте отчет кнопкой «Сформировать»
  2. 2
    Откройте меню «Таблица» или «Ещё» в командной панели
  3. 3
    Выберите «Вид» → «Зафиксировать таблицу»
  4. 4
    Укажите число колонок слева и строк сверху
  5. 5
    Подтвердите и проверьте прокруткой вправо

Как зафиксировать колонку через настройки СКД

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

В свойствах макета и параметров расшифровки можно управлять оформлением, однако основная фиксация колонок в СКД чаще задается программно после формирования отчета. В модуле объекта отчета или в общем модуле, где выводится результат, обрабатывается событие «ПриКомпоновкеРезультата»: после вывода табличного документа устанавливается его свойство.

bsl
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
	СтандартнаяОбработка = Ложь;
	// ... стандартный вывод результата компоновки ...
	ДокументРезультат.ФиксацияСлева = 2;
	ДокументРезультат.ФиксацияСверху = 4;
КонецПроцедуры

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

Фиксация в динамических отчетах с переменным числом колонок

Сложность возникает, когда структура отчета меняется в зависимости от настроек: пользователь добавляет группировки, и количество колонок слева растет. Жесткое значение «ФиксацияСлева = 2» в таком случае работает нестабильно.

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

Если отчет формируется с горизонтальным расположением группировок (таблица), фиксировать имеет смысл только колонки измерений. Закрепление вместе с колонками-ресурсами сужает видимую область цифр и делает отчет менее читаемым на узких мониторах.
ПЗ
Практическое замечание

Типичные ошибки и ограничения

Самая частая жалоба — «закрепил колонку, а после формирования всё слетело». Это не ошибка, а штатное поведение: ручная фиксация относится к текущему экземпляру табличного документа и не сохраняется. Чтобы настройка держалась, ее нужно внедрить в код формирования отчета.

Вторая распространенная ситуация — команда «Зафиксировать таблицу» недоступна или не работает. Причины: отчет выведен не в табличный документ (например, в диаграмму или HTML), либо пользователь работает в веб-клиенте с ограничениями конкретной версии платформы. Проверьте тип вывода отчета и при необходимости переключите представление на таблицу.

Типичные ошибки
01
Ожидание, что ручная фиксация сохранится после пересоздания отчета — табличный документ формируется заново, и настройка теряется
02
Установка ФиксацияСлева до вывода результата в ДокументРезультат — свойство нужно задавать после формирования
03
Слишком большое число закрепленных колонок — на узком экране почти не остается места для данных
04
Фиксация в отчете с изменяемыми группировками без пересчета позиции — закрепляется не та область

Как проверить, что фиксация работает правильно

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

Проверьте также поведение при изменении настроек отчета: добавьте и уберите группировку, сформируйте отчет заново и убедитесь, что закреплена по-прежнему нужная колонка. Отдельно стоит проверить печать: фиксация влияет только на экранное отображение и не должна искажать печатную форму, но лишний раз убедиться в этом через предварительный просмотр не помешает.

Контрольные точки

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

Прокрутка вправо до конца отчета
Норма

Закрепленные колонки остаются на месте, виден разделитель

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

Колонки уходят с экрана или фиксируется лишняя область

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

Фиксация применяется автоматически (при программной настройке)

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

После формирования закрепление пропадает

Предварительный просмотр печати
Норма

Печатная форма выглядит как обычно

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

На печати появляются разрывы или дубли колонок

Когда лучше не фиксировать, а изменить отчет

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

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

Сравнение вариантов

Ручная фиксация в отчете

Подходит для разового просмотра, не требует прав разработчика. Ограничение: сбрасывается при каждом формировании

Программная фиксация в модуле отчета

Работает постоянно и автоматически. Ограничение: требует изменения конфигурации или расширения

Изменение структуры отчета

Устраняет саму причину широкой таблицы. Ограничение: меняет привычный вид отчета для пользователей

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

Почему закрепленная колонка пропадает после нажатия «Сформировать»?

Ручная фиксация применяется к текущему экземпляру табличного документа. При формировании отчета документ создается заново, и все экранные настройки сбрасываются. Чтобы фиксация сохранялась, задайте свойство ФиксацияСлева программно в процедуре формирования отчета.

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

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

Команда «Зафиксировать таблицу» неактивна. В чем причина?

Чаще всего отчет выведен не в табличный документ — например, в виде диаграммы, графической схемы или HTML. Переключите представление отчета на таблицу. Также проверьте, что фокус находится в области отчета, а не в панели настроек.

Влияет ли фиксация колонок на печать и сохранение в Excel?

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

Как закрепить одновременно шапку и первую колонку?

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

Можно ли настроить фиксацию без доступа к конфигуратору?

Да, но только временно — через меню «Таблица» / «Ещё» в сформированном отчете. Постоянная автоматическая фиксация требует доработки отчета или подключения расширения конфигурации, что выполняет разработчик.

Итог

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

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