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

Разработка и Конфигурация · 10 мин

Как зафиксировать колонку в 1С 8

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

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

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

Где именно нужна фиксация: определяем сценарий

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

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

Колонки перетаскиваются мышьюФорма списка или табличная часть

Используйте «Изменить форму» или свойство ФиксацияСлева

Таблица выглядит как печатный бланкТабличный документ / отчёт

Ищите настройки варианта отчёта или свойства табличного документа

Нет доступа к конфигураторуРежим предприятия

Доступны только пользовательские настройки формы и отчёта

Фиксация колонок в форме списка через настройки пользователя

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

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

Свойство «ФиксацияСлева» в конфигураторе

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

У свойства есть три значения. «Авто» — платформа сама решает, фиксировать ли колонки (обычно фиксирует ключевые, например наименование). «Нет» — фиксация отключена. «Да» — фиксируются все колонки до текущей включительно: то есть фиксацию нужно включать у последней из колонок, которые должны остаться на месте. Это частый источник путаницы: свойство ставится не у таблицы целиком, а у конкретной колонки (поля) внутри таблицы.

Порядок настройки в конфигураторе
  1. 1
    Откройте конфигуратор и разверните нужный объект (справочник, документ, журнал)
  2. 2
    Откройте форму списка или форму документа
  3. 3
    В дереве элементов формы найдите таблицу и раскройте её колонки
  4. 4
    Выделите последнюю из колонок, которые должны остаться неподвижными
  5. 5
    В палитре свойств установите «ФиксацияСлева» = «Да»
  6. 6
    Обновите конфигурацию базы данных (F7) и проверьте результат в режиме «Предприятие»

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

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

Элементы.СписокНоменклатура.ФиксацияСлева = Истина;

Здесь «СписокНоменклатура» — имя элемента формы (колонки), а не реквизита данных. Программное изменение удобно, когда состав колонок формируется динамически и заранее неизвестен в конфигураторе. Учтите, что код выполняется на управляемой форме, поэтому размещайте его в обработчиках «ПриСозданииНаСервере» или после программного добавления колонок.

Фиксация строк и колонок в табличном документе

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

ТабДок.ФиксацияСверху = 5;

ТабДок.ФиксацияСлева = 2;

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

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

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

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

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

Ещё одна тонкость: если пользователь ранее менял настройки формы в режиме «Предприятие», его персональные настройки могут перекрывать изменения из конфигуратора. В этом случае попросите пользователя выполнить «Ещё» → «Изменить форму» → «Установить стандартные настройки» и проверить результат снова.

Альтернативы, когда фиксация недоступна

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

Для отчётов альтернативой служит выгрузка в Excel с последующим закреплением областей («Вид» → «Закрепить области») — это удобно для разового анализа, но не решает задачу внутри 1С. Для постоянной работы правильнее попросить администратора или разработчика настроить фиксацию централизованно, чтобы результат был у всех пользователей.

Сравнение способов фиксации

Настройка формы пользователем

Быстро и без прав разработчика, но действует только у этого пользователя и не всегда доступна полноценная фиксация

Свойство ФиксацияСлева в конфигураторе

Надёжное решение для всех пользователей, требует прав разработчика и обновления конфигурации

Программная установка в коде

Подходит для динамических форм и расширений, требует навыков программирования

Выгрузка в Excel и закрепление областей

Подходит для разового анализа, не решает задачу внутри 1С

Ответы на частые вопросы

Почему свойство «ФиксацияСлева» установлено, но колонки всё равно прокручиваются?

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

Можно ли зафиксировать колонку в обычном приложении 1С 8.2?

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

Как закрепить шапку отчёта, сформированного на СКД?

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

Снимет ли изменение формы конфигурацию с поддержки?

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

Почему у одного пользователя колонка зафиксирована, а у другого нет?

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

Итог

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

Фиксация колонок в 1С 8 делается тремя путями: настройкой формы пользователем, свойством «ФиксацияСлева» у колонки таблицы в конфигураторе и числовыми свойствами ФиксацияСлева/ФиксацияСверху у табличного документа. Свойство формы ставится у последней фиксируемой колонки, а для типовых конфигураций безопаснее использовать расширения. После настройки проверьте результат под конкретным пользователем и при необходимости сбросьте персональные настройки формы.