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