О системе компоновки данных в 1С

10.07.2011
Про систему компоновки данных, наверное, слышал каждый, кто хоть раз сталкивался с разработкой отчетов в «1С:Предприятие 8». В настоящее время данный способ разработки отчетов является самым быстрым, а порой и наиболее эффективным.

В данной статье мы рассмотрим основные возможности и преимущества использования системы компоновки данных.

Что же такое система компоновки данных (СКД)?

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

Система компоновки данных позволяет реализовать следующие возможности:
  • создание отчета без программирования;
  • использование автоматически генерируемых форм просмотра и настройки отчета;
  • разбиение исполнения отчета на этапы;
  • исполнение отдельных этапов построения отчета на различных компьютерах;
  • независимое использование отдельных частей системы компоновки данных;
  • программное управление процессом выполнения отчета.
Рассмотрим более детально структуру СКД. Основные элементы системы компоновки данных представлены на следующей схеме (рис. 1):
Настройки компоновки данных в 1С
Рис. 1. Структура системы компоновки данных

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

Например, схема компоновки может содержать следующий набор данных (рис. 2):

Пример схемы компоновки данных в 1С

Рис. 2. Пример схемы компоновки

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

Например, может быть задана такая структура отчета (рис. 3).

Структура отчета в 1С

Рис. 3. Пример структуры отчета

В представленном отчете таблица будет состоят из записей регистра накопления ВыпускПродукции о продукции, выпущенной данным предприятием. Эти записи будут сгруппированы по подразделениям.

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

Алгоритм взаимодействия этих объектов выглядит следующим образом: разработчик создает схему компоновки данных и настройки по умолчанию. В общем случае на основе одной схемы компоновки данных может быть создано большое количество различных отчетов.

На основе схемы компоновки и имеющихся настроек компоновщик макета создает макет. При этом макет компоновки содержит необходимые запросы, макеты областей отчета и др.

Процессор компоновки данных выбирает данные из информационной базы согласно макету компоновки, агрегирует и оформляет эти данные.

Результат компоновки обрабатывается процессором вывода, и в итоге пользователь получает результирующий табличный документ (рис. 4).

Пример вывода отчета при компоновке данных в 1С

Рис. 4. Пример вывода отчета

Таким образом, СКД обладает гибкой настройкой, управляемостью и удобством в разработке новых отчетов различной сложности и структуры в системе «1С:Предприятие 8».



Количество показов: 2437
Автор:  Белкина Анастасия, инженер-программист, компания "Баланс-Сервис"
Рейтинг:  3.3

Возврат к списку



Авторы проекта druzya-priyateli.ru не несут ответственности за содержание информации, которую размещают пользователи ресурса.