Можно ли запросом получить родителя номенклатуры верхнего уровня ?
По теме из базы знаний
Найденные решения
Вот здесь - Иерархия без "В ИЕРАРХИИ" и здесь - "Транзитивное замыкание запросом " про это написано.
В целом там идея в том, что даже если число уровней заранее неизвестно, оно не может быть слишком большим, например, больше 64. Тогда можно построить фиксированный запрос из 6 (для 64 уровней) подзапросов, который решит эту задачу.
Ну, а если боитесь, что кто-то спрячет какую-то номенклатуру глубже 64-го уровня, возьмите 10 подзапросов и запрос будет обрабатывать 1024 уровня иерархии, чего в реальной жизни вообще не бывает.
В целом там идея в том, что даже если число уровней заранее неизвестно, оно не может быть слишком большим, например, больше 64. Тогда можно построить фиксированный запрос из 6 (для 64 уровней) подзапросов, который решит эту задачу.
Ну, а если боитесь, что кто-то спрячет какую-то номенклатуру глубже 64-го уровня, возьмите 10 подзапросов и запрос будет обрабатывать 1024 уровня иерархии, чего в реальной жизни вообще не бывает.
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Можно например вот так
И тогда если получить результат в виде дерева, то на верхнем уровне будет то что нужно
"ВЫБРАТЬ
| Номенклатура.Ссылка КАК Ссылка,
| Номенклатура.Наименование КАК Наименование
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| Номенклатура.Ссылка = &Ссылка
|ИТОГИ
| КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Наименование)
|ПО
| Ссылка ТОЛЬКО ИЕРАРХИЯ"
ПоказатьИ тогда если получить результат в виде дерева, то на верхнем уровне будет то что нужно
Вот здесь - Иерархия без "В ИЕРАРХИИ" и здесь - "Транзитивное замыкание запросом " про это написано.
В целом там идея в том, что даже если число уровней заранее неизвестно, оно не может быть слишком большим, например, больше 64. Тогда можно построить фиксированный запрос из 6 (для 64 уровней) подзапросов, который решит эту задачу.
Ну, а если боитесь, что кто-то спрячет какую-то номенклатуру глубже 64-го уровня, возьмите 10 подзапросов и запрос будет обрабатывать 1024 уровня иерархии, чего в реальной жизни вообще не бывает.
В целом там идея в том, что даже если число уровней заранее неизвестно, оно не может быть слишком большим, например, больше 64. Тогда можно построить фиксированный запрос из 6 (для 64 уровней) подзапросов, который решит эту задачу.
Ну, а если боитесь, что кто-то спрячет какую-то номенклатуру глубже 64-го уровня, возьмите 10 подзапросов и запрос будет обрабатывать 1024 уровня иерархии, чего в реальной жизни вообще не бывает.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот