← Назад ко всем вопросам

В чем разница между схемой компоновки данных и системой компоновки данных

1️⃣ Как кратко ответить

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

2️⃣ Подробное объяснение темы

Система компоновки данных (СКД) и схема компоновки данных — это ключевые элементы в 1С, которые используются для создания отчетов. Они работают вместе, но выполняют разные функции.

Схема компоновки данных (СКД):

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

  • Наборы данных: Определяют источники данных, которые будут использоваться в отчете. Это могут быть таблицы, запросы или другие объекты 1С.
  • Поля данных: Указывают, какие конкретно данные из наборов будут использоваться.
  • Группировки: Определяют, как данные будут сгруппированы в отчете.
  • Отборы: Устанавливают условия, по которым данные будут отбираться.
  • Условия оформления: Определяют, как данные будут визуально представлены в отчете.

Пример кода для создания схемы компоновки данных:

&НаСервере
Процедура СоздатьСхемуКомпоновкиДанных()
    Схема = Новый СхемаКомпоновкиДанных;
​
    // Добавляем набор данных
    НаборДанных = Схема.НаборыДанных.Добавить("Запрос");
    НаборДанных.Запрос.Текст = "ВЫБРАТЬ Код, Наименование ИЗ Справочник.Номенклатура";
​
    // Добавляем поле данных
    ПолеДанных = НаборДанных.Поля.Добавить("Код");
    ПолеДанных = НаборДанных.Поля.Добавить("Наименование");
​
    // Добавляем группировку
    Группировка = Схема.Группировки.Добавить("Наименование");
​
    // Добавляем отбор
    Отбор = Схема.Отбор.Добавить("Код");
    Отбор.ВидСравнения = ВидСравнения.Равно;
    Отбор.Значение = "001";
​
    // Условия оформления
    УсловиеОформления = Схема.УсловияОформления.Добавить();
    УсловиеОформления.Условие = "Код = '001'";
    УсловиеОформления.ЦветФона = Цвета.Красный;
​
    // Сохраняем схему
    Схема.Записать();
КонецПроцедуры

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

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

  • Обработку данных: Выполняет запросы, отборы и группировки, указанные в схеме.
  • Формирование отчета: Создает конечный отчет в соответствии с заданными условиями оформления.
  • Интерактивность: Позволяет пользователю изменять параметры отчета, такие как отборы и сортировки, без изменения самой схемы.

Пример использования системы компоновки данных:

&НаСервере
Процедура СформироватьОтчет()
    // Создаем схему компоновки данных
    Схема = Новый СхемаКомпоновкиДанных;
    // (Настройка схемы аналогична предыдущему примеру)
​
    // Создаем процессор компоновки данных
    ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновки.Инициализировать(Схема);
​
    // Устанавливаем параметры
    Параметры = Новый Структура;
    Параметры.Вставить("Код", "001");
    ПроцессорКомпоновки.УстановитьПараметры(Параметры);
​
    // Формируем отчет
    ТабличныйДокумент = Новый ТабличныйДокумент;
    ПроцессорКомпоновки.СформироватьДокумент(ТабличныйДокумент);
​
    // Выводим отчет
    ТабличныйДокумент.Вывести();
КонецПроцедуры

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

Тема: Запросы и СКД
Стадия: Tech

🔒 Подпишись на бусти автора и стань Алигатором, чтобы получить полный доступ к функционалу сайта и отслеживать свой прогресс!

Твои заметки