Как перестроить готовый отчёт и собрать свой на системе компоновки данных
Содержание
Готовый отчёт настраивают прямо из его формы: откройте отчёт, нажмите Показать настройки (или Настройки), добавьте нужные группировки, отборы и поля — и Сформировать. Свой отчёт, которого в типовой конфигурации нет, собирают на системе компоновки данных (СКД): в Конфигураторе или в расширении создают отчёт, рисуют запрос, задают структуру и выводят результат в табличный документ.
Разница в задаче. Если нужные данные уже есть в типовом отчёте, но не в том разрезе — хватит настроек пользователя, программировать ничего не надо. Если данных нет ни в одном отчёте или нужен нестандартный разрез по регистрам — придётся собрать отчёт на компоновке данных: с запросом, параметрами, подсветкой строк и выгрузкой в Excel.
Настройка готового отчёта кнопкой «Настройки»
Большинство задач закрывается без разработки. Откройте любой стандартный отчёт — оборотно-сальдовую ведомость, карточку счёта, анализ субконто — и нажмите Показать настройки. Форма настроек открывается справа или сверху, в зависимости от конфигурации.
Переключатель вида настроек наверху панели даёт три режима:
- 🟢 Простой — период, организация и пара быстрых отборов. Подходит, когда нужно просто сменить даты или фирму.
- 🟡 Расширенный — вкладки
Группировки,Отборы,Показатели,Оформление,Дополнительные поля. Здесь перестраивают разрез отчёта. - 🔵 Изменение пользовательских настроек через многоточие у отдельного поля — тонкая правка одного параметра.
Что меняют чаще всего:
- Группировки. На вкладке
Группировкидобавьте или уберите разрезы: по субсчетам, по номенклатуре, по складам. Порядок строк в списке группировок = порядок вложенности в отчёте. - Отборы. Вкладка
Отборы— условия на данные: например, показать обороты только по одному контрагенту или складу. Вид сравнения выбирается в колонке условия (Равно,В списке,В группе из списка). - Показатели. На вкладке
Показателивключают и выключают колонки: БУ, НУ, количество, валютную сумму. - Дополнительные поля. Выводят в строки дополнительные реквизиты — например, ИНН контрагента рядом с его наименованием.
Настроенный вид не пропадёт при закрытии. Нажмите Сохранить настройки (значок дискеты или пункт Еще → Сохранить настройки), дайте варианту имя — и он появится в списке Выбрать настройки. Так одна ОСВ может иметь несколько сохранённых разрезов под разные задачи.
Этого достаточно для 80% запросов «как настроить отчёт». К компоновке данных переходят, только когда готового отчёта под задачу нет.
Что такое СКД и как создать свой отчёт
Система компоновки данных — это механизм платформы, который по описанию (откуда брать данные и как их показывать) сам строит и выводит отчёт. Разработчик не пишет код вывода построчно: он задаёт запрос и настройки, а компоновщик собирает табличный документ, итоги, группировки и диаграммы.
Создать отчёт можно двумя способами:
- Внешний отчёт — отдельный файл
.erf. В Конфигураторе:Файл → Новый → Внешний отчёт. Его удобно отлаживать и переносить между базами, он не меняет конфигурацию. - Отчёт в расширении конфигурации — чтобы добавить отчёт в типовую базу, не снимая её с поддержки. Расширения доступны с платформы 8.3.6. В дереве расширения добавьте объект
Отчеты, затем подключите его к подсистеме, чтобы отчёт попал в нужный раздел интерфейса.
Не меняйте типовую конфигурацию напрямую ради одного отчёта: это усложнит обновления. Внешний отчёт или расширение решают ту же задачу без потери поддержки.
Дальше в обоих случаях одинаково. У объекта отчёта откройте свойство Основная схема компоновки данных и нажмите создать новую схему. Откроется конструктор схемы компоновки — это и есть рабочее место: вкладки Наборы данных, Связи наборов, Вычисляемые поля, Ресурсы, Параметры, Настройки.
Набор данных: запрос, виртуальные таблицы, поля и ресурсы
Данные отчёт получает из набора данных. Чаще всего это набор типа Запрос. На вкладке Наборы данных добавьте набор, встаньте в поле текста запроса и нажмите Конструктор запроса — визуальный построитель, где таблицы и поля выбирают мышью.
Откуда брать данные, зависит от того, что считаете:
- Справочники и документы — когда нужен список объектов с реквизитами (номенклатура, контрагенты, проведённые документы за период).
- Регистры накопления и бухгалтерии — когда нужны остатки и обороты. Напрямую к таблице регистра обращаться не стоит: для сумм на дату и за период есть виртуальные таблицы.
Виртуальная таблица — это предрасчёт, который платформа строит на лету. У регистров остатков и оборотов их несколько:
Остатки— остаток на указанный момент.Обороты— приход и расход за период.ОстаткиИОбороты— остаток на начало, обороты и остаток на конец одним запросом.
У периодических регистров сведений — СрезПоследних (последнее значение на дату, например актуальная цена) и СрезПервых. Параметры виртуальной таблицы (период, условия) задавайте в самой таблице, а не в ГДЕ: иначе платформа сначала поднимет все записи и только потом отфильтрует — запрос станет тяжёлым.
После построения запроса нажмите ОК. СКД сама заполнит вкладку Поля — список доступных для вывода полей. Здесь можно переименовать заголовки (колонка Заголовок), запретить вывод служебных полей, настроить роль
поля.
Числовые колонки, которые надо суммировать, превратите в ресурсы. Вкладка Ресурсы → перенесите поле (Сумма, Количество) в правую часть и выберите агрегат — Сумма(), Количество(), Максимум(). Без ресурсов цифры выведутся как есть, без итогов по группировкам.
Если нужно поле, которого нет в запросе (разница, процент, объединение строк), добавьте его на вкладке Вычисляемые поля и задайте выражение — например, ВыручкаБУ - ВыручкаНУ.
Когда данные идут из двух источников — скажем, план из одного набора и факт из другого, — добавьте второй набор данных и соедините их на вкладке Связи наборов данных по общему полю (номенклатуре, периоду). Так в одной строке отчёта окажутся и плановые, и фактические цифры. Простые случаи, где нужно просто сложить однотипные строки из разных таблиц, решаются через ОБЪЕДИНИТЬ ВСЕ прямо в запросе — без второго набора.
Структура: группировки, таблица и диаграмма
Структура отвечает на вопрос, как именно разложить данные. Настраивается на вкладке Настройки, дерево структуры — в верхней части.
По правой кнопке на корне структуры доступны элементы:
- Группировка — строки с итогами по полю. Вложенные группировки дают многоуровневый отчёт:
Склад → Номенклатура. Пустая группировка (Детальные записи) выводит строки без свёртки. - Таблица — кросс-отчёт: группировки идут и в строки, и в колонки. Так строят, например, продажи по номенклатуре (строки) и по месяцам (колонки).
- Диаграмма — график или круговая диаграмма по тем же данным.
Для обычного отчёта-списка хватает одной группировки с Детальными записями внутри. Для сводки добавьте группировки по нужным разрезам.
В выбранной группировке на вкладке Выбранные поля укажите, какие колонки показывать. Поля-ресурсы добавятся с итогами автоматически. Тут же — вкладки Сортировка (порядок строк) и Отбор на уровне конкретной группировки.
Для стандартного вида отчёта макет рисовать не нужно — компоновщик строит табличный документ сам по структуре и оформлению. Собственный макет нужен только там, где хочется нетиповой вывод: фирменный бланк, шапку с реквизитами, особую вёрстку ячеек. Тогда на вкладке Наборы данных или в настройках задают макеты полей, группировок и общий макет оформления, а СКД подставляет в них данные. Начинать стоит с типового вывода и переходить к макетам, только когда штатного оформления действительно не хватает.
Если отчёт выводит строки, но без сумм в итогах — почти всегда причина в том, что числовое поле не объявлено ресурсом. Проверьте вкладку Ресурсы схемы.
Параметры и пользовательские настройки
Параметры — это значения, которые подставляются в запрос снаружи: период, организация, конкретный склад. На вкладке Параметры схемы видны все параметры, включая автоматически созданные для виртуальных таблиц (НачалоПериода, КонецПериода, Период).
Для каждого параметра настраивают:
- Заголовок — как поле назовётся в форме отчёта.
- Доступные типы — например, тип
Датас составом «Дата и время» или только «Дата». - Ограничение доступности — служебные параметры прячут, чтобы пользователь их не трогал.
Чтобы пользователь мог менять параметр или отбор прямо в режиме 1С:Предприятие, вынесите элемент в пользовательские настройки. В настройках встаньте на параметр или отбор, нажмите на поле со свойством Пользовательская настройка (значок карандаша или колонка «…») и задайте режим:
- Быстрый доступ — элемент появится на основной форме отчёта, над результатом.
- Обычный — элемент будет в окне
Показать настройки, но не на виду.
Так пользователь в режиме Предприятие получит те же удобные поля отбора, что и в типовых отчётах, и не полезет в Конфигуратор ради смены периода. Период и организацию почти всегда делают быстрыми пользовательскими настройками — без них отчёт неудобен.
Условное оформление строк и ячеек
Условное оформление подсвечивает данные по правилам: отрицательный остаток — красным, просрочку — жёлтым фоном, итоговую строку — жирным. Настраивается на вкладке Условное оформление (в настройках отчёта).
Каждое правило состоит из трёх частей:
- Оформление — что меняем: цвет фона, цвет текста, шрифт, границы. Выбирается в редакторе оформления.
- Условие — когда применять. Например, поле
ОстатокКонечный Меньше 0. Условий можно задать несколько — они объединяются по И. - Оформляемые поля — к каким колонкам применить. Если список пуст, оформление ляжет на всю строку группировки.
Пример: подсветить красным строки, где сумма долга больше нуля. Создаёте правило, в оформлении ставите красный цвет текста, в условии — Долг Больше 0, в оформляемых полях — колонку Долг. После Сформировать просроченные строки сразу видны.
Оформление наследуется вниз по структуре. Правило на корне структуры действует на все группировки; правило внутри конкретной группировки — только на неё. Это удобно, чтобы красить, например, только детальные строки, а итоги оставить обычными.
Печать, экспорт в Excel и сохранение варианта
Результат СКД выводит в табличный документ — тот же объект, что и у типовых отчётов, поэтому печать и выгрузка одинаковы.
Сформировать отчёт в режиме Предприятие:
- Внешний отчёт открывают через
Файл → Открытьи выбирают файл.erf. Отчёт в расширении появится в своём разделе интерфейса. - Задайте параметры (период, организацию) и нажмите
Сформировать.
Дальше с готовым табличным документом:
- Печать —
Ctrl+Pили кнопка печати на командной панели. Перед печатью проверьте разметку страниц через предварительный просмотр, чтобы колонки не разъезжались. - Экспорт в Excel —
Файл → Сохранить как(или кнопкаСохранитьна панели документа), тип файла — лист Excel (.xlsx). Можно сохранить в.pdfи.mxl. - Копирование фрагмента — выделите ячейки и
Ctrl+C: данные вставятся в Excel с сохранением чисел.
Чтобы не собирать разрез заново каждый раз, сохраните вариант отчёта. В типовых конфигурациях на основе Библиотеки стандартных подсистем это Еще → Сохранить вариант отчёта: вариант станет доступен всем или только вам, с собственным именем в списке вариантов.
При выгрузке регистрового отчёта в Excel проверяйте, что период в выгрузке совпадает с тем, что на экране: если формировали отчёт, а потом сменили период, не нажав Сформировать, выгрузится старый результат.
Для частых выгрузок в одном формате удобнее настроить рассылку или сохранённый вариант, чем каждый раз повторять ручной экспорт.
Частые вопросы
Чем отличается настройка отчёта от создания отчёта на СКД?
Показать настройки и не требует Конфигуратора. Создание на СКД — это новый отчёт с собственным запросом, когда готового под задачу нет.Можно ли сделать отчёт, не меняя типовую конфигурацию?
.erf) или отчёт в расширении конфигурации. Оба варианта не снимают базу с поддержки и не мешают обновлениям.Почему в отчёте нет итогов по суммам?
Ресурсы, перенесите поле суммы вправо и выберите агрегат Сумма(). Итоги по группировкам появятся автоматически.Как дать пользователю менять период и отбор без Конфигуратора?
Быстрый доступ. Поле появится на форме отчёта над результатом, и пользователь сменит период сам.Запрос работает медленно — что проверить в первую очередь?
ГДЕ. Так платформа отфильтрует данные при расчёте остатков, а не после выборки всех записей.