§ 9.5. Форма отчёта: вопрос сверху, ответ снизу

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

1. Две части одной формы

Форма отчёта делится на две части, и у каждой своя работа.

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

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

Карточка показывает то, что в базе лежит. Отчёт показывает то, что из базы получилось в ответ на вопрос.

2. Чем это отличается от карточки

Разница не в оформлении, а в том, откуда берутся данные и что с ними потом.

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

Последние две строки — главное. У отчёта нет записи, значит, нет и записи как действия: ни кнопки «Записать», ни вопроса при закрытии, ни признака изменённости. Всё, что он делает, — спрашивает и показывает.

3. Результат — это поле

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

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

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

4. Три роли форм у отчёта

Строк основных форм у отчёта тоже несколько, и роли другие, чем у справочника.

ролькогда её зовут
основная формаоткрыть отчёт
основная форма настроекоткрыть настройки отдельным окном
основная форма вариантаоткрыть сохранённый вариант отчёта

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

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

5. Откуда берутся настройки

Самое непривычное в форме отчёта: настройки в ней чаще всего не заданы полями. Их показывает платформа — по схеме компоновки данных, которая лежит у отчёта макетом.

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

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

6. Как читать форму отчёта

Разбор идёт в другом порядке, чем у карточки: сначала вопрос, потом ответ.

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

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

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

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

  1. Откройте в Предприятии отчёт об остатках товаров. Окно пустое: вопрос ещё не задан.

  2. Нажмите «Сформировать». Появился результат. Поменяйте период или отбор и сформируйте снова — ответ другой.

Здесь будет снимок экранаотчёт об остатках с настройками сверху и сформированным результатом
  1. Закройте окно. Форма не спросила, записывать ли: записывать нечего.

  2. В Конфигураторе откройте отчёт и посмотрите строки основных форм: все пусты, значит, работает автоформа.

  3. Найдите у отчёта схему компоновки данных. Внутрь не углубляйтесь — достаточно увидеть, что настройки живут там.

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

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


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

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

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

Упражнения

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

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

Ловушка: «сформировал — значит, сохранил». Пользователь сформировал отчёт, закрыл окно и не может найти результат. Что вы объясните?

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

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

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