Чек-лист видимости элемента
Иногда при разработке встречается такая проблема: размещённый на форме элемент не отображается в режиме 1С:Предприятия. Хотя, по задумке и всем представлениям его должно быть видно. Что же делать с «чудесным исчезновением?». Причин подобного поведения множество. Составил для себя чек-лист, покрывающий большинство подобных ситуаций.
Достаточно просто методично проверить каждый пункт — и «беглец» отыщется.
Подробный чек-лист
Видимость элемента
Первое, что, собственно, приходит на ум — свойство Видимость
самого элемента. Для надёжности можно вызвать отладчик и убедиться, что оно включено в нужный момент.
Видимость родителей
Следующая возможность — проверка видимости у родительских групп. Если не отображается группа — не отображается и сам элемент. Также открываем отладчик и по свойству Родитель
проверяем отображение вышестоящих групп.
Путь к данным
В управляемом интерфейсе многие элементы формы должны быть привязаны к реквизитам формы. Данные отдельно — интерфейс отдельно. Случается, что такая связь пропадает (например, при изменении метаданных, или при программном формировании элементов). Проверяем свойство ПутьКДанным
— должен быть путь к актуальному реквизиту формы.
Цвет фона
Сам элемент может быть размещён на форме, но визуально сливается с её фоном. Не пытайтесь разглядеть белое на белом — не выйдет 🙂 Проверяем свойство ЦветФона
у самого элемента и у родительской группы или формы.
Отображение заголовка
Похожая на предыдущий пункт ситуация. Элемент на форме выведен и отображается, но визуальной информации не несёт. Актуально для надписей, групп и полей ввода. Проверяем свойство ОтображатьЗаголовок
или ПоложениеЗаголовка
, чтобы убедиться, что заголовок показывается. А также само свойство Заголовок, чтобы убедиться, что в текст есть.
Пользовательская видимость
Платформа 1С:Предприятие позволяет скрывать элементы формы для выбранных ролей пользователя. Настраивается это визуально в конфигураторе. Убеждаемся, что флажки для пользователя с рассматриваемой ролью установлены.
Пользовательские настройки формы
Формы в 1С версий 8.2 и 8.3 не зря называют управляемыми. Пользователь в режиме 1С:Предприятие может настраивать вид форм (в том числе перемещая и скрывая ненужные для него элементы). Чтобы вернуть отображение в исходное состояние необходимо вызвать команду «Установить стандартные настройки». Меню «Ещё» формы.
Функциональные опции
Также, в технологическую платформу включён механизм функциональных опций. Использование механизма даёт возможность разделить функциональность конфигурации, убрав незадействованные блоки в режиме 1С:Предприятия. В том числе на функциональную опцию может быть «подвешен» и реквизит формы. Тогда все связанные с ним элементы не будут отображаться на форме. В режиме конфигуратора проверяем состав функциональных опций.
Доступность реквизита из прав
Гибкая система ролей и даже RLS позволяет настроить использование отдельных реквизитов объекта конфигурации. Когда такое использование запрещено ролью, реквизит не будет прочитан из базы данных, а связанные с ним элементы не будут отображаться. Как правило, для роли ПолныеПрава в типовых конфигурациях доступна вся функциональность решения. Поэтому этой ролью можно воспользоваться, чтобы быстро диагностировать данный пункт.
СписокВыбора для переключателя
У элементов вида «Поле переключателя» всегда должен быть заполнен список выбора. Даже если элемент связан с перечислением. Проверяем свойство СписокВыбора
и при необходимости вызываем команду Заполнить — тогда значения будут получены из перечисления.
Выбранная страница
Ещё одна неприятная ситуация может быть связана с функционалом страничного отображения. Существует следующий приём: создаём элемент Страницы и снимаем отображение закладок страниц. А далее на нужные страницы размещаем элементы, которые по задумке разработчика отображаются только в определённом режиме формы. Выбранными же страницами управляем программно. Вследствие чего, искомый элемент может размещаться на скрытой сейчас странице. Проверяем свойство ТекущаяСтраница
у родительского элемента.
Есть зависимые элементы у группы
Это кажется очевидным, но всё же стоит проверить: когда речь идёт об элементе Группа, у него должен отображаться хотя бы один подчинённый элемент.
Пользовательский кеш
И, наконец, универсальный источник всевозможных «странностей» платформы: пользовательский кеш. Возможно, после его очистки, проблема исчезнет сама собой. Сделать это можно, например, с помощью StartManager.
Коротко перечисленные выше пункты:
- Видимость элемента
- Видимость родителей
- Путь к данным
- Цвет фона
- Отображение заголовка
- Пользовательская видимость
- Пользовательские настройки формы
- Функциональные опции
- Доступность реквизита из прав
- СписокВыбора для переключателя
- Выбранная страница, если элемент внутри страницы
- Есть зависимые элементы у группы
- Пользовательский кеш
.Не заполнен ПутьКДанным
Спасибо, я добавлю в список!
При использовании расширений тоже можно дополнить список
И про условное оформление формы и динамического списка забыли упомянуть
Спасибо за статью