Отчёт на системе компоновки данных без Конфигуратора: работа в консоли
Содержание
Консоль СКД (полное название — «Консоль компоновки данных») — это внешняя обработка КонсольКомпоновкиДанных.epf, которую открывают в пользовательском режиме через ☰ → Файл → Открыть (или Ctrl+O). В ней собирают и отлаживают отчёт на системе компоновки данных прямо в рабочей базе, не открывая Конфигуратор и не меняя конфигурацию.
Внутри — тот же конструктор схемы, что у разработчика: наборы данных, параметры, ресурсы, настройки варианта. Консоль подходит, когда нужен разовый отчёт, проверка запроса на реальных данных или прототип будущего отчёта для доработки. Всё ниже относится к платформе, а не к конкретной конфигурации: в БП 3.0, ЗУП 3.1 и УТ 11 консоль работает одинаково, различаются только имена регистров в запросах.
Где взять консоль и как открыть её в 1С 8.3
Обработку распространяет фирма 1С в комплекте универсальных отчётов и обработок для управляемых форм. Берите версию именно для управляемого приложения: старая консоль для обычных форм в интерфейсе «Такси» не откроется в тонком клиенте.
Порядок запуска:
- Сохраните файл
КонсольКомпоновкиДанных.epfв папку, к которой у вас есть доступ. - В программе откройте главное меню
☰ → Файл → Открыть. - Выберите файл. Платформа покажет предупреждение о безопасности — подтвердите открытие, если файл получен из надёжного источника.
- Откроется окно консоли со списком отчётов слева и областью настроек справа.
Если открытие запрещено, причина почти всегда в правах. В конфигурациях на БСП пользователю нужна роль, разрешающая интерактивное открытие внешних отчётов и обработок. Её выдаёт администратор через группы доступа в Администрирование → Настройки пользователей и прав. Отдельно платформа может включать защиту от опасных действий — тогда каждое открытие внешнего файла сопровождается предупреждением, это нормально.
Консоль только читает данные, пока вы пишете обычные запросы. Но это внешний код с полным доступом к базе: не открывайте в рабочей базе «консоли» из случайных источников.
Из чего состоит окно
- 📁 Дерево отчётов — слева. В одном файле консоли можно хранить несколько отчётов, группировать их папками и сохранять всё в файл на диске.
- 🧩 Схема компоновки — открывается в отдельном окне конструктора. Вкладки те же, что в Конфигураторе: «Наборы данных», «Связи наборов данных», «Вычисляемые поля», «Ресурсы», «Параметры», «Макеты», «Вложенные схемы», «Настройки».
- ⚙️ Настройки варианта — структура отчёта и вкладки «Выбранные поля», «Отбор», «Сортировка», «Условное оформление», «Другие настройки».
- 📊 Результат — табличный документ, который формируется кнопкой выполнения.
Сохраняйте файл консоли после каждой удачной правки. Отчёты внутри обработки живут только до закрытия окна, если не записать их на диск.
Наборы данных в консоли СКД: запрос, объект, объединение
Работа начинается с вкладки «Наборы данных» в схеме. Добавьте набор кнопкой с плюсом и выберите тип.
| Тип набора | Откуда данные | Когда брать |
|---|---|---|
| Запрос | Текст на языке запросов 1С | Почти всегда: остатки, обороты, документы, справочники |
| Объект | Таблица значений из кода | В консоли используется редко — нужен программный код |
| Объединение | Несколько наборов подряд | Свести, например, план и факт в одну таблицу |
Набор-объединение собирают так: добавьте его, а внутрь — два набора-запроса. Поля с одинаковыми именами в обоих запросах лягут в одну колонку. Например, в первом запросе Сумма КАК План, во втором Сумма КАК Факт, а общее поле — Номенклатура. Отсутствующее в одном из наборов поле останется пустым, и ресурсы посчитают итоги без лишних соединений.
Для набора-запроса текст пишут вручную или через «Конструктор запроса». Ключевая настройка рядом с текстом — флажок «Автозаполнение». Когда он включён, СКД сама создаёт поля набора по полям запроса и умеет добавлять отборы внутрь запроса. Снимайте его только если хотите вручную управлять списком полей.
После текста запроса загляните в таблицу полей набора. У каждого поля можно задать заголовок, ограничение использования и роль. Для поля даты в оборотных отчётах ставьте роль «Период» — тогда в группировках появятся периоды (день, месяц, квартал).
Связи наборов
Если наборов два и они не объединяются, а дополняют друг друга, задайте связь на вкладке «Связи наборов данных». Указываются источник, приёмник и выражения связи — по смыслу это левое соединение. Пример: набор «Продажи» и набор «Плановые цены», связанные по номенклатуре.
💡 Если можно получить всё одним запросом с соединением — так и делайте. Связи наборов удобны, но отлаживать их сложнее: пустой результат не подсказывает, какая связь не сработала.
Параметры и виртуальные таблицы: как настроить период отчёта
Параметры появляются автоматически, когда в запросе встречается &ИмяПараметра. Их список — на вкладке «Параметры». Для каждого задаются тип, значение по умолчанию, выражение и признак «Ограничение доступности».
Самый надёжный приём для периода — три параметра:
Период— тип «Стандартный период», пользователь выбирает его в настройках.НачалоПериода— в колонке «Выражение» укажите&Период.ДатаНачала, флажок ограничения доступности включите.КонецПериода— выражение&Период.ДатаОкончания, доступность тоже ограничьте.
Стандартный период отдаёт дату окончания с временем 23:59:59. Если же в параметр КонецПериода ввести просто дату, это будет начало суток, и движения последнего дня выпадут из отчёта.
Пример запроса по оборотно-сальдовой ведомости БП 3.0 с виртуальной таблицей:
ВЫБРАТЬ
ХозрасчетныйОстаткиИОбороты.Счет КАК Счет,
ХозрасчетныйОстаткиИОбороты.Субконто1 КАК Контрагент,
ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокДт КАК НачальныйОстатокДт,
ХозрасчетныйОстаткиИОбороты.СуммаОборотДт КАК ОборотДт,
ХозрасчетныйОстаткиИОбороты.СуммаОборотКт КАК ОборотКт,
ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокДт КАК КонечныйОстатокДт
ИЗ
РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(
{(&НачалоПериода)},
{(&КонецПериода)},
,
,
Счет В ИЕРАРХИИ (&Счет),
,
) КАК ХозрасчетныйОстаткиИОбороты
Фигурные скобки вокруг параметров — синтаксис именно СКД. Они говорят компоновщику: эти параметры необязательны и сюда можно подставлять условия. Параметр Счет задайте значением, например счётом 62.
Почему отборы лучше в параметрах виртуальной таблицы
Виртуальная таблица Остатки или ОстаткиИОбороты считает итоги до наложения условия ГДЕ. Если ограничить счёт в ГДЕ, база сначала посчитает обороты по всем счетам, а потом отбросит лишние. Условие в параметре таблицы ограничивает выборку сразу. На базе за несколько лет разница бывает в десятки раз.
При включённом автозаполнении СКД сама переносит отборы по измерениям в параметры виртуальной таблицы. Проверить, что получилось, можно по итоговому тексту запроса, если ваша версия консоли его показывает.
Поля, отборы и группировки: настройка структуры отчёта
Данные получены — теперь задаём, как их показать. Это делается в настройках варианта.
Ресурсы — до структуры
Сначала откройте вкладку «Ресурсы» схемы и перенесите туда все числовые поля: суммы, количества, остатки. Для каждого выберите выражение — обычно Сумма(Поле), для цен — Среднее(Поле) или Максимум(Поле).
Числовое поле, не объявленное ресурсом, СКД считает обычным полем группировки. Итоги по нему не считаются, а строки дробятся по каждому уникальному значению суммы.
Структура
В дереве структуры корень — «Отчет». К нему добавляют элементы:
- 📋 Группировка — строки отчёта, сгруппированные по полю (контрагент, номенклатура, месяц).
- 🗂 Таблица — кросс-таблица: группировки по строкам и колонкам.
- 📈 Диаграмма — график по тем же группировкам.
Пустая группировка без полей означает детальные записи — каждую строку запроса. Если в результате только общий итог, проверьте, что в структуре вообще есть группировка.
Типовая структура для анализа продаж: группировка «Контрагент» → вложенная группировка «Номенклатура» → детальные записи. Для каждой группировки отдельно настраиваются выбранные поля и отбор.
Выбранные поля, отбор, сортировка
- На вкладке «Выбранные поля» перенесите поля, которые нужны в колонках. Порядок перетаскиванием.
- На вкладке «Отбор» добавьте условия: поле, вид сравнения (
Равно,В списке,В группе,Заполненои другие), значение. - Чтобы пользователь менял отбор при формировании, включите для строки режим быстрого доступа (вывод в пользовательские настройки).
- На вкладке «Сортировка» задайте порядок, например по убыванию суммы.
Отбор в настройках накладывается на результат компоновки. Если поле есть в виртуальной таблице как измерение, при автозаполнении он уйдёт внутрь запроса. Если поле вычисляемое — фильтрация пойдёт уже по готовым данным, и отчёт будет медленнее.
Вычисляемые и пользовательские поля
На вкладке «Вычисляемые поля» схемы пишут выражения на языке СКД: ОборотДт - ОборотКт, ВЫБОР КОГДА ... ТОГДА ... КОНЕЦ. Пользовательские поля в настройках делают то же самое, но без правки схемы — удобно для быстрой проверки идеи.
Условное оформление и макеты в консоли
Условное оформление раскрашивает и форматирует ячейки по условию. Вкладка с этим названием есть в настройках варианта.
Как выделить отрицательные остатки красным:
- Добавьте новую строку оформления.
- В колонке «Оформление» задайте цвет текста.
- В колонке «Условие» укажите
КонечныйОстатокДт Меньше 0. - В колонке «Оформляемые поля» выберите
КонечныйОстатокДт. Если оставить пусто, раскрасится вся строка.
Там же задают формат чисел. Строка формата ЧДЦ=2; ЧН=' ' выводит две цифры после запятой, а нулевые значения не показывает. Такой формат удобнее задавать без условия — он применится ко всем ячейкам выбранного поля.
Макеты
Вкладка «Макеты» схемы нужна, когда стандартного вывода не хватает: своя шапка, объединённые ячейки, особая строка итога. Бывают макеты поля, группировки, заголовка группировки и ресурсов. Макет рисуют в табличном редакторе и связывают с элементом структуры по имени группировки.
💡 В консоли макеты стоит трогать в последнюю очередь. Сначала добейтесь верных цифр без них — потом вид. Отлаживать сумму внутри собственного макета значительно дольше.
На вкладке «Другие настройки» включают и выключают вывод заголовка, параметров и отборов в шапку, расположение итогов (в начале или в конце), горизонтальное расположение общих итогов. Половину «косметических» задач закрывают эти флажки, без макетов.
Медленный отчёт, пустой результат, ошибки: что проверить
Большая часть проблем в консоли — это не баги, а несоответствие запроса, параметров и настроек.
Приёмы, которые ускоряют работу
- ⚡ Проверяйте запрос отдельно. Сначала выполните текст набора в консоли запросов или через конструктор и убедитесь, что строки есть. Только потом стройте структуру.
- 🔗 Меньше точек. Обращение
Документ.Контрагент.ИННдля составного типа превращается в соединения с каждой возможной таблицей. Ограничивайте тип черезВЫРАЗИТЬ(... КАК Справочник.Контрагенты). - 🧮 Представления вместо ссылок в больших выборках. Поле
ПРЕДСТАВЛЕНИЕ(Ссылка)дешевле, чем выборка всей ссылки с последующим получением наименования. - 🔒 Ограничение доступности. Служебные поля и параметры, которые пользователь не должен трогать, закрывайте флажком — меньше шанс сломать отчёт случайным отбором.
Перенос в конфигурацию
Готовую схему из консоли можно не рисовать заново. Скопируйте текст запроса, параметры и настройки, а затем перенесите их в схему отчёта в Конфигураторе или в расширении конфигурации. Расширение — правильный путь для типовой конфигурации на поддержке: она не снимается с поддержки, обновления ставятся без ручного сравнения.
Если консоль открыта в рабочей базе, тяжёлый отчёт за несколько лет нагружает сервер для всех пользователей. Большие выборки запускайте в копии базы или вне рабочих часов.