Подскажите, пожалуйста. Есть справочник Номенклатура с 2 уровнями иерархии, надо его вывести в ДеревоЗначений.
Запрос:
|ВЫБРАТЬ
| Данные.Ссылка КАК Ссылка
|ИЗ
| Справочник.Номенклатура КАК Данные
|ГДЕ
| НЕ Данные.ПометкаУдаления
|УПОРЯДОЧИТЬ ПО
| Ссылка ИЕРАРХИЯ
Код:
РезультатЗапроса = Запрос.Выполнить().Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией);
ЗначениеВРеквизитФормы(РезультатЗапроса, "МоеДерево");
Как при выводе упорядочить элементы верхнего уровня по коду, а нижнего - по алфавиту?
P.S. Знаю, что можно добавить в конце запроса АВТОУПОРЯДОЧИВАНИЕ, но тогда элементы обоих уровней упорядочиваются по алфавиту.
Нужно свое поле для сортировки, что-то типа такого:
ВЫБОР
КОГДА Номенклатура.Родитель.Родитель=Значение(Справочник.Номенклатура.ПустаяСсылка) ТОГДА Номенклатура.Код
ИНАЧЕ Номенклатура.Наименование
КОНЕЦ КАК ПолеСортировки
Не получилось, сортировка все равно происходит по ссылкам.
Запрос должен получиться таким?
ВЫБРАТЬ
Данные.Ссылка КАК Ссылка,
ВЫБОР
КОГДА Данные.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
ТОГДА Данные.Код
ИНАЧЕ Данные.Наименование
КОНЕЦ КАК ПолеСортировки
ИЗ
Справочник.Номенклатура КАК Данные
ГДЕ
(НЕ Данные.ПометкаУдаления)
УПОРЯДОЧИТЬ ПО
Ссылка ИЕРАРХИЯ,
ПолеСортировки
Закон Брукера: Даже маленькая практика стоит большой теории.