Имя: Пароль:
1C
1С v8
В запросе вывести всю глубину рекурсии
0 dezss
 
23.05.17
17:03
Добрый день.
Другого названия теме придумать не смог.
Есть справочник. У него есть реквизит База ссылка на этот же справочник.
Как можно в запросе получить всю глубину этой ссылочной вакханалии, если эта самая глубина заранее неизвестна? Желательно это все запихнуть в одну колонку.
Циклических ссылок быть не должно, вроде.
Подскажите, плиз. Либо пните в нужном направлении на почитать.
1 Волшебник
 
модератор
23.05.17
17:05
итоги по иерархии
2 dezss
 
23.05.17
17:11
(1) Эта ссылка не на группу элементов справочника, а на такой же элемент.
Как в таком случае использовать иерархию?
3 Волшебник
 
модератор
23.05.17
17:12
(2) иерархия элементов
4 Вафель
 
23.05.17
17:14
транзитивное замыкание
5 dezss
 
23.05.17
17:30
(3) Справочник не иерархический. Если бы можно было как-то в запросе явно указать, что этот реквизит и отвечает за иерархию. Но ведь так нельзя?
(4) термина такого давно не слышал (а может и вообще не слышал), но суть этого я понимаю, я не понимаю как это можно реализовать в запросе, без динамического формирования текста запроса с кучей левых соединений.

Просто подумалось, что это можно как-то решить логически.
6 igork1966
 
23.05.17
17:30
(4) Жалко, что в 1С не сделали рекурсию в запросах, наподобие MS SQL. Хотя понятно почему, совместимость с другими SQL потеряли бы.
7 igork1966
 
23.05.17
17:31
(5) "без динамического формирования текста запроса"
не получится, ну или запрос в цикле с временой таблицей
8 Волшебник
 
модератор
23.05.17
17:32
(5) сделай иерархический справочник
9 maxdmt
 
23.05.17
18:08
Посмотрите эту статью
http://catalog.mista.ru/public/160707/
10 Михаил Козлов
 
23.05.17
18:51
(6) Транзитивное замыкание хранить в РС и формировать при изменении самого справочника.
11 dezss
 
24.05.17
09:24
(7) Уже начал об этом догадываться.
(9) А вот за эту статью большое спасибо. Автор там весьма "в теме".
(10) Можно было бы, но есть одно небольшое "НО", которое я не указал в задаче. Я пишу отчет, который нужен и важен, но не до такой степени, чтобы создавать для него отдельный РС.)
12 Asmody
 
24.05.17
09:36
В книжке Хрусталевой по СКД есть глава про кастомную иерархию. Возможно, это то самое.
Программист всегда исправляет последнюю ошибку.