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