Имя: Пароль:
1C
1С v8
Сортировка в запросе
0 SkazochnikD
 
10.04.15
12:18
Есть задача. Дан запрос

ВЫБРАТЬ
    KPI_Этапы.Ссылка КАК Этап,
    KPI_СмартЗадача.Ссылка КАК СмартЗадача,
    KPI_Этапы.Родитель,
    ЕСТЬNULL(KPI_СмартЗадача.НаименованиеЗадачи, """") КАК НаименованиеЗадачи,
    ЕСТЬNULL(KPI_СмартЗадача.ВыполнитьДо, ДАТАВРЕМЯ(1, 1, 1)) КАК ВыполнитьДо,
    ЕСТЬNULL(KPI_СмартЗадача.Дата, ДАТАВРЕМЯ(1, 1, 1)) КАК Дата
ИЗ
    Справочник.KPI_Этапы КАК KPI_Этапы
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.KPI_СмартЗадача КАК KPI_СмартЗадача
        ПО KPI_Этапы.Ссылка = KPI_СмартЗадача.Этап
ГДЕ
    KPI_Этапы.Проект = &Проект

УПОРЯДОЧИТЬ ПО
    Этап ИЕРАРХИЯ УБЫВ,
    KPI_Этапы.Индекс

Необходимо, что бы результат был отсортирован по иерархии а внутри одой группы по полю Индекс. Как запрос написан сейчас - результата нет. просто выводит по иерархии. Как сделать что бы сортировался ещё и по Индексу?
1 palpetrovich
 
10.04.15
12:28
а что ты хочешь, ты-ж сам  написал
УПОРЯДОЧИТЬ ПО
    KPI_Этапы.Ссылка ИЕРАРХИЯ УБЫВ,
    KPI_Этапы.Индекс
2 SkazochnikD
 
10.04.15
12:49
я понимаю, что не правильно составлен запрос.
я спрашиваю как его нужно изменить, что бы запрос был по иерархии, а внутри одной иерархии был отсортирован по индексу.
3 Cube
 
10.04.15
12:56
ВЫБРАТЬ
    KPI_Этапы.Ссылка КАК Этап,
    KPI_СмартЗадача.Ссылка КАК СмартЗадача,
    KPI_Этапы.Родитель,
    ЕСТЬNULL(KPI_СмартЗадача.НаименованиеЗадачи, """") КАК НаименованиеЗадачи,
    ЕСТЬNULL(KPI_СмартЗадача.ВыполнитьДо, ДАТАВРЕМЯ(1, 1, 1)) КАК ВыполнитьДо,
    ЕСТЬNULL(KPI_СмартЗадача.Дата, ДАТАВРЕМЯ(1, 1, 1)) КАК Дата
ИЗ
    Справочник.KPI_Этапы КАК KPI_Этапы
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.KPI_СмартЗадача КАК KPI_СмартЗадача
        ПО KPI_Этапы.Ссылка = KPI_СмартЗадача.Этап
ГДЕ
    KPI_Этапы.Проект = &Проект

УПОРЯДОЧИТЬ ПО
    Родитель ИЕРАРХИЯ УБЫВ,
    KPI_Этапы.Индекс
4 palpetrovich
 
10.04.15
13:07
(3) похоже
5 SkazochnikD
 
10.04.15
14:10
но так дерево получается совсем другое.
6 Лефмихалыч
 
10.04.15
14:12
(5) зачем ыт сказки рассказываешь?
7 SkazochnikD
 
10.04.15
15:00
Иерархия Этап

http://s019.radikal.ru/i623/1504/0b/d44073f0e0aa.jpg

Иерархия Родитель

http://s017.radikal.ru/i415/1504/43/0d683101e025.jpg

Раньше корнем всего был Запуск ракеты. При иерархии родитель. Запуск ракеты в одном уровне со сборкой корпуса и штамповкой металла.
8 palpetrovich
 
10.04.15
15:04
я думаю, что такие серъезные проекты как "Запуск ракеты" - иерархией справочника не разруливаются ;)
9 kosts
 
10.04.15
15:08
(0)

ВЫБРАТЬ
    KPI_Этапы.Ссылка КАК Этап,
    KPI_СмартЗадача.Ссылка КАК СмартЗадача,
    KPI_Этапы.Родитель,
    ЕСТЬNULL(KPI_СмартЗадача.НаименованиеЗадачи, """") КАК НаименованиеЗадачи,
    ЕСТЬNULL(KPI_СмартЗадача.ВыполнитьДо, ДАТАВРЕМЯ(1, 1, 1)) КАК ВыполнитьДо,
    ЕСТЬNULL(KPI_СмартЗадача.Дата, ДАТАВРЕМЯ(1, 1, 1)) КАК Дата,
    Выбор Когда &Пар = KPI_Этапы.Ссылка Тогда -1 Иначе 1 Конец * KPI_Этапы.Индекс как Порядок
ИЗ
    Справочник.KPI_Этапы КАК KPI_Этапы
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.KPI_СмартЗадача КАК KPI_СмартЗадача
        ПО KPI_Этапы.Ссылка = KPI_СмартЗадача.Этап
ГДЕ
    KPI_Этапы.Проект = &Проект

УПОРЯДОЧИТЬ ПО
    Родитель ИЕРАРХИЯ УБЫВ,
Выбор Когда &Пар = KPI_Этапы.Ссылка Тогда -1 Иначе 1 Конец // или Порядок не помню, точно
10 SkazochnikD
 
10.04.15
15:20
(9) при иерархии Родитель сортируется и без такого мудреного подхода с когда. но дерево другое.
11 kosts
 
10.04.15
15:21
(10) Моя твоя не понимай
12 hhhh
 
10.04.15
15:22
(10) группировки не надо менять, только Упорядочить.
13 SkazochnikD
 
10.04.15
15:28
(11) при запросе

УПОРЯДОЧИТЬ ПО
    Этап ИЕРАРХИЯ УБЫВ,
    KPI_Этапы.Индекс

получается дерево отличное от запроса с упорядочиванием

УПОРЯДОЧИТЬ ПО
    Родитель ИЕРАРХИЯ УБЫВ,
    KPI_Этапы.Индекс

см (7) нужно чтобы дерево было как при упорядочивании по Этапу, но и с сортировкой по Индексу.

Сортировка по Индексу работает при упорядочивании по Родителю, но дерево получается другое.
14 SkazochnikD
 
10.04.15
15:29
(12) не понял, про группировки
15 hhhh
 
10.04.15
15:30
(13) а какой вопрос тогда в (0)? Получить дерево отличное от первого дерева. Вы его и получили.
16 SkazochnikD
 
10.04.15
15:33
(15) нужно дерево как в (0), у которого элементы расположенные на одном уровне, должны быть отсортированы по полю Индекс.
17 hhhh
 
10.04.15
15:39
(16) но у вас же не дерево. Чтобы получить дерево, надо ИТОГИ вообще-то. Типа

ИТОГИ
    Родитель ИЕРАРХИЯ
УПОРЯДОЧИТЬ ПО
    Родитель УБЫВ,
    Порядок
18 SkazochnikD
 
10.04.15
15:53
(17) Консоль запросов рисует дерево как раз той структуры которая мне нужна, именно иерархия справочника, на основе которой оно строится.