|
Самый верхний родитель элемента справочника | ☑ | ||
---|---|---|---|---|
0
doos1981
06.12.11
✎
17:42
|
Кто-нибудь подскажите как в запросе получить самого верхнего родителя элемента справочника?
|
|||
1
YF
06.12.11
✎
17:44
|
Никак
|
|||
2
MadHead
06.12.11
✎
17:45
|
ВЫБРАТЬ
Номенклатура.Ссылка ИЗ Справочник.Номенклатура КАК Номенклатура ГДЕ Номенклатура.Родитель = Значение(Справочник.Номенклатура.ПустаяСсылка) может так |
|||
3
ThreeTONE
06.12.11
✎
17:45
|
проверяй в выбор когда тогда .Родителя до тех пор, пока родитель заполнен
|
|||
4
YF
06.12.11
✎
17:46
|
(2) Неа
|
|||
5
YF
06.12.11
✎
17:47
|
Мона перед этим сделать запрос, который посчитает самый максимальный уровень элемента, а потом динамически формировать текст запроса (оператор Выбор) ...
|
|||
6
doos1981
06.12.11
✎
17:48
|
(3,5)А если количество уровней иерархии неограниченно...
|
|||
7
Живой Ископаемый
06.12.11
✎
17:48
|
Можно через ВЫБОР, если мы предварительно заполним параметр самыми верхними родителями...
|
|||
8
ThreeTONE
06.12.11
✎
17:49
|
(6) как это решанию из (5) помешает?
|
|||
9
MadHead
06.12.11
✎
17:49
|
ВЫБРАТЬ
Номенклатура.Ссылка КАК Ссылка ИЗ Справочник.Номенклатура КАК Номенклатура ГДЕ Номенклатура.Ссылка = &Ссылка ИТОГИ ПО Ссылка ТОЛЬКО ИЕРАРХИЯ |
|||
10
YF
06.12.11
✎
17:49
|
(6) Еще раз говорю сначала запрос к этому же справочнику, который даст реальный максимальный уровень ...
|
|||
11
MadHead
06.12.11
✎
17:51
|
(9) По идее если обойти по группировке первой то должно быть он
|
|||
12
Живой Ископаемый
06.12.11
✎
17:51
|
2(6) ну и что?
Например самыми верхними родителями есть группа Поставщики , Покупатели... итого твой выбор будет из трех веток: ВЫБОР КОГДА Контрагент.ССылка В ИЕРАРХИИ &Поставщики ТОГДА &Поставщики ИНАЧЕЕСЛИ КОГДА Контрагент.ССылка В ИЕРАРХИИ &Покупатели ТОГДА &Покупатели ИНАЧЕ "" КАК РодительСамогоВерхнегоУровня |
|||
13
doos1981
06.12.11
✎
17:52
|
(10) Нужен сам элемент и его "голова" и все
|
|||
14
YF
06.12.11
✎
17:53
|
(11) Это не поможет. Ему нужен не список всех верхних родителей, а верхний родитель каждого элемента
|
|||
15
YF
06.12.11
✎
17:53
|
(13) Не понял, что не нравится? Нет поля "Голова" в таблице справочника, поэтому не получишь простым запросом
|
|||
16
Reset
06.12.11
✎
17:55
|
(14) Чего ему нужно, это еще из него выпытать надо сначала
|
|||
17
doos1981
06.12.11
✎
17:57
|
В результате запроса мне нужна таблица:
Элемент(1) - Верхний родитель элемента(1) ... Элемент(n) - Верхний родитель элемента(n) |
|||
18
Живой Ископаемый
06.12.11
✎
17:59
|
2(17) точно верхнего? если верхнего - то см (12)
|
|||
19
Живой Ископаемый
06.12.11
✎
18:00
|
Ну и этих родителей гораздо меньше чем элементов - тоже понятно, да?
|
|||
20
YF
06.12.11
✎
18:01
|
(18) Кстати, изящненько
|
|||
21
doos1981
06.12.11
✎
18:03
|
(18) А если у меня таких верхних родителей 100
|
|||
22
YF
06.12.11
✎
18:05
|
(21) Сто групп в корне справочника? Странно, хотя пофиг, все равно отработает ...
Либо вложенный выбор мастрачь как я предложил в (5) |
|||
23
Живой Ископаемый
06.12.11
✎
18:05
|
2(21) значит будет Оператор ВЫБОР из 101-й строки...
ваш кэп |
|||
24
Птица
06.12.11
✎
18:08
|
(12)тогда может, проще присоединить верхних предков левым соединением к таблие справочника?
а их выбрать как имеющих пустого родителя |
|||
25
Живой Ископаемый
06.12.11
✎
18:11
|
2(24) наверное... нужно пробовать
|
|||
26
Живой Ископаемый
06.12.11
✎
18:25
|
но в теории конечно это еще лучше и красивее
|
|||
27
Ant1773
06.12.11
✎
20:28
|
Решал как-то подобную задачу.
В лоб конечно и уровень важен, но если не стопицот уровней - можно так: ВЫБОР КОГДА ОсновныеНачисленияРаботниковОрганизаций.ПодразделениеОрганизации.Родитель.Родитель ЕСТЬ NULL ТОГДА ОсновныеНачисленияРаботниковОрганизаций.ПодразделениеОрганизации ИНАЧЕ ВЫБОР КОГДА ОсновныеНачисленияРаботниковОрганизаций.ПодразделениеОрганизации.Родитель.Родитель.Родитель ЕСТЬ NULL ТОГДА ОсновныеНачисленияРаботниковОрганизаций.ПодразделениеОрганизации.Родитель ИНАЧЕ ВЫБОР КОГДА ОсновныеНачисленияРаботниковОрганизаций.ПодразделениеОрганизации.Родитель.Родитель.Родитель.Родитель ЕСТЬ NULL ТОГДА ОсновныеНачисленияРаботниковОрганизаций.ПодразделениеОрганизации.Родитель.Родитель ИНАЧЕ ОсновныеНачисленияРаботниковОрганизаций.ПодразделениеОрганизации.Родитель.Родитель.Родитель КОНЕЦ КОНЕЦ КОНЕЦ |
|||
28
Живой Ископаемый
06.12.11
✎
23:35
|
2(24) у мня не получается наложить условие связи В ИЕРАРХИИ:
ВЫБРАТЬ Контрагенты.Ссылка, ВерхниеРодители.Ссылка КАК ВерхнийРодитель ИЗ Справочник.Контрагенты КАК Контрагенты ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ Контрагенты.Ссылка КАК Ссылка ИЗ Справочник.Контрагенты КАК Контрагенты ГДЕ Контрагенты.Родитель = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяССылка) И Контрагенты.ЭтоГруппа = ИСТИНА СГРУППИРОВАТЬ ПО Контрагенты.Ссылка) КАК ВерхниеРодители ПО Контрагенты.Ссылка В ИЕРАРХИИ (ВерхниеРодители.Ссылка) так, получается: ВЫБРАТЬ Контрагенты.Ссылка, ВерхниеРодители.Ссылка КАК ВерхнийРодитель ИЗ Справочник.Контрагенты КАК Контрагенты ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ Контрагенты.Ссылка КАК Ссылка ИЗ Справочник.Контрагенты КАК Контрагенты ГДЕ Контрагенты.Родитель = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяССылка) И Контрагенты.ЭтоГруппа = ИСТИНА СГРУППИРОВАТЬ ПО Контрагенты.Ссылка) КАК ВерхниеРодители ПО Контрагенты.Родитель = ВерхниеРодители.Ссылка Но это не то что нужно. :( |
|||
29
Птица
06.12.11
✎
23:42
|
(28)хм, да. так не работает
|
|||
30
Живой Ископаемый
06.12.11
✎
23:44
|
да, жалко...
|
|||
31
mikecool
06.12.11
✎
23:45
|
я рисовал через 5 точек родителя
договорились, что хватит 6 уровней вложенности и родитель.родитель... есть нул |
|||
32
H A D G E H O G s
06.12.11
✎
23:47
|
Я бы сделал в цикле и не парился.
|
|||
33
H A D G E H O G s
06.12.11
✎
23:47
|
А это (31) - атский мистец.
|
|||
34
mikecool
06.12.11
✎
23:49
|
(33) и чо? отчет раз-два в неделю формируют, формируется за 2 минуты, на скд писань
чо плохого? |
|||
35
YF
07.12.11
✎
00:13
|
А чем, всетаки вариант с двумя-то запросами не катит?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |