checklist

Чек-лист видимости элемента

Иногда при разработке встречается такая проблема: размещённый на форме элемент не отображается в режиме 1С:Предприятия. Хотя, по задумке и всем представлениям его должно быть видно. Что же делать с «чудесным исчезновением?». Причин подобного поведения множество. Составил для себя чек-лист, покрывающий большинство подобных ситуаций.

Достаточно просто методично проверить каждый пункт — и «беглец» отыщется.

 

Подробный чек-лист

Видимость элемента

Первое, что, собственно, приходит на ум — свойство Видимость самого элемента. Для надёжности можно вызвать отладчик и убедиться, что оно включено в нужный момент.

Видимость

Видимость родителей

Следующая возможность — проверка видимости у родительских групп. Если не отображается группа — не отображается и сам элемент. Также открываем отладчик и по свойству Родитель проверяем отображение вышестоящих групп.

Путь к данным

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

ПутьКДанным

Цвет фона

Сам элемент может быть размещён на форме, но визуально сливается с её фоном. Не пытайтесь разглядеть белое на белом — не выйдет 🙂 Проверяем свойство ЦветФона у самого элемента и у родительской группы или формы.

ЦветФона

Отображение заголовка

Похожая на предыдущий пункт ситуация. Элемент на форме выведен и отображается, но визуальной информации не несёт. Актуально для надписей, групп и полей ввода. Проверяем свойство ОтображатьЗаголовок или ПоложениеЗаголовка, чтобы убедиться, что заголовок показывается. А также само свойство Заголовок, чтобы убедиться, что в текст есть.

ПоложениеЗаголовка

Пользовательская видимость

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

ПользовательскаяВидимость

Пользовательские настройки формы

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

ПользовательскиеНастройки

Функциональные опции

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

ФункциональныеОпции

Доступность реквизита из прав

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

ДоступностьПрав

СписокВыбора для переключателя

У элементов вида «Поле переключателя» всегда должен быть заполнен список выбора. Даже если элемент связан с перечислением. Проверяем свойство СписокВыбора и при необходимости вызываем команду Заполнить — тогда значения будут получены из перечисления.

СписокВыбора

Выбранная страница

Ещё одна неприятная ситуация может быть связана с функционалом страничного отображения. Существует следующий приём: создаём элемент Страницы и снимаем отображение закладок страниц. А далее на нужные страницы размещаем элементы, которые по задумке разработчика отображаются только в определённом режиме формы. Выбранными же страницами управляем программно. Вследствие чего, искомый элемент может размещаться на скрытой сейчас странице. Проверяем свойство ТекущаяСтраница у родительского элемента.

Есть зависимые элементы у группы

Это кажется очевидным, но всё же стоит проверить: когда речь идёт об элементе Группа, у него должен отображаться хотя бы один подчинённый элемент.

Пользовательский кеш

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

Коротко перечисленные выше пункты:

  • Видимость элемента
  • Видимость родителей
  • Путь к данным
  • Цвет фона
  • Отображение заголовка
  • Пользовательская видимость
  • Пользовательские настройки формы
  • Функциональные опции
  • Доступность реквизита из прав
  • СписокВыбора для переключателя
  • Выбранная страница, если элемент внутри страницы
  • Есть зависимые элементы у группы
  • Пользовательский кеш

5 комментариев на «“Чек-лист видимости элемента”»

  1. SirStefan:

    .Не заполнен ПутьКДанным

  2. Сергей:

    При использовании расширений тоже можно дополнить список

  3. Сергей:

    И про условное оформление формы и динамического списка забыли упомянуть

  4. Сергей:

    Спасибо за статью

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *