Почему не отображаются общие реквизиты в новом документе 1С и как это исправить?

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

В процессе разработки на платформе 1С:Предприятие часто возникают ситуации, когда добавленные в конфигурацию Общие реквизиты не отображаются в форме нового документа, даже если этот документ был успешно включен в состав реквизита. Разберем, с чем это связано и как настроить платформу так, чтобы нужные поля появились там, где они необходимы.

Разбираем причину проблемы: иерархия настроек общих реквизитов

Чтобы понять, почему реквизиты Автор, Комментарий или Ответственный не видны в форме, проанализируем настройки метаданных. Механизм общих реквизитов в 1С имеет строгую иерархию управления, которая состоит из двух уровней:

  1. Глобальный уровень (свойство Автоиспользование): У каждого общего реквизита в дереве метаданных есть свойство Автоиспользование. Оно определяет поведение реквизита для всех объектов, включенных в его состав, если для них не задано иное поведение. Если здесь установлено значение Не использовать, то платформа по умолчанию не будет автоматически добавлять этот реквизит в новые объекты.
  2. Уровень объекта (свойство Использование): Когда мы включаем документ в Состав общего реквизита, для каждого такого документа появляется настройка Использование. У нее может быть три состояния:
    • Автоматически: объект «смотрит» на глобальную настройку Автоиспользование общего реквизита.
    • Использовать: реквизит принудительно включается в объект, независимо от глобальной настройки.
    • Не использовать: реквизит принудительно исключается из объекта.

Чаще всего проблема возникает именно при выборе значения Автоматически. Если у вас в новых документах реквизиты не появились, это означает, что глобальный параметр Автоиспользование установлен в Не использовать, а для конкретного документа выбрано правило Автоматически.

Пошаговое решение проблемы

Давайте вместе проделаем следующие действия для исправления ситуации:

  1. Откройте дерево конфигурации в Конфигураторе.
  2. Перейдите в ветку Общие -> Общие реквизиты.
  3. Выберите нужный реквизит (например, Комментарий) и посмотрите его свойство Автоиспользование в палитре свойств.
  4. Если там установлено Не использовать, у вас есть два пути:
    • Путь А: Изменить Автоиспользование на Использовать. Это приведет к тому, что реквизит автоматически станет доступен во всех документах, для которых настроено Автоматически.
    • Путь Б (более точечный): В составе общего реквизита, в колонке Использование напротив нужного вам документа, принудительно выберите Использовать. Это перекроет глобальную настройку и «включит» реквизит именно для этого документа.

Важные замечания по архитектуре и производительности

Рассмотрев техническую сторону, важно остановиться на вопросе целесообразности использования общих реквизитов. В профессиональном сообществе разработчиков 1С существует мнение, что злоупотребление общими реквизитами может негативно сказаться на производительности системы.

Первоначально механизм Общих реквизитов создавался для задач разделения данных (Data Separation), необходимых для работы в облачных сервисах (SaaS). Когда мы используем их для «обычных» целей (добавление реквизитов во все документы подряд), мы усложняем структуру таблиц СУБД, что в крупных системах может приводить к замедлению работы при выполнении запросов.

Рекомендации по альтернативным решениям

Если вы хотите расширить функционал документа, рекомендуем рассмотреть следующие подходы, которые считаются более современными и гибкими:

Подводя итог, анализируйте каждый случай применения Общих реквизитов. Если задача требует массового добавления поля в сотни документов — этот механизм оправдан. Если же вам нужно добавить пару полей в один или несколько документов — лучше воспользоваться механизмом дополнительных реквизитов или расширений.

← На главную