![]() |
![]() |
![]() |
|
Запрос иерархия | ☑ | ||
---|---|---|---|---|
0
_Demos_
17.06.11
✎
16:33
|
Здравствуйте! нужна помощь.
Имеется иерархический справочник. Количество уровней неизвестно. Есть две таблицы. Первая с элементами верхнего уровня, вторая - со всеми только не верхнего. Можно ли соединить эти две таблицы без Родитель.Родитель."и еще ф&г знает сколько раз". Чтобы для каждой строки второй таблицы установился элемент из первой т.е. родитель из первого уровня? |
|||
1
_Demos_
17.06.11
✎
16:41
|
up
|
|||
2
Конфигуратор1с
17.06.11
✎
16:48
|
(2) А что мешает во второй вывести элемент самого верхнего уровня?
|
|||
3
_Demos_
17.06.11
✎
16:49
|
(2) Первая таблица получается из другого источника
|
|||
4
_Demos_
17.06.11
✎
16:57
|
кхм
|
|||
5
Абыр
17.06.11
✎
17:01
|
соединить таблицы по В ИЕРАРХИИ
|
|||
6
_Demos_
17.06.11
✎
17:05
|
(5) аха, щас
|
|||
7
_Demos_
17.06.11
✎
17:06
|
+ (6) незя так
|
|||
8
sanja26
17.06.11
✎
17:07
|
выбрать все поля из первой
|
|||
9
sanja26
17.06.11
✎
17:09
|
выбрать из второй
на закладке связи - левое соединение первой со второй, в левой родитель, в правой ссылка |
|||
10
_Demos_
17.06.11
✎
17:12
|
(9) количество уровней иерархии НЕОГРАНИЧЕНО
|
|||
11
le_
17.06.11
✎
17:12
|
Думаю, не получится их в запросе соединить. Ищи другое решение.
|
|||
12
_Demos_
17.06.11
✎
17:12
|
(9) не покатит так
|
|||
13
SUA
17.06.11
✎
17:13
|
(12)групп много?
и групп 1го уровня в том числе? |
|||
14
SUA
17.06.11
✎
17:14
|
этап1: для каждой группы 1го уровня получить все вложенные,
этап2: сравнивать уже со списками, условие В |
|||
15
_Demos_
17.06.11
✎
17:18
|
(14) >> этап1: для каждой группы 1го уровня получить все вложенные
а можно пример |
|||
16
SUA
17.06.11
✎
17:22
|
(15)ВЫБРАТЬ Ссылка ИЗ Справочник.Номенклатура ГДЕ ЭтоГруппа И Ссылка В ИЕРАРХИИ(&Элемент)
ессно не один запрос тогда будет, а пачка мелких предварительно |
|||
17
_Demos_
17.06.11
✎
17:24
|
(16) как его соединить со вторым, если (&Элемент) это список или массив
|
|||
18
SUA
17.06.11
✎
17:28
|
(17)этот никак - для каждой группы 1го уровня вызвать отдельно.
а итоговый запрос-объединение можно строить динамически по типу выбор когда элементсписка2.Ссылка в (&НаборУзлов1)тогда &родитель1 |
|||
19
Poky
17.06.11
✎
17:36
|
Если это две коллекции значений (например ТЗ), то можно циклом обойти вторую (со всеми элементами) и рекурсивной функцией найти соответствующего родителя из первой.
|
|||
20
rs_trade
17.06.11
✎
17:41
|
Не так?
ВЫБРАТЬ ВерхнийУровень.Наименование, Номенклатура.Наименование КАК Наименование1, Номенклатура1.Наименование КАК Наименование2 ИЗ Справочник.ВерхнийУровень КАК ВерхнийУровень ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура1 ПО Номенклатура.Ссылка = Номенклатура1.Родитель ПО ВерхнийУровень.Ссылка = Номенклатура._Родитель |
|||
21
SUA
17.06.11
✎
17:43
|
(20)количество уровней вложенности произвольно
|
|||
22
_Demos_
17.06.11
✎
17:44
|
(19) да это как вариант, но пока ищу вариант в виде запроса
(20) -> (10) |
|||
23
Конфигуратор1с
17.06.11
✎
18:09
|
ну может конечно бред. но как вариант -
Сч = 0; Для Каждого стр из тз цикл Сч = Сч + 1; Запрос.УстановитьПараметр("Группа"+Сч,Стр.Группа) Текст = Текст + "Выбрать Справчоник.ССылка из Справочника где Справчоник.ССылка в Иерархии (Группа"+ Сч+") объединить Выбрать Ссылка из ВтПервогоУровня где ВтПервогоУровня.ССылка в Иерархии (Группа"+ Сч+") объединить"; КонецЦикла; |
|||
24
Конфигуратор1с
17.06.11
✎
18:11
|
то есть в цикле сформировать текст запроса с параметрами и выбрать в иерархии все элементы для каждого элемента первого уровня?
|
|||
25
Конфигуратор1с
17.06.11
✎
18:12
|
ох и бред мне в пятницу вечером в голову лезет)))
|
|||
26
Tapo4ek
17.06.11
✎
18:57
|
Цитирую на всякий случай:
Здравствуйте! нужна помощь. Имеется иерархический справочник. Количество уровней неизвестно. Есть две таблицы. Первая с элементами верхнего уровня, вторая - со всеми только не верхнего. Можно ли соединить эти две таблицы без Родитель.Родитель."и еще ф&г знает сколько раз". Чтобы для каждой строки второй таблицы установился элемент из первой т.е. родитель из первого уровня? |
|||
27
Tapo4ek
17.06.11
✎
18:58
|
Понять не могу зачем "левая" таблица, если можно выдрать "старших" родителей из "правой" таблицы. Не совсем понятна задача...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |