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