Система компоновки данных 1С 8.3 - особенности и требования
Система компоновки данных (СКД) - мощный инструмент платформы 1С для создания гибких отчетов. Давайте разберемся в особенностях и требованиях СКД, чтобы эффективно использовать ее возможности.
Предпосылки появления СКД
Исторически в 1С отчетность строилась на основе жестких отчетных форм, что создавало ограничения для бизнеса. С ростом потребности в аналитике и нестандартных презентациях данных возник запрос на более гибкий инструментарий. Так в платформе появился механизм построителя отчетов, а в версии 8.3 и более совершенная система компоновки данных (СКД).
Преимущества СКД перед построителем отчетов:
- Большая гибкость в формировании структуры отчета
- Лучшая производительность при больших объемах данных
- Возможность вывода в табличный документ, дерево или таблицу значений
Рассмотрим подробнее, как устроена СКД и из чего состоит.
Архитектура и составляющие СКД
Система компоновки данных включает в себя несколько ключевых компонентов:
- Схема компоновки данных
- Наборы данных
- Параметры и фильтры
- Ресурсы (для итогов)
- Макет компоновки
Рассмотрим их по порядку.
Схема компоновки данных
Схема компоновки описывает логику получения исходных данных и включает:
- Наборы данных на основе запросов
- Отборы и сортировки
- Поля данных
- Параметры
Схема компоновки создается в специальном конструкторе и может редактироваться вручную с помощью языка системы компоновки данных (СКД).
Наборы данных
Основа набора данных - это текст запроса, который описывает выборку необходимых данных из информационной базы. Наборы данных бывают трех видов:
- Основные - на запросах
- Вложенные - дочерние наборы
- Таблицы значений - произвольная структура
К наборам данных можно применять:
- Фильтры по значениям полей
- Параметрические отборы
- Сортировку
Параметры и фильтры
Параметры используются в запросах и отборах для задания условий отбора данных. Они могут быть как пользовательскими (задаются в форме), так и автоматическими.
Фильтры позволяют динамически отфильтровывать данные наборов по значениям полей и параметрам. Фильтры бывают:
- Фильтры отбора
- Фильтры исключения
Ресурсы
Ресурсы описывают логику расчета итогов и агрегатных значений. Ресурсом может быть числовое, строковое или ссылочное значение. Выражения для расчета ресурсов записываются на встроенном языке (ВЯ), например: Максимум(Цена)
Макет компоновки
На основе схемы компоновки и заданных пользователем настроек формируется макет компоновки - окончательное описание правил формирования отчета. Макет включает:
- Запросы с примененными условиями
- Описание областей и элементов отчета
Далее макет обрабатывается процессором компоновки для получения результата.
Жизненный цикл формирования отчета СКД
При исполнении отчета СКД проходит несколько этапов:
- Подготовка и система компоновки данных настройка схемы компоновки
- Задание параметров пользователем
- Формирование макета компоновки
- Выполнение запросов и обработка макета процессором
- Вывод отчета в требуемом виде
Рассмотрим ключевые этапы подробнее.
Подготовка схемы компоновки
На этом этапе разработчик описывает в конструкторе схем компоновки структуру исходных данных и логику обработки:
- Создает наборы данных
- Описывает поля
- Формирует параметры и ресурсы
- Задает сортировки и фильтры по умолчанию
Настройка параметров
На втором этапе пользователь в форме отчета настраивает необходимые параметры:
- Отборы по периодам
- Фильтры по значениям полей
- Выбор колонок
- Группировки
Эти параметры затем используются для формирования макета компоновки.
Формирование макета компоновки
На следующем шаге компоновщик собирает макет - набор инструкций для процессора компоновки. В макет входит:
- Набор запросов с примененными фильтрами
- Описание областей отчета
- Макеты оформления данных
Получив макет, процессор переходит к следующей фазе - непосредственному получению результата.
Обработка макета процессором
На этапе обработки макета процессор компоновки выполняет следующие действия:
- Получает данные, выбирая их из ИБ по запросам
- Применяет заданные фильтры и сортировки
- Группирует данные и рассчитывает итоги по ресурсам
- Формирует внутреннее представление результата по описанию макета
После этого данные готовы для вывода отчета.
Вывод отчета
На заключительном этапе процессор вывода оформляет полученный результат компоновки в соответствии с макетами оформления. Вывод может осуществляться:
- В табличный документ
- В дерево значений
- В таблицу значений
Для вывода в табличный документ используются макеты ячеек, которые описывают оформление данных. При выводе в объекты данные сохраняются в виде структуры, удобной для дальнейшей программной обработки.
Особенности работы СКД
Рассмотрим некоторые отличительные черты системы компоновки данных.
Использование запросов
Запросы в СКД имеют ряд особенностей:
- Отсутствует секция итогов
- Автоиспользуются параметры из схемы компоновки
- Поддерживают специальные конструкции СКД
Расчет итогов
Расчет итогов основан на ресурсах и группировках. Особенности:
- Ресурсы могут иметь разный алгоритм расчета
- Выражения для итогов пишутся на ВЯ
- Итоги рассчитываются для каждой группировки
Производительность
Для повышения скорости работы СКД можно использовать:
- Асинхронный режим запросов
- Отключение пересчета при изменении параметров
- Выгрузку данных в файл
Интеграция СКД со смежными системами
Система компоновки данных может использоваться не только для формирования отчетов, но и для:
- Интеграции с внешними данными
- Выгрузки данных на сайт или в другую систему
- Автоматической сегментации клиентов
- Построения отборов для задач планирования
Интеграция с внешними данными
Через механизм таблиц значений можно получать данные из внешних источников, например:
- Файлов Excel
- Веб-сервисов
- Облачных хранилищ данных
Это позволяет комбинировать внутренние и внешние данные в отчетах.
Выгрузка данных на сайт
СКД удобно использовать для выгрузки аналитики на сайт или в системы бизнес-аналитики. Преимущества:
- Гибкая настройка структуры выгрузки
- Встроенные механизмы кэширования
- Экспорт в разные форматы данных
Сегментация клиентов
На основе гибких условий отбора в СКД можно реализовать механизмы сегментации, например:
- По объемам закупок
- По частоте обращений
- По жизненному циклу
Это нужно для таргетированных маркетинговых кампаний.
Рекомендации по использованию СКД
Для эффективной работы с системой компоновки данных можно дать следующие рекомендации:
Порядок создания отчетов
При разработке отчетов лучше придерживаться такой последовательности:
- Определить структуру исходных данных
- Спроектировать схему компоновки
- Настроить параметры и фильтры
- Доработать интерфейс пользователя
- Протестировать и оптимизировать
Оптимизация производительности
Для быстродействия отчетов желательно:
- Использовать асинхронные запросы
- Включить кэширование
- Отключить ненужные обработчики
Типичные ошибки
Часто встречающиеся ошибки при использовании СКД:
- Некорректные фильтры по реквизитам объектов
- Дублирующиеся итоги из-за ошибок в ресурсах
- Неоптимальный порядок наборов данных
Поэтому важно тщательно тестировать отчетность.
Дополнительные возможности
Дополнительно в СКД можно использовать:
- Механизм вложенных схем компоновки
- Интерактивные действия пользователя
- Систему компоновки данных в режиме управляемого приложения
Это расширяет области применения СКД.