К статье
Практический материал

Отчеты и Аналитика · 10 мин

Что такое куб в 1С и как с ним работать

Разбираем, что такое куб в 1С: OLAP-кубы, сводные таблицы, измерения и ресурсы. Как построить отчёт по кубу, где применяются и какие есть альтернативы.

Куб в 1С — это многомерная структура данных, которая позволяет анализировать показатели сразу по нескольким разрезам: по товарам, менеджерам, периодам, складам и другим измерениям одновременно. Термин пришёл из технологии OLAP (On-Line Analytical Processing), где данные представляются не плоской таблицей, а «кубом», у которого каждая грань — отдельное измерение анализа.

В платформе 1С:Предприятие понятие куба встречается в двух контекстах. Первый — сводные таблицы, встроенный инструмент, который строится на основе таблицы значений или результата запроса и позволяет пользователю интерактивно менять строки, колонки и фильтры. Второй — внешние OLAP-кубы, к которым 1С может подключаться или которые строятся на выгрузках из 1С средствами Excel, Power BI и других аналитических систем.

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

Из чего состоит куб: измерения, ресурсы и фильтры

Любой куб описывается тремя базовыми элементами. Измерения — это аналитические разрезы: номенклатура, контрагент, склад, период, подразделение. Ресурсы — числовые показатели, которые агрегируются: сумма продаж, количество, себестоимость, прибыль. Фильтры — условия, которые отсекают лишние данные, например конкретный год или организацию.

Наглядный пример: куб продаж. Измерения — «Месяц», «Менеджер», «Товар». Ресурс — «Сумма выручки». Положив «Месяц» в строки, а «Менеджер» в колонки, вы увидите выручку каждого менеджера помесячно. Перетащив «Товар» вместо «Менеджер», получите помесячную структуру продаж по товарам — те же данные, другой срез, ноль программирования.

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

Сводные таблицы в 1С — встроенная реализация куба

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

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

Ограничение встроенных сводных таблиц — они работают с данными, уже выбранными из базы. Если источник содержит миллионы строк, выборка и отрисовка будут медленными. Поэтому источник обычно сразу агрегируют запросом: выбирают не документы, а уже сгруппированные итоги.

Как построить отчёт на сводной таблице

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

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

Порядок действий
  1. 1
    Создайте отчёт и его управляемую форму
  2. 2
    Добавьте реквизит формы типа «Сводная таблица» и реквизит-источник «Таблица значений»
  3. 3
    Напишите запрос к регистру с группировкой по нужным измерениям и суммированием ресурсов
  4. 4
    Выгрузите результат запроса в таблицу значений-источник
  5. 5
    Задайте измерения и ресурсы сводной таблицы, обновите отображение
  6. 6
    Проверьте работу: перетащите измерение, примените фильтр, сверьте итоги с регистром

Проверка корректности итогов

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

Внешние OLAP-кубы и выгрузка из 1С

Когда данных много или аналитикой занимаются не в 1С, применяют внешние инструменты. Самый доступный вариант — сводная таблица Excel: данные выгружаются из 1С (отчётом, обработкой или через COM/ODBC-подключение), а в Excel строится классический OLAP-анализ с полями строк, колонок, значений и фильтров.

Более продвинутый путь — BI-системы (Power BI, Qlik, Tableau и аналоги). Там куб строится на регулярно обновляемой выгрузке из 1С, а пользователи работают через браузер или десктопное приложение. Такой подход снимает нагрузку с рабочей базы 1С: тяжёлая аналитика выполняется на стороне.

Сравнение вариантов

Сводная таблица в 1С

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

Сводная таблица Excel

Подходит для разового анализа небольших выгрузок; ограничение — ручное обновление данных и риск устаревших копий.

BI-система (Power BI и др.)

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

Когда куб нужен, а когда достаточно обычного отчёта

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

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

Маршрут решения

Как выбрать действие

Пользователь должен сам менять разрезы анализаИспользуйте сводную таблицу или внешний OLAP-инструмент
Структура отчёта фиксирована и утвержденаСделайте отчёт на СКД — он быстрее и проще в поддержке
Данных миллионы строк и аналитика ежедневнаяВыносите куб в BI-систему с регулярной выгрузкой
Нужен разовый анализ небольшой выборкиДостаточно выгрузки в Excel и сводной таблицы там

Типичные ошибки и ограничения

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

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

Типичные ошибки
01
Передача в сводную таблицу неагрегированных данных — форма зависает на больших объёмах
02
Суммирование средних цен и процентов как обычных ресурсов — итоги становятся бессмысленными
03
Десять и более измерений в одном кубе — пользователь теряется и не использует большинство разрезов
04
Отсутствие сверки итогов куба с регистром — ошибки в запросе остаются незамеченными

Как проверить, что куб работает правильно

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

Контрольные точки

Как проверить результат

Общий итог ресурса
Норма

Совпадает с оборотом регистра за тот же период

Тревожный признак

Расхождение — проверяйте соединения и фильтры в запросе

Сумма по одному элементу измерения
Норма

Равна сумме детального отчёта по этому элементу

Тревожный признак

Разница — вероятны дубли строк или потеря данных

Скорость формирования
Норма

Отчёт открывается за секунды на реальных данных

Тревожный признак

Минуты ожидания — агрегируйте источник запросом

FAQ: частые вопросы о кубах в 1С

Куб и сводная таблица — это одно и то же?

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

Можно ли строить куб без программирования?

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

Чем куб отличается от отчёта на СКД?

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

Почему сводная таблица тормозит?

Чаще всего источник содержит слишком много строк. Решение — сгруппировать данные запросом до передачи в сводную таблицу, ограничить период выборки и убрать неиспользуемые колонки из источника.

Можно ли подключить 1С к настоящему OLAP-серверу?

Да, через промежуточную выгрузку: данные из 1С регулярно передаются в хранилище или BI-систему, где и строится куб. Прямое подключение 1С как OLAP-сервера платформа не предоставляет.

Какие ресурсы нельзя просто суммировать в кубе?

Средние значения, проценты, цены и коэффициенты. Их нужно хранить как пару базовых величин (например, сумма и количество) и вычислять итог делением, а не суммированием.

Итог

Что важно запомнить

Куб в 1С — многомерный анализ данных через измерения, ресурсы и фильтры. Внутри 1С его реализуют сводные таблицы, снаружи — Excel и BI-системы. Агрегируйте источник запросом, сверяйте итоги с регистром и не суммируйте средние значения.