Можно ли запросом получить родителя номенклатуры верхнего уровня ?

1. alex-l19041 8 12.11.20 17:55 Сейчас в теме
Можно ли запросом получить родителя номенклатуры верхнего уровня ?
Когда не известно количество уровней вложенности ?
По теме из базы знаний
Найденные решения
5. ildarovich 7913 12.11.20 18:20 Сейчас в теме
Вот здесь - Иерархия без "В ИЕРАРХИИ" и здесь - "Транзитивное замыкание запросом" про это написано.

В целом там идея в том, что даже если число уровней заранее неизвестно, оно не может быть слишком большим, например, больше 64. Тогда можно построить фиксированный запрос из 6 (для 64 уровней) подзапросов, который решит эту задачу.

Ну, а если боитесь, что кто-то спрячет какую-то номенклатуру глубже 64-го уровня, возьмите 10 подзапросов и запрос будет обрабатывать 1024 уровня иерархии, чего в реальной жизни вообще не бывает.
МихаилМ; EVKash; alex-l19041; +3 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
6. alex-l19041 8 12.11.20 18:21 Сейчас в теме
(1) надо получить связку каждой номенклатуры с ее родителем верхнего уровня...
2. DanDy 54 12.11.20 18:04 Сейчас в теме
Можно например вот так

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


И тогда если получить результат в виде дерева, то на верхнем уровне будет то что нужно
3. nomad_irk 76 12.11.20 18:06 Сейчас в теме
(2)
|ИТОГИ
| КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Наименование)

Бессмысленно.
8. DanDy 54 12.11.20 19:48 Сейчас в теме
(3) Собственно, как и ваш комментарий
4. alex-l19041 8 12.11.20 18:19 Сейчас в теме
(2) и как это сработает если на входе список номенклатур ?
Номенклатура.Ссылка В (&Список)
7. DanDy 54 12.11.20 19:48 Сейчас в теме
(4) Это надо было указывать в вопросе.
Какой вопрос, такой ответ.
5. ildarovich 7913 12.11.20 18:20 Сейчас в теме
Вот здесь - Иерархия без "В ИЕРАРХИИ" и здесь - "Транзитивное замыкание запросом" про это написано.

В целом там идея в том, что даже если число уровней заранее неизвестно, оно не может быть слишком большим, например, больше 64. Тогда можно построить фиксированный запрос из 6 (для 64 уровней) подзапросов, который решит эту задачу.

Ну, а если боитесь, что кто-то спрячет какую-то номенклатуру глубже 64-го уровня, возьмите 10 подзапросов и запрос будет обрабатывать 1024 уровня иерархии, чего в реальной жизни вообще не бывает.
МихаилМ; EVKash; alex-l19041; +3 Ответить
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот