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