Как скрыть элемент на управляемой форме, сохранив возможность его включения через меню «Изменить форму»?

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

При разработке интерфейсов на управляемых формах часто возникает задача разгрузить форму: скрыть второстепенные реквизиты и поля по умолчанию, но оставить пользователю возможность самостоятельно вывести их на экран при необходимости через стандартное окно «Изменить форму».

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

Разница между свойствами «Видимость» и «Пользовательская видимость»

Проанализируем внутренние механизмы платформы «1С:Предприятие 8.3» для управления видимостью элементов:

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

Пошаговая настройка скрытия элемента через «Пользовательскую видимость»

Разберем по шагам, как настроить элемент формы в конфигураторе:

  1. Откроем требуемую управляемую форму в конфигураторе.
  2. В дереве элементов формы выделим элемент (поле ввода, кнопку, надпись или группу), который требуется скрыть по умолчанию.
  3. В палитре свойств найдем раздел «Использование» и строку «Пользовательская видимость».
  4. Нажмем кнопку открытия (кнопка с лупой или тремя точками) напротив свойства «Пользовательская видимость».
  5. В открывшемся окне снимем флажок «Видимость» для пункта «Для всех пользователей» (или снимем флажки выборочно напротив конкретных ролей).
  6. Убедимся, что основное свойство элемента Видимость при этом осталось включенным (равным Истина).
  7. Сохраним и обновим конфигурацию базы данных.

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

Ограничения платформы и программное управление

Выясним особенности работы с данным свойством во встроенном языке 1С:

  1. Свойство ПользовательскаяВидимость является исключительно декларативным свойством метаданных формы. Программного доступа к нему во встроенном языке нет — его нельзя изменить через код при открытии формы или по нажатию кнопки.
  2. Для элементов, создаваемых динамически в коде (например, в процедуре ПриСозданииНаСервере через метод Элементы.Добавить()), невозможно программно настроить состояние «скрыт по умолчанию, но доступен в "Изменить форму"». Динамически добавленные элементы управляются только через обычное свойство Видимость.

Почему элемент может отсутствовать в окне «Изменить форму»?

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

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

Альтернативные способы организации интерфейса

Рассмотрим альтернативные решения, если требуется упростить форму без обязательного перехода пользователя в техническое окно «Изменить форму»:

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