Имя: Пароль:
1C
1С v8
Иерархия в СКД по произвольному запросу, дубликаты
0 Humandra
 
10.01.12
04:11
Продолжаю изучать 8.2. Хочу вывести в отчете СКД иерархию по произвольному запросу. Книгу Хрусталевой читала.

Есть исходные данные в виде Элемент, Родитель, получаются запросом из регистра сведений - не из справочника!

Пытаюсь вывести их в дереве.
Создала 2 набора данных с запросами:

1) Данные
ВЫБРАТЬ
   ИерархияОбъектаСетиСрезПоследних.ОбъектСети,
   ИерархияОбъектаСетиСрезПоследних.ОбъектСетиРодитель
ИЗ
   РегистрСведений.ИерархияОбъектаСети.СрезПоследних КАК ИерархияОбъектаСетиСрезПоследних

2) Иерархия
ВЫБРАТЬ
   ИерархияСрезПоследних.ОбъектСети,
   ИерархияСрезПоследних.ОбъектСетиРодитель
ИЗ
   РегистрСведений.ИерархияОбъектаСети.СрезПоследних КАК ИерархияСрезПоследних
ГДЕ ИерархияСрезПоследних.ОбъектСети В (&Ссылка)

Дальше на закладке Связи:
Источник связи - Приемник связи - Выражение источник - Выражение приемник - Параметр
Данные - Иерархия - ОбъектСети - ОбъектСети - Ссылка
Иерархия - Иерархия - ОбъектСетиРодитель - ОбъектСети - Ссылка

Далее на закладке Настройки - группировка ОбъектСети (Иерархия)

Получаю почти то, что надо, но таки группы дублируются на подчиненном уровне,  т.е:
ЭлементБольшой
 - ЭлементБольшой
 - ЭлементСредний 1
   - ЭлементСредний 1
   - ЭлементМаленький
 - ЭлементСредний 2
 
Был бы это результат запроса, можно было бы исключить по условию Элемент = Родитель. Но тут работает СКД, которую я, увы, пока напрочь не понимаю. :(

Как убрать дубликаты групп?
1 Humandra
 
10.01.12
10:02
Что-то народ неохотно отвечает :( Никто не в курсе?
2 Cube
 
10.01.12
10:06
Зачем получать иерархию в запросе? Чем не устраивает вывод иерархии в группировках?
3 Defender aka LINN
 
10.01.12
10:15
Значит, по этим "Группам" есть значения ресурсов.
4 Humandra
 
10.01.12
10:28
(2) Потому что иерархия лежит только в регистре, так как она периодическая. Поле ОбъектСетиРодитель - меняется по датам.
(3) где есть? В СКД у меня вообще ресурсов нет, ибо не требуется (в данном контексте ресурсы это же закладка ресурсы СКД?)

Исходный запрос с данными возвращает примерно такое:
ИД                  Родитель
ЭлементБольшой      0
ЭлементСредний 1    ЭлементБольшой
ЭлементМаленький    ЭлементСредний 1
ЭлементСредний 2    ЭлементБольшой
5 Defender aka LINN
 
10.01.12
10:31
(4) Исходный запрос НЕ ДОЛЖЕН возвращать родителей.
6 Humandra
 
10.01.12
10:44
(5) Хм, засада. Если исключать родителей из списка элементов, запрос будет тормозить на большой выборке...
Но ок, спасибо, поняла в чем загвоздка. Я думала СКД по другому строит отчет.
Закон Брукера: Даже маленькая практика стоит большой теории.