СКД: Как вывести некое значение на уровне иерархии? #810934


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

В этой группе 1С