Имя: Пароль:
1C
1С v8
Получить родителя верхнего уровня запросом
0 yegorka
 
02.04.15
14:33
Здравствуйте.
Задача такая:
есть иерархический справочник. Необходимо запросом получить таблицу такого вида:
1. Колонка Ссылка
2. Колонка РодительСамогоВерхнегоУровня

Написать функцию не предлагать. Интересует только запрос.
1 mistеr
 
02.04.15
14:35
Если ограничить максимальное количество уровней иерархии, то можно.
2 DrShad
 
02.04.15
14:36
СКД + Функция
3 asady
 
02.04.15
14:37
(0) шо? Опять?

кривые архитекторы ставят кривые задачи
4 yegorka
 
02.04.15
14:38
(3) так нет решения. Я же смотрел...
5 yegorka
 
02.04.15
14:38
(1) Нет не надо ограничивать - эти костыли не подходят.
6 yegorka
 
02.04.15
14:40
(2) это всего лишь часть запроса.
7 Ненавижу 1С
 
гуру
02.04.15
14:40
(3) кривая архитектура иерархических справочников не позволяет решать такие задачи
8 bolobol
 
02.04.15
14:41
1. Выбрать родителей верхнего уровня.
2. Выбрать элементы в иерархии этих родителей
3. Сфильтровать, сгруппировать
9 yegorka
 
02.04.15
14:42
(8) а на практике??
10 fisher
 
02.04.15
14:45
(9) На практике - только закладываться на фиксированный максимум уровней.
11 Гёдза
 
02.04.15
14:49
12 yegorka
 
02.04.15
14:51
(11) одним запросом, без программирования....
13 Spyke
 
02.04.15
14:55
(0) ВЫБРАТЬ различные
        Т1.Ссылка.Родитель КАК Ссылка
      
    ИЗ
    
        Справочник.Номенклатура КАК Т1
    
    ГДЕ
    
        Т1.Ссылка В ИЕРАРХИИ(&СсылкаНаЭлемент)  
    
    ИТОГИ ПО
    
        Ссылка ТОЛЬКО ИЕРАРХИЯ

Выберает всю иерархию. Дальше думай
14 Гёдза
 
02.04.15
14:56
(12) Так запросом все )))
15 mistеr
 
02.04.15
14:56
(12) Советую поискать другие пути решения исходной задачи, чем долбиться лбом о стену.
16 yegorka
 
02.04.15
14:57
(13) у какой!!! Думаешь не думал?
Во-первых, нужен не параметрический запрос. А во-вторых не хватает здесь еще одного поля, ну вот хоть тресни....... Подумаешь и сам поймешь :-)
17 mistеr
 
02.04.15
14:58
(7) Причем здесь архитектура?
18 Гёдза
 
02.04.15
14:58
(12) Возьми результат этой функции
19 Spyke
 
02.04.15
14:59
(16) Озвучь все входные данные и что нужно получить в итоге.
20 Spyke
 
02.04.15
14:59
(16) Колонка Это что?
21 yegorka
 
02.04.15
15:02
(19) Регистр оборотный продажи. Регистр сведений с соответствиями НаправлениеДеятельности-ВидНоменклатуры. Но в РС ВидНоменклатуры указан только верхний уровень, в котором могут быть н-ное количество групп и элементов в иерархии.

Нужно выбрать из регистра Продажи по направлениям деятельности, допустим, что в регистре продажи ВидНоменклатуры уже есть.

Вот такая задача.
22 yegorka
 
02.04.15
15:03
(18) да, разбираюсь. Отпишусь.
23 rsv
 
02.04.15
15:03
(0) Курите расширения T-SQL или иначе. АNSI  никак не взлетит.
24 bolobol
 
02.04.15
15:05
(9) Что не так с практикой? Запросы писать умеем или готовый нужен, а задача академическая?
25 rsv
 
02.04.15
15:05
Все равно это будет в виде функции(расширение) так или иначе
26 PR
 
02.04.15
15:05
(0) Выясняли уже сто раз, что нельзя.
27 rsv
 
02.04.15
15:06
(24) Это  задача на ID и ParentID  на N. Классикой не взлетит.
28 yegorka
 
02.04.15
15:10
(18) Спасибо, ты был прав. Это оно!!!
29 yegorka
 
02.04.15
15:10
(26) оказывается можно
30 hhhh
 
02.04.15
15:19
(29) ну это то же самое, максимальное количество уровней изначально задается. Читайте (5)
31 fisher
 
02.04.15
15:28
(30) +1
32 palpetrovich
 
02.04.15
16:09
имхо, учитывая (21) задачу из (0) решать незачем, нужен простой запрос типа
ВЫБРАТЬ
    Продажи.Номенклатура
ИЗ
       РегистрНакопления.Продажи КАК Продажи
ГДЕ
    Продажи.Номенклатура В ИЕРАРХИИ
        (ВЫБРАТЬ
            ВидНоменклатуры.ГруппаВерхнегоУровня
        ИЗ
            РегистрСведений.ВидНоменклатуры КАК ВидНоменклатуры)
33 PR
 
02.04.15
22:22
(29) Что можно-то, почитай (1)?