Вход | Регистрация
 

СКД. Используя 2 набора получить самого последнего родителя

СКД. Используя 2 набора получить самого последнего родителя
Я
   Радим1987
 
16.06.20 - 15:25
Всем привет.
Уважаемые, собственно вопрос, как в СКД используя 2 набора данных получить самого последнего родителя иерархического справочника? Гуглил, не нашел подходящий вариант.

Элемент.Родитель
Элемент.Родитель.Родитель
.... Не подходит.  


Допустим это справочник "Подразделения"

Первый набор

Выбрать
   Ссылка
Из Справочника.Подразделения

Второй набор

Выбрать
   Ссылка,
   Ссылка.Родитель
Из Справочника.Подразделения

как их соединить?
   savaB
 
1 - 16.06.20 - 15:48
в гугле - собственная иерархия СКД
   Радим1987
 
2 - 16.06.20 - 15:58
(1) Такой вариант выводит все иерархии
1
  2
   3
    4
А нужно только

4
   Радим1987
 
3 - 16.06.20 - 15:59
Тьфу только 1
   Радим1987
 
4 - 16.06.20 - 16:00
В итоговой таблице я должен получить 2 записи

1(самый самый) и 4(текущий)
   polosov
 
5 - 16.06.20 - 16:07
(4) Так ты определись какой элемент тебе нужен.
Если верхний в иерархии, то получай элементы с пустым родителем. Если последний, то нужно в запросе отобрать только элементы не являющиеся никому родителями.
   Радим1987
 
6 - 16.06.20 - 16:09
(5) Вот это интересно, и как это провернуть?
   Флориан
 
7 - 16.06.20 - 16:14
(6)
ВЫБРАТЬ
    Подразделения.Ссылка
ИЗ
    Справочник.Подразделения КАК Подразделения

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    ВЫБОР
        КОГДА Подразделения.Ссылка.Родитель = ЗНАЧЕНИЕ(Справочник.Подразделения.ПустаяСсылка)
            ТОГДА Подразделения.Ссылка
        ИНАЧЕ ВЫБОР
                КОГДА Подразделения.Ссылка.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Подразделения.ПустаяСсылка)
                    ТОГДА Подразделения.Ссылка.Родитель
                ИНАЧЕ Подразделения.Ссылка.Родитель.Родитель
            КОНЕЦ
    КОНЕЦ
ИЗ
    Справочник.Подразделения КАК Подразделения
   fisher
 
8 - 16.06.20 - 16:17
(5) ТС нужно получить элементы в иерархии, опустив всех промежуточных родителей (оставив только корневых).
   Радим1987
 
9 - 16.06.20 - 16:28
Скорее всего никак, соединив второй набор между вторым набором мы получим таблицу вот такого рода
1 и 2
2 и 3
3 и 4
...

Тут не хватает еще одной колонки 1 то есть таблица должна быть примерно вот так

1 и 1 и 2
1 и 2 и 3
1 и 3 и 4
...
   polosov
 
10 - 16.06.20 - 16:37
Выборка только конечных групп в иерархии
    "ВЫБРАТЬ
        |    Справочник1.Ссылка КАК Ссылка
        |ИЗ
        |    Справочник.Справочник1 КАК Справочник1
        |        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Справочник1 КАК Справочник11
        |        ПО Справочник1.Ссылка = Справочник11.Родитель
        |            И (Справочник11.ЭтоГруппа)
        |ГДЕ
        |    Справочник1.ЭтоГруппа
        |    И Справочник11.Ссылка ЕСТЬ NULL";
   Franchiser
 
11 - 16.06.20 - 17:09
Выбрать
   Ссылка,
   Ссылка.Родитель
Из Справочника.Подразделения
Где ссылка.родитель.родитель есть null
   Franchiser
 
12 - 16.06.20 - 17:10
И ссылка.родитель не есть null
   DJ Anthon
 
13 - 16.06.20 - 17:19
я не морочусь, просто добавляю еще один реквизит. быстро и просто. скорости позволяют.
   toypaul
 
14 - 16.06.20 - 17:32
была подобная задача. решается через собственную иерархию специального типа

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.