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