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