§ 0.3. Форма как единица интерфейса: разговор о чём-то одном
Одно имя досталось сразу четырём непохожим окнам: таблице товаров, карточке ручки, карточке поступления с таблицей внизу, окну отчёта с настройками. Все они — формы. Общее имя для таких разных вещей выглядит натяжкой, пока не увидишь, что у них и правда общего. Что же делает окно формой?
Ответ, на котором держится вся книга, простой: почти каждое такое окно говорит с пользователем о чём-то одном. «Почти» — не оговорка для порядка: у этого правила есть граница, и в конце параграфа мы до неё дойдём.
1. Одно окно — один предмет
Вернёмся к четырём окнам и спросим о каждом не «как оно устроено», а «о чём оно».
| окно | о чём оно |
|---|---|
| карточка товара | об одном товаре — «Ручка шариковая» |
| карточка поступления | об одном документе — поступление № 12 |
| список товаров | о справочнике «Товары» целиком |
| отчёт об остатках | об одном вопросе — сколько товара на складах |
Предметы разные: товар, документ, справочник, вопрос. Но у каждого окна он один. Карточка ручки не рассказывает заодно о бумаге, карточка поступления № 12 — о поступлении № 13, а список товаров не превращается по ходу дела в список контрагентов. Всё, что есть в окне, — поля, таблицы, кнопки — служит одному предмету.
Это удобно представить как разговор. Программа обращается к пользователю репликой: «вот товар — ручка шариковая, вот её артикул, вот единица; хотите — поправьте и запишите». Реплика может быть длинной, но она об одном.
Форма — это разговор системы с пользователем по поводу одного объекта.
Слово «объект» здесь стоит в широком смысле: это то, на чём сосредоточен разговор, — один товар, один документ, справочник как целое или вопрос, на который отвечает отчёт. Одно — не значит «одна запись»: список говорит о многих товарах, но об одном справочнике.
2. Строже: форма в дереве конфигурации
Образ разговора помогает удержать главное, но в Конфигураторе нет ветки «Разговоры». Что там есть на самом деле, удобно записать тремя строками:
образ форма — реплика системы
об одном предмете
строго объект конфигурации, который
описывает одно окно
где ветка «Формы» внутри объекта
или «Общие формы» в «Общих»
Строго говоря, форма — объект конфигурации, который описывает одно окно прикладной программы: из каких частей оно состоит, что показывает и что позволяет сделать. Такую форму задаёт разработчик, и живёт она рядом со своим предметом. Формы товара — внутри справочника «Товары», в его собственной ветке:
Справочники
└── Товары
├── Реквизиты
│ ├── Артикул
│ └── ЕдиницаИзмерения
├── Табличные части
├── Формы ← формы товара
├── Команды
└── Макеты
Если форму решили сделать общей для многих объектов, она лежит в ветке «Общие», среди общих форм. Правило выходит простым: где предмет разговора, там и заданные для него формы.
Здесь вас ждёт первая странность. Раскройте в «Канцтоварах» ветку «Формы» у товаров — она пуста. А карточка ручки в Предприятии открывалась, и список товаров тоже. Окно есть, а формы в дереве нет: окно может обойтись без заданной формы. Кто в таком случае его строит — вопрос следующей главы; пока просто отметьте, что так бывает и что правило выше говорит только о заданных формах.
3. Пять слов разговора
У разговора есть части, и у каждой в 1С своё настоящее имя. Сейчас мы их только назовём: каждое слово раскроется в своей главе, и запоминать всё разом не нужно.
| в разговоре | в 1С | где в Конфигураторе |
|---|---|---|
| реплика | форма | ветка «Формы» объекта |
| предмет реплики | основной реквизит формы | вкладка «Реквизиты» редактора формы |
| видимая часть реплики | элемент формы | вкладка «Элементы» |
| глагол | команда | вкладка «Команды» |
| оглавление | командный интерфейс | в дереве конфигурации, вне формы |
Оговорка про предмет: у карточки он лежит в одном месте — в основном реквизите формы. У списка и отчёта роль предмета играют свои данные, и о них книга скажет в своё время.
Одно предупреждение сразу. «Реквизит формы» — не то же, что реквизит товара из дерева конфигурации, хотя слово одно. Реквизит товара — его свойство, которое хранится в базе; реквизит формы — данные, которые форма объявляет у себя и с которыми работает, пока открыта. Различать их учит глава о данных формы, а до неё слово «реквизит» без уточнения будет значить реквизит объекта.
Приложим пять слов к знакомой форме — карточке поступления № 12:
| слово разговора | на карточке поступления |
|---|---|
| реплика | вся карточка целиком |
| предмет | само поступление № 12 |
| видимые части | поля «Номер», «Контрагент», «Склад», таблица товаров |
| глаголы | «Провести и закрыть», «Записать» |
| оглавление | разделы и команды программы, через которые её открыли |
Заметьте, что предмет на экране не виден сам по себе: видно его отражение — номер, поставщик, строки товаров. Сам документ живёт в базе, а форма держит его у себя, пока открыта, и показывает по частям. Это различие ещё не раз пригодится.
4. С чего начинается чтение формы
Раз у каждой формы один предмет, первый вопрос к любой незнакомой форме — «о чём она?». Ответить на него часто помогает заголовок окна. Когда форму строит платформа, она пишет в заголовке имя предмета, а у карточек — ещё и в скобках, какого вида этот предмет. Автор формы может задать и свой заголовок, поэтому заголовок — подсказка, а не гарантия.
| заголовок окна | предмет разговора |
|---|---|
| Ручка шариковая (Товары) | один элемент справочника «Товары» |
| Поступление товаров 0000000012 от 15.03.2026 | один документ |
| Товары | справочник «Товары» целиком |
| Остатки товаров на складе | один вопрос |
Остальные вопросы — из каких частей форма собрана, какие у неё глаголы, откуда она берёт данные — книга будет добавлять по одному, глава за главой. Но первым всегда остаётся этот.
Чтение формы начинается с вопроса «о чём она?». Первая подсказка — заголовок окна.
5. Где разговор перестаёт быть об одном
Образ разговора об одном объекте точно описывает большинство форм: карточки, списки, отчёты. Но у него есть граница, и о ней лучше знать заранее.
Представьте рабочее место кассира. В одном окне — товары покупателя, сумма, способ оплаты, сдача, кнопка печати чека. О каком одном объекте это окно? Ни о каком: оно не о товаре и не о документе, а о задаче — обслужить покупателя.
| окно | о чём оно |
|---|---|
| карточка поступления | об одном документе |
| рабочее место кассира | о задаче: пробить покупку — товары, оплата, чек |
Такие окна тоже формы, и собраны они из тех же деталей: полей, таблиц, кнопок. Отличается только то, что в центре разговора стоит не предмет, а дело. В дереве конфигурации они чаще всего живут в ветке «Обработки». Подробно мы встретимся с ними ближе к концу книги; пока достаточно знать, что форма «не про один объект» — не ошибка и не нарушение правила, а другой род формы.
Большинство форм — про один объект. Но есть формы, у которых в центре задача, а не предмет. Устроены они из тех же деталей.
6. В режиме Предприятия
Проверим на «Канцтоварах», что у каждой формы один предмет и что заголовок его называет.
-
Откройте карточку товара «Ручка шариковая» и прочитайте заголовок окна: имя предмета и, в скобках, его вид.
-
Откройте список товаров. В заголовке — «Товары», без скобок: предмет — справочник целиком.
-
Откройте список поступлений и нажмите «Создать». Откроется карточка документа, которого ещё нет, — и заголовок об этом скажет. Ничего не вводя, закройте её.
-
Откройте поступление № 12 и нажмите кнопку «…» у поля «Контрагент». Откроется окно со списком контрагентов: его предмет — справочник «Контрагенты», а задача — выбрать из него одного. Закройте его, ничего не выбирая, а затем закройте и карточку.
Обратите внимание на третий шаг: предмета разговора может ещё не быть. Новая карточка говорит о документе, который появится в базе, только когда его запишут. А четвёртый шаг показывает ещё одну форму о справочнике целиком — форму выбора: предмет тот же, что у списка, а разговор другой — «выберите одного».
Главное в одном абзаце
Окна прикладной программы, которые мы называем формами, почти всегда говорят с пользователем о чём-то одном — об одном товаре, одном документе, о справочнике как целом или об одном вопросе. Отсюда образ, на котором держится книга: форма — это разговор системы с пользователем по поводу одного объекта. Строго форма — объект конфигурации, описывающий одно окно; заданная разработчиком, она живёт в ветке «Формы» внутри своего объекта или среди общих форм, но окно может обойтись и без заданной формы. У разговора пять частей — реплика, предмет, видимая часть, глагол, оглавление, — и в 1С им соответствуют форма, реквизит формы, элемент формы, команда и командный интерфейс. Чтение любой формы начинается с вопроса «о чём она?», и первая подсказка — заголовок окна. Граница у образа тоже есть: бывают формы, в центре которых задача, а не предмет, — вроде рабочего места кассира; собраны они из тех же деталей.
Каждая форма — реплика об одном. Но реплик в программе десятки, и пользователь как-то находит нужную. Кто подсказывает ему, какие разговоры в программе вообще возможны и откуда их начинать?
Контрольные вопросы
- Что общего у всех окон программы, которые мы называем формами?
- О чём разговаривает карточка товара, а о чём — список товаров?
- Что такое форма, если сказать строго, и где она живёт в Конфигураторе?
- Назовите пять слов разговора и то, что каждому из них соответствует в 1С.
- По чему в Предприятии быстрее всего понять, о чём форма?
- Чем рабочее место кассира не похоже на карточку документа — и чем похоже?
Упражнения
Назовите предмет. Откройте в Предприятии карточку товара, список товаров, карточку поступления № 12, отчёт об остатках и окно выбора контрагента. Для каждого окна одной фразой ответьте: о чём оно?
Бланк из жизни. Возьмите бумажный бланк — квитанцию за квартиру, заявление в библиотеку, бланк заказа. О каком одном предмете он? Что в нём заполняет человек, а что уже напечатано заранее?
Ловушка: список — это много разговоров? Коллега рассуждает: «Список товаров — не одна реплика, а много: по одной на каждый товар, строк-то много». Прав ли он? Чем проверить?
Предмет по заголовку. Даны заголовки окон: «Контрагенты», «ООО «Ромашка» (Контрагенты)», «Поступление товаров (создание)», «Рабочее место кассира». Назовите предмет разговора в каждом. Какое окно не укладывается в «разговор об одном объекте» и почему?
Ответы — в конце части.