Имя: Пароль:
1C
1С v8
Возможно ли одним запросом выбрать элемент и его родителя верхнего уровня?
,
0 le_
 
27.01.12
17:43
Имеется справочник "Объекты". Вид иерархии справочника: иерархия элементов. У некоторых элементов в справочнике стоит галочка "Расчетный".
Вопрос: возможно ли одним запросом выбрать все элементы с установленной галочкой "Расчетный" и родителей верхнего уровня этих элементов?

Пример:
Проспект Мира
   д. 24          
       этаж 2
           ком. 10 (расчетный)
Запросом нужно выбрать: ком. 10 | Проспект Мира
1 lxs
 
27.01.12
17:44
"Задолбали"©
Ищи по форуму.
"Возможно все!"©
2 le_
 
27.01.12
17:45
(1) Искал. Не нашел.
3 Tata001
 
27.01.12
17:47
выбрать
таблОбъекты.объект,
таблОбъекты.объект.родитель
из
справочник.объекты как таблОбъекты
где
таблОбъекты.объект.асчетный="1"
4 Fragster
 
гуру
27.01.12
17:50
5 Fragster
 
гуру
27.01.12
17:50
в общем случае в запросе - нет
6 le_
 
27.01.12
17:51
(3) Родитель нужен первого уровня.
(4) В СКД - да. Нужно одним запросом, без СКД.
7 Fragster
 
гуру
27.01.12
17:52
ну либо через постобработку, либо через СКД... кстати, а что мешает юзать СКД? религия?
8 Tata001
 
27.01.12
17:53
(6)
Выбрать
ТаблицаЭлементоВ.объект,
ТаблицаЭлементоВ.объект.родитель
из
(выбрать
таблОбъекты.объект,
из
справочник.объекты как таблОбъекты
где
таблОбъекты.объект.Расчетный="1" и
таблОбъекты.объект.ЭтоГруппа="1" ) как ТаблицаЭлементоВ
9 Fragster
 
гуру
27.01.12
17:54
(8) соединение по В ИЕРАРХИИ не работает ;)
10 Tata001
 
27.01.12
17:54
(6)
Выбрать
ТаблицаЭлементоВ.объект,
ТаблицаЭлементоВ.объект.родитель
из
(выбрать
таблОбъекты.объект,
из

справочник.объекты как таблОбъекты

где
таблОбъекты.объект.Расчетный="1" и
таблОбъекты.объект.ЭтоГруппа="0" ) как ТаблицаЭлементоВ
11 Fragster
 
гуру
27.01.12
17:54
(10) да и вообще, нужен родитель ВЕРХНЕГО УРОВНЯ, а если вложенность 100500?
12 Tata001
 
27.01.12
17:55
(9) при чём тут соединение ???
13 Tata001
 
27.01.12
17:55
(11) неправильно пост посмотрела
14 Fragster
 
гуру
27.01.12
17:56
(12) а пирчем там родитель верхнего уровня?
15 mikecool
 
27.01.12
17:56
реквизит в номенклатуру, заполнять подпиской
17 Fragster
 
гуру
27.01.12
17:59
(16) с этим - в Пятница пришла !
18 Tata001
 
27.01.12
18:01
Через обход поГруппировкамСИерахией
19 le_
 
27.01.12
18:03
(7) Мне просто нужно таблицу значений получить.
20 Tata001
 
27.01.12
18:13
1 запрос на иерархию верхнего уровня. выгружаем в тз
2. запрос2 объединение тз с элементами справочника выгружаем в тз 2
21 asady
 
27.01.12
18:38
(0) здорово тормозное решение получишь на больших объёмах

для больших объёмов выходов может быть несколько
1. ИМХО самый удобный  - тупо хранить родителя первого уровня в самом элементе (разумеется позаботиться о его актуализации при записи объекта)

2. Никаких запросов В ИЕРАРХИИ - тупо запрос по различным родителям нужных элементов - потом их перебор в цикле с вызовом рекурсивной функции по родителю с использованием КЭШа - чтобы по нескольку раз не долбить сервер по одному и тому же родителю родителя.
- строим соответствие родитель - родитель 1 уровня
и уже потом бежим по элементам и вытаскиваем из полученного соответствия родителей 1 уровня
22 Fragster
 
гуру
27.01.12
18:54
(20)->(9)
23 XxGunnxX
 
27.01.12
19:21
я юзал полноенаименование(), оттуда можно вытащить имя корневого родителя