Отчеты и Аналитика · 13 мин
Консоль компоновки данных в 1С: практическое руководство
Как работать с консолью компоновки данных 1С: запуск, написание запроса, настройка СКД, отладка отчётов и типичные ошибки разработчика.
Консоль компоновки данных — это внешняя обработка, которая позволяет создавать, отлаживать и тестировать схемы компоновки данных (СКД) без изменения конфигурации. С её помощью разработчик или аналитик пишет запрос, настраивает наборы данных, ресурсы и параметры, а затем сразу видит готовый отчёт. Это главный инструмент для отладки сложных отчётов на СКД: вместо того чтобы править отчёт в конфигураторе и каждый раз перезапускать базу, вы работаете в пользовательском режиме и получаете результат за секунды.
Консоль не входит в стандартную поставку типовых конфигураций. Чаще всего используют версии с диска ИТС, из состава инструментов разработчика (ИР) или аналогичные обработки, распространяемые в сообществе. Все они построены вокруг одного механизма платформы — системы компоновки данных — поэтому навык работы с консолью переносится между версиями.
Ниже разобран практический цикл: от запуска обработки и написания запроса до отладки настроек, сохранения схемы и переноса её в конфигурацию. Материал ориентирован на тех, кто уже знаком с основами языка запросов 1С и хочет уверенно работать с СКД.
Что такое консоль компоновки данных и когда она нужна
Система компоновки данных — механизм платформы 1С, который строит отчёты по декларативному описанию: наборы данных, связи, ресурсы, настройки группировок и отборов. Схема компоновки хранится в виде XML и обычно редактируется в конфигураторе через конструктор макета отчёта. Проблема в том, что каждая правка требует обновления конфигурации и повторного запуска — на больших базах это занимает заметное время.
Консоль компоновки данных решает эту задачу: она открывает редактор схемы прямо в режиме предприятия и выполняет отчёт на реальных данных без перезапуска. Это делает её незаменимой в нескольких ситуациях: отладка запроса с временными таблицами, подбор правильных настроек группировок, проверка вычисляемых полей, тестирование параметров виртуальных таблиц и подготовка схемы для внешнего отчёта.
Дополнительно консоль используют как инструмент анализа: можно быстро собрать произвольную выборку из базы, не создавая отчёт в конфигурации вообще. Для разовых аналитических задач это быстрее, чем писать обработку с нуля.
Где взять консоль и как её запустить
Консоль компоновки данных распространяется как файл обработки с расширением .epf. Наиболее известные источники: диск информационно-технологического сопровождения (ИТС), подсистема «Инструменты разработчика» и типовые инструменты, поставляемые с некоторыми конфигурациями на БСП. Функционально версии отличаются деталями интерфейса, но базовый набор — редактор запроса, закладки наборов данных, ресурсов, параметров и настроек — присутствует везде.
Запуск выполняется стандартным способом: в режиме 1С:Предприятие откройте меню «Файл → Открыть» и укажите файл обработки. Если конфигурация построена на БСП и в ней подключена подсистема дополнительных отчётов и обработок, консоль можно зарегистрировать там — тогда она появится в списке дополнительных обработок и будет доступна без поиска файла.
Учтите два момента. Во-первых, для открытия внешних обработок у пользователя должны быть соответствующие права — в защищённых конфигурациях открытие произвольных файлов может быть запрещено политикой безопасности. Во-вторых, консоль выполняет запросы к данным базы с правами текущего пользователя: если у вас нет доступа к регистру, вы и в консоли его не увидите.
Создание схемы: набор данных и запрос
Работа начинается с закладки наборов данных. Добавьте набор типа «Запрос» — в большинстве задач этого достаточно. В поле запроса напишите текст на языке запросов 1С или вызовите конструктор запроса, если он доступен в вашей версии консоли. Для отчёта по продажам типовой запрос выбирает обороты регистра накопления с отбором по периоду:
ВЫБРАТЬ
Продажи.Номенклатура КАК Номенклатура,
Продажи.Контрагент КАК Контрагент,
СУММА(Продажи.СуммаОборот) КАК Сумма
ИЗ
РегистрНакопления.Продажи.Обороты(&НачалоПериода, &КонецПериода, , ) КАК Продажи
СГРУППИРОВАТЬ ПО
Продажи.Номенклатура,
Продажи.Контрагент
После ввода текста нажмите кнопку заполнения полей — консоль разберёт запрос и создаст список доступных полей на соответствующей закладке. Параметры запроса (в примере это НачалоПериода и КонецПериода) появятся на закладке параметров, где для них можно задать тип, значение по умолчанию и выражение вычисления, например стандартные периоды.
Если данных одного запроса мало, добавьте дополнительные наборы: второй запрос, объект (таблицу значений, переданную программно) или объединение наборов. Для нескольких наборов на закладке связей укажите, как они соединяются — по каким полям и с каким типом соединения. Ошибка в связи — частая причина задвоения строк в итоговом отчёте, поэтому проверяйте связи на тестовых данных сразу.
- 1Откройте консоль через Файл → Открыть и создайте новую схему
- 2Добавьте набор данных типа Запрос и введите текст запроса
- 3Заполните поля автоматически и проверьте типы колонок
- 4Задайте параметры: тип, значение по умолчанию, ограничение доступности
- 5На закладке ресурсов отметьте суммируемые поля
- 6Сформируйте настройки отчёта и нажмите кнопку выполнения
- 7Сохраните схему в файл XML
Настройка ресурсов, вычисляемых полей и параметров
Ресурсы — это поля, по которым считаются итоги. На закладке ресурсов отметьте числовые поля (Сумма, Количество) и укажите выражение агрегирования, обычно Сумма(Сумма). Если ресурс не добавлен, поле будет доступно в детальных записях, но итоги по группировкам и общий итог по нему не посчитаются — это одна из самых частых причин «пропавших» итогов.
Вычисляемые поля добавляются на отдельной закладке и позволяют выводить значения, которых нет в запросе: например, процент от итога, разницу между суммами или форматированное представление. Выражение пишется на языке выражений компоновки данных, который поддерживает арифметику, функции работы со строками и датами, а также обращение к функциям общих модулей, если это разрешено настройками безопасности.
С параметрами связан важный нюанс: параметры виртуальных таблиц (периоды оборотов, отборы остатков) следует передавать именно как параметры виртуальной таблицы, а не условием ГДЕ по итоговой выборке. Платформа в этом случае сначала ограничит расчёт виртуальной таблицы, и запрос выполнится заметно быстрее. Проверить корректность можно через консоль кода или план запроса в технологическом журнале.
Настройки отчёта: группировки, отборы и оформление
После того как схема готова, переходите к настройкам — именно их видит и меняет пользователь отчёта. В консоли обычно есть отдельная закладка настроек, повторяющая стандартный редактор настроек СКД. Добавьте структуру: группировку по контрагенту, внутри — группировку по номенклатуре или детальные записи. Для каждой группировки на закладке выбранных полей отметьте выводимые поля.
Отборы добавляйте на уровне всего отчёта, если они должны действовать глобально, или на уровне группировки, если условие касается только её. Обратите внимание на флажок доступности: отборы и параметры, которые пользователь должен менять, нужно включить в пользовательские настройки с режимом «Быстрый доступ» — тогда они появятся прямо в шапке отчёта.
Условное оформление позволяет подсвечивать строки по условию — например, отрицательные остатки красным. Настройки можно сохранять в файл и загружать обратно, что удобно для передачи коллеге. Помните: настройки и схема — разные сущности. Схема описывает данные, настройки — их представление, и сохранять нужно и то, и другое.
Отладка и проверка результата
Главное преимущество консоли — мгновенная проверка. Нажмите кнопку формирования отчёта и оцените результат: есть ли данные, правильно ли сгруппированы строки, сходятся ли итоги. Для проверки итогов сверьте контрольные суммы с типовым отчётом конфигурации за тот же период — например, сумму продаж из вашей схемы с оборотом по регистру в стандартном отчёте.
Если результат не сходится, действуйте по шагам. Сначала упростите настройки до детальных записей без группировок — так видно сырые данные набора. Затем временно уберите отборы и связи, чтобы локализовать источник расхождения. Полезный приём — вывести в запрос служебные поля (период, регистратор), чтобы видеть, какие именно документы попали в выборку.
Для сложных случаев многие версии консоли позволяют посмотреть итоговый макет компоновки или результирующий запрос, который платформа реально отправляет в СУБД. Это помогает понять, почему отчёт тормозит: например, отбор применился после группировки, а не в виртуальной таблице.
Как проверить результат
Суммы по группам сходятся с общим итогом и с типовым отчётом за тот же период
Итоги пустые, задвоены или не равны сумме детальных строк — проверяйте ресурсы и связи наборов
При смене периода и отборов данные меняются корректно, пустой период не даёт обманчиво полной выборки
Отбор не влияет на результат — вероятно, он отключён или применён не к тому полю
Отчёт по типовому периоду формируется за приемлемое время без заметной нагрузки
Формирование занимает минуты — проверяйте параметры виртуальных таблиц и индексы
Сохранение, перенос в конфигурацию и альтернативы
Готовую схему сохраните в файл XML через кнопку сохранения в консоли. Дальше два пути. Первый — перенос в конфигурацию: откройте отчёт в конфигураторе, перейдите к основной схеме компоновки данных и загрузите схему из файла, затем восстановите настройки. Второй — создание внешнего отчёта (.erf): новый внешний отчёт с загруженной схемой можно подключить через механизм дополнительных отчётов БСП без изменения конфигурации, что безопаснее для обновлений.
Консоль — не единственный способ работать с СКД. Конструктор схемы в конфигураторе удобен для первичного создания отчёта, универсальный отчёт в типовых конфигурациях закрывает простые задачи без разработки, а для программного формирования используется объектная модель компоновки (КомпоновщикМакета, ПроцессорКомпоновкиДанных). Выбор зависит от задачи: консоль выигрывает именно на этапе отладки и исследования данных.
Сравнение вариантов
Лучший вариант для отладки запросов и настроек на живых данных без обновления конфигурации; требует прав на открытие внешних обработок
Подходит для создания нового отчёта в составе конфигурации; каждая проверка требует обновления и перезапуска
Способ доставить готовую схему пользователям без изменения конфигурации; схему удобно подготовить заранее в консоли
Быстрые выборки по регистрам в типовых конфигурациях без разработки; возможности настройки ограничены
Перед переносом схемы в рабочую конфигурацию проверьте её на копии базы и убедитесь, что отчёт корректно работает под пользователем с ограниченными правами: обращение к недоступным объектам вызовет ошибку у рядовых пользователей, даже если под администратором всё формируется.
Что важно запомнить
Консоль компоновки данных ускоряет разработку отчётов на СКД: запрос, наборы, ресурсы, параметры и настройки отлаживаются в пользовательском режиме на реальных данных. Проверяйте ресурсы и связи наборов, передавайте отборы в параметры виртуальных таблиц, сохраняйте схему и настройки раздельно, а тяжёлые запросы сначала испытывайте на копии базы.
Частые вопросы
Где скачать консоль компоновки данных?
Консоль входит в поставку диска ИТС, распространяется в составе подсистемы «Инструменты разработчика» и встречается в открытых публикациях для разработчиков. Выбирайте версию, совместимую с режимом совместимости вашей конфигурации и типом клиента (тонкий или толстый).
Почему отчёт в консоли показывает данные, а в конфигурации — нет?
Чаще всего причина в настройках: в конфигурацию перенесли схему, но не настройки по умолчанию, либо у пользователя нет прав на часть объектов запроса. Также проверьте, что значения параметров по умолчанию заданы в самой схеме, а не только в сохранённых настройках консоли.
Можно ли использовать консоль для разового анализа данных без создания отчёта?
Да, это распространённый сценарий. Напишите запрос, выведите детальные записи без группировок и сформируйте результат — фактически консоль работает как продвинутая консоль запросов с возможностью группировок, отборов и оформления.
Чем консоль компоновки отличается от консоли запросов?
Консоль запросов проверяет только текст запроса и его результат. Консоль компоновки покрывает весь цикл СКД: наборы данных, связи, ресурсы, вычисляемые поля, параметры и настройки отчёта. Для отладки отчёта на СКД нужна именно консоль компоновки, для чистой выборки достаточно консоли запросов.
Опасно ли запускать консоль в рабочей базе?
Сама консоль данные не изменяет — она только читает их и формирует табличный документ. Риск в другом: тяжёлый запрос без отборов может создать нагрузку и блокировки. Отлаживайте ресурсоёмкие отчёты на копии базы и всегда ограничивайте выборку периодом.
Как перенести отлаженную схему пользователям, не меняя конфигурацию?
Создайте внешний отчёт (.erf), загрузите в него схему из XML-файла и зарегистрируйте его в подсистеме дополнительных отчётов и обработок БСП. Пользователи получат отчёт в общем списке, а типовая конфигурация останется на поддержке.