ТипИзмеренияПостроителяЗапроса.ТолькоИерархия

Свойства · HierarchyOnly

Измерения построителя запроса - только группы.

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

ТипИзмеренияПостроителяЗапроса.ТолькоИерархия (QueryBuilderDimensionType.HierarchyOnly)

ТипИзмеренияПостроителяЗапроса (QueryBuilderDimensionType)

ТолькоИерархия (HierarchyOnly)

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

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

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

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

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

Построить группировки своих книг: ТолькоИерархия

Настройки применяются к настоящему запросу по собственному иерархическому справочнику.

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

Своя обычная форма, толстый клиент; два блока в одной кнопке.

Подготовка

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

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

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

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

  5. Толстый клиент: своя обычная форма обработки. Дополнительный блок ТекстЗапроса выполните первым в теле одной кнопки, затем основной блок. Запись в базу не выполняется.

  6. Источник содержит собственную группу и две ссылки: количество книги 3, тетради 5. ИсточникДанных построителю отдельно не назначается: ПолучитьЗапрос доступен для текстового источника.

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

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

  1. Подготовьте свои группу и два элемента.

  2. Считайте настройки из исходного текста и явно задайте нужный вид измерения.

  3. Посмотрите готовый текст и выполните именно возвращённый запрос.

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

  1. Элементы, Иерархия и ТолькоИерархия задают вид итогового измерения. Группа с суммой 8 не является ещё одной продажей; её нельзя складывать повторно с детальными количествами.

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

  3. Расчёт / BSL при сборке HTML не исполнялся. Выборка группировок не изменяет исходный справочник.

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

Перечисление передано реальному построителю и потреблено выполнением сгенерированного запроса.

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

  1. Иерархический итог не складывается повторно с количеством его дочерних элементов.

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

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

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

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

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