§ 4.4. Виды полей: одно значение, разные способы показать

Выделите поле «Артикул» и раскройте в палитре список у строки «Вид»: выбран в нём один вариант — тот, что подставила платформа, глядя на строковый тип. Выбор этот не окончательный: вариант в списке меняют, как любую другую настройку. Здесь и становится видно во всей полноте, что элемент и то, что он показывает, — разные вещи: артикул один, а способов его показать несколько.

1. Свойство «Вид» и кто его заполняет

У поля есть свойство, которое решает, чем оно будет на экране.

кто задаёткогда
платформасама, по типу данных из пути
разработчиккогда выбор платформы не подходит

Значение по умолчанию — не приказ, а предложение. Строка получает поле ввода потому, что это самый ходовой вид для строки, а не потому, что иначе нельзя.

2. Пять рабочих видов

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

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

Остальные нужны для особых задач: поле календаря показывает месяц целиком, поле индикатора — шкалу заполнения, поля табличного и текстового документа — встроенный документ. Встретив такое поле в чужой форме, вы узнаете его по имени вида и по тому, что оно показывает.

Доступен, впрочем, не весь набор сразу: выбор сужает тип данных, на которые поле указывает.

3. Вид ограничен типом

Свобода тут не полная, и ограничивают её данные.

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

Правило простое: вид меняет способ показа, но не сам показываемый предмет. Флажок возможен, когда за полем булево, — и то лишь один из допустимых видов: булево показывают и полем ввода, и надписью. А строку флажком не покажешь: нечего ставить и снимать.

Тип решает, что показывают. Вид решает, как. Второе выбирают из того, что позволяет первое.

4. Надпись и декорация — не одно и то же

Самая полезная пара в этом параграфе. Оба показывают текст, который нельзя изменить, а различаются тем, откуда текст берётся.

поле надписидекорация
этополе — тот же элемент, что и поле ввода, только вид другойдругой вид элемента, не поле
путь к данныместьнет
что на экранезначение из данныхтекст, набранный разработчиком
меняется лида, когда меняется значениенет, он записан в форме

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

5. Зачем менять вид

Поводов немного, и все они про работу пользователя.

поводчто делают
значение показать, но не давать менятьвид «поле надписи»
выбор из двух-трёх вариантов на видувид «поле переключателя»
признак, который читают глазамивид «поле картинки»

Первая строка — самая частая, и у неё есть соперник: свойство поведения, которое запрещает изменение, оставляя поле полем. Разница в том, что видит пользователь: надпись выглядит как текст, а запрещённое к изменению поле — как поле, в которое не пускают.

6. Один реквизит — два вида рядом

Раз вид принадлежит элементу, одно значение можно показать дважды и по-разному на одной форме.

Объект.Артикул
├── поле ввода    ← в карточке правят
└── поле надписи  ← в шапке показывают

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

7. В Конфигураторе и в Предприятии

Опыт на две минуты: одно значение, два способа показать.

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

  2. Верните полю вид «поле ввода»: карточка снова даёт править артикул.

  3. Выделите поле-флажок «ПоказыватьПодробности» и посмотрите список видов у него. Он короче — тип булево позволяет меньше.

  4. Ничего не меняя, закройте форму. Если что-то поменяли — верните: база серии должна остаться прежней.

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

Главное в одном абзаце

У поля есть свойство «Вид», и платформа заполняет его сама по типу данных из пути — но это предложение, а не приказ. Рабочих видов пять: поле ввода, поле надписи, поле флажка, поле переключателя, поле картинки; всего же видов у поля около двух десятков, и остальные нужны для особых задач. Свобода выбора ограничена типом: флажок возможен, когда за полем булево, переключатель — когда есть набор вариантов, а строку ни тем ни другим не покажешь. Отсюда правило: тип решает, что показывают, вид — как. Поле надписи и декорация выглядят одинаково, но первое связано с данными и меняется вместе с ними, а второе показывает текст, записанный в форме, — различает их путь к данным. Менять вид стоит ради работы пользователя: показать без права ввода, дать выбор на виду, показать признак картинкой; и одно значение спокойно показывают два элемента разного вида на одной форме.


Вид выбран, путь задан, значение на экране. Но поле может оказаться невидимым, недоступным для ввода или без подписи — и всё это тоже чьи-то решения. Где они записаны?

Контрольные вопросы

  1. Какое свойство решает, чем поле будет на экране, и кто его заполняет?
  2. Назовите пять видов полей, которые встречаются чаще всего.
  3. Почему нельзя показать строку полем флажка?
  4. Чем поле надписи отличается от декорации и как их различить в чужой форме?
  5. Зачем менять вид поля? Назовите два повода.
  6. Что произойдёт со значением в базе, если сменить вид поля?
  7. Можно ли показать один реквизит двумя полями разного вида на одной форме?

Упражнения

По образцу. Смените вид поля «Телефон» в форме элемента «Контрагентов» на надпись, посмотрите в Предприятии и верните обратно.

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

Ловушка: «сделай поле некликабельным». Заказчик просит, чтобы поле суммы в документе «нельзя было трогать». Назовите два способа и объясните, чем они отличаются для пользователя; точные настройки второго разберём дальше.

Обратный ход. В чужой форме текст показывается и меняется при изменении данных, а ввести в него ничего нельзя. Что это за элемент и как проверить догадку?

На чтение. В форме поле связано с реквизитом типа Булево, а вид у него — поле ввода. Что увидит пользователь и зачем так могли сделать?

Ответы — в конце части.