Имя: Пароль:
1C
 
СКД: Как вывести некое значение на уровне иерархии?
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) это смотря на какой вопрос отвечать )))
в теме  - "Как вывести некое значение на уровне иерархии?"