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