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