Любой отчёт в 1С отвечает на вопрос «что у нас с данными за период». Вопрос звучит одинаково, но способов построить отчёт несколько. Самый распространённый в современных конфигурациях — система компоновки данных (СКД). Она позволяет описать, какие данные нужны и как их показать, а вывод и настройку пользователем берёт на себя платформа.
Как данные попадают в отчёт
Путь упрощённо выглядит так:
- Источник. Таблицы информационной базы: документы, справочники, регистры.
- Запрос. На языке запросов 1С выбираются нужные поля и условия.
- Схема компоновки. Описывает наборы данных, поля, ресурсы, параметры и настройки.
- Компоновка и вывод. Платформа применяет настройки пользователя и формирует табличный документ.
Основные элементы схемы
| Элемент | Для чего нужен |
|---|---|
| Набор данных | Запрос или объект, откуда берутся строки |
| Поля | Столбцы набора: что можно выводить, группировать, отбирать |
| Ресурсы | Числа, которые суммируются или считаются по группировкам (сумма, количество) |
| Параметры | Значения для запроса и вывода, например период |
| Настройки | Структура отчёта: группировки, отборы, порядок, оформление, варианты |
Пример запроса набора данных
Ниже — упрощённый запрос оборотов по номенклатуре. Имена регистра и ресурсов даны для примера, в вашей конфигурации они будут другими:
ВЫБРАТЬ
ПродажиОбороты.Номенклатура КАК Номенклатура,
ПродажиОбороты.КоличествоОборот КАК Количество,
ПродажиОбороты.СуммаОборот КАК Сумма
ИЗ
РегистрНакопления.Продажи.Обороты(&НачалоПериода, &КонецПериода, Авто, ) КАК ПродажиОбороты
Параметры &НачалоПериода и &КонецПериода задают период. В схеме их связывают со стандартным периодом отчёта, чтобы пользователь выбирал даты в обычной форме. Группировку по номенклатуре и итоги по количеству и сумме обычно задают не в запросе, а в настройках и ресурсах схемы.
Зачем нужна СКД
- Гибкость для пользователя. Можно менять группировки, отборы и сортировку без обращения к разработчику.
- Меньше кода. Вывод, итоги и расшифровки платформа обеспечивает сама.
- Единый подход. Отчёты разных разработчиков устроены похоже, их проще сопровождать.
- Варианты отчёта. Для разных ролей можно сохранить свои настройки одного и того же отчёта.
Где СКД неудобна
Отчёты со сложной нестандартной вёрсткой, например с фиксированной формой бланка или множеством вычислений между ячейками, иногда проще делать через табличный документ с макетом. В таких случаях СКД можно использовать для получения данных, а оформление собрать вручную.
Типичные ошибки
- Один тяжёлый запрос на всю базу без отбора по периоду: отчёт формируется минутами.
- Итоги считаются и в запросе, и в ресурсах: числа удваиваются или расходятся.
- Поля набора названы одинаково, но берутся из разных источников, из-за чего связи работают неочевидно.
- Отчёт проверен только на тестовых данных, без реальных объёмов и граничных случаев (пустой период, нет данных).
Если рутинные выгрузки из отчётов потом переносятся в таблицы, посмотрите «Полезные формулы Excel».
Обсудить задачу ↗