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

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

Как скрыть колонку табличной части в 1С

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

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

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

Что именно нужно скрыть: определяем сценарий

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

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

Маршрут решения

Как выбрать способ

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

Скрытие колонки пользователем без изменения конфигурации

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

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

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

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

Программное скрытие колонки через код

Разработчик управляет видимостью через свойство Видимость элемента формы. Обращение к колонке строится по шаблону: Элементы. + имя колонки в дереве элементов формы. Обычно имя колонки складывается из имени табличной части и имени реквизита, например ТоварыЦена.

bsl
&НаКлиенте
Процедура ПриОткрытии(Отказ)
    Элементы.ТоварыЦена.Видимость = Ложь;
КонецПроцедуры

Код размещают в модуле формы документа. Если скрытие постоянное, достаточно выполнить его один раз — в обработчике ПриСозданииНаСервере или ПриОткрытии. Если видимость зависит от данных (вида операции, роли пользователя, признака в строке), код помещают в обработчики изменения соответствующих реквизитов.

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

Скрытие колонки в конфигураторе и через расширение

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

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

Условная видимость и функциональные опции

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

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

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

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

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

Типичные ошибки
01
Обращение к колонке по имени реквизита вместо имени элемента формы — код завершается ошибкой «Поле объекта не обнаружено»
02
Скрытие только на клиенте в обработчике, который не вызывается при программном открытии формы
03
Забытая пользовательская настройка формы, которая перекрывает программную видимость
04
Скрытие обязательной для заполнения колонки — пользователи получают ошибки проверки заполнения при проведении
05
Изменение типовой формы вместо расширения — конфигурация слетает с поддержки
Контрольные точки

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

Отображение колонки
Норма

Колонка отсутствует у целевых пользователей после повторного открытия документа

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

Колонка видна у части пользователей — вероятны сохранённые пользовательские настройки

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

Документ проводится без новых ошибок

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

Ошибки проверки заполнения по скрытому реквизиту

Печатная форма
Норма

Печать не изменилась или изменилась осознанно

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

Из печатной формы пропали нужные данные

FAQ

Как вернуть скрытую колонку обратно?

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

Почему в меню «Ещё» нет пункта «Изменить форму»?

Команда может быть отключена администратором в настройках прав, скрыта разработчиком формы или недоступна из-за ограниченных прав пользователя. Обратитесь к администратору 1С для проверки права «Изменение формы».

Можно ли скрыть колонку только для определённой роли?

Да, программно: в обработчике ПриСозданииНаСервере проверьте роль пользователя через РольДоступна() или ПользователиИнформационнойБазы и установите Видимость соответственно. Штатного способа без кода для этого нет.

Исчезнут ли данные, если скрыть колонку?

Нет. Скрытие влияет только на отображение: данные остаются в базе, участвуют в расчётах и выгрузках. Удалить данные можно только очисткой самого реквизита табличной части.

Как скрыть колонку в динамическом списке или отчёте?

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

Колонка скрывается, но после перепроведения документа появляется снова. Что делать?

Значит, код формы или общего модуля при каждом изменении переустанавливает видимость колонок. Найдите в модуле формы обработчики, где элементу присваивается Видимость = Истина, и скорректируйте условие.