§ 4.5. Свойства элемента: видимость, доступность, заголовок, подсказка
Записаны они там же, где путь и вид, — в палитре свойств элемента, среди тех самых свойств внешнего вида и поведения, о которых говорилось в начале главы. Четыре свойства из неё встречаются почти у каждого элемента и решают судьбу поля на экране: видно ли его, можно ли в него вводить, что написано рядом и что всплывает при наведении курсора.
1. Четыре свойства, которые есть почти у всех
Свойств у элемента десятки, но эти четыре читают первыми.
| свойство | что задаёт | что видит пользователь |
|---|---|---|
| Видимость | показывать ли элемент | есть поле на экране или нет |
| Доступность | можно ли с ним работать | обычное поле или приглушённое |
| Заголовок | подпись к элементу | текст слева или сверху |
| Подсказка | текст при наведении курсора | всплывающее пояснение |
Все четыре — про показ, а не про данные. Значение в базе от них не меняется: погасить поле и спрятать его — не то же самое, что стереть значение.
2. Видимость: элемент есть, на экране его нет
Документация говорит коротко: ложь — поле не отображается. Элемент при этом никуда не девается: он остаётся в структуре, со своим путём и видом, просто его не показывают.
| элемент удалили | элементу сняли видимость | |
|---|---|---|
| в структуре элементов | его нет | он есть |
| на экране | нет | нет |
| вернуть обратно | собрать заново | поставить свойство |
Это и есть декларативность в самом чистом виде: прятать поле — не действие, а правило. Никто не пишет «спрятать поле», кто-то один раз снял флажок в свойстве.
Спрятанное поле — не удалённое: оно осталось в структуре. И спрятано оно не навсегда — пользователь часто может вернуть его себе сам.
3. Доступность и только просмотр
Два свойства, которые легко спутать, потому что оба про «нельзя изменить».
| свойство | что происходит | как выглядит |
|---|---|---|
| Доступность = ложь | с полем нельзя работать вовсе | поле приглушено |
| Только просмотр = истина | значение видно, изменить нельзя | поле выглядит обычным |
Документация добавляет к «только просмотру» важную оговорку: свойство имеет смысл лишь там, где редактирование не запрещено прикладным смыслом или правами. Иначе говоря, это не защита, а удобство: поле, которое незачем трогать.
И третий способ мы уже знаем — сменить вид на надпись. Три способа, три разных впечатления у пользователя.
| способ | что видит пользователь |
|---|---|
| вид «поле надписи» | текст, поля нет |
| только просмотр | поле как поле, но ввод не принимает |
| доступность = ложь | приглушённое поле, до него не добраться |
4. Заголовок и подсказка
Заголовок — подпись к элементу. Пустой он не означает «подписи не будет»: документация говорит, что пустая строка — это автоматическое определение заголовка. Платформа возьмёт его из представления реквизита — то самое правило из разговора об автоформах. Убрать подпись совсем можно другим свойством, — оно задаёт, где стоит заголовок, и среди его значений есть «нет».
| что в свойстве | что на экране |
|---|---|
| пусто | подпись, собранная платформой |
| свой текст | этот текст |
| положение заголовка «нет» | подписи нет вовсе |
Подсказка — всплывающий текст при наведении курсора, и у неё есть соседнее свойство, задающее способ показа: всплывать, стоять рядом кнопкой и другие варианты.
Пишут подсказки не для украшения. Поле «Артикул» в подсказке не нуждается, а поле «Коэффициент» — очень.
5. Элемент есть, а на экране его нет
Это самое частое недоумение при разборе чужой формы, и причин у него несколько.
| причина | где проверить |
|---|---|
| снято свойство «Видимость» | палитра свойств элемента |
| скрыта группа, в которой он лежит | палитра свойств этой группы |
| пользователь убрал поле себе | настройка формы у этого пользователя |
| не хватает прав | роли пользователя |
| видимость меняет код формы | модуль формы |
Порядок проверки — от простого к трудному, сверху вниз по таблице: сначала палитра — у самого элемента и у группы над ним, — потом настройка формы, потом права, и только в конце модуль. Причины эти самые частые, но не единственные: поле может и просто не поместиться на экране, о чём речь в главе о композиции. Всё, кроме последней строки, читается глазами; последняя требует открыть модуль, а он в этой книге за границей.
Прежде чем открывать модуль, посмотрите свойство. Чаще всего ответ там.
6. Пользователь тоже настраивает форму
Про третью строку стоит сказать отдельно, потому что она удивляет: часть решений принимает не разработчик.
| что может пользователь | как |
|---|---|
| скрыть ненужные поля | снять флажки в настройке формы |
| вывести поле для реквизита, которому элемента не досталось | кнопка добавления полей там же |
| переставить поля и собрать в группы | там же |
Доступна настройка, если форма это позволяет и у пользователя есть право сохранять свои данные; сохраняется она за ним одним — у соседа форма останется прежней, а сбросить свою настройку он может там же. Следствие для чтения важное: поле, скрытое свойством, — не тайна, вернуть его себе пользователь обычно может. Свойством прячут от взгляда, а не от доступа: доступ закрывают правами.
Прятать элемент свойством или кодом — договорённость команды, а не правило платформы. Для чтения формы свойство удобнее: оно видно в палитре, а код виден только тому, кто открыл модуль.
7. В Конфигураторе и в Предприятии
Опыт на все четыре свойства сразу.
-
Откройте форму элемента «Товаров» и снимите видимость у поля «ЕдиницаИзмерения». Обновите конфигурацию и посмотрите карточку: поля нет.
-
В Предприятии откройте настройку формы и найдите скрытое поле в списке. Поставьте флажок: поле вернулось — у вас одного.
-
Верните видимость в Конфигураторе, а в Предприятии сбросьте свою настройку формы.
-
Задайте полю «Артикул» подсказку «Внутренний код товара» и посмотрите, как она всплывает.
-
Очистите у этого поля заголовок и посмотрите, что подпись осталась: платформа собрала её сама.
-
Верните всё как было: база серии должна остаться прежней.
Второй шаг стоит проделать даже тем, кто уверен, что знает ответ. Он показывает: форма, которую вы собрали, — не последнее слово. Последнее остаётся за тем, кто с ней работает.
Главное в одном абзаце
Четыре свойства элемента решают его судьбу на экране: видимость — показывать ли его, доступность — можно ли с ним работать, заголовок — что написано рядом, подсказка — что всплывёт при наведении курсора; данных они не касаются вовсе. Спрятанный элемент не удалён: он остаётся в структуре со своим путём и видом, и это чистая декларативность — не действие «спрятать», а правило в свойстве. Запретить изменение можно тремя способами, и пользователь увидит три разные вещи: надпись вместо поля, поле, не принимающее ввод, или приглушённое поле. Пустой заголовок означает не «подписи нет», а «подпись соберёт платформа». А когда элемент есть, но на экране его нет, причин несколько: снята видимость у самого элемента или у группы над ним, пользователь убрал поле себе в настройке формы, не хватает прав или видимость меняет код, — и проверять их стоит в этом порядке, начиная с палитры свойств.
Читать одно поле мы научились: путь, вид, четыре свойства. Но в чужой форме полей два десятка — с какого начать и как не утонуть в свойствах?
Контрольные вопросы
- Какие четыре свойства элемента читают первыми и что задаёт каждое?
- Чем спрятанный элемент отличается от удалённого?
- Почему видимость — пример декларативности?
- Назовите три способа не дать пользователю изменить значение и разницу между ними.
- Что означает пустое свойство «Заголовок»?
- Элемент есть, а на экране его нет. Какие причины возможны и в каком порядке их проверять?
- Что может сделать с формой сам пользователь и что из этого следует?
Упражнения
По образцу. Снимите видимость у поля «КонтактноеЛицо» в форме элемента «Контрагентов», проверьте в Предприятии и верните обратно.
Своё: подберите свойство. Что вы зададите для каждого случая: телефон должен быть виден, но не правиться; поле «Комментарий» нужно спрятать от всех; у поля «ИНН» должно всплывать пояснение; подпись к полю «Наименование» нужно изменить на «Название товара».
Ловушка: «поле исчезло». Пользователь звонит: «из карточки пропал артикул, верните». В форме поле есть, видимость стоит. Что вы спросите и куда посмотрите?
Обратный ход. У поля заголовок пуст, а подпись на экране есть. Откуда она взялась и что будет, если в свойстве написать свой текст?
На чтение. В чужой форме поле «Сумма» погашено, а рядом надпись показывает ту же сумму. Что сделал автор формы и зачем, скорее всего?
Ответы — в конце части.