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