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