Как перестроить готовый отчёт и собрать свой на системе компоновки данных

· 9 мин

Содержание

Готовый отчёт настраивают прямо из его формы: откройте отчёт, нажмите Показать настройки (или Настройки), добавьте нужные группировки, отборы и поля — и Сформировать. Свой отчёт, которого в типовой конфигурации нет, собирают на системе компоновки данных (СКД): в Конфигураторе или в расширении создают отчёт, рисуют запрос, задают структуру и выводят результат в табличный документ.

Разница в задаче. Если нужные данные уже есть в типовом отчёте, но не в том разрезе — хватит настроек пользователя, программировать ничего не надо. Если данных нет ни в одном отчёте или нужен нестандартный разрез по регистрам — придётся собрать отчёт на компоновке данных: с запросом, параметрами, подсветкой строк и выгрузкой в Excel.

Настройка готового отчёта кнопкой «Настройки»

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

Переключатель вида настроек наверху панели даёт три режима:

  • 🟢 Простой — период, организация и пара быстрых отборов. Подходит, когда нужно просто сменить даты или фирму.
  • 🟡 Расширенный — вкладки Группировки, Отборы, Показатели, Оформление, Дополнительные поля. Здесь перестраивают разрез отчёта.
  • 🔵 Изменение пользовательских настроек через многоточие у отдельного поля — тонкая правка одного параметра.

Что меняют чаще всего:

  1. Группировки. На вкладке Группировки добавьте или уберите разрезы: по субсчетам, по номенклатуре, по складам. Порядок строк в списке группировок = порядок вложенности в отчёте.
  2. Отборы. Вкладка Отборы — условия на данные: например, показать обороты только по одному контрагенту или складу. Вид сравнения выбирается в колонке условия (Равно, В списке, В группе из списка).
  3. Показатели. На вкладке Показатели включают и выключают колонки: БУ, НУ, количество, валютную сумму.
  4. Дополнительные поля. Выводят в строки дополнительные реквизиты — например, ИНН контрагента рядом с его наименованием.

Настроенный вид не пропадёт при закрытии. Нажмите Сохранить настройки (значок дискеты или пункт Еще → Сохранить настройки), дайте варианту имя — и он появится в списке Выбрать настройки. Так одна ОСВ может иметь несколько сохранённых разрезов под разные задачи.

Этого достаточно для 80% запросов «как настроить отчёт». К компоновке данных переходят, только когда готового отчёта под задачу нет.

Что такое СКД и как создать свой отчёт

Система компоновки данных — это механизм платформы, который по описанию (откуда брать данные и как их показывать) сам строит и выводит отчёт. Разработчик не пишет код вывода построчно: он задаёт запрос и настройки, а компоновщик собирает табличный документ, итоги, группировки и диаграммы.

Создать отчёт можно двумя способами:

  • Внешний отчёт — отдельный файл .erf. В Конфигураторе: Файл → Новый → Внешний отчёт. Его удобно отлаживать и переносить между базами, он не меняет конфигурацию.
  • Отчёт в расширении конфигурации — чтобы добавить отчёт в типовую базу, не снимая её с поддержки. Расширения доступны с платформы 8.3.6. В дереве расширения добавьте объект Отчеты, затем подключите его к подсистеме, чтобы отчёт попал в нужный раздел интерфейса.

Не меняйте типовую конфигурацию напрямую ради одного отчёта: это усложнит обновления. Внешний отчёт или расширение решают ту же задачу без потери поддержки.

Дальше в обоих случаях одинаково. У объекта отчёта откройте свойство Основная схема компоновки данных и нажмите создать новую схему. Откроется конструктор схемы компоновки — это и есть рабочее место: вкладки Наборы данных, Связи наборов, Вычисляемые поля, Ресурсы, Параметры, Настройки.

Создание отчёта на СКД: контрольные шаги
Выполнено: 0 / 8

Набор данных: запрос, виртуальные таблицы, поля и ресурсы

Данные отчёт получает из набора данных. Чаще всего это набор типа Запрос. На вкладке Наборы данных добавьте набор, встаньте в поле текста запроса и нажмите Конструктор запроса — визуальный построитель, где таблицы и поля выбирают мышью.

Откуда брать данные, зависит от того, что считаете:

  • Справочники и документы — когда нужен список объектов с реквизитами (номенклатура, контрагенты, проведённые документы за период).
  • Регистры накопления и бухгалтерии — когда нужны остатки и обороты. Напрямую к таблице регистра обращаться не стоит: для сумм на дату и за период есть виртуальные таблицы.

Виртуальная таблица — это предрасчёт, который платформа строит на лету. У регистров остатков и оборотов их несколько:

  • Остатки — остаток на указанный момент.
  • Обороты — приход и расход за период.
  • ОстаткиИОбороты — остаток на начало, обороты и остаток на конец одним запросом.

У периодических регистров сведений — СрезПоследних (последнее значение на дату, например актуальная цена) и СрезПервых. Параметры виртуальной таблицы (период, условия) задавайте в самой таблице, а не в ГДЕ: иначе платформа сначала поднимет все записи и только потом отфильтрует — запрос станет тяжёлым.

После построения запроса нажмите ОК. СКД сама заполнит вкладку Поля — список доступных для вывода полей. Здесь можно переименовать заголовки (колонка Заголовок), запретить вывод служебных полей, настроить роль поля.

