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

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

При доработке типовых конфигураций (например, 1С:Управление торговлей 11, 1С:ERP или 1С:Комплексная автоматизация) разработчики часто сталкиваются с ситуацией: в дереве метаданных создан новый реквизит, вынесен в редакторе на форму объекта, но в режиме «1С:Предприятие» добавленное поле или новая страница группы просто отсутствуют на экране.

Разберем основные причины такого поведения платформы 1С:Предприятие 8.3 и выясним, как по шагам локализовать и устранить проблему.

Причина 1. Редактирование не той формы объекта

Самая распространенная ошибка при работе с крупными конфигурациями — изменение формы, которая фактически не открывается в пользовательском интерфейсе. В объекте метаданных может быть несколько форм элемента (например, форма для быстрого создания, форма для отдельного рабочего места, форма из библиотеки стандартных подсистем или архивная форма).

Проанализируем ситуацию с помощью отладчика. Для проверки откроем модуль формы и установим точку останова в самом начале серверной инициализации:


&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    // Точка останова для проверки факта открытия именно этой формы
    ЭлементПроверки = Элементы.Найти("НовыйРеквизит");
КонецПроцедуры

Запустим режим «1С:Предприятие» и откроем карточку нужного элемента. Если точка останова не сработала, значит, система вызывает совершенно другую форму. Разберем, где проверить назначенную форму:

  1. В дереве метаданных конфигурации перейдем к объекту (например, справочнику Контрагенты).
  2. Откроем свойства справочника и проверим свойство Основные формы — Форма элемента.
  3. Убедимся, что именно отредактированная форма назначена основной.
  4. Проверим код в местах открытия формы (например, в формах списков, динамических списках или общих модулях) — форма может открываться программно через явное указание пути к другой форме, минуя основную.

Причина 2. Особенности привязки данных и пустые контейнеры

Управляемая форма работает по принципу оптимизации отображения данных: если элемент управления не привязан к корректному источнику данных (свойство ПутьКДанным) или родительская группа не содержит видимых дочерних элементов, платформа может автоматически скрыть всю панель или вкладку.

Посмотрим на свойства созданных элементов:

  1. Проверим свойство ПутьКДанным у добавленного поля ввода. Оно должно иметь вид Объект.ИмяНовогоРеквизита. Если поле добавлено просто как элемент без данных, платформа может не выделить под него место.
  2. Если создана новая страница в группе вида Страницы, убедимся, что внутри этой страницы находятся реальные элементы с заполненными источниками данных. Пустая страница на управляемой форме в режиме предприятия отображаться не будет.

Причина 3. Сохраненные пользовательские настройки формы

Платформа 1С сохраняет индивидуальные настройки расположения и видимости элементов формы для каждого пользователя информационной базы. Если форма открывалась пользователем до внесения правок в конфигураторе, старая сохраненная структура настроек может перекрывать изменения конфигурации.

Выполним сброс настроек формы:

  1. В режиме «1С:Предприятие» в правом верхнем углу открытой формы нажмем меню Еще.
  2. Выберем команду Установить стандартные настройки.
  3. Если форма открывается в нетиповом интерфейсе, перейдем в раздел администрирования (Настройки пользователей и прав — Очистка настроек) и удалим сохраненные настройки текущей формы для тестируемого пользователя.

Причина 4. Права доступа и видимость по ролям

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

  1. Проверим права ролей пользователя в конфигураторе. На созданный реквизит объекта метаданных обязательно должно быть назначено право Просмотр (и право Редактирование, если поле должно быть доступно для изменения). Без права «Просмотр» элемент скрывается с формы автоматически на уровне ядра платформы.
  2. В свойствах элемента формы в конфигураторе откроем таблицу Пользовательская видимость и убедимся, что для роли пользователя установлен флаг видимости.

Причина 5. Архитектура конфигурации и переопределение в коде

В типовых решениях (в частности, в «1С:Управление торговлей 11») логика интерфейса часто управляется программно подсистемами БСП:

  1. Разделение сущностей «Партнеры» и «Контрагенты»: В УТ 11 пользователи чаще работают с формой справочника Партнеры. Если реквизит добавлен в справочник Контрагенты, он не появится в форме партнера автоматически без специальной программной интеграции.
  2. Программное управление видимостью: В процедурах ПриСозданииНаСервере и ПриЧтенииСозданииНаСервере типовой код может программно переопределять свойства Видимость и Доступность в зависимости от вида контрагента (Юридическое лицо, Физическое лицо, Индивидуальный предприниматель).
  3. Расширения конфигурации: Если в базе активно расширение, заимствующее эту же форму, платформа будет открывать вариант формы из расширения, игнорируя прямые изменения в основной конфигурации.

Альтернативное решение: Дополнительные реквизиты БСП

Если требуется добавить новые строковые поля в типовой справочник без изменения конфигурации и без риска затереть доработки при обновлении, рекомендуется использовать стандартный механизм БСП: перейдем в раздел НСИ и администрирование — Общие настройки — Дополнительные реквизиты и сведения и добавим нужное свойство для справочника типовыми средствами.

← На главную