§ 9.1. Форма элемента: одна запись справочника

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

1. Пять ролей одного справочника

Каждая строка — это роль: случай, в котором платформа позовёт форму.

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

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

2. Вид формы — это роль, а не клеймо

Форма в дереве объекта не помечена как «форма элемента». Видом её делает назначение: в какую строку основных форм её поставили.

что бываетчто это значит
форма назначена формой объектаеё откроют для одного элемента
та же форма назначена и формой выбораона же откроется при выборе
форма не назначена ни в одну строкусама не откроется: её открывают из кода

Значит, читаем так: чтобы понять вид чужой формы, мало открыть саму форму. Надо посмотреть, в какой строке объекта она стоит, — там и написано, кем её считает платформа.

Сама форма ролью не помечена. Вид формы — это роль, в которой её вызывают, и назначают её у объекта, а не у формы.

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

3. Что делает форму формой элемента

Роль ролью, но и устроена такая форма узнаваемо. Признаков три, и все мы уже разбирали по отдельности.

признакгде смотреть
основной реквизит типа «объект справочника»список реквизитов формы
стандартные команды записи и закрытиясписок команд
поля, связанные с реквизитами записипути к данным элементов

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

4. Что есть в карточке всегда

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

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

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

5. Форма элемента и форма группы

Из этого общего ядра вырастает и отличие группы: у неё обычно остаётся только оно. Элемент и группа в иерархическом справочнике — разные вещи, поэтому и формы у них разные.

элементгруппа
что этотоварпапка «Бумага»
какие реквизитывсе свои: артикул, единицаобычно только код и наименование
какая рольформа объектаформа группы

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

6. Как читать форму элемента в чужой конфигурации

Разбор короткий, потому что вид задаёт ожидания.

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

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

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

7. В Конфигураторе

Посмотрим на роли, не меняя ничего.

  1. Откройте окно редактирования справочника «Товары» и найдите строки основных форм. Перепишите, какие заполнены.
Здесь будет снимок экранаокно редактирования справочника «Товары» со строками основных форм
  1. Проверьте строку формы объекта: в ней должна стоять наша карточка. Остальные строки пусты.

  2. Откройте в Предприятии группу товаров — например, «Бумага». Это автоформа группы: строка формы группы пуста.

  3. Вернитесь в Конфигуратор и посмотрите на список форм справочника: форма одна, а ролей пять. Роли раздаются здесь, в окне объекта.

  4. Ничего не меняйте: формы выбора и группы понадобятся в следующих разговорах.

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

У справочника пять ролей для форм: форма объекта, группы, списка, выбора и выбора группы; в каждой строке указывают форму, а если строка пуста, платформа строит форму сама. Вид формы — это роль, в которой её назначили, а не свойство самой формы: одна форма может стоять в двух ролях, а форма, не назначенная никуда, откроется только командой. Рядом живут дополнительные формы — их вызывают, когда основная не задана или не подходит. Форму элемента узнают по трём признакам: основной реквизит типа объекта справочника, стандартные команды записи и закрытия, поля с путями к реквизитам записи. Часть карточки задана не разработчиком, а видом объекта: код, наименование, пометка удаления, родитель — поэтому карточки справочников всюду похожи. У иерархического справочника элемент и группа — разные роли, и если форма группы не назначена, пользователь увидит автоформу. В чужой конфигурации читают тип основного реквизита, строки основных форм и состав полей против реквизитов объекта.


Карточка говорит об одной записи. Но тот же справочник умеет показывать себя и целиком — списком, и мы такую форму уже собирали. Что в ней устроено иначе и почему список живёт по другим правилам?

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

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

Упражнения

По образцу. Посмотрите строки основных форм у справочника «Контрагенты» и скажите, что откроется при выборе контрагента в документе.

Своё: раздайте роли. Для справочника «Склады» решите, какие формы вы бы сделали своими, а какие оставили платформе, и объясните почему.

Ловушка: «сделал форму — она и откроется». Разработчик собрал форму элемента, но не назначил её. Что увидит пользователь и почему?

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

На чтение. В карточке товара чужой конфигурации нет поля «Код», хотя реквизит стандартный. Какие объяснения возможны?

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