§ 10.4. Своя задача: прокат велосипедов

Читать формы мы научились. Теперь обратная работа: спроектировать формы для задачи, которой нет ни в одной конфигурации. Задача знакомая — прокат велосипедов, тот самый, что мы начинали в книге о дереве метаданных. Там были заведены объекты: справочник велосипедов, документ выдачи и отчёт о прокате за период. Здесь у них появятся формы. И первый инструмент здесь не Конфигуратор, а лист бумаги.

1. Почему сначала бумага

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

с чего началичто получается
с Конфигуратораформа собирается из того, что подвернулось
с бумагиформа собирается из того, что решили

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

Конфигуратор отвечает на вопрос «как это собрать». Бумага — на вопрос «что именно собирать».

2. Три решения до Конфигуратора

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

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

Это те же вопросы, которыми мы читали чужие формы, только заданные себе. И отвечать на них лучше в том же порядке: решив «о чём», вы уже знаете, какие стандартные команды придут сами.

3. Порядок проектирования

Проектируют не от данных, а от работы человека.

шагчто делаем
1описать работу: кто, что делает, в каком порядке
2выписать, какие сведения ему нужны на экране
3нарисовать скетч: что где лежит
4перевести скетч в дерево элементов
5только теперь — Конфигуратор

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

4. Три объекта проката и их формы

В задаче три объекта, а форм выходит четыре: у справочника их две.

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

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

5. Приёмы, которые экономят время

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

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

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

6. Как сравнить замысел и результат

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

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

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

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

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

  1. Опишите одной фразой работу приёмщика: что он делает, когда выдаёт велосипед.

  2. Нарисуйте на бумаге четыре скетча: карточка велосипеда, список велосипедов, форма выдачи, форма отчёта. Поля, группы, кнопки — всё словами и рамками.

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

  2. Откройте Конфигуратор и сначала посмотрите автоформы — все четыре, по своим скетчам. Отметьте, где они совпали со скетчем.

  3. Соберите формы по своим скетчам. Начните с той, где расхождений с автоформой больше всего.

  4. Откройте Предприятие и проведите одну выдачу от начала до конца, как это делал бы приёмщик.

  5. Сравните замысел и результат по четырём строкам из таблицы выше. Запишите, что узнали.

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

Проектирование начинают не в Конфигураторе, а на бумаге: там дешевле передумать, а в собранной форме жалко выбрасывать сделанное. На каждую форму принимают три решения словами: о чём она, что показать, как сложить — те же вопросы, которыми читают чужие формы, только заданные себе. Идти стоит от работы человека: описать, кто что делает, выписать нужные ему сведения, нарисовать скетч, перевести в дерево элементов и только потом открыть Конфигуратор. В задаче проката три объекта и четыре формы: карточка велосипеда и список — свободен ли он; документ выдачи — кто, что и на какой срок; отчёт за период — сколько и на какую сумму. Экономят время четыре приёма: начать с автоформы как с черновика, не начинать со страниц, называть по-человечески, не прятать нужное. А главная польза — в сравнении замысла с результатом: что появилось, что исчезло, что платформа разместила иначе. Каждое расхождение — это то, чего вы не знали о формах до сборки.


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

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

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

Упражнения

По образцу. Нарисуйте скетч и дерево элементов для формы списка велосипедов — так, чтобы приёмщик видел, какие свободны.

Своё: ещё один документ. Прокату нужен документ возврата. Опишите работу одной фразой и нарисуйте скетч его формы.

Ловушка: «соберу сразу в Конфигураторе». Коллега собрал форму выдачи за полчаса, а потом два часа её переделывал. Что он пропустил?

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

На чтение. В собранной форме выдачи оказалось пять кнопок, а в скетче было две. Как объяснить разницу, не считая это ошибкой?

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