Имя: Пароль:
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) пока не читал, но интересно, попробую при случае. Есть сомнения, что при этом расчет итогов по иерархии останется корректным.