Имя: Пароль:
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) Консоль запросов рисует дерево как раз той структуры которая мне нужна, именно иерархия справочника, на основе которой оно строится.
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn