Ссылка Издание действительно имеет иерархию, а отбор / группировка передаются настоящему компоновщику.
Где и как запускать
Модуль своей обычной формы, толстый клиент, собственный отчёт и справочник.
Подготовка
В своей учебной конфигурации создайте иерархический справочник УчебныеИзданияСКД: иерархия групп и элементов, код Строка 10, наименование 100, реквизит КоличествоУчебное Число 10.0.
Вручную создайте только свои записи: группа GROUP с именем Учебные издания, в ней элемент BOOK-1 Учебная книга с количеством 3 и элемент BOOK-2 Учебная тетрадь с количеством 5. Обновите учебную базу; рабочую номенклатуру не используйте.
Группировка должна иметь настоящий ссылочный тип с иерархией. Два строковых названия книг не заменяют такой источник.
BSL, записи справочника и формирование запросов при сборке HTML не выполнялись.
Создайте свой отчёт УчебнаяИерархияСКД с ОсновнаяСхемаКомпоновкиДанных. Источник Local, набор-запрос Книги с дополнительным запросом БЕЗ ИТОГИ. Автоматически заполните поля Издание и Количество; ресурс Количество с выражением Сумма(Количество).
Вариант УчебнаяИерархия: одна верхняя группировка по Издание, поля Издание и Количество. Первое поле группировки — именно Издание. Условия отбора не включайте в пользовательские настройки: код меняет полный объект настроек.
Основной обработчик — кнопка своей обычной формы в толстом клиенте. Функцию загрузки варианта и процедуру вывода разместите отдельно в том же модуле.
Процедура ПоказатьПример(Кнопка)
Схема = Отчеты.УчебнаяИерархияСКД.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
Компоновщик = УчебныйКомпоновщик(Схема, "УчебнаяИерархия");
Настройки = Компоновщик.Настройки;
Группировка = Настройки.Структура[0];
ПолеГруппировки = Группировка.ПоляГруппировки.Элементы[0];
ПолеГруппировки.ТипГруппировки = ТипГруппировкиКомпоновкиДанных.ТолькоИерархия;
ВывестиУчебнуюКомпоновку(Схема, Настройки);
Сообщить("Режим своей иерархии: ТолькоИерархия");
КонецПроцедурыКонструктор своей СКД: источник без ИТОГИ, не BSL
ВЫБРАТЬ Издания.Ссылка КАК Издание,
Издания.КоличествоУчебное КАК Количество
ИЗ Справочник.УчебныеИзданияСКД КАК Издания
ГДЕ НЕ Издания.ЭтоГруппа
И Издания.Код В ("BOOK-1", "BOOK-2")Тот же модуль: загрузка собственного варианта
Функция УчебныйКомпоновщик(Схема, ИмяВарианта)
Источник = Новый ИсточникДоступныхНастроекКомпоновкиДанных(Схема);
Компоновщик = Новый КомпоновщикНастроекКомпоновкиДанных;
Компоновщик.Инициализировать(Источник);
Для Каждого Вариант Из Схема.ВариантыНастроек Цикл
Если Вариант.Имя = ИмяВарианта Тогда
Компоновщик.ЗагрузитьНастройки(Вариант.Настройки);
Возврат Компоновщик;
КонецЕсли;
КонецЦикла;
ВызватьИсключение "Создайте собственный вариант схемы: " + ИмяВарианта;
КонецФункцииТот же модуль: сформировать настоящий результат
Процедура ВывестиУчебнуюКомпоновку(Схема, Настройки)
Расшифровка = Новый ДанныеРасшифровкиКомпоновкиДанных;
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
Макет = КомпоновщикМакета.Выполнить(Схема, Настройки, Расшифровка);
Процессор = Новый ПроцессорКомпоновкиДанных;
Процессор.Инициализировать(Макет, , Расшифровка);
Лист = Новый ТабличныйДокумент;
Вывод = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
Вывод.УстановитьДокумент(Лист);
Вывод.Вывести(Процессор);
Сообщить("Макетов областей: " + Строка(Макет.Макеты.Количество()));
Сообщить("Элементов расшифровки: " + Строка(Расшифровка.Элементы.Количество()));
Лист.Показать("Собственная компоновка учебных книг");
КонецПроцедурыРазбор по шагам
Подготовьте свои группу, элементы и собственную схему.
Примените режим к первому настоящему полю группировки либо полному условию отбора.
Сформируйте собственный результат и сравните уровни / область применения условия.
Как проверить результат
Иерархия / ТолькоИерархия различают уровни группировки. Применение Элементы / Иерархия / ТолькоИерархия задаёт, к каким записям результата применяется условие.
Настройка не меняет родителя книги и не ограничивает чтение базы по правам. Количества источника 3 и 5 сохраняются, итог собственной группы 8 не является дополнительной строкой движения.
Ожидаемый результат
Показан конкретный ссылочный источник, реальные настройки и вывод результата.
На что обратить внимание
Плоская строка «Книга» не даёт настоящей иерархии.
BSL и формирование отчёта при сборке HTML не исполнялись.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.