![]() |
|
СКД: Как вывести некое значение на уровне иерархии? | ☑ | ||
---|---|---|---|---|
0
Gorr
25.12.17
✎
19:06
|
День добрый!
Первый набор данных состоит из элементов-листьев. Структура отчета состоит из группировки с иерархией. Второй набор данных содержит как элементы-листья первого набора, так и элементы-группы получающиеся в результате построения СКД иерархии при формировании отчета. связь наборов данных осуществляется по элементам первого и второго наборов. В результате работы отчета не присоединяются данные второго набора по элементам-группам достроенные иерархией СКД от первого набора. Как обеспечить присоединение данных второго набора как элементам-листьям, так и к элементам-группам? |
|||
1
mistеr
25.12.17
✎
19:43
|
Объединить вместо связи?
|
|||
2
kittystark
25.12.17
✎
23:51
|
во втором наборе надо избавиться от групп и грамотно прописать ресурс, возможно даже 2 раза:
для элементов можно задать одно выражение ресурса, для групп совершенно другое |
|||
3
Gorr
26.12.17
✎
12:18
|
1. Наверняка специалисты давно поняли что, речь идет об иерархии элементов.
(1) Если предлагается в результат запроса добавить неконцевые элементы, то получим эффект задвоения. Первый раз элементы-группы из СКД при формировании иерархии, второй раз из результата запроса. Причем те, что вернет запрос будут отображены как конечные элементы в отчете. (2) второй набор (левое соединение) возвращает именно значения для групп выстроенных иерархией СКД. Которые нужно вывести напротив каждой группы. Вот как этого добится и есть вопрос данной темы. |
|||
4
kittystark
26.12.17
✎
12:40
|
в первом наборе не номенклатура часом?
и ваще, давай свои запросы |
|||
5
Gorr
26.12.17
✎
12:44
|
(4) разве в номенклатуре иерархия групп и элементов?
|
|||
6
Gorr
26.12.17
✎
12:46
|
в качестве источника можете представить структуру предприятия например. но это не важно для решения.
|
|||
7
Buster007
26.12.17
✎
12:51
|
а если плоский список вывести без использования иерархии, то элементы, которые в иерархии не выводятся, присутствуют?
|
|||
8
kittystark
26.12.17
✎
12:57
|
(5) да
|
|||
9
Gorr
26.12.17
✎
13:03
|
(7) Повторяю условие: первый набор данных содержит концевые элементы только. второй набор данных содержит значения как для элементов групп, так и концевых элементов. Если отключить иерархию, получим что? Правильно - список конечных элементов с присоединенными значениями из второго набора. Иерархии в отчете в этом случае не будет, как не будет и элементов-груп.
|
|||
10
kittystark
26.12.17
✎
13:04
|
сделай ручками demo-табличку и кинь скрин с разъяснениями того что хочется получить...
тяжело бороздить по просторам чужой мысли |
|||
11
Gorr
26.12.17
✎
13:15
|
Нужно получить отчет:
-Элемент-Группа1 Значение1 - Элемент-Группа2 Значение2 - Элемент-Группа3 NULL Элемент-Лист1 Значение3 Элемент-Лист2 NULL Элемент-Лист3 Значение4 Элемент-Лист4 Значение5 Элемент-Лист5 NULL Результат запроса первого набора данных: Элемент-Лист1 Элемент-Лист2 Элемент-Лист3 Элемент-Лист4 Элемент-Лист5 Результат запроса второго набора данных: Элемент-Группа1 Значение1 Элемент-Группа2 Значение2 Элемент-Лист1 Значение3 Элемент-Лист3 Значение4 Элемент-Лист4 Значение5 |
|||
12
Gorr
26.12.17
✎
13:19
|
готов уточнить более детально
|
|||
13
kittystark
26.12.17
✎
13:49
|
супер
значения 1,2 как-то "аналитически" связаны со значениями 3..5 ? Элемент-Группа3 NULL - это сильно |
|||
14
mistеr
26.12.17
✎
13:58
|
Дело в том, что на этапе соединения наборов данных в первом наборе еще нет иерархии, нет групп, поэтому связать такие элементы не получится.
Предположу, что нужно материализовать всю иерархию в первом наборе, а потом соединять. Например, сделать запрос с итогами, выгрузить в ТЗ/ДЗ, её пихнуть в СКД как набор-объект. |
|||
15
kittystark
26.12.17
✎
14:03
|
(14) в (3) первый ответ правильно гласит о задвоении
|
|||
16
Gorr
26.12.17
✎
14:10
|
(14) я и сам понимаю, что на этапе соединения наборов иерархических элементов еще нет.
Тут скорее всего ответ - НИКАК либо как-то с ресурсами помудрить или как-то влезть в формирование иерархии. Быть может вычислимые поля или пользовательские поля как-то нужно правильно использовать. |
|||
17
kittystark
26.12.17
✎
14:10
|
я лично знаю 2 точно работающих варианта, третий надо думать:
1. "через-опу" в приКомпоновкеРезультата в цикле вывода определять какое поле сейчас выводится, и на ходу подменять значение, которое получать, например отдельным запросом 2. те же, только вид сбоку - прописать в глобальном модуле функцию, которая будет возвращать нужный результат, в ресурсе прописать вызов этой функции 3. в ресурсе прописать выражение "Групповая обработка" |
|||
18
Gorr
26.12.17
✎
14:18
|
Я вижу более красивый вариант на одном наборе: выборка элементов и элементов групп со всеми значениями. Соединение набора с самим собой по родителю. Структура: выборка детальных записей.
НО, это не ответ на вопрос) Ответ - НИКАК. |
|||
19
kittystark
26.12.17
✎
14:58
|
(18) это смотря на какой вопрос отвечать )))
в теме - "Как вывести некое значение на уровне иерархии?" |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |