В чем разница между схемой компоновки данных и системой компоновки данных
1️⃣ Как кратко ответить
Схема компоновки данных — это структура, определяющая, какие данные и в каком виде будут использоваться в отчете. Система компоновки данных — это механизм, который обрабатывает данные по заданной схеме и формирует отчет. Схема задает правила, система их реализует.
2️⃣ Подробное объяснение темы
Система компоновки данных (СКД) и схема компоновки данных — это ключевые элементы в 1С, которые используются для создания отчетов. Они работают вместе, но выполняют разные функции.
Схема компоновки данных (СКД):
Схема компоновки данных — это своего рода "план" или "чертеж" отчета. Она определяет, какие данные будут использоваться, как они будут отбираться, группироваться и сортироваться. Схема включает в себя:
- Наборы данных: Определяют источники данных, которые будут использоваться в отчете. Это могут быть таблицы, запросы или другие объекты 1С.
- Поля данных: Указывают, какие конкретно данные из наборов будут использоваться.
- Группировки: Определяют, как данные будут сгруппированы в отчете.
- Отборы: Устанавливают условия, по которым данные будут отбираться.
- Условия оформления: Определяют, как данные будут визуально представлены в отчете.
Пример кода для создания схемы компоновки данных:
&НаСервере
Процедура СоздатьСхемуКомпоновкиДанных()
Схема = Новый СхемаКомпоновкиДанных;
// Добавляем набор данных
НаборДанных = Схема.НаборыДанных.Добавить("Запрос");
НаборДанных.Запрос.Текст = "ВЫБРАТЬ Код, Наименование ИЗ Справочник.Номенклатура";
// Добавляем поле данных
ПолеДанных = НаборДанных.Поля.Добавить("Код");
ПолеДанных = НаборДанных.Поля.Добавить("Наименование");
// Добавляем группировку
Группировка = Схема.Группировки.Добавить("Наименование");
// Добавляем отбор
Отбор = Схема.Отбор.Добавить("Код");
Отбор.ВидСравнения = ВидСравнения.Равно;
Отбор.Значение = "001";
// Условия оформления
УсловиеОформления = Схема.УсловияОформления.Добавить();
УсловиеОформления.Условие = "Код = '001'";
УсловиеОформления.ЦветФона = Цвета.Красный;
// Сохраняем схему
Схема.Записать();
КонецПроцедуры
Система компоновки данных (СКД):
Система компоновки данных — это механизм, который берет схему компоновки данных и на ее основе формирует отчет. Она выполняет все операции, описанные в схеме: отбор, группировку, сортировку и оформление данных. Система компоновки данных отвечает за:
- Обработку данных: Выполняет запросы, отборы и группировки, указанные в схеме.
- Формирование отчета: Создает конечный отчет в соответствии с заданными условиями оформления.
- Интерактивность: Позволяет пользователю изменять параметры отчета, такие как отборы и сортировки, без изменения самой схемы.
Пример использования системы компоновки данных:
&НаСервере
Процедура СформироватьОтчет()
// Создаем схему компоновки данных
Схема = Новый СхемаКомпоновкиДанных;
// (Настройка схемы аналогична предыдущему примеру)
// Создаем процессор компоновки данных
ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновки.Инициализировать(Схема);
// Устанавливаем параметры
Параметры = Новый Структура;
Параметры.Вставить("Код", "001");
ПроцессорКомпоновки.УстановитьПараметры(Параметры);
// Формируем отчет
ТабличныйДокумент = Новый ТабличныйДокумент;
ПроцессорКомпоновки.СформироватьДокумент(ТабличныйДокумент);
// Выводим отчет
ТабличныйДокумент.Вывести();
КонецПроцедуры
Таким образом, схема компоновки данных определяет, что и как будет отображаться в отчете, а система компоновки данных реализует это на практике, формируя отчет на основе заданной схемы.
🔒 Подпишись на бусти автора и стань Алигатором, чтобы получить полный доступ к функционалу сайта и отслеживать свой прогресс!
Подписаться