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

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

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

Причина 1. Открытие другой управляемой формы в зависимости от настроек

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

Если в конфигурации включен совмещенный режим, вместо стандартной ФормаЭлемента открывается специальная совмещенная форма (например, ФормаЭлементаПартнераИКонтрагента или форма помощника создания). Если добавить элемент только на базовую форму элемента, в интерфейсе он виден не будет, так как фактически открывается совершенно другой объект метаданных формы.

Проанализируем, как точно определить, какая форма открывается в режиме предприятия:

  1. Откроем конфигуратор и установим точку останова в модулях всех подозрительных форм справочника в процедуре ПриСозданииНаСервере.
  2. Запустим отладку и откроем элемент справочника в режиме предприятия.
  3. Посмотрим, в каком именно модуле сработала точка останова — именно эту форму необходимо дорабатывать.
  4. Если используется совмещенный учет, продублируем размещение реквизита на совмещенной форме или вынесем его в расширении.

Причина 2. Программное управление видимостью в коде формы

В типовых конфигурациях в процедурах ПриСозданииНаСервере или ПриЧтенииНаСервере вызываются процедуры подсистем БСП и внутренних модулей управления интерфейсом. Эти процедуры могут программно изменять видимость целых групп, сворачивать страницы или управлять свойствами элементов в зависимости от прав доступа, вида партнера (клиент, поставщик, конкурент) или значений функциональных опций.

Если элемент был помещен внутрь группы, для которой в коде динамически устанавливается Видимость = Ложь, добавленный реквизит также будет скрыт. Для решения задачи переместим элемент в общую группу реквизитов или проверим код модуля формы на наличие переопределения видимости родительской панели.

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

Платформа «1С:Предприятие 8.3» сохраняет персональные настройки элементов формы для каждого пользователя (состав полей, их порядок, ширина колонок). Если пользователь ранее открывал форму и менял её состав через меню «Еще» — «Изменить форму», платформа применяет сохраненную схему, игнорируя новые элементы, появившиеся в конфигураторе.

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

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

Причина 4. Права доступа на реквизит и тип данных

Если реквизит имеет ссылочный тип данных (например, СправочникСсылка.ВидыЦен), платформа контролирует права доступа не только к самому справочнику-владельцу, но и к реквизиту и связанному справочнику:

  1. Убедимся, что для роли текущего пользователя установлено право «Просмотр» на новый реквизит справочника Партнеры.
  2. Проверим право «Чтение» и «Просмотр» на целевой справочник ВидыЦен. Если у пользователя нет прав на просмотр типа данных, платформа автоматически скрывает соответствующее поле ввода.

Причина 5. Кэширование данных клиента и сервера

При частом динамическом обновлении конфигурации («демон-обновлении») клиентское приложение может использовать устаревший кэш управляемых форм. Для устранения проблемы перезапустим сеанс «1С:Предприятия» с ключом /ClearCache или очистим локальный каталог временных файлов пользователя.

Альтернативное решение: использование механизма дополнительных реквизитов

Если требуется добавить реквизит типа СправочникСсылка.ВидыЦен без внесения изменений в типовую конфигурацию и снятия с поддержки, воспользуемся типовым функционалом БСП «Дополнительные реквизиты и сведения»:

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