Имя: Пароль:
1C
1С v8
Запрос к остаткам с учетом иерархии НО!!! без секции ИТОГИ.
0 siggoron
 
27.03.14
12:53
В системе существует иерархический справочник "ПРЕДМЕТЫ":


Предмет А
...Предмет А1
...Предмет А2
......Предмет А21
......Предмет А22
Предмет Б
...Предмет Б1
......Предмет Б11
.........Предмет Б111
...Предмет Б2


,также есть регистр накопления "ЗАПАСЫ" имеющий следующие записи:


------------------------------------
Вид движения|Предмет.....|Количество
------------------------------------
+...........|Предмет А...|10
+...........|Предмет А1..|10
+...........|Предмет А2..|10
+...........|Предмет А21.|10
+...........|Предмет А22.|10
+...........|Предмет Б...|10
+...........|Предмет Б1..|10
+...........|Предмет Б11.|10
+...........|Предмет Б111|10
+...........|Предмет Б2..|10
------------------------------------


Подскажите как написать запрос так, чтобы получить следующий результат при выполнении запроса:


Предмет А...|50
Предмет А1..|10
Предмет А2..|30
Предмет А21.|10
Предмет А22.|10
Предмет Б...|50
Предмет Б1..|30
Предмет Б11.|20
Предмет Б111|10
Предмет Б2..|10


ВАЖНО!!!
1. В запросе нельзя использовать секцию ИТОГИ (следовательно, и функцию ИЕРАРХИЯ);
2. Количество уровней иерархии справочника неограничено;
3. Текст запроса должен быть цельным (без програмной обработки).

Заранее благодарен за ваши ответы и комментарии!
1 PR
 
27.03.14
12:55
Тебе кто-то наступил на яйца? Что ты орешь через слово?
2 hhhh
 
27.03.14
13:02
(0) легко. Просто вставь запрос в СКД. И всё будет.
3 siggoron
 
27.03.14
13:08
(2) Никакого СКД, только запрос)
4 GROOVY
 
27.03.14
13:10
Ну и в чем проблема, соедини справочник сам с собой по владельцу.
Но судя по требованиям в (0) ТС изобретает в извращенной форме пятиколесный велосипед на мышиной тяге.
5 el7cartel
 
27.03.14
13:12
(4) наверное круче...
6 GenV
 
27.03.14
13:13
(0) Не озвучено причина "В запросе нельзя использовать секцию ИТОГИ". Если знаешь максимальное количество уровней создай таблицу иеаерхии в запросе без итогов.
7 Зойч
 
27.03.14
13:14
выгружить с итогами можно и в обычную таблицу, не только в дерево
8 siggoron
 
27.03.14
13:19
(4)вы имели ввиду "по родителю"?
9 siggoron
 
27.03.14
13:20
(6) А это как?
10 siggoron
 
27.03.14
13:27
(4) Я рассматривал такой вариант, но както не получилось. Можно маломальский пример?
11 GenV
 
27.03.14
13:32
(9) Через связь по родителю. И родителю, родителю. И т.д.
12 siggoron
 
27.03.14
13:37
(11) Но дело в том, что "Количество уровней иерархии справочника неограничено".
13 GenV
 
27.03.14
13:40
(12) тогда передай привет тому, кто поставил задачи с такими условиями :)
14 GROOVY
 
27.03.14
13:41
(12) Ну сколько уровней? Ну 10. Я реально больше не видел. Можно сделать безусловное соединение и в ГДЕ описать получение связи "родитель-детеныш", но это дико не эффективно.
15 Enders
 
27.03.14
13:46
(0) почитайте, можно что-то полезное найти по вашему вопросу)
http://infostart.ru/public/158512/
http://infostart.ru/public/160707/
16 hhhh
 
27.03.14
14:04
(9) сделай регистр сведений, где эта вся иерархия прописана.
17 ИС-2
 
naïve
27.03.14
14:12
имхо, не реально. Сам уже сколько пытался сделать...
18 siggoron
 
27.03.14
23:19
(16) Я так предпологаю, что это единственный приемлемый вариант, для более быстрой работы запроса.
19 siggoron
 
27.03.14
23:20
(17) Жаль, но не опускаем руки)
20 mikecool
 
27.03.14
23:38
лучше расскажите, как к иерархии справочника, собранную через итоги, прикрепить справа значения из регистра сведений?
21 По-читатель
 
27.03.14
23:46
(0) Вроде как ключевое слово ИЕРАРХИЯ можно использовать не только в разделе итогов, но и в разделе упорядочивания результатов запроса. Поэтому Ваше первое утверждение достаточно спорное, ИМХО.
22 Ksandr
 
28.03.14
00:39
(20) Использовать СКД
23 Ksandr
 
28.03.14
00:39
хотя и построитель можно
24 siggoron
 
28.03.14
01:48
(22) Никакого СКД, только запрос)
25 siggoron
 
28.03.14
01:52
(16) Ваш вариант оказался наилучшим за неимением других, запрос в итоге оказывается очень простым и коротеньким) Скоро выложу своё решение.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан