Почему не видно добавленного поля или реквизита на форме в 1С?

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

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

1. Несоответствие режима запуска конфигурации и типа формы

Проанализируем типовую ситуацию: обработка содержит две формы — управляемую (УФ) и обычную (ОФ), как это реализовано во многих типовых инструментах (например, в обработке УниверсальныйОбменДаннымиXML). Если сеанс 1С запущен в режиме обычного приложения (толстый клиент), платформа по умолчанию всегда будет открывать обычную форму объекта. Любые изменения, добавления полей и перенос элементов на управляемой форме в этом случае не будут видны пользователю.

Чтобы решить эту проблему, выполним следующие действия:

  1. Проверим, какая именно форма назначена основной в свойствах обработки и какая форма открывается в режиме предприятия.
  2. Если доработка предназначена для обычного приложения, внесем изменения в соответствующую обычную форму объекта.
  3. Если требуется принудительно открыть именно управляемую форму обработки в сеансе обычного приложения, вызовем ее программно с явным указанием полного пути:

ОткрытьФорму("ВнешняяОбработка.ИмяОбработки.Форма.ИмяУправляемойФормы");

Также можно запустить сеанс целиком в режиме управляемого приложения, указав ключ /RunModeManagedApplication в параметрах запуска базы данных.

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

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

Разберем, как восстановить корректное отображение элементов:

  1. В режиме «1С:Предприятие» перейдем в меню Еще (или Все действия) в шапке формы.
  2. Выберем пункт Изменить форму....
  3. В открывшемся окне редактора нажмем Еще → Установить стандартные настройки.

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

3. Права доступа на уровне метаданных (право «Просмотр»)

Выясним частую причину скрытия данных, связанную с правами. В системе 1С права Чтение и Просмотр разделены:

  1. Право Чтение разрешает чтение реквизита на уровне базы данных и сервера.
  2. Право Просмотр управляет интерактивным отображением реквизита в интерфейсе.

Если у текущей роли пользователя снят флаг Просмотр для конкретного реквизита, платформа автоматически скроет элемент на форме, даже если в конфигураторе его свойство Видимость установлено в значение Истина. Проверим состав ролей пользователя и доступность права просмотра для добавленного реквизита.

4. Свойства родительских групп и самого элемента

Проанализируем иерархию элементов на форме. Поле может стать невидимым из-за параметров родительских контейнеров:

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

5. Условное оформление и программный код формы

Посмотрим на программную логику формы. Элемент может скрываться в момент инициализации:

  1. Проверим обработчики ПриСозданииНаСервере, ПриОткрытии и процедуры инициализации на наличие прямого изменения свойства Элементы.ИмяЭлемента.Видимость = Ложь;.
  2. Откроем вкладку Условное оформление в свойствах формы. Если там создано правило с отключением свойства Видимость или Отображать, поле будет динамически скрываться при выполнении заданных условий.
  3. В конфигурациях на базе БСП (Библиотеки Стандартных Подсистем) видимость полей может централизованно управляться подсистемами доступа и общими модулями при вызове стандартных процедур компоновки формы.
← На главную