ТипПримененияОтбораКомпоновкиДанных.Элементы

Свойства · Items

Условие применяется только к записям - элементам.

Полное описание, параметры и ограничения

ТипПримененияОтбораКомпоновкиДанных.Элементы (DataCompositionFilterApplicationType.Items)

ТипПримененияОтбораКомпоновкиДанных (DataCompositionFilterApplicationType)

Элементы (Items)

Доступен, начиная с версии 8.1.

Описание:
Условие применяется только к записям - элементам.
Использование в версии:

Доступен, начиная с версии 8.1.

Методическая информация

Практические примеры

ТипПримененияОтбораКомпоновкиДанных.Элементы: свои группа и два издания

Ссылка Издание действительно имеет иерархию, а отбор / группировка передаются настоящему компоновщику.

Где и как запускать

Модуль своей обычной формы, толстый клиент, собственный отчёт и справочник.

Подготовка

  1. В своей учебной конфигурации создайте иерархический справочник УчебныеИзданияСКД: иерархия групп и элементов, код Строка 10, наименование 100, реквизит КоличествоУчебное Число 10.0.

  2. Вручную создайте только свои записи: группа GROUP с именем Учебные издания, в ней элемент BOOK-1 Учебная книга с количеством 3 и элемент BOOK-2 Учебная тетрадь с количеством 5. Обновите учебную базу; рабочую номенклатуру не используйте.

  3. Группировка должна иметь настоящий ссылочный тип с иерархией. Два строковых названия книг не заменяют такой источник.

  4. BSL, записи справочника и формирование запросов при сборке HTML не выполнялись.

  5. Создайте свой отчёт УчебнаяИерархияСКД с ОсновнаяСхемаКомпоновкиДанных. Источник Local, набор-запрос Книги с дополнительным запросом БЕЗ ИТОГИ. Автоматически заполните поля Издание и Количество; ресурс Количество с выражением Сумма(Количество).

  6. Вариант УчебнаяИерархия: одна верхняя группировка по Издание, поля Издание и Количество. Первое поле группировки — именно Издание. Условия отбора не включайте в пользовательские настройки: код меняет полный объект настроек.

  7. Основной обработчик — кнопка своей обычной формы в толстом клиенте. Функцию загрузки варианта и процедуру вывода разместите отдельно в том же модуле.

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

Разбор по шагам

  1. Подготовьте свои группу, элементы и собственную схему.

  2. Примените режим к первому настоящему полю группировки либо полному условию отбора.

  3. Сформируйте собственный результат и сравните уровни / область применения условия.

Как проверить результат

  1. Иерархия / ТолькоИерархия различают уровни группировки. Применение Элементы / Иерархия / ТолькоИерархия задаёт, к каким записям результата применяется условие.

  2. Настройка не меняет родителя книги и не ограничивает чтение базы по правам. Количества источника 3 и 5 сохраняются, итог собственной группы 8 не является дополнительной строкой движения.

Ожидаемый результат

Показан конкретный ссылочный источник, реальные настройки и вывод результата.

На что обратить внимание

  1. Плоская строка «Книга» не даёт настоящей иерархии.

  2. BSL и формирование отчёта при сборке HTML не исполнялись.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.