← На главную
При разработке интерфейсов на управляемых формах часто возникает задача разгрузить форму: скрыть второстепенные реквизиты и поля по умолчанию, но оставить пользователю возможность самостоятельно вывести их на экран при необходимости через стандартное окно «Изменить форму».
Если подойти к этой задаче стандартным способом и установить свойство элемента Видимость в значение Ложь (в конфигураторе или программно), элемент полностью исчезнет из структуры формы в режиме предприятия и не будет отображаться в списке доступных полей настройки формы. Разберем, почему это происходит и как правильно настроить скрытие элементов.
Разница между свойствами «Видимость» и «Пользовательская видимость»
Проанализируем внутренние механизмы платформы «1С:Предприятие 8.3» для управления видимостью элементов:
- Свойство «Видимость» (
Видимость = Ложь): полностью исключает элемент из клиентского контекста формы. Платформа воспринимает такой элемент как отключенный на уровне бизнес-логики. В результате элемент не только не отображается на экране, но и физически отсутствует в дереве окна «Изменить форму». Пользователь не сможет включить его самостоятельно.
- Свойство «Пользовательская видимость»: определяет исходное состояние отображения элемента для конкретных ролей или для всех пользователей по умолчанию. Элемент остается в схеме формы, благодаря чему платформа выводит его в диалоговом окне «Изменить форму» со снятым флажком видимости. Пользователь в любой момент может установить флажок и отобразить поле.
Пошаговая настройка скрытия элемента через «Пользовательскую видимость»
Разберем по шагам, как настроить элемент формы в конфигураторе:
- Откроем требуемую управляемую форму в конфигураторе.
- В дереве элементов формы выделим элемент (поле ввода, кнопку, надпись или группу), который требуется скрыть по умолчанию.
- В палитре свойств найдем раздел «Использование» и строку «Пользовательская видимость».
- Нажмем кнопку открытия (кнопка с лупой или тремя точками) напротив свойства «Пользовательская видимость».
- В открывшемся окне снимем флажок «Видимость» для пункта «Для всех пользователей» (или снимем флажки выборочно напротив конкретных ролей).
- Убедимся, что основное свойство элемента
Видимость при этом осталось включенным (равным Истина).
- Сохраним и обновим конфигурацию базы данных.
После применения настроек в режиме «1С:Предприятие» элемент будет скрыт с экрана при открытии формы. Если пользователю понадобится это поле, он сможет открыть меню Еще — Изменить форму, найти нужный элемент в дереве и установить напротив него флажок.
Ограничения платформы и программное управление
Выясним особенности работы с данным свойством во встроенном языке 1С:
- Свойство
ПользовательскаяВидимость является исключительно декларативным свойством метаданных формы. Программного доступа к нему во встроенном языке нет — его нельзя изменить через код при открытии формы или по нажатию кнопки.
- Для элементов, создаваемых динамически в коде (например, в процедуре
ПриСозданииНаСервере через метод Элементы.Добавить()), невозможно программно настроить состояние «скрыт по умолчанию, но доступен в "Изменить форму"». Динамически добавленные элементы управляются только через обычное свойство Видимость.
Почему элемент может отсутствовать в окне «Изменить форму»?
Если вы настроили пользовательскую видимость, но элемент все равно не отображается в окне настройки формы, рассмотрим возможные причины:
- Влияние функциональных опций: если элемент или связанный с ним реквизит привязаны к функциональной опции, которая отключена в информационной базе, элемент полностью исключается из состава формы.
- Права доступа (RLS и роли): если у текущего пользователя нет прав на чтение объекта или реквизита, платформа автоматически вырезает элемент из интерфейса и списка настроек.
- Видимость родительской группы: если у группы, в которую вложен элемент, свойство
Видимость установлено в Ложь, все дочерние элементы также перестают быть доступными в окне настройки формы.
- Свойство формы «РазрешитьИзменятьФорму»: если для всей формы отключено свойство
РазрешитьИзменятьФорму, пользователь в принципе не сможет открыть окно настройки структуры.
Альтернативные способы организации интерфейса
Рассмотрим альтернативные решения, если требуется упростить форму без обязательного перехода пользователя в техническое окно «Изменить форму»:
- Использование сворачиваемых групп: поместим редко используемые элементы в группу с видом «Обычная группа» и включим свойство «Отображение» = «Свернутая» (или свойство «Поведение» = «Сворачиваемая»). Пользователь сможет раскрыть блок в один клик прямо на форме без вызова настроек.
- Разделение на страницы: разместим дополнительные реквизиты на отдельной вкладке группы страниц.
- Административная настройка и тиражирование: администратор базы данных может настроить форму интерактивно в режиме предприятия (скрыв ненужные поля через «Изменить форму») и скопировать эту настройку другим пользователям через стандартные инструменты администрирования настроек пользователей.