НаправлениеПорядкаСхемыЗапроса.ПоВозрастаниюИерархии

Свойства · HierarchyAscending

Упорядочивание по возрастанию значений иерархии. Соответствует ключевому слову ВОЗР ИЕРАРХИЯ указанному в выражении УПОРЯДОЧИТЬ ПО языка запросов.

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

НаправлениеПорядкаСхемыЗапроса.ПоВозрастаниюИерархии (QuerySchemaOrderDirection.HierarchyAscending)

НаправлениеПорядкаСхемыЗапроса (QuerySchemaOrderDirection)

ПоВозрастаниюИерархии (HierarchyAscending)

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

Описание:
Упорядочивание по возрастанию значений иерархии.
Соответствует ключевому слову ВОЗР ИЕРАРХИЯ указанному в выражении УПОРЯДОЧИТЬ ПО языка запросов.
Использование в версии:

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

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

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

Изменить собственную схему запроса: НаправлениеПорядкаСхемыЗапроса.ПоВозрастаниюИерархии

Меняем направление реального выражения порядка. Для иерархического варианта сортируется ссылка собственного иерархического справочника, не произвольное число.

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

Тело серверной процедуры собственной учебной обработки. Схема редактируется в памяти, текст запроса выводится без исполнения.

Подготовка

  1. В отдельной учебной конфигурации создайте иерархический справочник УчебныйПорядокТоваров: иерархия групп и элементов, строковый код 10 с автонумерацией, наименование 100.

  2. Для наблюдения будущего результата создайте собственную группу Книги, в ней элемент Учебник, на верхнем уровне элемент Альбом. Рабочая номенклатура не используется.

  3. Основной блок — тело серверной процедуры своей обработки. Схема разбирает один собственный SELECT, поэтому первый пакетный запрос — ЗапросВыбораСхемыЗапроса.

Схема = Новый СхемаЗапроса;
Схема.УстановитьТекстЗапроса("ВЫБРАТЬ Ссылка, Наименование
|ИЗ Справочник.УчебныйПорядокТоваров");
Выбор = Схема.ПакетЗапросов.Получить(0);
Порядок = Выбор.Порядок.Добавить("Ссылка");
Порядок.Направление = НаправлениеПорядкаСхемыЗапроса.ПоВозрастаниюИерархии;
Сообщить(Схема.ПолучитьТекстЗапроса());
Сообщить("Изменён порядок собственного запроса; запрос не выполнялся");

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

  1. Создаём одну собственную схему и сохраняем её в переменной на всё время обращения к дочерним объектам.

  2. Получаем настоящее выражение порядка / соединение из этой схемы, а не неизвестный входной объект.

  3. Назначаем типизированную константу и выводим получившийся текст без выполнения запроса.

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

  1. В сформированном SQL порядок относится к полю Ссылка и варианту ПоВозрастаниюИерархии.

  2. Для иерархических направлений в тексте присутствует указание иерархии. Обычный порядок наименований не равнозначен обходу дерева.

  3. Показан текст собственного запроса, а не выполненный результат: этот пример записи и чтения рабочих данных не выполняет.

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

Типизированный вариант применён к настоящему объекту собственной схемы запроса.

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

  1. Не переносите дочерние объекты между разными схемами.

  2. Направление иерархии требует подходящего ссылочного поля, а не сортировки произвольного числа.

  3. Генерация текста и выполнение SQL — разные действия; пример не выдаёт генерацию за runtime-проверку результата.

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

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

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

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

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