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