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