Имя: Пароль:
1C
1С v8
СКД Частичная иерархичность
,
0 25-11
 
16.12.17
12:04
Имеется некий иерархический справочник.
Требуется в СКД-шном отчёте реализовать "смешанный" режим отображения иерархии. В справочнике присутствует реквизит(только для элементов), булевский, так и назван "Не отображать".

Задача состоит в том, в отчете выводить итоги по иерархическим группировкам, а записи, соответствующие элементам - не выводить.
Т.е. сумму по группе нужно показать, а слагаемые, из которых эта сумма получена - скрыть.

Именно "не отображать", установка нулевой высоты в условном оформлении неприемлема.

Важно, что такие записи имеются только в некоторых группах спр-ка, и стандартный вариант "Только иерархия" не является решением. Знатоки, подскажите оптимальный вариант
1 tty12
 
16.12.17
12:25
Как вариант:В СКД Собрать временную таблицу с итогами по группам с учетом всех элементов.
2 tty12
 
16.12.17
12:25
(1)
+ собрать только то, что надо выводить и соединить по группам.
3 25-11
 
16.12.17
13:34
(2) В общем случае это означает повторить СКДшный механизм расчета итогов по иерархическим группировкам.... Хочется чего-нибудь более технологичного.
4 25-11
 
18.12.17
09:59
Знатоки СКД, может подскажете что-нибудь? Пока что ничего лучше, чем пост-обработка готового табличного документа не приходит в голову....
5 DrShad
 
18.12.17
10:05
сделай вычисляемое поле с обращением к функции общего модуля и там считай что нужно
6 YAGolova
 
18.12.17
10:11
(0) Как я понял по описанию - отбор по группировке отчета это то что вам нужно
7 DrShad
 
18.12.17
10:13
(6) отбор исключит их из итоговой выборки и соответственно в расчет ресурсов они не попадут
8 YAGolova
 
18.12.17
10:16
(7) Если отбор наложить не на весь отчет, а только на группировку, содержащую этот элемент, то из итоговой выборки они не пропадут
9 kittystark
 
18.12.17
12:28
сам такого не делал, но как вариант попробовать:

надо мутить отдельный набор данных для собственной иерархии (2 поля - элемент, родитель; дважды связан на вкладке связей - сам с собой и с набором данных с "цифрами")

и в нем уже


выбрать
выбор когда твойСпр.неОтображать тогда твойСпр.Родитель иначе твойСпр конец как твоеИерархическоеПоле,

выбор когда твойСпр.неОтображать тогда твойСпр.Родитель.Родитель иначе твойСпр.Родитель конец как Родитель
из справочники.Татата как твойСпр
10 kittystark
 
18.12.17
13:53
*иначе твойСпр конец
иначе твойСпр.Ссылка конец
11 25-11
 
18.12.17
16:39
(5) А что здесь нужно считать? Уже всё, что можно рассчитать до СКД подсчитано.
(8) Невозможно применить отбор и при этом не исключить из иерархических итогов
(9) пока не понял, что "мутить". Но попробую :) Логику не понимаю. Не группы всё равно остаются не "негруппами". Как они спрячутся? Соединение всегда левое
12 kittystark
 
18.12.17
16:57
(11) как мутить см. в https://its.1c.ru/db/metod8dev#content:1984:hdoc п."Описание иерархических наборов данных"

такой вспомогательный набор данных позволяет ответить на вопрос "а кто является родителем для этого элемента или подгруппы ?" (много-много раз, для каждого эл-та/подгруппы)

то что написано в (9) говорит "если показывать - то поведение как и было по-умолчанию, если не показывать подсунуть родителя вместо элемента и родителя его родителя в качестве родителя"
13 YAGolova
 
18.12.17
17:01
(11) Сделать 2 группировки - первый "группировка" (только иерархия), второй: "группировка" (без иерархии) + наложить отбор на нее
14 25-11
 
20.12.17
10:48
спасибо всем кто откликнулся. Сразу скажу, что практическую задачу удалось решить организационными мерами, изменением структуры справочника, заменой ссылок на "правильные" и т.п.
Но чисто академическое любопытство осталось...
(13) не очень вариант, если элементы-фантомы содержатся в нескольких разных группах, разбросаннвх по справочнику.
(12) пока не читал, но интересно, попробую при случае. Есть сомнения, что при этом расчет итогов по иерархии останется корректным.
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.