§ 9.2. Форма списка: разговор о многих записях

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

1. Что меняется, когда записей много

Сравним два разговора по одним и тем же вопросам.

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

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

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

2. Роль списка у разных объектов

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

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

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

3. Кто открывает список

У карточки один обычный вход — из списка. У списка входов несколько, и это делает его точкой сборки.

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

Три первых входа мы разбирали в разговорах о командном интерфейсе. Третий вход особый: когда список открывают ради выбора, платформа зовёт не эту форму, а форму выбора.

4. Текущая строка вместо записи

В карточке всё, что делают кнопки, относится к открытой записи. В списке предмет действия — текущая строка.

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

Практическое следствие: команда в форме списка почти всегда означает «сделать что-то с той записью, на которой стоит курсор». Если команда должна работать с несколькими строками сразу, это отдельное решение разработчика, и написано оно кодом.

5. Чего у списка нет

Список не умеет того, что для карточки естественно, — и это не упущение.

чего нетпочему
команды «Записать»записывать нечего: строки принадлежат базе
команды «Провести»проводят документ, а не список
проверки заполненияона срабатывает при записи, а записи здесь нет
признака изменённостисписок не меняют, его показывают

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

6. Что список говорит о работе

Форма списка — короткий рассказ о том, как с этими записями работают.

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

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

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

Сравним два списка и убедимся, что разница — в объекте, а не в форме.

  1. Откройте в Предприятии список товаров и список поступлений. Сравните колонки и кнопки.
Здесь будет снимок экранасписки товаров и поступлений рядом, видны разные наборы кнопок
  1. Найдите в списке поступлений команды, которых нет у товаров. Объясните каждую видом объекта.

  2. В Конфигураторе откройте окна редактирования справочника «Товары» и документа «Поступление товаров». Сравните строки основных форм: у справочника их пять, у документа три.

  3. Встаньте в списке товаров на строку и нажмите пометку на удаление — потом снимите её. Действие относилось к текущей строке.

  4. Верните список в исходное состояние: помеченных на удаление товаров быть не должно.

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

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


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

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

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

Упражнения

По образцу. Сравните списки контрагентов и реализаций: колонки, кнопки, роли форм у объектов.

Своё: спроектируйте список. Какие колонки вы бы вывели в список поступлений для закупщика и почему именно их?

Ловушка: «удалил строку — удалил запись». В списке товаров пользователь нажал пометку на удаление и говорит, что товар исчез из базы. Что вы объясните?

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

На чтение. В списке справочника есть своя команда «Объединить дубли» и нет команды создания. Что это за список и как с ним работают?

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