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

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

Как добавить колонку в форму списка документа 1С

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

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

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

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

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

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

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

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

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

Способ 2. Добавить колонку в конфигураторе

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

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

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

bsl
ВЫБРАТЬ
	Док.Ссылка,
	Док.Номер,
	Док.Дата,
	Док.Контрагент,
	Док.СуммаДокумента,
	Док.Ответственный
ИЗ
	Документ.РеализацияТоваровУслуг КАК Док

Способ 3. Добавить колонку через расширение конфигурации

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

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

Сравнение способов

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

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

Доработка в конфигураторе

Полная свобода, но требует снятия с поддержки и усложняет обновления типовой конфигурации

Расширение конфигурации

Сохраняет поддержку типовой, но требует проверки после каждого обновления конфигурации

Как вывести колонку с данными из связанных объектов

Частая задача — показать в списке не реквизит шапки, а данные из связанного объекта: договор контрагента, склад из табличной части, статус оплаты. Такие колонки добавляются изменением запроса динамического списка: через точку («Док.Контрагент.ИНН») или через соединение с другой таблицей.

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

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

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

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

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

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

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

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

Видимость колонки
Норма

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

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

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

Заполнение данных
Норма

Значения соответствуют реквизитам документов

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

Пустые ячейки при заполненных реквизитах — поле не добавлено в запрос или нет прав на объект

Число строк списка
Норма

Каждый документ показан один раз

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

Документы дублируются — соединение с табличной частью без группировки

Скорость работы
Норма

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

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

Форма «задумывается» — упростите запрос или уберите тяжёлые поля

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

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

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

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

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

Как добавить в список колонку «Склад», если склад указан в табличной части?

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

Почему колонка добавлена, но ячейки пустые?

Три типичные причины: реквизит не заполнен в самих документах; поле добавлено в элементы формы, но не в запрос динамического списка; у текущего пользователя нет прав на просмотр реквизита или связанного объекта. Проверяйте в указанном порядке.

Влияет ли добавление колонки на скорость работы списка?

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

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

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

Итог

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

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