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

Учебные задачи

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

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

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

Подготовка

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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