Отчёт на системе компоновки данных без Конфигуратора: работа в консоли

· 10 мин

Содержание

Консоль СКД (полное название — «Консоль компоновки данных») — это внешняя обработка КонсольКомпоновкиДанных.epf, которую открывают в пользовательском режиме через ☰ → Файл → Открыть (или Ctrl+O). В ней собирают и отлаживают отчёт на системе компоновки данных прямо в рабочей базе, не открывая Конфигуратор и не меняя конфигурацию.

Внутри — тот же конструктор схемы, что у разработчика: наборы данных, параметры, ресурсы, настройки варианта. Консоль подходит, когда нужен разовый отчёт, проверка запроса на реальных данных или прототип будущего отчёта для доработки. Всё ниже относится к платформе, а не к конкретной конфигурации: в БП 3.0, ЗУП 3.1 и УТ 11 консоль работает одинаково, различаются только имена регистров в запросах.

Где взять консоль и как открыть её в 1С 8.3

Обработку распространяет фирма 1С в комплекте универсальных отчётов и обработок для управляемых форм. Берите версию именно для управляемого приложения: старая консоль для обычных форм в интерфейсе «Такси» не откроется в тонком клиенте.

Порядок запуска:

  1. Сохраните файл КонсольКомпоновкиДанных.epf в папку, к которой у вас есть доступ.
  2. В программе откройте главное меню ☰ → Файл → Открыть.
  3. Выберите файл. Платформа покажет предупреждение о безопасности — подтвердите открытие, если файл получен из надёжного источника.
  4. Откроется окно консоли со списком отчётов слева и областью настроек справа.

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

Консоль только читает данные, пока вы пишете обычные запросы. Но это внешний код с полным доступом к базе: не открывайте в рабочей базе «консоли» из случайных источников.

Из чего состоит окно

  • 📁 Дерево отчётов — слева. В одном файле консоли можно хранить несколько отчётов, группировать их папками и сохранять всё в файл на диске.
  • 🧩 Схема компоновки — открывается в отдельном окне конструктора. Вкладки те же, что в Конфигураторе: «Наборы данных», «Связи наборов данных», «Вычисляемые поля», «Ресурсы», «Параметры», «Макеты», «Вложенные схемы», «Настройки».
  • ⚙️ Настройки варианта — структура отчёта и вкладки «Выбранные поля», «Отбор», «Сортировка», «Условное оформление», «Другие настройки».
  • 📊 Результат — табличный документ, который формируется кнопкой выполнения.

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

Наборы данных в консоли СКД: запрос, объект, объединение

Работа начинается с вкладки «Наборы данных» в схеме. Добавьте набор кнопкой с плюсом и выберите тип.

Тип набораОткуда данныеКогда брать
ЗапросТекст на языке запросов 1СПочти всегда: остатки, обороты, документы, справочники
ОбъектТаблица значений из кодаВ консоли используется редко — нужен программный код
ОбъединениеНесколько наборов подрядСвести, например, план и факт в одну таблицу

Набор-объединение собирают так: добавьте его, а внутрь — два набора-запроса. Поля с одинаковыми именами в обоих запросах лягут в одну колонку. Например, в первом запросе Сумма КАК План, во втором Сумма КАК Факт, а общее поле — Номенклатура. Отсутствующее в одном из наборов поле останется пустым, и ресурсы посчитают итоги без лишних соединений.

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

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

Связи наборов

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

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

Параметры и виртуальные таблицы: как настроить период отчёта

Параметры появляются автоматически, когда в запросе встречается &ИмяПараметра. Их список — на вкладке «Параметры». Для каждого задаются тип, значение по умолчанию, выражение и признак «Ограничение доступности».

Самый надёжный приём для периода — три параметра:

  1. Период — тип «Стандартный период», пользователь выбирает его в настройках.
  2. НачалоПериода — в колонке «Выражение» укажите &Период.ДатаНачала, флажок ограничения доступности включите.
  3. КонецПериода — выражение &Период.ДатаОкончания, доступность тоже ограничьте.

Стандартный период отдаёт дату окончания с временем 23:59:59. Если же в параметр КонецПериода ввести просто дату, это будет начало суток, и движения последнего дня выпадут из отчёта.

Пример запроса по оборотно-сальдовой ведомости БП 3.0 с виртуальной таблицей:

ВЫБРАТЬ
    ХозрасчетныйОстаткиИОбороты.Счет КАК Счет,
    ХозрасчетныйОстаткиИОбороты.Субконто1 КАК Контрагент,
    ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокДт КАК НачальныйОстатокДт,
    ХозрасчетныйОстаткиИОбороты.СуммаОборотДт КАК ОборотДт,
    ХозрасчетныйОстаткиИОбороты.СуммаОборотКт КАК ОборотКт,
    ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокДт КАК КонечныйОстатокДт
ИЗ
    РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(
        {(&НачалоПериода)},
        {(&КонецПериода)},
        ,
        ,
        Счет В ИЕРАРХИИ (&Счет),
        ,
    ) КАК ХозрасчетныйОстаткиИОбороты

Фигурные скобки вокруг параметров — синтаксис именно СКД. Они говорят компоновщику: эти параметры необязательны и сюда можно подставлять условия. Параметр Счет задайте значением, например счётом 62.

Почему отборы лучше в параметрах виртуальной таблицы

Виртуальная таблица Остатки или ОстаткиИОбороты считает итоги до наложения условия ГДЕ. Если ограничить счёт в ГДЕ, база сначала посчитает обороты по всем счетам, а потом отбросит лишние. Условие в параметре таблицы ограничивает выборку сразу. На базе за несколько лет разница бывает в десятки раз.

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

Поля, отборы и группировки: настройка структуры отчёта

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

Ресурсы — до структуры

Сначала откройте вкладку «Ресурсы» схемы и перенесите туда все числовые поля: суммы, количества, остатки. Для каждого выберите выражение — обычно Сумма(Поле), для цен — Среднее(Поле) или Максимум(Поле).

Числовое поле, не объявленное ресурсом, СКД считает обычным полем группировки. Итоги по нему не считаются, а строки дробятся по каждому уникальному значению суммы.

Структура

В дереве структуры корень — «Отчет». К нему добавляют элементы:

  • 📋 Группировка — строки отчёта, сгруппированные по полю (контрагент, номенклатура, месяц).
  • 🗂 Таблица — кросс-таблица: группировки по строкам и колонкам.
  • 📈 Диаграмма — график по тем же группировкам.

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

Типовая структура для анализа продаж: группировка «Контрагент» → вложенная группировка «Номенклатура» → детальные записи. Для каждой группировки отдельно настраиваются выбранные поля и отбор.

Выбранные поля, отбор, сортировка

  1. На вкладке «Выбранные поля» перенесите поля, которые нужны в колонках. Порядок перетаскиванием.
  2. На вкладке «Отбор» добавьте условия: поле, вид сравнения (Равно, В списке, В группе, Заполнено и другие), значение.
  3. Чтобы пользователь менял отбор при формировании, включите для строки режим быстрого доступа (вывод в пользовательские настройки).
  4. На вкладке «Сортировка» задайте порядок, например по убыванию суммы.

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

Вычисляемые и пользовательские поля

На вкладке «Вычисляемые поля» схемы пишут выражения на языке СКД: ОборотДт - ОборотКт, ВЫБОР КОГДА ... ТОГДА ... КОНЕЦ. Пользовательские поля в настройках делают то же самое, но без правки схемы — удобно для быстрой проверки идеи.

Условное оформление и макеты в консоли

Условное оформление раскрашивает и форматирует ячейки по условию. Вкладка с этим названием есть в настройках варианта.

Как выделить отрицательные остатки красным:

  1. Добавьте новую строку оформления.
  2. В колонке «Оформление» задайте цвет текста.
  3. В колонке «Условие» укажите КонечныйОстатокДт Меньше 0.
  4. В колонке «Оформляемые поля» выберите КонечныйОстатокДт. Если оставить пусто, раскрасится вся строка.

Там же задают формат чисел. Строка формата ЧДЦ=2; ЧН=' ' выводит две цифры после запятой, а нулевые значения не показывает. Такой формат удобнее задавать без условия — он применится ко всем ячейкам выбранного поля.

Макеты

Вкладка «Макеты» схемы нужна, когда стандартного вывода не хватает: своя шапка, объединённые ячейки, особая строка итога. Бывают макеты поля, группировки, заголовка группировки и ресурсов. Макет рисуют в табличном редакторе и связывают с элементом структуры по имени группировки.

💡 В консоли макеты стоит трогать в последнюю очередь. Сначала добейтесь верных цифр без них — потом вид. Отлаживать сумму внутри собственного макета значительно дольше.

На вкладке «Другие настройки» включают и выключают вывод заголовка, параметров и отборов в шапку, расположение итогов (в начале или в конце), горизонтальное расположение общих итогов. Половину «косметических» задач закрывают эти флажки, без макетов.

Медленный отчёт, пустой результат, ошибки: что проверить

Большая часть проблем в консоли — это не баги, а несоответствие запроса, параметров и настроек.

Диагностика: выберите симптом

Приёмы, которые ускоряют работу

  • ⚡ Проверяйте запрос отдельно. Сначала выполните текст набора в консоли запросов или через конструктор и убедитесь, что строки есть. Только потом стройте структуру.
  • 🔗 Меньше точек. Обращение Документ.Контрагент.ИНН для составного типа превращается в соединения с каждой возможной таблицей. Ограничивайте тип через ВЫРАЗИТЬ(... КАК Справочник.Контрагенты).
  • 🧮 Представления вместо ссылок в больших выборках. Поле ПРЕДСТАВЛЕНИЕ(Ссылка) дешевле, чем выборка всей ссылки с последующим получением наименования.
  • 🔒 Ограничение доступности. Служебные поля и параметры, которые пользователь не должен трогать, закрывайте флажком — меньше шанс сломать отчёт случайным отбором.

Перенос в конфигурацию

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

Если консоль открыта в рабочей базе, тяжёлый отчёт за несколько лет нагружает сервер для всех пользователей. Большие выборки запускайте в копии базы или вне рабочих часов.

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

Можно ли сохранить настройки отчёта из консоли?
Да. Файл консоли хранит дерево отчётов вместе со схемами и настройками. Запишите его на диск и откройте при следующем запуске той же обработки.
Чем консоль СКД отличается от консоли запросов?
Консоль запросов возвращает плоскую таблицу результата. Консоль компоновки добавляет группировки, итоги по ресурсам, отборы для пользователя, оформление и диаграммы — то есть полноценный отчёт.
Работает ли консоль в веб-клиенте и в 1С:Фреш?
В веб-клиенте управляемая версия открывается так же, через меню «Файл». В облачных сервисах открытие внешних обработок обычно ограничено политикой сервиса, и консоль может не запуститься.
Видят ли другие пользователи отчёт, созданный в консоли?
Нет. Отчёт живёт в файле консоли у вас на диске, в базу ничего не записывается. Чтобы им пользовались другие, его подключают как дополнительный отчёт или переносят в расширение.
Нужны ли права администратора, чтобы пользоваться консолью?
Полные права не обязательны. Нужна роль на открытие внешних обработок и права на чтение тех объектов, к которым обращается запрос. Без прав на чтение запрос завершится ошибкой доступа.