Числовые колонки, которые надо суммировать, превратите в ресурсы. Вкладка Ресурсы → перенесите поле (Сумма, Количество) в правую часть и выберите агрегат — Сумма(), Количество(), Максимум(). Без ресурсов цифры выведутся как есть, без итогов по группировкам.

Если нужно поле, которого нет в запросе (разница, процент, объединение строк), добавьте его на вкладке Вычисляемые поля и задайте выражение — например, ВыручкаБУ - ВыручкаНУ.

Когда данные идут из двух источников — скажем, план из одного набора и факт из другого, — добавьте второй набор данных и соедините их на вкладке Связи наборов данных по общему полю (номенклатуре, периоду). Так в одной строке отчёта окажутся и плановые, и фактические цифры. Простые случаи, где нужно просто сложить однотипные строки из разных таблиц, решаются через ОБЪЕДИНИТЬ ВСЕ прямо в запросе — без второго набора.

Структура: группировки, таблица и диаграмма

Структура отвечает на вопрос, как именно разложить данные. Настраивается на вкладке Настройки, дерево структуры — в верхней части.

По правой кнопке на корне структуры доступны элементы:

  • Группировка — строки с итогами по полю. Вложенные группировки дают многоуровневый отчёт: Склад → Номенклатура. Пустая группировка (Детальные записи) выводит строки без свёртки.
  • Таблица — кросс-отчёт: группировки идут и в строки, и в колонки. Так строят, например, продажи по номенклатуре (строки) и по месяцам (колонки).
  • Диаграмма — график или круговая диаграмма по тем же данным.

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

В выбранной группировке на вкладке Выбранные поля укажите, какие колонки показывать. Поля-ресурсы добавятся с итогами автоматически. Тут же — вкладки Сортировка (порядок строк) и Отбор на уровне конкретной группировки.

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

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

Параметры и пользовательские настройки

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

Для каждого параметра настраивают:

  • Заголовок — как поле назовётся в форме отчёта.
  • Доступные типы — например, тип Дата с составом «Дата и время» или только «Дата».
  • Ограничение доступности — служебные параметры прячут, чтобы пользователь их не трогал.

Чтобы пользователь мог менять параметр или отбор прямо в режиме 1С:Предприятие, вынесите элемент в пользовательские настройки. В настройках встаньте на параметр или отбор, нажмите на поле со свойством Пользовательская настройка (значок карандаша или колонка «…») и задайте режим:

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

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

Условное оформление строк и ячеек

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

Каждое правило состоит из трёх частей:

  1. Оформление — что меняем: цвет фона, цвет текста, шрифт, границы. Выбирается в редакторе оформления.
  2. Условие — когда применять. Например, поле ОстатокКонечный Меньше 0. Условий можно задать несколько — они объединяются по И.
  3. Оформляемые поля — к каким колонкам применить. Если список пуст, оформление ляжет на всю строку группировки.

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

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

Печать, экспорт в Excel и сохранение варианта

Результат СКД выводит в табличный документ — тот же объект, что и у типовых отчётов, поэтому печать и выгрузка одинаковы.

Сформировать отчёт в режиме Предприятие:

  1. Внешний отчёт открывают через Файл → Открыть и выбирают файл .erf. Отчёт в расширении появится в своём разделе интерфейса.
  2. Задайте параметры (период, организацию) и нажмите Сформировать.

Дальше с готовым табличным документом:

  • Печать — Ctrl+P или кнопка печати на командной панели. Перед печатью проверьте разметку страниц через предварительный просмотр, чтобы колонки не разъезжались.
  • Экспорт в Excel — Файл → Сохранить как (или кнопка Сохранить на панели документа), тип файла — лист Excel (.xlsx). Можно сохранить в .pdf и .mxl.
  • Копирование фрагмента — выделите ячейки и Ctrl+C: данные вставятся в Excel с сохранением чисел.

Чтобы не собирать разрез заново каждый раз, сохраните вариант отчёта. В типовых конфигурациях на основе Библиотеки стандартных подсистем это Еще → Сохранить вариант отчёта: вариант станет доступен всем или только вам, с собственным именем в списке вариантов.

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

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

Частые вопросы

Чем отличается настройка отчёта от создания отчёта на СКД?
Настройка меняет вид существующего отчёта (группировки, отборы, колонки) через кнопку Показать настройки и не требует Конфигуратора. Создание на СКД — это новый отчёт с собственным запросом, когда готового под задачу нет.
Можно ли сделать отчёт, не меняя типовую конфигурацию?
Да. Используйте внешний отчёт (.erf) или отчёт в расширении конфигурации. Оба варианта не снимают базу с поддержки и не мешают обновлениям.
Почему в отчёте нет итогов по суммам?
Числовое поле не объявлено ресурсом. Откройте схему компоновки, вкладка Ресурсы, перенесите поле суммы вправо и выберите агрегат Сумма(). Итоги по группировкам появятся автоматически.
Как дать пользователю менять период и отбор без Конфигуратора?
Вынесите параметр или отбор в пользовательские настройки с режимом Быстрый доступ. Поле появится на форме отчёта над результатом, и пользователь сменит период сам.
Запрос работает медленно — что проверить в первую очередь?
Условия отбора по периоду и измерениям задавайте в параметрах виртуальной таблицы, а не в секции ГДЕ. Так платформа отфильтрует данные при расчёте остатков, а не после выборки всех записей.