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

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

Как добавить новый реквизит на форму в 1С

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

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

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

Ниже разобраны оба подхода с конкретными действиями, проверкой результата и типичными ошибками. Инструкция ориентирована на конфигурации с управляемыми формами (так называемые «такси»-интерфейсы: УТ 11, ERP, Бухгалтерия 3.0 и им подобные), но принципы справедливы и для обычных форм.

Выбор способа: реквизит объекта или дополнительный реквизит

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

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

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

Реквизит объекта (через конфигуратор)

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

Дополнительный реквизит (в режиме Предприятие)

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

Дополнительное сведение

Подходит для редко заполняемой информации, которая не должна занимать место на форме. Выводится по кнопке «Ещё — Дополнительные сведения», а не как поле формы.

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

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

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

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

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

Вывод реквизита на форму

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

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

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

Добавление дополнительного реквизита без конфигуратора

В типовых конфигурациях на базе Библиотеки стандартных подсистем (УТ 11, ERP, КА, БП 3.0, ЗУП и другие) есть штатный механизм дополнительных реквизитов. Он позволяет добавить поле на форму без изменения конфигурации, что сохраняет полную поддержку обновлений.

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

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

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

Как выбрать действие

Поле должно влиять на проведение, движения по регистрам или участвовать в обменеДобавляйте реквизит объекта через конфигуратор
Конфигурация типовая и важно сохранить простое обновлениеИспользуйте дополнительный реквизит в режиме 1С:Предприятие
Поле редко заполняется и не должно занимать место на формеИспользуйте дополнительное сведение вместо реквизита
Значение выбирается из фиксированного списка вариантовСоздайте перечисление (через конфигуратор) или тип «Дополнительное значение» (без конфигуратора)

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

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

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

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

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

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

Видимость поля на форме
Норма

Поле отображается у всех пользователей, которым оно нужно

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

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

Сохранение значения
Норма

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

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

Значение пропадает — реквизит не связан с данными объекта или форма не обновлена

Старые объекты
Норма

Документы и элементы, созданные раньше, открываются и записываются без ошибок

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

Ошибка записи старых объектов — слишком жёсткая проверка заполнения нового реквизита

Обновление конфигурации
Норма

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

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

Предупреждения о потере данных — остановитесь и проверьте изменённые типы

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

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

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

Типичные ошибки
01
Реквизит добавлен в объект, но не выведен на форму — пользователи не видят поле
02
Установлена обязательная проверка заполнения — старые документы перестали записываться
03
Изменён тип существующего реквизита с данными — значения потеряны при реструктуризации
04
Реквизит добавлен в типовую конфигурацию вместо дополнительного — усложнены последующие обновления
05
Не проверены права — поле недоступно обычным пользователям
06
Для ссылочного реквизита не настроен быстрый выбор — пользователи вынуждены каждый раз открывать форму выбора

FAQ

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

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

Нарушит ли добавление реквизита через конфигуратор поддержку типовой конфигурации?

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

Почему новый реквизит не виден в отчёте СКД?

Реквизит объекта появится в отчёте, если он включён в запрос набора данных — откройте схему компоновки и добавьте поле в запрос. Дополнительные реквизиты в типовых отчётах подключаются через настройки отчёта (добавление поля в структуру), если отчёт построен на типовых механизмах БСП.

Как сделать, чтобы реквизит заполнялся автоматически?

Для реквизита объекта используйте свойство «Значение заполнения» в палитре свойств или обработчик «ОбработкаЗаполнения» в модуле объекта. Для дополнительных реквизитов автозаполнение в типовых конфигурациях не предусмотрено — потребуется доработка через подписку на событие или расширение конфигурации.

Что лучше для доработки типовой конфигурации — изменение конфигурации или расширение?

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

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

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

Итог

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

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