§ 1.3. Виды автогенерируемых форм: список, элемент, выбор, группа

Двойной щелчок по строке в списке товаров открывает карточку. Двойной щелчок в окне, которое открылось по кнопке «…» у поля «Контрагент», не открывает ничего — он выбирает контрагента и закрывает окно. Оба окна показывают список записей одного справочника, а ведут себя по-разному, потому что это разные формы. У одного объекта их несколько, и, пока своих форм у него нет, каждую строит платформа.

1. У одного объекта несколько лиц

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

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

У документа набор свой, но устроен так же: форма документа вместо формы элемента, форма списка, форма выбора.

Один объект — несколько форм: по одной на каждый способ разговора.

2. Кто просит форму

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

что сделал пользователькакую форму просит
выбрал команду «Товары» в разделеформу списка
щёлкнул по строке дваждыформу элемента
нажал «Создать»форму элемента для новой записи
нажал «…» в поле «Контрагент»форму выбора контрагентов
открыл папку «Бумага»форму группы

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

3. Список и выбор: близнецы, но не одно

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

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

Последняя строка — главная. Форма выбора всегда открыта для кого-то: её попросило поле, и она вернётся к нему с ответом. Поэтому в ней и появляется кнопка «Выбрать», которой в списке нет.

4. Иногда окно выбора не открывается вовсе

Поле ссылочного типа не всегда зовёт форму выбора. Если у справочника включён быстрый выбор и записей немного, платформа показывает их выпадающим списком прямо под полем: выбрали строку — и всё, окна не было. Быстрый выбор — свойство справочника, а не формы.

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

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

5. Почему у папки своя карточка

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

Товары
├── Бумага          ← группа: имя, родитель
│   ├── Бумага А4   ← элемент: имя, артикул,
│   └── Бумага А3       единица
└── Письменные

Какие реквизиты достаются группе, а какие элементу, задаёт свойство самого реквизита — и это снова правило из дерева, а не решение формы.

6. Сборка у всех одна

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

что различаетсячто одинаково
задача разговораисточники: дерево объекта
набор кнопокпорядок полей — как в дереве
поведение по двойному щелчкувид поля — по типу реквизита

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

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

7. В режиме Предприятия

Откроем четыре окна подряд и назовём вид каждого — это и есть навык, ради которого параграф написан.

  1. Откройте список товаров. Это форма списка: в ней много записей и есть кнопка «Создать».

  2. Щёлкните дважды по «Ручка шариковая» — открылась форма элемента. Закройте её.

  3. Откройте папку «Бумага» двойным щелчком. Открывшееся окно — форма группы: полей меньше, артикула нет.

  4. Откройте поступление № 12 и нажмите «…» у поля «Контрагент». Это форма выбора: двойной щелчок по строке закроет окно и подставит контрагента. Нажмите «Отмена» или закройте окно, ничего не выбирая.

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

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

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


Пока всё складывается удачно: платформа делает лица объекта сама, и они работают. И всё же разработчики зачем-то рисуют формы руками — значит, у этого удобства где-то кончается запас. Где?

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

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

Упражнения

Назовите вид. Откройте в Предприятии четыре окна из параграфа и для каждого скажите вслух: какой это вид формы, кто её попросил и чем она закончится.

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

Ловушка: «это тот же список». Коллега говорит: «Окно выбора — это тот же список, просто открытый в другом режиме». В чём он прав и в чём ошибается?

Обратный ход. Пользователь рассказывает: «Нажал на кнопку с тремя точками, выбрал строку двойным щелчком, окно само закрылось, и значение подставилось». Какие формы участвовали в этой истории и в каком порядке?

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