|
Запросом получить все группы с особенными элементами |
☑ |
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
|
Кривое проектирование приводит к кривым задачам и кривым алгоритмам
|
|