![]() |
|
Запросом получить все группы с особенными элементами | ☑ | ||
---|---|---|---|---|
0
ДНН
04.01.19
✎
16:36
|
Доброго времени суток, коллеги.
Есть иерархический справочник, иерархия групп и элементов. Может быть произвольное количество уровней иерархии. У элементов есть реквизит "Особенный" типа булево. Есть таблица значений с одной колонкой "Группа". В этой колонке группы данного справочника, причем произвольного уровня иерархии. Как группы первого уровня, так и 2-го, 3-го и т.д Нужно запросом получить таблицу из 2-х колонок: "Группа", "Есть особенный элемент" (не обязательно в этой группе, в том числе во вложенных группах, грубо говоря "в иерархии"). Именно запросом, без запроса сделать не проблема. Запрос не обязательно один, может быть пакет запросов. У кого какие мысли? Спасибо. |
|||
1
azernot
04.01.19
✎
16:50
|
Количество уровней иерархии фиксировано?
Текст запроса можно программного скомпоновать? Идея в том, чтобы объединить несколько запросов, в которых получить разные уровни групп Для группы 1-го уровня конструкция такая: Выбрать Выбор когда МойСправочник.Владелец = Значение(Справочник.мойСправочник.ПустаяСсылка) ТОгда Значение(Справочник.мойСправочник.ПустаяСсылка) когда МойСправочник.Владелец.Владелец = Значение(Справочник.мойСправочник.ПустаяСсылка) ТОгда МойСправочник.Владелец когда МойСправочник.Владелец.Владелец = Значение(Справочник.мойСправочник.ПустаяСсылка) ТОгда МойСправочник.Владелец когда МойСправочник.Владелец.Владелец.Владелец = Значение(Справочник.мойСправочник.ПустаяСсылка) ТОгда МойСправочник.Владелец.Владелец ... Конец как Группа1Уровня Из Справочники.МойСправочник Где МойСправочник.Особенный |
|||
2
ДНН
04.01.19
✎
16:59
|
Количество уровней иерархии фиксировано? - нет
Текст запроса можно программного скомпоновать? - не желательно |
|||
3
Злопчинский
04.01.19
✎
17:19
|
задача мудачно поставлена
"Нужно запросом получить таблицу из 2-х колонок: "Группа", "Есть особенный элемент" (не обязательно в этой группе, в том числе во вложенных группах, грубо говоря "в иерархии")." Группа21 Группа211 Группа2111 - здесь лежит особенный элемент. какая группа должна быть указана в таблице? Группа21 здесь лежит особенный элемент. Группа211 Группа2111 - здесь лежит особенный элемент. - какая группа/группы должны быть указаны в таблице? |
|||
4
MetaDon
04.01.19
✎
17:43
|
(0) используй ПолныйКод ;
|
|||
5
МихаилМ
05.01.19
✎
13:04
|
(0)
ищите "транзитивное замыкание запросом" |
|||
6
Конструктор1С
05.01.19
✎
13:10
|
Кривое проектирование приводит к кривым задачам и кривым алгоритмам
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |