Имя: Пароль:
1C
1С v8
Не упорядочивается по иерархии в запросе
0 dchumak
 
11.12.14
11:56
Добрый день!

Делаю запрос, необходимо, чтобы прошло упорядочивание по иерархии.

Если делаю запрос без параметров, то все отрабатывает нормально, в консоли запрос возвращает набор с иерархией:

ВЫБРАТЬ
    спрНоменклатура.Ссылка КАК Номенклатура,
    регТоварыНаСкладах.Остаток,
    регЗаказыПоставщикам.ВПути,
    регТоварыВРезерве.Заказано
ИЗ
    Справочник.Номенклатура КАК спрНоменклатура
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) КАК Остаток,
            ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура
        ИЗ
            РегистрНакопления.ТоварыНаСкладах.Остатки(&НаДату, ) КАК ТоварыНаСкладахОстатки) КАК регТоварыНаСкладах
        ПО спрНоменклатура.Ссылка = регТоварыНаСкладах.Номенклатура
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            ЗаказыПоставщикамОстатки.Номенклатура КАК Номенклатура,
            ЕСТЬNULL(ЗаказыПоставщикамОстатки.КоличествоОстаток, 0) КАК ВПути
        ИЗ
            РегистрНакопления.ЗаказыПоставщикам.Остатки(&НаДату, ) КАК ЗаказыПоставщикамОстатки) КАК регЗаказыПоставщикам
        ПО спрНоменклатура.Ссылка = регЗаказыПоставщикам.Номенклатура
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            ЗаказыПокупателейОстатки.Номенклатура КАК Номенклатура,
            ЕСТЬNULL(ЗаказыПокупателейОстатки.КоличествоОстаток, 0) КАК Заказано
        ИЗ
            РегистрНакопления.ЗаказыПокупателей.Остатки(&НаДату, ) КАК ЗаказыПокупателейОстатки) КАК регТоварыВРезерве
        ПО спрНоменклатура.Ссылка = регТоварыВРезерве.Номенклатура
ГДЕ
    спрНоменклатура.ПометкаУдаления = &ПометкаУдаления
    //И спрНоменклатура.Ссылка = &Ссылка

УПОРЯДОЧИТЬ ПО
    Номенклатура ИЕРАРХИЯ
АВТОУПОРЯДОЧИВАНИЕ

Если же параметр И спрНоменклатура.Ссылка = &Ссылка раскоментировать, то при выполнении запроса уже не делается автоупорядочивание. Просто возвращается номенклатура.

Как сделать, чтобы упорядочивалось по иерархии с отбором по номенклатуре?

Конфа - УТ 10.3
1 vicof
 
11.12.14
11:58
ВЫБРАТЬ
            ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) КАК Остаток,
            ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура
        ИЗ
            РегистрНакопления.ТоварыНаСкладах.Остатки(&НаДату, ) КАК ТоварыНаСкладахОстатки)

садись, 2
2 vicof
 
11.12.14
12:05
спрНоменклатура.Ссылка В ИЕРАРХИИ( &Ссылка) не?
3 Бригада бронепоезда
 
11.12.14
12:07
переделай запрос через временные таблицы, не позорься
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой